IMP5HCD - the IMP5 Composite Actor for Heating and Current Drive


Purpose Contact persons Input Output
Kepler-actor for integrated modelling of Heating and Current Drive (EC,LH,IC,NBI,alphas-heating) Thomas Johnson
Lorenzo Figini
EU-ITM Plasma bundle Required CPOs are: antennas, nbi, wall, equilibrium, coreprof, coreimpur.
Manual setting (Kepler variables) selecting codes, synergy options, and certain modelling parameters.
Subset of the EU-ITM Plasma bundle containing the CPOs: waves, distsource, distribution, coresource
The IMP5 Composite Actor for Heating and Current Drive is a multi layered composite actor. Each layer separates one different groups of models or codes, e.g.
  • the generation of CPOs (wave, distsource, distribution and coresource),
  • the different heating schemes,
  • ions and electrons solvers,
  • ...all the way down to the level of Actors for physics models.
The composite actor takes as input the standardized EU-ITM Plasma bundle and generates as output the CPOs waves, distsource, distribution and coresouce (bundled into a subset of the EU-ITM Plasma bundle).

The IMP5 Composite Actor for Heating and Current Drive is stored as part of the IMP5HCD-SA workflow.

The IMP5HCD include a number physics codes. For a schort description of these codes and contact information, follow this link.

As an example we have below illustrations of some of the structure inside the composite actors for waves and the composite actor for distribution.

Physics actors in IMP5HCD

TopPreviousNext

Here follows a list of the heating and current drive actor released in the imp5hcd composite actor that have passed at least some elementary robustness tests and in most cases some form of verification. This list is likely to change within a few month time. For the latest details contact Thomas Johnson.

Date of last update: 2014-12-19

Code name Code Category Contact persons Short description
gray EC/waves Lorenzo Figini GRAY is a quasi-optical ray-tracing code for electron cyclotron heating & current drive calculations in tokamaks. Documentation of code parameters.
travis EC/waves Nikolai Marushchenko Travis is a ray-tracing code for electron cyclotron heating & current drive calculations in tokamaks.
Torray-FOM EC/waves Egbert Westerhof Torray-FOM is a ray-tracing code for electron cyclotron heating & current drive calculations in tokamaks.
bbnbi NBI/source Otto Asunta Calculate the deposition rates of neutrals beam particles, i.e. the input source for Fokker-Planck solvers (not the heating and current drive). Note that the number of markers generated by BBNBI is described by the kepler variable number_nbi_markers_in.
nemo NBI/source Mireille Schneider Calculate the deposition rates of neutrals beam particles, i.e. the input source for Fokker-Planck solvers (not the heating and current drive).
nuclearsim nuclear/source Thomas Johnson Simple code for nuclear sources from thermal/thermal reactions. Documentation of code parameters
nbisim NBI+nuclear/Fokker-Planck Thomas Johnson Simple Fokker-Planck code calculating the collisional ion and electron heating from a particle source, either NBI or nuclear.
risk NBI Fokker-Planck Mireille Schneider Bounce averaged steady-state Fokker-Planck solver calculating the collisional ion and electron heating from a particle source and the NBI current drive.
spot NBI and ICRF Fokker-Planck Mireille Schneider Monte Carlo solver for the Fokker-Planck equation. Traces guiding centre orbits in a steady state magnetic equilibrium under the influence of Coloumb collisions and interactions with ICRF waves (through the RFOF library). The can also be used for NBI and alpha particle modelling as it can handle source terms from the distsource CPO.
ascot4serial NBI, alphas, ICRF / Fokker-Planck Otto Asunta/Seppo Sipila Monte Carlo Fokker-Planck solver calculating the collisional ion and electron heating from a particle source and the NBI current drive.
ascot4parallel NBI, alphas, ICRF / Fokker-Planck Otto Asunta/Seppo Sipila Monte Carlo Fokker-Planck solver calculating the collisional ion and electron heating from a particle source and the NBI current drive.
iccoup IC/coupling Thomas Johnson Simple model for the coupling waves from ion cyclotron antennas to the plasma.
LION IC / waves Olivier Sauter and Laurent Villard Global ICRF wave solver
Cyrano IC / waves Ernesto Lerche and Dirk Van Eester Global ICRF wave solver
Eve IC / waves Remi Dumont Global ICRF wave solver
StixReDist IC / waves Dirk Van Eester and Ernesto Lerche 1d Fokker-Planck solver for ICRF heating.
ICDEP IC / waves Thomas Johnson Generates Waves-cpo with an IC wave field with Gaussian deposition profiles described by a combination of antenna-cpo input and through code parameters input (see documentation of code parameters)

Non-physics actors in IMP5HCD

