...
Now the output data are placed into 7 IMAS IDS's (Interface Data Structures - sections of the IMAS DD describing tokamak subsystems or tokamak physics chapters): 'core_profiles', 'core_sources', 'equilibrium', 'gas_injection', 'magnetics', 'radiation', and 'wall' (this list is to be extended). The allocation of the data in the IDS's and the functions supporting it are described below.
Files provided
File name | Content |
---|---|
put_to_IMAS.m | Function saving IMAS output data to IMAS |
get_from_IMAS.m | Function reading IMAS output data from IMAS |
test_put_to_IMAS.m | Sample script invoking the function put_to_IMAS |
test_get_from_IMAS.m | Sample script that invokes the function get_from_IMAS and compares the recovered data with the initial ones |
put_core_profiles.m | Function saving data to the 'core_profiles' IDS |
put_core_sources.m | Function saving data to the 'core_sources' IDS |
put_equilibrium.m | Function saving data to the 'equilibrium' IDS |
put_gas_injection.m | Function saving data to the 'gas_injection' IDS |
put_magnetics.m | Function saving data to the 'magnetics' IDS |
put_radiation.m | Function saving data to the 'radiation' IDS |
put_wall.m | Function saving data to the 'wall' IDS |
get_core_profiles.m | Function recovering the saved data from the 'core_profiles' IDS |
get_core_sources.m | Function recovering the saved data from the 'core_sources' IDS |
get_equilibrium.m | Function recovering the saved data from the 'equilibrium' IDS |
get_gas_injection.m | Function recovering the saved data from the 'gas_injection' IDS |
get_magnetics.m | Function recovering the saved data from the 'magnetics' IDS |
get_radiation.m | Function recovering the saved data from the 'radiation' IDS |
get_wall.m | Function recovering the saved data from the 'wall' IDS |
arrange_ion_densities.m | Function putting the densities of all charge states and the properties of an ion to 'core_profiles' |
arrange_neutral_density.m | Function putting the density and the properties of a neutral atom to 'core_profiles' |
arrange_radiation.m | Function arranging the radiation power density (together with all atom attributes) for given radiation type and neutral/ion kind |
extract_ion_densities.m | Function extracting the densities of all charge states from the 'core_profiles' IDS |
find_source.m | Function finding the location of the source with a given data dictionary index in an AoS |
find_species.m | Function finding the location of the species with a given label in AoS |
compare_core_profiles.m | Function comparing the data restored from the 'core_profiles' IDS with the initial content |
compare_core_sources.m | Function comparing the data restored from the 'core_sources' IDS with the initial content |
compare_equilibrium.m | Function comparing the data restored from the 'equilibrium' IDS with the initial content |
compare_magnetics.m | Function comparing the data restored from the 'magnetics' IDS with the initial content |
compare_radiation.m | Function comparing the data restored from the 'radiation' IDS with the initial content |
compare_wall.m | Function comparing the data restored from the 'wall' IDS with the initial content |
STEP_10003_N_O_impurities_Cwall_2022_11_12_17_53_27.mat | Example of MAT-file with DYON results (received from Kim Hyun-Tae) |
STEP_10003_v4_600kW_EBWCD_2022_6_20_21_24_29.mat | Example of MAT-file with DYON results (received from Kim Hyun-Tae) |
README.txt | Brief user guide |
DYON-IMAS_wrappers_user_guide.pdf | This documentation in PDF-format |
...
Data exchange with the 'equilibrium' IDS is carried out by the functions 'put_equilibrium' and 'get_equilibrium'. The interface of 'get_equilibrium' is identical to that of 'get_core_profiles' (Section 2.4). The interface of 'put_equilibrium' is identical to that of 'getput_core_sources' (Section 2.5).
...
Data exchange with the 'gas_injection' IDS is carried out by the functions 'put_gas_injection' and 'get_gas_injection'. The interface of 'get_gas_injection' is identical to that of 'get_core_profiles' (Section 2.4). The interface of 'put_gas_injection' is identical to that of 'getput_core_sources' (Section 2.5).
...
Data exchange with the 'magnetics' IDS is carried out by the functions 'put_magnetics' and 'get_magnetics'. The interface of 'get_magnetics' is identical to that of 'get_core_profiles' (Section 2.4). The interface of 'put_magnetics' is identical to that of 'getput_core_sources' (Section 2.5).
...
When the data are recovered from the IDS, the emission processes are sought in the array of structures by their DD indices. At present, the storage of process in the IDS is organized as follows:
Process | DD index | IDS name | IDS index |
---|---|---|---|
Total emission from line radiation | 10 | Line_radiation | 1 |
Recombination and bremsstrahlung emission from ions | 901 | Recombination_and_bremsstrahlung | 2 |
Radiation from charge exchange reactions between H isotope atoms and various ions | 902 | Charge_exchange | 3 |
Here 'IDS index' is the location of the source in the 'radiation.process' AoS (which can be changed if required). The 'IDS name' is the label of the process (a part of the process identifier), which is not used when the data are extracted from the IDS. The processes 901 and 902 are custom processes missing in the DD.
...
Data exchange with the 'radiation' IDS is carried out by the functions 'put_radiation' and 'get_radiation'. The interface of 'get_radiation' is identical to that of 'get_core_profiles' (Section 2.4). The interface of 'put_radiation' is identical to that of 'getput_core_sources' (Section 2.5).
IDS wall
The 'wall
...
' IDS is used to store sputtering coefficients. When the data are extracted from the IDS, each coefficient is found in the AoS by the labels of the sputtered and incident species, which are the standard chemical element notations.
Data exchange with the 'wall' IDS is carried out by the functions 'put_wall' and 'get_wall'. The interface of 'get_wall' is identical to that of 'get_core_profiles' (Section 2.4). The interface of 'put_wall' is identical to that of 'put_core_sources' (Section 2.5).
Service functions
function [ion] = arrange_ion_densities (mass, Z_n, label, neutral_index, densities)
function [neutral] = arrange_neutral_density (mass, Z_n, label, ion_index, density)
function [neutral_sort] = arrange_radiation (label, mass, Z, power_density)
function [neutral_sort] = arrange_radiation (label, mass, Z, power_density)
...
DYON input
Description of the scripts processing the DYON input (to be done).
...