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

immersed_rho_t immersed_rho_m immersed_t

Immersed boundary type based on rho

immersed_t immersed_m None

Abstract immersed boundary type

immersed_trace_t immersed_trace_m immersed_t

Immersed boundary type based on field line tracing

immersed_vessel_t immersed_vessel_m immersed_t

Immersed boundary type based on vessel

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

parbnd_taylor_t parbnd_taylor_m None

Handles setting of boundary conditions at parallel boundaries according to Taylor expansion method

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

type~~graph~~TypeGraph type~analytic_divertor_equilibrium_t analytic_divertor_equilibrium_t type~divertor_equilibrium_t divertor_equilibrium_t type~analytic_divertor_equilibrium_t->type~divertor_equilibrium_t type~carthy_t carthy_t type~carthy_t->type~analytic_divertor_equilibrium_t type~cerfons_t cerfons_t type~cerfons_t->type~analytic_divertor_equilibrium_t type~circular_t circular_t type~equilibrium_t equilibrium_t type~circular_t->type~equilibrium_t type~circular_toroidal_t circular_toroidal_t type~circular_toroidal_t->type~equilibrium_t type~kisslinger_t kisslinger_t type~circular_toroidal_t->type~kisslinger_t kiss_bnd type~closed_polygon2d_t closed_polygon2d_t type~polygon2d_t polygon2d_t type~closed_polygon2d_t->type~polygon2d_t type~csrmat_data_t csrmat_data_t c_ptr c_ptr type~csrmat_data_t->c_ptr i, j, val type~csrmat_t csrmat_t type~divertor_equilibrium_t->type~closed_polygon2d_t divertor_polygon, exclusion_polygon type~divertor_equilibrium_t->type~equilibrium_t type~dommaschk_t dommaschk_t type~dommaschk_t->type~equilibrium_t type~dommaschk_t->type~kisslinger_t kiss_bnd type~error_handler_t error_handler_t type~error_info_t error_info_t type~flare_t flare_t type~flare_t->type~equilibrium_t type~flare_t->type~kisslinger_t kiss_bnd, kiss_rho type~func_1d_t func_1D_t type~helmholtz_matrix_data helmholtz_matrix_data type~helmholtz_matrix_data->c_ptr co, xi, lambda type~helmholtz_vector_data helmholtz_vector_data type~helmholtz_vector_data->c_ptr rhs, sol type~immersed_rho_t immersed_rho_t type~immersed_t immersed_t type~immersed_rho_t->type~immersed_t type~immersed_trace_t immersed_trace_t type~immersed_trace_t->type~immersed_t type~immersed_vessel_t immersed_vessel_t type~immersed_vessel_t->type~immersed_t type~limiting_polygon2d_t limiting_polygon2d_t type~limiting_polygon2d_t->type~closed_polygon2d_t type~mesh_cart_data_t mesh_cart_data_t type~mesh_cart_data_t->c_ptr cart_i, cart_j, index_neighbor, inner_indices, boundary_indices, ghost_indices, pinfo, district, redblack_indices type~mesh_cart_t mesh_cart_t type~multigrid_data_t multigrid_data_t type~multigrid_data_t->c_ptr mesh_finest_ptr, mesh_coarse_array, mrcsr, mrcsr_inner, mpcsr, np_lvl, np_boundary_lvl, np_inner_lvl, first_idx_lvl, first_idx_boundary_lvl, first_idx_inner_lvl type~multigrid_intermediate_data_t multigrid_intermediate_data_t type~multigrid_intermediate_data_t->type~csrmat_data_t mrcsr_data, mrcsr_inner_data, mpcsr_data type~multigrid_intermediate_data_t->type~mesh_cart_data_t mesh_finest_ptr_data, mesh_coarse_array_data type~multigrid_solver_t multigrid_solver_t type~multigrid_solver_t->type~csrmat_t hcsrs type~multigrid_t multigrid_t type~multigrid_solver_t->type~multigrid_t multigrid type~splitting_t splitting_t type~multigrid_solver_t->type~splitting_t msmoother direct_solver_t direct_solver_t type~multigrid_solver_t->direct_solver_t coarsest_solver type~multigrid_t->type~csrmat_t mrcsr, mrcsr_inner, mpcsr type~multigrid_t->type~mesh_cart_t mesh_finest_ptr, mesh_coarse_array type~numerical_t numerical_t type~numerical_t->type~closed_polygon2d_t spline_edge_polygon type~numerical_t->type~divertor_equilibrium_t type~numerical_t->type~limiting_polygon2d_t flux_regions bspline_2d bspline_2d type~numerical_t->bspline_2d psi_spl2d type~parameters_helmholtz_solver_factory parameters_helmholtz_solver_factory type~parbnd_taylor_t parbnd_taylor_t type~polar_grid_t polar_grid_t type~salpha_t salpha_t type~salpha_t->type~equilibrium_t type~slab_t slab_t type~slab_t->type~equilibrium_t type~solver3d_cerfacs_t solver3d_CERFACS_t type~solver3d_t solver3d_t type~solver3d_cerfacs_t->type~solver3d_t type~solver3d_pim_t solver3d_PIM_t type~solver3d_pim_t->type~solver3d_t type~solver_numerical_parameters solver_numerical_parameters type~splitting_gauss_seidel_cpu_t splitting_gauss_seidel_cpu_t type~splitting_gauss_seidel_cpu_t->type~splitting_t type~splitting_gauss_seidel_redblack_cpu_t splitting_gauss_seidel_redblack_cpu_t type~splitting_gauss_seidel_redblack_cpu_t->type~splitting_t type~splitting_jacobi_cpu_t splitting_jacobi_cpu_t type~splitting_jacobi_cpu_t->type~splitting_t
Help