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;
    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.

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_ecMethod
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.

ic

FUSE.init_icMethod
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_lhMethod
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_nbMethod
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_plMethod
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(); simplify_time_traces::Float64=0.1)

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