Class-instance variables
| 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) |
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) |
Initialises equilibrium, i.e.~reads any required parameters from file.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(inout) | :: | self | |||
| character(len=*), | intent(in), | optional | :: | filename |
Print to console minimal information about the equilibrium
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(in) | :: | self |
Print to console extensive information about the equilibrium
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(in) | :: | self |
Returns if equilibrium is axisymmetric or 3D (stellarator)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_t), | intent(in) | :: | self |
Flux surface label normalised such that rho = 0 at the magnetic axis, and rho = 1 at the separatrix
| 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) |
Radial field component normalized to on axis field strength.
| 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) |
Vertical field component normalized to on axis field strength.
| 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) |
Toroidal field component normalized to on axis field strength.
| 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) |
Jacobian of underlying coordinate system
| 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) |
Poloidal (along flux surface) unit vector.
| 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) |
||
| real(kind=FP), | intent(out) | :: | epolx | |||
| real(kind=FP), | intent(out) | :: | epoly |
Radial (across flux surface) unit vector.
| 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) |
||
| real(kind=FP), | intent(out) | :: | eradx | |||
| real(kind=FP), | intent(out) | :: | erady |
Returns a descriptor which specifies whether a given point is in the closed, open or private flux region, and whether that point is within the computational domain
| 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) |
Returns a boolean of whether a given point is within the reactor vessel (inside the bounding surface of the first-wall and divertor) or outside this bounding surface. N.b. DISTRICT_CORE is still within the first-wall/divertor
| 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) |
Calculated the coordinates of the magnetic axis
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(equilibrium_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 |