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