IMPACT T
Data Types | Functions/Subroutines | Variables
accsimulatorclass Module Reference

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(ndistparamdistparam
 

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
 

Detailed Description

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.

Author
Ji Qiang

Function/Subroutine Documentation

◆ destruct_accsimulator()

subroutine accsimulatorclass::destruct_accsimulator ( double precision  time)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_accsimulator()

subroutine accsimulatorclass::init_accsimulator ( double precision  time)

set up objects and parameters.

Here is the call graph for this function:

◆ rebin_utility()

subroutine accsimulatorclass::rebin_utility ( type (beambunch), dimension(:), intent(inout)  this,
integer, intent(in)  Nbunch,
integer, intent(out)  ibunch,
double precision, intent(in)  dGspread 
)

◆ run_accsimulator()

subroutine accsimulatorclass::run_accsimulator ( )

Run beam dynamics simulation through accelerator.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ageom

type (compdom) accsimulatorclass::ageom

geometry object.

◆ bcharge

double precision accsimulatorclass::bcharge

◆ bcurr

double precision accsimulatorclass::bcurr

◆ beamln0

type (bpm), dimension(nbpmmax), target accsimulatorclass::beamln0

◆ beamln1

type (drifttube), dimension(ndriftmax), target accsimulatorclass::beamln1

◆ beamln10

type (dipole), dimension(ndipolemax), target accsimulatorclass::beamln10

◆ beamln11

type (emfld), dimension(ncclmax), target accsimulatorclass::beamln11

◆ beamln12

type (emfldcart), dimension(ncclmax), target accsimulatorclass::beamln12

◆ beamln13

type (emfldcyl), dimension(ncclmax), target accsimulatorclass::beamln13

◆ beamln14

type (emfldana), dimension(ncclmax), target accsimulatorclass::beamln14

◆ beamln15

type (multipole), dimension(nquadmax), target accsimulatorclass::beamln15

◆ beamln2

type (quadrupole), dimension(nquadmax), target accsimulatorclass::beamln2

◆ beamln3

type (dtl), dimension(ndtlmax), target accsimulatorclass::beamln3

◆ beamln4

type (ccdtl), dimension(nccdtlmax), target accsimulatorclass::beamln4

◆ beamln5

type (ccl), dimension(ncclmax), target accsimulatorclass::beamln5

◆ beamln6

type (sc), dimension(nscmax), target accsimulatorclass::beamln6

◆ beamln7

type (constfoc), dimension(ncfmax), target accsimulatorclass::beamln7

◆ beamln8

type (solrf), dimension(nslrfmax), target accsimulatorclass::beamln8

◆ beamln9

type (sol), dimension(nslmax), target accsimulatorclass::beamln9

◆ bfreq

double precision accsimulatorclass::bfreq

◆ bkenergy

double precision accsimulatorclass::bkenergy

◆ blnelem

type (beamlineelem), dimension(nblemtmax) accsimulatorclass::blnelem

◆ bmass

double precision accsimulatorclass::bmass

◆ dim

integer accsimulatorclass::dim

◆ distparam

double precision, dimension(ndistparam) accsimulatorclass::distparam

◆ dt

double precision accsimulatorclass::dt

◆ dtlessend

double precision accsimulatorclass::dtlessend

◆ ebunch

type (beambunch), dimension(nbunchmax) accsimulatorclass::ebunch

beam particle object and array.

◆ flagbc

integer accsimulatorclass::flagbc

◆ flagdiag

integer accsimulatorclass::flagdiag

◆ flagdist

integer accsimulatorclass::flagdist

◆ flagerr

integer accsimulatorclass::flagerr

◆ flagimage

integer accsimulatorclass::flagimage

◆ flagmap

integer accsimulatorclass::flagmap

◆ flagsubstep

integer accsimulatorclass::flagsubstep

◆ fldmp

type (fielddata), dimension(maxoverlap) accsimulatorclass::fldmp

overlaped external field data array

◆ grid2d

type (pgrid2d) accsimulatorclass::grid2d

2d logical processor array

◆ iend

integer accsimulatorclass::iend

◆ ioutend

integer accsimulatorclass::ioutend

◆ isloutend

integer accsimulatorclass::isloutend

◆ isteerend

integer accsimulatorclass::isteerend

◆ itszend

integer accsimulatorclass::itszend

◆ nblem

integer accsimulatorclass::nblem

◆ nbunch

integer accsimulatorclass::nbunch

initial # of bunches/bins

◆ ndistparam

integer, parameter accsimulatorclass::ndistparam = 21

◆ nemission

integer accsimulatorclass::nemission

number of steps for emission

◆ nfileout

integer accsimulatorclass::nfileout

◆ np

integer, dimension(nbunchmax) accsimulatorclass::np

◆ npcol

integer accsimulatorclass::npcol

◆ nplocal

integer, dimension(nbunchmax) accsimulatorclass::nplocal

◆ nprow

integer accsimulatorclass::nprow

◆ ntstep

integer accsimulatorclass::ntstep

◆ nx

integer accsimulatorclass::nx

◆ nxlocal

integer accsimulatorclass::nxlocal

◆ ny

integer accsimulatorclass::ny

◆ nylocal

integer accsimulatorclass::nylocal

◆ nz

integer accsimulatorclass::nz

◆ nzlocal

integer accsimulatorclass::nzlocal

◆ perdlen

double precision accsimulatorclass::perdlen

◆ potential

type (fieldquant) accsimulatorclass::potential

beam charge density and field potential arrays.

◆ rstartflg

integer accsimulatorclass::rstartflg

◆ temission

double precision accsimulatorclass::temission

maximum e- emission time

◆ tend

double precision accsimulatorclass::tend

◆ xrad

double precision accsimulatorclass::xrad

◆ yrad

double precision accsimulatorclass::yrad

◆ zblnelem

double precision, dimension(2,nblemtmax) accsimulatorclass::zblnelem

longitudinal position of each element (min and max).

◆ zimage

double precision accsimulatorclass::zimage

distance after that to turn off image space-charge