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
iniandactparameters (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
edge profiles!
Missing docstring for FUSE.init_edge_profiles!(::IMAS.dd, ::FUSE.ParametersAllInits, ::FUSE.ParametersAllActors). Check Documenter's build log for details.
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