IMPACT T
|
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. More...
Data Types | |
interface | construct_accsimulator |
beam line element period. More... | |
Functions/Subroutines | |
subroutine | init_accsimulator (time) |
set up objects and parameters. More... | |
subroutine | run_accsimulator () |
Run beam dynamics simulation through accelerator. More... | |
subroutine | rebin_utility (this, Nbunch, ibunch, dGspread) |
subroutine | destruct_accsimulator (time) |
Variables | |
integer | nbunch |
initial # of bunches/bins More... | |
type(pgrid2d) | grid2d |
2d logical processor array More... | |
type(beambunch), dimension(nbunchmax) | ebunch |
beam particle object and array. More... | |
type(fieldquant) | potential |
beam charge density and field potential arrays. More... | |
type(compdom) | ageom |
geometry object. More... | |
type(fielddata), dimension(maxoverlap) | fldmp |
overlaped external field data array More... | |
double precision | temission |
maximum e- emission time More... | |
integer | nemission |
number of steps for emission More... | |
double precision | zimage |
distance after that to turn off image space-charge More... | |
double precision, dimension(2, nblemtmax) | 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 | dim |
integer | flagdist |
integer | rstartflg |
integer | flagerr |
integer | flagsubstep |
integer | ntstep |
integer, dimension(nbunchmax) | np |
integer, dimension(nbunchmax) | 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 | nx |
integer | ny |
integer | nz |
integer | nxlocal |
integer | nylocal |
integer | nzlocal |
integer | flagbc |
integer | nblem |
integer | flagmap |
integer | flagdiag |
integer | flagimage |
# of processors in column and row direction. | |
integer | npcol |
integer | nprow |
beam current, kin. energy, part. mass, charge, ref. freq., period length, time step size | |
double precision | bcurr |
double precision | bkenergy |
double precision | bmass |
double precision | bcharge |
double precision | bfreq |
double precision | perdlen |
double precision | dt |
double precision | xrad |
double precision | yrad |
conts. in init. dist. | |
integer, parameter | ndistparam = 21 |
double precision, dimension(ndistparam) | distparam |
restart time and step | |
double precision | tend |
double precision | dtlessend |
integer | iend |
integer | nfileout |
integer | ioutend |
integer | itszend |
integer | isteerend |
integer | isloutend |
beam line element array. | |
type(bpm), dimension(nbpmmax), target | beamln0 |
type(drifttube), dimension(ndriftmax), target | beamln1 |
type(quadrupole), dimension(nquadmax), target | beamln2 |
type(dtl), dimension(ndtlmax), target | beamln3 |
type(ccdtl), dimension(nccdtlmax), target | beamln4 |
type(ccl), dimension(ncclmax), target | beamln5 |
type(sc), dimension(nscmax), target | beamln6 |
type(constfoc), dimension(ncfmax), target | beamln7 |
type(solrf), dimension(nslrfmax), target | beamln8 |
type(sol), dimension(nslmax), target | beamln9 |
type(dipole), dimension(ndipolemax), target | beamln10 |
type(emfld), dimension(ncclmax), target | beamln11 |
type(emfldcart), dimension(ncclmax), target | beamln12 |
type(emfldcyl), dimension(ncclmax), target | beamln13 |
type(emfldana), dimension(ncclmax), target | beamln14 |
type(multipole), dimension(nquadmax), target | beamln15 |
type(beamlineelem), dimension(nblemtmax) | blnelem |
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.
subroutine accsimulatorclass::destruct_accsimulator | ( | double precision | time | ) |
subroutine accsimulatorclass::init_accsimulator | ( | double precision | time | ) |
set up objects and parameters.
subroutine accsimulatorclass::rebin_utility | ( | type (beambunch), dimension(:), intent(inout) | this, |
integer, intent(in) | Nbunch, | ||
integer, intent(out) | ibunch, | ||
double precision, intent(in) | dGspread | ||
) |
subroutine accsimulatorclass::run_accsimulator | ( | ) |
Run beam dynamics simulation through accelerator.
type (compdom) accsimulatorclass::ageom |
geometry object.
double precision accsimulatorclass::bcharge |
double precision accsimulatorclass::bcurr |
type (bpm), dimension(nbpmmax), target accsimulatorclass::beamln0 |
type (drifttube), dimension(ndriftmax), target accsimulatorclass::beamln1 |
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 (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 |
double precision accsimulatorclass::bfreq |
double precision accsimulatorclass::bkenergy |
type (beamlineelem), dimension(nblemtmax) accsimulatorclass::blnelem |
double precision accsimulatorclass::bmass |
integer accsimulatorclass::dim |
double precision, dimension(ndistparam) accsimulatorclass::distparam |
double precision accsimulatorclass::dt |
double precision accsimulatorclass::dtlessend |
type (beambunch), dimension(nbunchmax) accsimulatorclass::ebunch |
beam particle object and array.
integer accsimulatorclass::flagbc |
integer accsimulatorclass::flagdiag |
integer accsimulatorclass::flagdist |
integer accsimulatorclass::flagerr |
integer accsimulatorclass::flagimage |
integer accsimulatorclass::flagmap |
integer accsimulatorclass::flagsubstep |
type (fielddata), dimension(maxoverlap) accsimulatorclass::fldmp |
overlaped external field data array
type (pgrid2d) accsimulatorclass::grid2d |
2d logical processor array
integer accsimulatorclass::iend |
integer accsimulatorclass::ioutend |
integer accsimulatorclass::isloutend |
integer accsimulatorclass::isteerend |
integer accsimulatorclass::itszend |
integer accsimulatorclass::nblem |
integer accsimulatorclass::nbunch |
initial # of bunches/bins
integer, parameter accsimulatorclass::ndistparam = 21 |
integer accsimulatorclass::nemission |
number of steps for emission
integer accsimulatorclass::nfileout |
integer, dimension(nbunchmax) accsimulatorclass::np |
integer accsimulatorclass::npcol |
integer, dimension(nbunchmax) accsimulatorclass::nplocal |
integer accsimulatorclass::nprow |
integer accsimulatorclass::ntstep |
integer accsimulatorclass::nx |
integer accsimulatorclass::nxlocal |
integer accsimulatorclass::ny |
integer accsimulatorclass::nylocal |
integer accsimulatorclass::nz |
integer accsimulatorclass::nzlocal |
double precision accsimulatorclass::perdlen |
type (fieldquant) accsimulatorclass::potential |
beam charge density and field potential arrays.
integer accsimulatorclass::rstartflg |
double precision accsimulatorclass::temission |
maximum e- emission time
double precision accsimulatorclass::tend |
double precision accsimulatorclass::xrad |
double precision accsimulatorclass::yrad |
double precision, dimension(2,nblemtmax) accsimulatorclass::zblnelem |
longitudinal position of each element (min and max).
double precision accsimulatorclass::zimage |
distance after that to turn off image space-charge