Source code for torx.equilibrium.check_equilibrium_m

"""Checks for what equilibrium type is used for a given run."""
from torx.autodoc_decorators_m import autodoc_function, autodoc_class
from enum import Enum

[docs] @autodoc_class class EquiType(Enum): """Equilibrium type integer code.""" CARTHY = 0 CERFONS = 1 CIRCULAR = 2 NUMERICAL = 3 SLAB = 4 SALPHA = 5 DOMMASCHK = 6 CIRCULAR_TOROIDAL = 7 FLARE = 8
[docs] @autodoc_class class FlareEquiType(Enum): """FLARE Equilibrium type string.""" equi3d_mgrid = "equi3d_mgrid" equi3d_coilset = "equi3d_coilset" equi3d_hint = "equi3d_hint"
_geometry_dict = { "equi_slab_params": "SLAB", "equi_salpha_params": "SALPHA", "equi_circular_params": "CIRCULAR", "equi_carthy_params": "CARTHY", "equi_cerfons_params": "CERFONS", "equi_numerical_params": "NUMERICAL", "params_equi_dommaschk": "DOMMASCHK", "equi_params_flare_type": "FLARE", }
[docs] @autodoc_function def check_equilibrium(params): """Return an equilibrium type based on the parameter file.""" if "params_geometry" in params: assert "geometry" in params["params_geometry"] return params["params_geometry"]["geometry"] else: for key, value in _geometry_dict.items(): if key in params: return value raise RuntimeError(f"Error: no valid equilibrium type found in params")