equilibrium_factory_m Module

Module capable of creating equilibrium objects



Enumerations

enum, bind(c)

Enumerators

enumerator:: CARTHY = 0
enumerator:: CERFONS = 1
enumerator:: CIRCULAR = 2
enumerator:: NUMERICAL = 3
enumerator:: SLAB = 4
enumerator:: SALPHA = 5
enumerator:: DOMMASCHK = 6
enumerator:: CIRCULAR_TOROIDAL = 7
enumerator:: FLARE = 8

Description

Enum defining the different types of equilibria that can be created by the factory


Functions

public function get_equilibrium_identifier(eq_as_string) result(res)

Returns equilibrium identifier (see header) if prescribed as string

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: eq_as_string

Equilibrium type specified as string

Return Value integer


Subroutines

public subroutine create_equilibrium(res, identifier, filename, dbgout)

Creates the selected equilibrium specified by identifier

Arguments

Type IntentOptional Attributes Name
class(equilibrium_t), intent(out), allocatable :: res

Created equilibrium type

integer, intent(in) :: identifier

Integer specifying the equilibrium to create (see header)

character(len=*), intent(in), optional :: filename

Parameter file to read properties of the equilibrium from, if no parameter file is provided the equilibrium is initialized to default values. Default initialization is only allowed for CARTHY, CERFONS and CIRCULAR equilibria. The default initialization is suitable for unit testing.

integer, intent(in), optional :: dbgout

Integer specifying what equilibrium information to write to stdout