![]() |
ETS-Core
version:0.0.4-46-ge2d8
Core actors for the ETS-6
|
Go to the source code of this file.
Functions/Subroutines | |
subroutine | ets_init (COREPROF_IN, EQUILIBRIUM_IN, CORESOLVER_IN, COREPROF_OUT, EQUILIBRIUM_OUT, CORESOLVER_OUT, SOLVER_INDEX, Activate_Edge_Workflow, codeparameters, user_out_outputFlag, user_out_diagnosticInfo) |
The ETS_INIT returns an instance of the IDS core_profiles, COREPROF_OUT, IDS equilibrium, EQUILIBRIUM_OUT, and the IDS transport_solver_numerics, CORESOLVER_OUT, that enable you to run the ::transport-solver, as well as the flag Activate_Edge_Workflow that should be used to activate the EDGE sub-workflows in the ETS_WORKFLOW_IMAS.xml. More... | |
subroutine | assign_run_settings (codeparam_string, COMPOSITION, PROFILES, IMPURITY, GRID_SETTINGS, RESTRICTIONS, Activate_Edge_Workflow) |
Parse the input xml, codeparam_string, and use the content to fill the output COMPOSITION, PROFILES, IMPURITY and Activate_Edge_Workflow. More... | |
subroutine | validate_equation (coreprof_in, profiles, grid_settings, solver_index, output_flag, output_message) |
Verify that the boundary conditions are set up correctly. In particular, check that whenever you are predicting any density equation, then quasi-neutrality is set for at least one plasma species (ions or electrons). More... | |
subroutine | validate_profiles (COREPROF_IN, OUTPUT_FLAG, OUTPUT_MESSAGE) |
subroutine | validate_equilibrium (EQUILIBRIUM_IN, OUTPUT_FLAG, OUTPUT_MESSAGE) |
subroutine | init_ids (COMPOSITION_OUT, GRID_SETTINGS, COREPROF_IN, EQUILIBRIUM_IN, COREPROF_OUT, EQUILIBRIUM_OUT, PROFILES, RESTRICTIONS, OUTPUT_FLAG, OUTPUT_MESSAGE) |
subroutine | setup_grid (GRID_SETTINGS, COREPROF_IN, RHO_TOR_NORM) |
subroutine | update_equations (PROFILES, COREPROF, EQUILIBRIUM) |
subroutine | update_bc (RHO, PROF, BND_TYPE, BND_RHO, BND_VALUE) |
subroutine | commit_run_settings (COMPOSITION, PROFILES, IMPURITY, COREPROF, CORESOLVER, user_out_outputFlag, user_out_diagnosticInfo) |
subroutine | fill_bc (IEQ, EQUATION, ION_INDEX, STATE_INDEX, TYPE, COEFF_INNER, COEFF_OUTER, POSITION, CORESOLVER) |
subroutine ets_init::assign_run_settings | ( | character(len=132), dimension(:), intent(in), pointer | codeparam_string, |
type (plasma_composition), intent(out) | COMPOSITION, | ||
type (plasma_profiles), intent(out) | PROFILES, | ||
type (impurity_profiles), intent(out) | IMPURITY, | ||
type(type_grid_settings), intent(out) | GRID_SETTINGS, | ||
type (profile_restrictions), intent(out) | RESTRICTIONS, | ||
integer, intent(out) | Activate_Edge_Workflow | ||
) |
Parse the input xml, codeparam_string, and use the content to fill the output COMPOSITION, PROFILES, IMPURITY and Activate_Edge_Workflow.
Definition at line 186 of file ets_init.f90.
References ets_plasma::allocate_composition(), ets_plasma::allocate_impurity_profiles(), and ets_plasma::allocate_plasma_profiles().
subroutine ets_init::commit_run_settings | ( | type (plasma_composition) | COMPOSITION, |
type (plasma_profiles) | PROFILES, | ||
type (impurity_profiles) | IMPURITY, | ||
type (ids_core_profiles), intent(inout) | COREPROF, | ||
type (ids_transport_solver_numerics), intent(inout) | CORESOLVER, | ||
integer (ids_int), intent(out) | user_out_outputFlag, | ||
character (len=:), intent(inout), pointer | user_out_diagnosticInfo | ||
) |
Definition at line 1597 of file ets_init.f90.
References allocate_working_ids::allocate_coresolver_ids(), coronal::coronal_distribution(), fill_bc(), get_composition::find_impurity(), get_composition::find_ion(), get_composition::get_prof_composition(), and control_parameters::init_control_parameters().
Referenced by ets_init().
subroutine ets_init | ( | type (ids_core_profiles), intent(in) | COREPROF_IN, |
type (ids_equilibrium), intent(in) | EQUILIBRIUM_IN, | ||
type (ids_transport_solver_numerics), intent(in) | CORESOLVER_IN, | ||
type (ids_core_profiles), intent(out) | COREPROF_OUT, | ||
type (ids_equilibrium), intent(out) | EQUILIBRIUM_OUT, | ||
type (ids_transport_solver_numerics), intent(out) | CORESOLVER_OUT, | ||
integer, intent(in) | SOLVER_INDEX, | ||
integer (ids_int), intent(out) | Activate_Edge_Workflow, | ||
type (ids_parameters_input), intent(in) | codeparameters, | ||
integer (ids_int), intent(out) | user_out_outputFlag, | ||
character(len=:), intent(out), pointer | user_out_diagnosticInfo | ||
) |
The ETS_INIT returns an instance of the IDS core_profiles, COREPROF_OUT, IDS equilibrium, EQUILIBRIUM_OUT, and the IDS transport_solver_numerics, CORESOLVER_OUT, that enable you to run the ::transport-solver, as well as the flag Activate_Edge_Workflow that should be used to activate the EDGE sub-workflows in the ETS_WORKFLOW_IMAS.xml.
The values in COREPROF_OUT are based on data in COREPROF_IN. However, the plasma composition (ion and impurity species) is set up as requested in the xml-input, supplied in codeparametersparameters_input. Important missing fields are infered from EQUILIBRIUM_IN.
The CORESOLVER_OUT and the Activate_Edge_Workflow are created from the values in codeparametersparameters_input.
Developers: D.Kalupin, T.Jonsson, J.Ferreira Contacts: Denis.Kalupin@euro-fusion.org
Definition at line 22 of file ets_init.f90.
References assign_run_settings(), commit_run_settings(), init_ids(), ids_sanitiser::sanitise_idss(), update_equations(), validate_equation(), validate_equilibrium(), and validate_profiles().
Referenced by run_test().
subroutine ets_init::fill_bc | ( | integer (ids_int) | IEQ, |
character (len=ids_string_length) | EQUATION, | ||
integer (ids_int) | ION_INDEX, | ||
integer (ids_int) | STATE_INDEX, | ||
integer (ids_int), dimension(2) | TYPE, | ||
real (ids_real), dimension(3) | COEFF_INNER, | ||
real (ids_real), dimension(3) | COEFF_OUTER, | ||
real (ids_real), dimension(2) | POSITION, | ||
type (ids_transport_solver_numerics) | CORESOLVER | ||
) |
Definition at line 1879 of file ets_init.f90.
References ets_plasma::bc_type_to_ids().
Referenced by commit_run_settings().
subroutine ets_init::init_ids | ( | type (plasma_composition), intent(in) | COMPOSITION_OUT, |
type (type_grid_settings), intent(in) | GRID_SETTINGS, | ||
type (ids_core_profiles), intent(in) | COREPROF_IN, | ||
type (ids_equilibrium), intent(in) | EQUILIBRIUM_IN, | ||
type (ids_core_profiles), intent(out) | COREPROF_OUT, | ||
type (ids_equilibrium), intent(out) | EQUILIBRIUM_OUT, | ||
type (plasma_profiles), intent(in) | PROFILES, | ||
type(profile_restrictions), intent(in) | RESTRICTIONS, | ||
integer, intent(inout) | OUTPUT_FLAG, | ||
character(*), intent(inout) | OUTPUT_MESSAGE | ||
) |
Definition at line 1222 of file ets_init.f90.
References ids_core_profiles_setup::core_profiles_setup(), get_composition::find_impurity(), get_composition::find_ion(), get_composition::get_prof_composition(), and setup_grid().
Referenced by ets_init().
subroutine ets_init::setup_grid | ( | type (type_grid_settings), intent(in) | GRID_SETTINGS, |
type (ids_core_profiles), intent(in) | COREPROF_IN, | ||
real (ids_real), dimension(:), intent(out), allocatable | RHO_TOR_NORM | ||
) |
Definition at line 1451 of file ets_init.f90.
Referenced by init_ids().
subroutine ets_init::update_bc | ( | real(ids_real), dimension(:), intent(in) | RHO, |
real(ids_real), dimension(:), intent(in) | PROF, | ||
integer, intent(in) | BND_TYPE, | ||
real(ids_real), intent(in) | BND_RHO, | ||
real(ids_real), intent(inout) | BND_VALUE | ||
) |
Definition at line 1559 of file ets_init.f90.
Referenced by update_equations().
subroutine ets_init::update_equations | ( | type (plasma_profiles), intent(inout) | PROFILES, |
type (ids_core_profiles), intent(in) | COREPROF, | ||
type (ids_equilibrium), intent(in) | EQUILIBRIUM | ||
) |
Definition at line 1496 of file ets_init.f90.
References update_bc().
Referenced by ets_init().
subroutine ets_init::validate_equation | ( | type (ids_core_profiles), intent(in) | coreprof_in, |
type (plasma_profiles), intent(in) | profiles, | ||
type(type_grid_settings), intent(in) | grid_settings, | ||
integer, intent(in) | solver_index, | ||
integer, intent(out) | output_flag, | ||
character(*), intent(inout) | output_message | ||
) |
Verify that the boundary conditions are set up correctly. In particular, check that whenever you are predicting any density equation, then quasi-neutrality is set for at least one plasma species (ions or electrons).
Definition at line 1048 of file ets_init.f90.
References ets_plasma::bc_type_to_computation_mode_name().
Referenced by ets_init().
subroutine ets_init::validate_equilibrium | ( | type (ids_equilibrium), intent(in) | EQUILIBRIUM_IN, |
integer, intent(inout) | OUTPUT_FLAG, | ||
character(*), intent(inout) | OUTPUT_MESSAGE | ||
) |
Definition at line 1167 of file ets_init.f90.
Referenced by ets_init().
subroutine ets_init::validate_profiles | ( | type (ids_core_profiles), intent(in) | COREPROF_IN, |
integer, intent(inout) | OUTPUT_FLAG, | ||
character(*), intent(inout) | OUTPUT_MESSAGE | ||
) |
Definition at line 1123 of file ets_init.f90.
Referenced by ets_init().