bluemira.codes.plasmod.api._inputs

Parameter classes/structures for Plasmod

Attributes

MODEL_MAP

Classes

PlasmodInputs

Plasmod parameters with defaults.

Module Contents

bluemira.codes.plasmod.api._inputs.MODEL_MAP: collections.abc.Mapping[str, type[enum.Enum]]
class bluemira.codes.plasmod.api._inputs.PlasmodInputs

Plasmod parameters with defaults.

A: float = 3.1
Ainc: float = 1.1
amin: float = 2.9039
Bt: float = 5.855
c_car: float = 10.0
capA: float = 0.1
car_qdivt: float = 0.0001
car: float = 0.0
che: float = 0.0
che3: float = 0.0
contrpovr: float = 0.0
contrpovs: float = 0.0
cprotium: float = 0.0
cwol: float = 0.0
cxe_psepfac: float = 0.001
cxe: float = 0.0
d: float = 0.38491934960310104
d95: float = 0.333
dgy: float = 1e-05
dt: float = 0.01
dtinc: float = 2.0
dtmax: float = 0.01
dtmaxmax: float = 1.0
dtmaxmin: float = 0.1
dtmin: float = 0.01
dtminmax: float = 5.0
dx_cd_ech: float = 0.03
dx_cd_nbi: float = 0.2
dx_control_ech: float = 0.03
dx_control_nbi: float = 0.2
dx_fus_ech: float = 0.03
dx_fus_nbi: float = 0.2
dx_heat_ech: float = 0.03
dx_heat_nbi: float = 0.2
eccdeff: float = 0.3
eopt: float = 0.1
f_gw: float = 0.85
f_gws: float = 0.5
f_ni: float = 0.0
fcdp: float = -1.0
fcoreraditv: float = -1.0
fpion: float = 0.5
fuehe3: float = 0.0
fuelmix: float = 0.5
globtau_ar: float = 10.0
globtau_d: float = 10.0
globtau_he: float = 10.0
globtau_t: float = 10.0
globtau_xe: float = 10.0
Hfact: float = 1.1
i_diagz: int = 0
i_equiltype: bluemira.codes.plasmod.mapping.EquilibriumModel
i_impmodel: bluemira.codes.plasmod.mapping.ImpurityModel
i_modeltype: bluemira.codes.plasmod.mapping.TransportModel
i_pedestal: bluemira.codes.plasmod.mapping.PedestalModel
Ip: float = 17.75
isawt: bluemira.codes.plasmod.mapping.SafetyProfileModel
isiccir: bluemira.codes.plasmod.mapping.SOLModel
k: float = 1.6969830041844367
k95: float = 1.652
maxpauxor: float = 20.0
nbcdeff: float = 0.3
nbi_energy: float = 1000.0
nchannels: int = 3
ntglf: int = 11
nx: int = 41
nxt: int = 5
pech: float = 0.0
pedscal: float = 1.0
pfus_req: float = 0.0
pheat_max: float = 130.0
plh: bluemira.codes.plasmod.mapping.PLHModel
pnbi: float = 0.0
pradfrac: float = 0.6
pradpos: float = 0.7
psep_r_sup: float = 230.0
psepb_q95AR_sup: float = 9.2
psepplh_inf: float = 0.1
psepplh_sup: float = 1000.0
q_cd: float = 0.0
q_control: float = 130.0
q_fus: float = 0.0
q_heat: float = 0.0
q95: float = 3.5
qdivt_sup: float = 0.0
qnbi_psepfac: float = 100.0
R: float = 9.002
rho_n: float = 0.94
rho_T: float = 0.94
teped: float = 5.5
tesep: float = 0.1
test: int = 10000
tol: float = 1e-10
tolmin: float = 10.1
v_loop: float = -1e-06
volume_in: int = -2500
x_cd_ech: float = 0.0
x_cd_nbi: float = 0.0
x_control_ech: float = 0.0
x_control_nbi: float = 0.0
x_fus_ech: float = 0.0
x_fus_nbi: float = 0.0
x_heat_ech: float = 0.0
x_heat_nbi: float = 0.0
xtglf_1: float = 0.1
xtglf_2: float = 0.15
xtglf_3: float = 0.2
xtglf_4: float = 0.25
xtglf_5: float = 0.3
xtglf_6: float = 0.4
xtglf_7: float = 0.5
xtglf_8: float = 0.6
xtglf_9: float = 0.7
xtglf_10: float = 0.75
xtglf_11: float = 0.8
_FORTRAN_INT_FORMAT = 'a20,  i10'
_FORTRAN_FLOAT_FORMAT = 'a20, e17.9'
__post_init__()

Perform post-init processing.

Convert some parameters to their corresponding enum type. This allows us to load values from a config file stored as fortran types, then convert the integers to their respective enums.

write(io_stream: TextIO)

Write plasmod inputs to stream in a format plasmod can read.

Parameters:

io_stream (TextIO) – A text stream. Usually created using open(..., "r").

_convert_models_to_enums()

Convert plasmod model fortran values to their corresponding enum values.

Raises:

CodesError – Invalid model value

static _convert_value_to_enum(enum_cls: type[enum.Enum], value: Any) enum.Enum

Attempts to convert a value to an enum value of the given class.

Throw a value error if the given value does not correspond to an enumeration value in the enum class.

Raises:

ValueError – Cannot convert value to enum

Parameters:
  • enum_cls (type[enum.Enum])

  • value (Any)

Return type:

enum.Enum