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;
do_plot::Bool=false,
initialize_hardware::Bool=true,
initialize_pulse_schedule::Bool=true,
restore_expressions::Bool=true,
verbose::Bool=false)
Initialize dd
starting from ini
and act
parameters
FUSE provides this high-level init
function to populate dd
starting from the ini
parameters.
This function essentially calls all other FUSE.init...
functions in FUSE.
For most studies, calling this high level function is sufficient.
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.
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(); simplify_time_traces::Float64=0.1)
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