IMPACT T
|
This class contains discrete EM field data (as a function of x,y,z) or (r,z) and analytical representation of EM field data (user can supply the function form). The linear transfer map is also computed base on the field on the axis. More...
Data Types | |
type | emfldana |
interface | getparam_emfldana |
interface | setparam_emfldana |
Functions/Subroutines | |
subroutine | construct_emfldana (this, numseg, nmpstp, type, blength) |
subroutine | setparam1_emfldana (this, i, value) |
subroutine | setparam2_emfldana (this, values) |
subroutine | setparam3_emfldana (this, numseg, nmpstp, type, blength) |
subroutine | getparam1_emfldana (this, i, blparam) |
subroutine | getparam2_emfldana (this, blparams) |
subroutine | getparam3_emfldana (this, blength, bnseg, bmapstp, btype) |
subroutine | maplinear_emfldana (t, tau, xm, this, refpt, Bchg, Bmass) |
subroutine | rk6i_emfldana (h, ns, t, y, nvar, this, Bchg, Bmass) |
subroutine | intfunc1_emfldana (t, y, f, this, Bchg, Bmass) |
subroutine | getaxflde_emfldana (z, this, ez1, ezp1, ezpp1) |
interpolate the field from the EMfldAna rf cavity onto bunch location. More... | |
subroutine | getaxfldefc_emfldana (z, this, ez1, ezp1, ezpp1) |
get external RF field on axis from analytical function Here, we have used a Fouier expansion representation of external field. Users should supply the field function as they want. More... | |
subroutine | getfld_emfldana (pos, extfld, this) |
get external field Ex, Ey, Ez, Bx, Bx, Bz at given position x, y, z, t from analytical function. Here we have used Fourier expansion of function. The user should supply his own analytical function if needed. More... | |
subroutine | getflderrold_emfldana (pos, extfld, this) |
get external field with displacement and rotation errors. More... | |
subroutine | getflderr_emfldana (pos, extfld, this, dx, dy, anglex, angl |
get external field with displacement and rotation errors. More... | |
subroutine | getfld6_emfldana (this, z, extfld6) |
get the discrete Er,Etheta,Ez, Br, Btheta, Bz as a function or "r" at given "z". More... | |
subroutine | getfld6err_emfldana (this, pos, extfld, dx, dy, anglex, angl |
subroutine | getfld6xyz_emfldana (this, z, extfld6xyz) |
get the discrete Ex,Ey,Ez, Bx, By, Bz as a function of x and y at given "z". More... | |
subroutine | getfld6xyzerr_emfldana (this, pos, extfld, dx, dy, anglex, a |
subroutine | getfldt_emfldana (pos, extfld, this, fldata) |
get analytical field. More... | |
subroutine | getfldtsurfrough_emfldtana (pos, extfld, this, fldata) |
get DC surface roughness fields More... | |
subroutine | getfldtalpha_emfldana (pos, extfld, this, fldata) |
get analytical field from an alpha magnet More... | |
subroutine | getfldttw_emfldana (pos, extfld, this, fldata) |
get analytical field from a traveling wave meander plate More... | |
subroutine | getfldtdipole_emfldana (pos, extfld, this, fldata) |
Variables | |
integer, parameter, private | nparam = 11 |
This class contains discrete EM field data (as a function of x,y,z) or (r,z) and analytical representation of EM field data (user can supply the function form). The linear transfer map is also computed base on the field on the axis.
type emfldanaclass::emfldana |
Data Fields | ||
---|---|---|
integer | itype | |
double precision | length | |
integer | mapstp | |
integer | nseg | |
double precision, dimension(nparam) | param |
subroutine emfldanaclass::construct_emfldana | ( | type (emfldana), intent(out) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
subroutine emfldanaclass::getaxflde_emfldana | ( | double precision, intent(in) | z, |
type (emfldana), intent(in) | this, | ||
double precision, intent(out) | ez1, | ||
double precision, intent(out) | ezp1, | ||
double precision, intent(out) | ezpp1 | ||
) |
interpolate the field from the EMfldAna rf cavity onto bunch location.
subroutine emfldanaclass::getaxfldefc_emfldana | ( | double precision, intent(in) | z, |
type (emfldana), intent(in) | this, | ||
double precision, intent(out) | ez1, | ||
double precision, intent(out) | ezp1, | ||
double precision, intent(out) | ezpp1 | ||
) |
get external RF field on axis from analytical function Here, we have used a Fouier expansion representation of external field. Users should supply the field function as they want.
subroutine emfldanaclass::getfld6_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, intent(in) | z, | ||
extfld6 | |||
) |
get the discrete Er,Etheta,Ez, Br, Btheta, Bz as a function or "r" at given "z".
subroutine emfldanaclass::getfld6err_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, dimension(4), intent(in) | pos, | ||
double precision, dimension(6), intent(out) | extfld, | ||
double precision, intent(in) | dx, | ||
double precision, intent(in) | dy, | ||
double precision, intent(in) | anglex, | ||
angl | |||
) |
subroutine emfldanaclass::getfld6xyz_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, intent(in) | z, | ||
double precision, dimension(6,nxintvrfg+1,nyintvrfg+1), intent(out) | extfld6xyz | ||
) |
get the discrete Ex,Ey,Ez, Bx, By, Bz as a function of x and y at given "z".
subroutine emfldanaclass::getfld6xyzerr_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, dimension(4), intent(in) | pos, | ||
double precision, dimension(6), intent(out) | extfld, | ||
double precision, intent(in) | dx, | ||
double precision, intent(in) | dy, | ||
double precision, intent(in) | anglex, | ||
a | |||
) |
subroutine emfldanaclass::getfld_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this | ||
) |
get external field Ex, Ey, Ez, Bx, Bx, Bz at given position x, y, z, t from analytical function. Here we have used Fourier expansion of function. The user should supply his own analytical function if needed.
subroutine emfldanaclass::getflderr_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
double precision, intent(in) | dx, | ||
double precision, intent(in) | dy, | ||
double precision, intent(in) | anglex, | ||
angl | |||
) |
get external field with displacement and rotation errors.
subroutine emfldanaclass::getflderrold_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this | ||
) |
get external field with displacement and rotation errors.
subroutine emfldanaclass::getfldt_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get analytical field.
subroutine emfldanaclass::getfldtalpha_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get analytical field from an alpha magnet
subroutine emfldanaclass::getfldtdipole_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
subroutine emfldanaclass::getfldtsurfrough_emfldtana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get DC surface roughness fields
subroutine emfldanaclass::getfldttw_emfldana | ( | double precision, dimension(4), intent(in) | pos, |
double precision, dimension(6), intent(out) | extfld, | ||
type (emfldana), intent(in) | this, | ||
type (fielddata), intent(in) | fldata | ||
) |
get analytical field from a traveling wave meander plate
subroutine emfldanaclass::getparam1_emfldana | ( | type (emfldana), intent(in) | this, |
integer, intent(in) | i, | ||
double precision, intent(out) | blparam | ||
) |
subroutine emfldanaclass::getparam2_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, dimension(:), intent(out) | blparams | ||
) |
subroutine emfldanaclass::getparam3_emfldana | ( | type (emfldana), intent(in) | this, |
double precision, intent(out) | blength, | ||
integer, intent(out) | bnseg, | ||
integer, intent(out) | bmapstp, | ||
integer, intent(out) | btype | ||
) |
subroutine emfldanaclass::intfunc1_emfldana | ( | double precision, intent(in) | t, |
double precision, dimension(:), intent(in) | y, | ||
double precision, dimension(:), intent(out) | f, | ||
type (emfldana), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine emfldanaclass::maplinear_emfldana | ( | double precision, intent(in) | t, |
double precision, intent(in) | tau, | ||
double precision, dimension(6,6), intent(out) | xm, | ||
type (emfldana), intent(in) | this, | ||
double precision, dimension(6), intent(inout) | refpt, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine emfldanaclass::rk6i_emfldana | ( | double precision, intent(in) | h, |
integer, intent(in) | ns, | ||
double precision, intent(inout) | t, | ||
double precision, dimension(nvar), intent(inout) | y, | ||
integer, intent(in) | nvar, | ||
type (emfldana), intent(in) | this, | ||
double precision, intent(in) | Bchg, | ||
double precision, intent(in) | Bmass | ||
) |
subroutine emfldanaclass::setparam1_emfldana | ( | type (emfldana), intent(inout) | this, |
integer, intent(in) | i, | ||
double precision, intent(in) | value | ||
) |
subroutine emfldanaclass::setparam2_emfldana | ( | type (emfldana), intent(inout) | this, |
double precision, dimension(:), intent(in) | values | ||
) |
subroutine emfldanaclass::setparam3_emfldana | ( | type (emfldana), intent(inout) | this, |
integer, intent(in) | numseg, | ||
integer, intent(in) | nmpstp, | ||
integer, intent(in) | type, | ||
double precision, intent(in) | blength | ||
) |
|
private |