Derived Types

TypeLocationExtendsDescription
analytic_divertor_equilibrium_t analytic_divertor_equilibrium_m divertor_equilibrium_t
carthy_t carthy_equilibrium_m analytic_divertor_equilibrium_t
cerfons_t cerfons_equilibrium_m analytic_divertor_equilibrium_t
circular_t circular_equilibrium_m equilibrium_t
circular_toroidal_t circular_toroidal_equilibrium_m equilibrium_t

Type implementing a consistent analytical toroidal equilibrium with nested circular fluxsurfaces

closed_polygon2d_t polygon_m polygon2d_t
csrmat_data_t csrmat_m None

Data type used to expose csrmat_t data to C/C++ Please see csrmat_t for descriptions of individual properties/members. Values are copied directly. Arrays are exposed with pointers.

csrmat_t csrmat_m None

Compressed-sparse-row (CSR) matrix format

divertor_equilibrium_t divertor_equilibrium_m equilibrium_t
dommaschk_t dommaschk_equilibrium_m equilibrium_t

Type implementing 3D vacuum fields as described by Dommaschk [*]. These are determined with toroidal mode numbers m, poloidal mode numbers l, the number of field periods, and fitting coefficients which are specific to each magnetic configuration.

equilibrium_t equilibrium_m None

Class-instance variables

error_handler_t error_handling_m None

Type that can be used to handle errors for multiple code instances at once. Each calling code may create a singleton instance of this type. There is no initialize routine, the instance should be initialized via the constructor.

error_info_t error_handling_m None

Specifies additional user defined output for an error message that contains more than a simple message. May have a descriptive string and one dimensional integer and real arrays to print out variables.

flare_t flare_equilibrium_m equilibrium_t

Equilibrium type based on FLARE magnetic reconstruction

func_1D_t root_finding_m None

Defines function type for find_zero

helmholtz_matrix_data PAccX_m None

Holds information needed to build Helmholtz matrices for 2D problem.

helmholtz_vector_data PAccX_m None

Holds right-hand-side of Helmholtz equation and initial guess for FGMRES algorithm

kisslinger_t kisslinger_m None
limiting_polygon2d_t polygon_m closed_polygon2d_t
mesh_cart_data_t mesh_cart_m None

Data type used to expose mesh_cart_t data to C/C++ Please see mesh_cart_t for descriptions of individual properties/members. Values are copied directly. Arrays are exposed with pointers.

mesh_cart_t mesh_cart_m None

Datatype for a mesh_2d

multigrid_data_t multigrid_m None

Data type used to expose multigrid_t data to C/C++ Please see multigrid_t for descriptions of individual properties/members. nlvls value is copied directly. Arrays are exposed with pointers.

multigrid_intermediate_data_t multigrid_m None

Data type needed to expose multigrid_t data to C/C++. Objects of this type shall hold arrays of types mesh_cart_data_t and csrmat_data_t. These are strictly required for the exposure (we cannot use the arrays of type mesh_cart_t and csrmat_t that exist within multigrid_t). In princple this data type could be merged into multigrid_t, but keeping it separate should simplify maintenance.

multigrid_solver_t multigrid_solver_m None

Multigrid solver object

multigrid_t multigrid_m None

Object which contains the multigrid meshes for solving Helmholtz problems. This includes nlvl number of meshes of increasing coarseness, restriction and prolongation matrices.

numerical_t numerical_equilibrium_m divertor_equilibrium_t
parameters_helmholtz_solver_factory helmholtz_solver_factory_m None

Parameters for factory routine, with defaults

polar_grid_t polar_grid_m None

Polar grid

polygon2d_t polygon_m None
salpha_t salpha_equilibrium_m equilibrium_t

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.

slab_t slab_equilibrium_m equilibrium_t

Type that represents the slab equilibrium

solver3d_CERFACS_t solver3d_m solver3d_t

Iterative 3D solver based on CERFACS library

solver3d_PIM_t solver3d_m solver3d_t

Iterative 3D solver based on PIM library

solver3d_t solver3d_m None

Abstract class for 3D solver

solver_numerical_parameters PAccX_m None

Holds solver numerical parameter information

splitting_gauss_seidel_cpu_t splitting_m splitting_t

Splitting solver with Gauss-Seidel splitting method on CPU

splitting_gauss_seidel_redblack_cpu_t splitting_m splitting_t

Splitting solver with Red-Black Gauss-Seidel splitting method on CPU

splitting_jacobi_cpu_t splitting_m splitting_t

Splitting solver with Jacobi splitting method on CPU

splitting_t splitting_m None

Splitting solver