Initialization
Recall that FUSE actors operate exclusively on IMAS.dd
data. As such, to run any actor, one has to first initialize IMAS.dd
with some data. This can be done in a number of ways:
- Manually/Interactivelly (eg. in the REPL or a Jupyter sesion)
- Starting from 0D
ini
andact
parameters (same spirit of OMFIT's PRO_create module) - By reading in an existing OMAS JSON data structure with
json2imas
- Starting from GA Systems Code output, then to
ini
, and finally todd
The following init...()
routines initialize dd
from 0D parameters (method #2)
High-level Initialization
FUSE.init
— Methodinit(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors; kw...)
Like init!(dd, ini, act)
function, but does not modify ini
and act
Use-cases initialization
FUSE.init
— Methodinit(case::Symbol; do_plot::Bool=false, kw...)
Initialize dd
, ini
, act
based on a given use-case.
Returns a tuple with dd
, ini
, act
.
Low-level initialization routines
Below are the initialization functions specific to IDSs in the dd
data structure. These can be called for a fine control on what IDSs are initialized and how.
balance of plant!
FUSE.init_balance_of_plant!
— Methodinit_balance_of_plant!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.balance_of_plant
starting from ini
and act
parameters
build!
FUSE.init_build!
— Methodinit_build!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.build
starting from ini
and act
parameters
core profiles!
FUSE.init_core_profiles!
— Methodinit_core_profiles!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.core_profiles
starting from ini
and act
parameters
core sources!
FUSE.init_core_sources!
— Methodinit_core_sources!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.nbi
, dd.ec_launchers
, dd.ic_antennas
, dd.lh_antennas
starting from ini
and act
parameters
currents!
FUSE.init_currents!
— Methodinit_currents!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.core_profiles
and dd.core_sources
ohmic and bootstrap currents and sources starting from ini
and act
parameters
ec!
FUSE.init_ec!
— Methodinit_ec!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.ec_launchers
starting from ini
and act
parameters
equilibrium!
FUSE.init_equilibrium!
— Methodinit_equilibrium!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.equilibrium
starting from ini
and act
parameters
expressions
Missing docstring for FUSE.init_expressions(::IMAS.dd, ::FUSE.ParametersAllInits, ::FUSE.ParametersAllActors)
. Check Documenter's build log for details.
hcd!
FUSE.init_hcd!
— Methodinit_hcd!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.nbi
, dd.ec_launchers
, dd.ic_antennas
, dd.lh_antennas
starting from ini
and act
parameters
ic!
FUSE.init_ic!
— Methodinit_ic!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.ic_antennas
starting from ini
and act
parameters
lh!
FUSE.init_lh!
— Methodinit_lh!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.lh_antennas
starting from ini
and act
parameters
missing from ods!
FUSE.init_missing_from_ods!
— Methodinit_missing_from_ods!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize missing IDSs from ODS, only if ini.general.init_from == :ods
.
nb!
FUSE.init_nb!
— Methodinit_nb!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.nbi
starting from ini
and act
parameters
pf active!
FUSE.init_pf_active!
— Methodinit_pf_active!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.pf_active
starting from ini
and act
parameters
pl!
FUSE.init_pl!
— Methodinit_pl!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.pellet_launcher
starting from ini
and act
parameters
pulse schedule!
FUSE.init_pulse_schedule!
— Methodinit_pulse_schedule!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.pulse_schedule
starting from ini
and act
parameters
pulse schedule postion control
Missing docstring for FUSE.init_pulse_schedule_postion_control(::IMAS.dd, ::FUSE.ParametersAllInits, ::FUSE.ParametersAllActors)
. Check Documenter's build log for details.
requirements!
FUSE.init_requirements!
— Methodinit_requirements!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())
Initialize dd.requirements ini.requirements