IMPACT T
Data Types | Modules | Functions/Subroutines | Variables
AccSimulator.f90 File Reference

Data Types

interface  accsimulatorclass::construct_accsimulator
 beam line element period. More...
 

Modules

module  accsimulatorclass
 This class defines functions to set up the initial beam particle distribution, field information, computational domain, beam line element lattice and run the dynamics simulation through the system.
 

Functions/Subroutines

subroutine accsimulatorclass::init_accsimulator (time)
 set up objects and parameters. More...
 
subroutine accsimulatorclass::run_accsimulator ()
 Run beam dynamics simulation through accelerator. More...
 
subroutine accsimulatorclass::rebin_utility (this, Nbunch, ibunch, dGspread)
 
subroutine accsimulatorclass::destruct_accsimulator (time)
 

Variables

integer accsimulatorclass::nbunch
 initial # of bunches/bins More...
 
type(pgrid2d) accsimulatorclass::grid2d
 2d logical processor array More...
 
type(beambunch), dimension(nbunchmax) accsimulatorclass::ebunch
 beam particle object and array. More...
 
type(fieldquant) accsimulatorclass::potential
 beam charge density and field potential arrays. More...
 
type(compdom) accsimulatorclass::ageom
 geometry object. More...
 
type(fielddata), dimension(maxoverlap) accsimulatorclass::fldmp
 overlaped external field data array More...
 
double precision accsimulatorclass::temission
 maximum e- emission time More...
 
integer accsimulatorclass::nemission
 number of steps for emission More...
 
double precision accsimulatorclass::zimage
 distance after that to turn off image space-charge More...
 
double precision, dimension(2, nblemtmax) accsimulatorclass::zblnelem
 longitudinal position of each element (min and max). More...
 

# of phase dim., num. total and local particles, int. dist. and restart switch, error study switch, substep for space-charge switch, # of time step

integer accsimulatorclass::dim
 
integer accsimulatorclass::flagdist
 
integer accsimulatorclass::rstartflg
 
integer accsimulatorclass::flagerr
 
integer accsimulatorclass::flagsubstep
 
integer accsimulatorclass::ntstep
 
integer, dimension(nbunchmax) accsimulatorclass::np
 
integer, dimension(nbunchmax) accsimulatorclass::nplocal
 

# of num. total x, total and local y mesh pts., type of BC, # of beam elems, type of integrator. FlagImage: switch flag for image space-charge force calculation: "1" for yes, otherwise for no.

integer accsimulatorclass::nx
 
integer accsimulatorclass::ny
 
integer accsimulatorclass::nz
 
integer accsimulatorclass::nxlocal
 
integer accsimulatorclass::nylocal
 
integer accsimulatorclass::nzlocal
 
integer accsimulatorclass::flagbc
 
integer accsimulatorclass::nblem
 
integer accsimulatorclass::flagmap
 
integer accsimulatorclass::flagdiag
 
integer accsimulatorclass::flagimage
 

# of processors in column and row direction.

integer accsimulatorclass::npcol
 
integer accsimulatorclass::nprow
 

beam current, kin. energy, part. mass, charge, ref. freq., period length, time step size

double precision accsimulatorclass::bcurr
 
double precision accsimulatorclass::bkenergy
 
double precision accsimulatorclass::bmass
 
double precision accsimulatorclass::bcharge
 
double precision accsimulatorclass::bfreq
 
double precision accsimulatorclass::perdlen
 
double precision accsimulatorclass::dt
 
double precision accsimulatorclass::xrad
 
double precision accsimulatorclass::yrad
 

conts. in init. dist.

integer, parameter accsimulatorclass::ndistparam = 21
 
double precision, dimension(ndistparam) accsimulatorclass::distparam
 

restart time and step

double precision accsimulatorclass::tend
 
double precision accsimulatorclass::dtlessend
 
integer accsimulatorclass::iend
 
integer accsimulatorclass::nfileout
 
integer accsimulatorclass::ioutend
 
integer accsimulatorclass::itszend
 
integer accsimulatorclass::isteerend
 
integer accsimulatorclass::isloutend
 

beam line element array.

type(bpm), dimension(nbpmmax), target accsimulatorclass::beamln0
 
type(drifttube), dimension(ndriftmax), target accsimulatorclass::beamln1
 
type(quadrupole), dimension(nquadmax), target accsimulatorclass::beamln2
 
type(dtl), dimension(ndtlmax), target accsimulatorclass::beamln3
 
type(ccdtl), dimension(nccdtlmax), target accsimulatorclass::beamln4
 
type(ccl), dimension(ncclmax), target accsimulatorclass::beamln5
 
type(sc), dimension(nscmax), target accsimulatorclass::beamln6
 
type(constfoc), dimension(ncfmax), target accsimulatorclass::beamln7
 
type(solrf), dimension(nslrfmax), target accsimulatorclass::beamln8
 
type(sol), dimension(nslmax), target accsimulatorclass::beamln9
 
type(dipole), dimension(ndipolemax), target accsimulatorclass::beamln10
 
type(emfld), dimension(ncclmax), target accsimulatorclass::beamln11
 
type(emfldcart), dimension(ncclmax), target accsimulatorclass::beamln12
 
type(emfldcyl), dimension(ncclmax), target accsimulatorclass::beamln13
 
type(emfldana), dimension(ncclmax), target accsimulatorclass::beamln14
 
type(multipole), dimension(nquadmax), target accsimulatorclass::beamln15
 
type(beamlineelem), dimension(nblemtmax) accsimulatorclass::blnelem