Type implementing 3D vacuum fields as described by Dommaschk [*]. These are determined with toroidal mode numbers m, poloidal mode numbers l, the number of field periods, and fitting coefficients which are specific to each magnetic configuration.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | initialized | = | .false. | ||
| real(kind=FP), | public | :: | x0 |
Magnetic axis x = R/R0 (in normalised units) |
|||
| real(kind=FP), | public | :: | y0 |
Magnetic axis y = Z/R0 (in normalised units) |
|||
| real(kind=FP), | public | :: | phi0 | = | 0.0_FP |
Magnetic axis phi |
|
| real(kind=FP), | public | :: | xmin |
Box limits |
|||
| real(kind=FP), | public | :: | xmax |
Box limits |
|||
| real(kind=FP), | public | :: | ymin |
Box limits |
|||
| real(kind=FP), | public | :: | ymax |
Box limits |
|||
| real(kind=FP), | public | :: | rhomax |
Global limits for rho (rho = normalised psi, n.b. there may also be region-specific limits defined in equi) |
|||
| real(kind=FP), | public | :: | rhomin |
Global limits for rho (rho = normalised psi, n.b. there may also be region-specific limits defined in equi) |
|||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | CD_r_coef |
Coefficients of the R terms of the C^D_{m,k} function. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | CN_r_coef |
Coefficients of the R terms of the C^N_{m,k} function. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | C_r_power |
Powers of the R terms of the C^D_{m,k} and C^N_{m,k} functions. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | CD_lnr_coef |
Coefficients of the log(R) terms of the C^D_{m,k} function. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | CN_lnr_coef |
Coefficients of the log(R) terms of the C^N_{m,k} function. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | C_lnr_power |
Powers of the log(R) terms of the C^D_{m,k} and C^N_{m,k} functions. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dCD_dR_r_coef |
Coefficients of the R terms of the derivative with respect to R of the C^D_{m,k} function |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dCN_dR_r_coef |
Coefficients of the R terms of the derivative with respect to R of the C^N_{m,k} function |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dC_dR_r_power |
Powers of the R terms of the derivatives with respect to R of the C^D_{m,k} and C^N_{m,k} functions. See Eqs. 31 and 32 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dCD_dR_lnr_coef |
Coefficients of the log(R) terms of the derivative with respect to R of the C^D_{m,k} function |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dCN_dR_lnr_coef |
Coefficients of the log(R) terms of the derivative with respect to R of the C^N_{m,k} function |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dC_dR_lnr_power |
Powers of the log(R) terms of the derivatives with respect to R of the C^D_{m,k} and C^N_{m,k} functions |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | I_mn_coef |
Coefficients of the Z terms of the I_{m,n} function. See Eqs. 3, 8, and 9 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | I_mn_power |
Powers of the Z terms of the I_{m,n} function. See Eqs. 3, 8, and 9 in [*] |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dI_dZ_coef |
Coefficients of the Z terms of the derivative with respect to Z of the I_{m,n} function |
||
| real(kind=FP), | public, | dimension(:,:,:), allocatable | :: | dI_dZ_power |
Powers of the Z terms of the derivative with respect to Z of the I_{m,n} function. |
Absolute value of magnetic field.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x |
3D position (x and y normalized) |
||
| real(kind=FP), | intent(in) | :: | y |
3D position (x and y normalized) |
||
| real(kind=FP), | intent(in) | :: | phi |
3D position (x and y normalized) |
Magnetic field component b poloidal normalised to absolute value of B (on axis)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x |
3D position (x and y normalized) |
||
| real(kind=FP), | intent(in) | :: | y |
3D position (x and y normalized) |
||
| real(kind=FP), | intent(in) | :: | phi |
3D position (x and y normalized) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(inout) | :: | self | |||
| character(len=*), | intent(in), | optional | :: | filename |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
Evaluates the radial component of the vacuum magnetic field B according to B_R = dV/dR
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
Evaluates the radial component of the vacuum magnetic field B according to B_Z = dV/dZ
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
Evaluates the poloidal component of the vacuum magnetic field B according to B_phi = 1/R dV/dphi
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi | |||
| real(kind=FP), | intent(out) | :: | epolx | |||
| real(kind=FP), | intent(out) | :: | epoly |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi | |||
| real(kind=FP), | intent(out) | :: | eradx | |||
| real(kind=FP), | intent(out) | :: | erady |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self | |||
| real(kind=FP), | intent(in) | :: | x | |||
| real(kind=FP), | intent(in) | :: | y | |||
| real(kind=FP), | intent(in) | :: | phi |
Returns the coordinates of magnetic axis
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(dommaschk_t), | intent(in) | :: | self |
Instance of class |
||
| real(kind=FP), | intent(in) | :: | phi |
Toroidal angle |
||
| real(kind=FP), | intent(out) | :: | axis_x |
x-coordinate of the magnetic axis |
||
| real(kind=FP), | intent(out) | :: | axis_y |
y-coordinate of the magnetic axis |