flare_equilibrium_m Module

Equilibrium based on FLARE: (field line analysis and reconstruction for 3D boundary plasma modeling) see H. Frerichs 2024 Nucl. Fusion 64 106034 DOI 10.1088/1741-4326/ad7303

The source code of FLARE needs to be compiled separately https://gitlab.com/hfrerichs/flare (stable with #4351aff722f9d2b7495211f09f774bc406064ac1)

FLARE relies on MOOSE, which needs to be compile seperately, too. https://gitlab.com/hfrerichs/moose.git (stable with #4c4a046b615ba19f68e1c1003c975941db7c6cf7)

All routines or variables that are provided externally from FLARE are imported with the prefix "FLARE_"



Derived Types

type, public, extends(equilibrium_t) ::  flare_t

Equilibrium type based on FLARE magnetic reconstruction

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