IMPACT T
Modules | Functions/Subroutines
Distribution.f90 File Reference

Modules

module  distributionclass
 This class defines initial distributions for the charged particle beam bunch information in the accelerator.
 

Functions/Subroutines

subroutine distributionclass::sample_dist (this, distparam, nparam, flagdist, geom, grid,
 sample the particles with intial distribution. More...
 
subroutine distributionclass::uniform_dist (this, nparam, distparam, grid)
 6d uniform distribution More...
 
subroutine distributionclass::gauss3_dist (this, nparam, distparam, grid, flagalloc)
 6d Gaussian distribution More...
 
subroutine distributionclass::normdv (y)
 
subroutine distributionclass::normvec (y, num)
 
subroutine distributionclass::waterbag_dist (this, nparam, distparam, grid, flagalloc)
 6d Waterbag distribution. sample the particles with intial distribution using rejection method. More...
 
subroutine distributionclass::kv3d_dist (this, nparam, distparam, grid)
 transverse KV distribution and longitudinal uniform distribution More...
 
subroutine distributionclass::semigauss_dist (this, nparam, distparam, grid)
 3d Waterbag distribution in spatial and 3d Gaussian distribution in momentum space More...
 
subroutine distributionclass::normdv2 (y)
 
subroutine distributionclass::read_dist (this, nparam, distparam, ib)
 read in an initial distribution with format (x(m), px/mc, y(m), py/mc,...) More...
 
subroutine distributionclass::readparmela_dist (this, nparam, distparam, geom, grid, Flag
 
subroutine distributionclass::readelegant_dist (this, nparam, distparam, geom, grid, Flag
 
subroutine distributionclass::normdv1d (y)
 
subroutine distributionclass::cylcoldzsob_dist (this, nparam, distparam, grid)
 
subroutine distributionclass::psiroot (rk, xx, xmod, psi, eps, Nmax)
 
subroutine distributionclass::sobseq (n, x, iseed)
 
subroutine distributionclass::combine_dist (this, nparam, distparam, grid, ib, Nb, flagdis
 generating initial particle distribution based on the combination of transverse spatial distribution (2 types), longitudinal spatial distribution (3 types) and 3D momentum distribution (4 types). For example, flagdist = 111 denotes type 1 from transverse spatial distribution, type 1 from longitudinal spatial distribution, and type 1 from 3D momentum distribution. In this case, it denotes a transverse uniform elliptical, longitudinal flat-top with linear ramping in spatial, and 3d full Gaussian distribution in momentum space. flagdist = ijk, where i = 1 (transverse uniform ellipse) and 2 (Gaussian with cut-off); j = 1 (flat-top with linear ramping), 2 (flat-top with 2sigma Gaussain ramping), and 3 (Gaussian with cut-off); k = 1, (3D Gaussian momentum), 2 (transverse Gaussian momentum, longitudinal semi-Gaussian), 3 (streak camera model), and 4 (3 step model). More...
 
subroutine distributionclass::tranunifxy_dist (ptxy, avgpts, sigx, sigy, xmu1, xmu3)
 transverse spatial uniform elleptical distribution. (id=1) More...
 
subroutine distributionclass::trangaussxy_dist (ptxy, avgpts, sigx, sigy, xmu1, xmu3, cutx
 transverse spatial Gaussian distribution with cut-off. (id=2) More...
 
subroutine distributionclass::longflattoplinz_dist (ptz, avgpts, avgpts0, zscale, pzscal
 longitudinal spatial flat-top distribution with linear ramp (id=1). More...
 
subroutine distributionclass::longflattopgasz_dist (ptz, avgpts, avgpts0, zscale, pzscal
 longitudinal spatial flat-top distribution with 2sigma Gaussian ramp. (id=2) More...
 
subroutine distributionclass::longgaussz_dist (ptz, avgpts, sigz, xmu5, cutz)
 longitudinal spatial Gaussian distribution with cut-off. (id=3) More...
 
subroutine distributionclass::waterxyz_dist (ptxyz, avgpts, sigx, sigy, sigz, xmu1, xmu3, x
 3D spatial Waterbag distribution. (id=34) More...
 
subroutine distributionclass::pxpypzgauss3d_dist (pmxyz, avgpts, sigpx, sigpy, sigpz, xmu
 3D Momentum Gaussian distribution. (id=1) More...
 
subroutine distributionclass::pxpygausspzsg_dist (pmxyz, avgpts, sigpx, sigpy, sigpz, xmu
 Momentum Gaussian distribution in transverse while longitudinal xexp(-x^2/sigz^2). (id=2) The longitudinal distribution follows Bird's book, p.129. More...
 
subroutine distributionclass::pxpypzstreakcam_dist (pmxyz, avgpts, emax, wkf, emass, xmu2
 Momentum distribution following the streak camera model. (id=3) both emax and wkf are in the units of eV. emass is also in eV. More...
 
subroutine distributionclass::pxpypz3step_dist (pmxyz, avgpts, Ef, Eph, Tem, Ewk, emass, xm
 Momentum distribution following the streak camera model. (id=4) momentum: following the 3 step model in David Dowell's PRSTAB paper v.12, 074201, 2009. momentum input parameters are: laser photon energy (eV), cathode temperature (eV), cathode effective work function (eV) (work function - surface field), Fermi energy of cathode material, emass (eV). More...
 
subroutine distributionclass::normveccut (y, num, cutx, cuty)