TopPreviousNext

UNDER DEVELOPMENTS

Code name Code Category Contact persons Short description
addECant Antennas / generator Thomas Johnson/Lorenzo Figini Appends EC setting to an Antennas-cpo. The settings are provided as a combination of Kepler-input (for power and launching angles) and machine parameters that are hardcoded for each tokamak. In case the EC system of a tokamak is not implemented it uses the code-parameters from the writeECant actor (see documentation of code parameters)
addICant Antennas / generator Thomas Johnson Appends IC setting to an Antennas-cpo. The settings are provided as a combination of Kepler-input, including the power, frequency and phasing. In case the IC machine parameters are not available in the input CPO, then these are filled with hardcoded parameters for a given tokamak.
nbifiller NBI / generator Thomas Johnson Updates the time dependent NBI setting to an NBI-cpo. The settings are provided as a combination of Kepler-input, including the mass, charge, power, injection energy and the beam-power-fractions. In case the IC machine parameters are not available in the input CPO, then these are filled with hardcoded parameters for a given tokamak.
hcd2coresource coresource-CPO / datajoiner Thomas Johnson Generates a Coresource-cpo from input Distsource, Waves and Distribution cpos.
waves2source coresource-CPO / datajoiner Lorenzo Figini Generates a Coresource-cpo from input Waves cpo.
hcd2corefast coresource-CPO / datajoiner Thomas Johnson Generates a Corefast-cpo from the input Distribution cpo.
emptywaves waves-CPO / generator Thomas Johnson Generates an empty Waves cpo.
emptydistsource distsource-CPO / generator Thomas Johnson Generates an empty Distsource cpo.
emptydistribution distribution-CPO / generator Thomas Johnson Generates an empty Distribution cpo.
emptycoresource coresource-CPO / generator Thomas Johnson Generates an empty Coresource cpo.
emptycorefast corefast-CPO / generator Thomas Johnson Generates an empty Corefast cpo.
merge4waves waves-CPO / merger Thomas Johnson Mergers two Waves cpos.
merge4distsource distsource-CPO / merger Thomas Johnson Mergers two Distsource cpos.
merge4distribution distribution-CPO / merger Thomas Johnson Mergers two Distribution cpos.

Composite Actor for Waves

TopPreviousNext

Wave field solvers in the IMP5 Composite Actor for Heating and Current Drive are collected in a composite actor, which in turns separates the different heating schemes ICRF, LH and ECRH. The three waves fields are then joined by a datajoiner for the waves CPO.

As an example we here show how the ECRH composite actor select the physics code to use from a long list. The variable that determines the selection is a global parameter ec_wave_code, set at the top-level of the composite actor IMP5HCD. Note that if you run IMP5HCD in the ETS ec_wave_code is set on a higher level.

When selecting ec_wave_code=gray the workflow will entre the Gray model composite actor containing the Gray code, a ray tracer for EC waves.

Composite Actor for Fokker-Planck

TopPreviousNext

The composite actor for Fokker-Planck solvers are separated into solver for the electron and ion distribution function

As an example is shown below the composite actor for the ion-Fokker Planck solvers. This solvers allows two different ways of operation, either the full Fokker-Planck equation is solved including both wave field acceleration and particle source terms (the box "Ion Fokker-Planck wave + particle source" in the figure), or alternatively the two effects (wave acceleration and particle source terms) are treated seperately in two different solver (...in the figure).

Next looking more carefully what's inside e.g. the "Ion Fokker-Planck particle source" box we find again both an Empty CPO Generator and a long list physics codes to choose between: nbisim, risk, spot, ascot4serial, ascot4parallel.

Finally, inside the NBISIM composite actor you find the nbisim actor.

CPOs-fields required for the IMP5HCD composite actor

TopPreviousNext

An Actor running under IMP5HCD have to fill in certain fields, or else the workflow will not work properly. Here follows a list of requirements in 4.08b, using Fortran notation; for C, Java, or matlab notation replace "%" by "." (a dot).

WARNING: This list is outdated. There are now a large number of reuqired fields that will be added to this list.

Error handling

TopPreviousNext

When building advanced workflows like the IMP5HCD it is imparative that the individual components are robust and behaves in a controlled manner, even when the input is outside the conditions for validity. For this reason the ITM strongly encourage defensive programming.

The output of any ITM actor should in addition always provide error messages the output CPOs. Every CPO therefore includes a derived datatype called codeparam (located directly under the root of every CPO), which contains the field output_flag in which the error flag should be stored, see above.

<any-cpo>%codeparam%output_flag Integer output flag:
0 means the run was successful and can be used in the rest of the workflow,
<0 means failure

last update: 2015-07-10 by tjohnson