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:

  1. Manually/Interactivelly (eg. in the REPL or a Jupyter sesion)
  2. Starting from 0D ini and act parameters (same spirit of OMFIT's PRO_create module)
  3. By reading in an existing OMAS JSON data structure with json2imas
  4. Starting from GA Systems Code output, then to ini, and finally to dd

The following init...() routines initialize dd from 0D parameters (method #2)

High-level Initialization

FUSE.initMethod
init(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors; kw...)

Like init!(dd, ini, act) function, but does not modify ini and act

source

Use-cases initialization

FUSE.initMethod
init(case::Symbol; do_plot::Bool=false, kw...)

Initialize dd, ini, act based on a given use-case.

Returns a tuple with dd, ini, act.

source

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!Method
init_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

source

build!

FUSE.init_build!Method
init_build!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.build starting from ini and act parameters

source

core profiles!

FUSE.init_core_profiles!Method
init_core_profiles!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.core_profiles starting from ini and act parameters

source

core sources!

FUSE.init_core_sources!Method
init_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

source

currents!

FUSE.init_currents!Method
init_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

source

ec!

FUSE.init_ec!Method
init_ec!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.ec_launchers starting from ini and act parameters

source

equilibrium!

FUSE.init_equilibrium!Method
init_equilibrium!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.equilibrium starting from ini and act parameters

source

expressions

Missing docstring.

Missing docstring for FUSE.init_expressions(::IMAS.dd, ::FUSE.ParametersAllInits, ::FUSE.ParametersAllActors). Check Documenter's build log for details.

hcd!

FUSE.init_hcd!Method
init_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

source

ic!

FUSE.init_ic!Method
init_ic!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.ic_antennas starting from ini and act parameters

source

lh!

FUSE.init_lh!Method
init_lh!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.lh_antennas starting from ini and act parameters

source

missing from ods!

FUSE.init_missing_from_ods!Method
init_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.

source

nb!

FUSE.init_nb!Method
init_nb!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.nbi starting from ini and act parameters

source

pf active!

FUSE.init_pf_active!Method
init_pf_active!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.pf_active starting from ini and act parameters

source

pl!

FUSE.init_pl!Method
init_pl!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.pellet_launcher starting from ini and act parameters

source

pulse schedule!

FUSE.init_pulse_schedule!Method
init_pulse_schedule!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.pulse_schedule starting from ini and act parameters

source

pulse schedule postion control

Missing docstring.

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!Method
init_requirements!(dd::IMAS.dd, ini::ParametersAllInits, act::ParametersAllActors, dd1::IMAS.dd=IMAS.dd())

Initialize dd.requirements ini.requirements

source