Module containing the implementation of an salpha like equilibrium type. N.b. this equilibrium is axisymmetric - phi, when required, is not used
Note: This equilibrium is currently implemented in an inconsitent way, i.e. the analytical q-profile does not match the calculated one. To be consistent the q-profile needs to stay as it is while the magnetic field has to be b_x = -rhosin(theta)/(xrhosqrt(1-rho2)) and b_y = rhocos(theta)/(xrhosqrt(1-rho**2)) A consistent equilibrium of this form with a smaller set of parameters is implemented in circular_toroidal_equilibrium_m.f90
Type implementing an salpha like equilibrium. The equilibrium has concentric flux surfaces in a toroidal geometry. Shear as well as the q-factor can be specified. To get the correct poloidal flux in Wb = V*s the reference magnetic field strength has to be provided in Tesla and the reference length scale has to be provided in meters.
| 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 | :: | rho_limiter |
Radial position (start) of limiter |
| procedure, public, pass(self) :: absb | |
| procedure, public, pass(self) :: bpol | |
| procedure, public :: init | |
| procedure, public :: display | |
| procedure, public :: debug | |
| procedure, public :: is_axisymmetric | |
| procedure, public :: rho | |
| procedure, public :: psi | |
| procedure, public :: bx | |
| procedure, public :: by | |
| procedure, public :: btor | |
| procedure, public :: jacobian | |
| procedure, public :: epol | |
| procedure, public :: erad | |
| procedure, public :: district | |
| procedure, public :: in_vessel | |
| procedure, public :: mag_axis_loc | |
| procedure, public :: qval | |
| procedure, public, nopass :: theta | |
| procedure, public :: x_point_psi | |
| procedure, public :: o_point_psi |