circular_toroidal_equilibrium_m Module

Implementation of a analytical toroidal equilibrium with nested circular fluxsurfaces. For an extensive reference we refer to: https://youjunhu.github.io/research_notes/tokamak_equilibrium_htlatex/ tokamak_equilibrium.html#x1-9400016


Uses

  • module~~circular_toroidal_equilibrium_m~~UsesGraph module~circular_toroidal_equilibrium_m circular_toroidal_equilibrium_m module~constants_m constants_m module~circular_toroidal_equilibrium_m->module~constants_m module~descriptors_m descriptors_m module~circular_toroidal_equilibrium_m->module~descriptors_m module~equilibrium_m equilibrium_m module~circular_toroidal_equilibrium_m->module~equilibrium_m module~error_handling_m error_handling_m module~circular_toroidal_equilibrium_m->module~error_handling_m module~euclidean_geo_m euclidean_geo_m module~circular_toroidal_equilibrium_m->module~euclidean_geo_m module~kisslinger_m kisslinger_m module~circular_toroidal_equilibrium_m->module~kisslinger_m module~params_equi_circular_toroidal_m params_equi_circular_toroidal_m module~circular_toroidal_equilibrium_m->module~params_equi_circular_toroidal_m module~precision_m precision_m module~circular_toroidal_equilibrium_m->module~precision_m module~screen_io_m screen_io_m module~circular_toroidal_equilibrium_m->module~screen_io_m module~status_codes_m status_codes_m module~circular_toroidal_equilibrium_m->module~status_codes_m module~constants_m->module~precision_m module~descriptors_m->module~screen_io_m module~equilibrium_m->module~precision_m module~error_handling_m->module~precision_m module~error_handling_m->module~screen_io_m module~error_handling_m->module~status_codes_m module~comm_handling_m comm_handling_m module~error_handling_m->module~comm_handling_m mpi mpi module~error_handling_m->mpi netcdf netcdf module~error_handling_m->netcdf module~euclidean_geo_m->module~precision_m module~kisslinger_m->module~constants_m module~kisslinger_m->module~error_handling_m module~kisslinger_m->module~precision_m module~kisslinger_m->module~screen_io_m module~kisslinger_m->module~status_codes_m module~list_operations_m list_operations_m module~kisslinger_m->module~list_operations_m module~params_equi_circular_toroidal_m->module~error_handling_m module~params_equi_circular_toroidal_m->module~precision_m module~params_equi_circular_toroidal_m->module~screen_io_m module~params_equi_circular_toroidal_m->module~status_codes_m iso_fortran_env iso_fortran_env module~params_equi_circular_toroidal_m->iso_fortran_env iso_c_binding iso_c_binding module~precision_m->iso_c_binding module~precision_m->iso_fortran_env module~precision_m->mpi module~precision_m->netcdf module~screen_io_m->module~precision_m module~screen_io_m->iso_fortran_env module~screen_io_m->netcdf module~comm_handling_m->mpi module~list_operations_m->module~precision_m module~list_operations_m->module~screen_io_m

Used by

  • module~~circular_toroidal_equilibrium_m~~UsedByGraph module~circular_toroidal_equilibrium_m circular_toroidal_equilibrium_m module~equilibrium_factory_m equilibrium_factory_m module~equilibrium_factory_m->module~circular_toroidal_equilibrium_m program~benchmark_helmholtz_solvers benchmark_helmholtz_solvers program~benchmark_helmholtz_solvers->module~equilibrium_factory_m program~diagnose_poincare diagnose_poincare program~diagnose_poincare->module~equilibrium_factory_m program~test_diffusion test_diffusion program~test_diffusion->module~equilibrium_factory_m

Derived Types

type, public, extends(equilibrium_t) ::  circular_toroidal_t

Type implementing a consistent analytical toroidal equilibrium with nested circular fluxsurfaces

Components

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)

Type-Bound Procedures

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 :: 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 :: theta