ETS-Core  version:0.0.4-46-ge2d8
Core actors for the ETS-6
 All Classes Files Functions Variables Pages
Data Types | Public Member Functions | Public Attributes | List of all members
equilibrium_input Module Reference

This module provide routine to ensure consistency between the equilibrium and core_profiles IDSs, by updating the equilibrium with data from core_profiles. More...

Data Types

type  control_parameters
 Derived type including control parameters. More...
 
type  diagnostic
 Derived type used to pass error information. More...
 

Public Member Functions

subroutine equil_input (COREPROF_IN, EQUILIBRIUM_IN, EQUILIBRIUM_OUT, code_parameters, DIAG)
 This subroutine generates and equilibrium IDS, EQUILIBRIUM_OUT, that is a copy of the input EQUILIBRIUM_IN, except for data related to the plasma current, which is provided from the input COREPROF_IN. More...
 
subroutine ets_input (EQUILIBRIUM_IN, COREPROF_OUT)
 This routine updates the q-profile in the COREPROF_OUT. Created for V&V between ETS and ASTRA. More...
 
subroutine assign_xml_parameters (codeparam_string, param_struct, DIAG)
 Parse xml code-parameters from codeparam_string into the derived type param_struct. More...
 
LOGICAL function finite_array (arg)
 Function finite_array return true only if the input arg is associate and contains non-zero values. More...
 

Public Attributes

integer, parameter interpolation_coordinate_rho_tor = 0
 Defines the interger used to specify interpolation in rho_tor. More...
 
integer, parameter interpolation_coordinate_rho_tor_norm = 1
 Defines the interger used to specify interpolation in rho_tor_norm. More...
 
integer, parameter interpolation_coordinate_rho_tor_norm_square = 2
 Defines the interger used to specify interpolation in rho_tor_norm**2. More...
 

Detailed Description

This module provide routine to ensure consistency between the equilibrium and core_profiles IDSs, by updating the equilibrium with data from core_profiles.

Author
D.Kalupin, D. Coster, J.Ferreira, R. Coelho, T. Jonsson

Definition at line 10 of file equilibrium_input.f90.

Member Function/Subroutine Documentation

subroutine equilibrium_input::assign_xml_parameters ( character(len=132), dimension(:), intent(in)  codeparam_string,
type(control_parameters), intent(out)  param_struct,
type(diagnostic DIAG 
)

Parse xml code-parameters from codeparam_string into the derived type param_struct.

 Developers:   Thomas Jonsson
 Contacts:     johnso@kth.se
Parameters
[in]codeparam_stringxml string with input paramters.
[out]param_structDerived type including controll parameters.
diagOutput error information (flag and message).

Definition at line 830 of file equilibrium_input.f90.

Referenced by equil_input().

Here is the caller graph for this function:

subroutine equilibrium_input::equil_input ( type (ids_core_profiles), intent(in)  COREPROF_IN,
type (ids_equilibrium), intent(in)  EQUILIBRIUM_IN,
type (ids_equilibrium), intent(out)  EQUILIBRIUM_OUT,
type (ids_parameters_input), intent(in)  code_parameters,
type (diagnostic), intent(out)  DIAG 
)

This subroutine generates and equilibrium IDS, EQUILIBRIUM_OUT, that is a copy of the input EQUILIBRIUM_IN, except for data related to the plasma current, which is provided from the input COREPROF_IN.

The following fields are updated from COREPROF_IN:

  • (a) psi
  • (b) q
  • (c) j_total
  • (d) j_tor
  • (e) pressure

The data used to fill the pressure field depend on the data available in the COREPROF_IN. The pressure in EQUILIBRIUM_OUT is constructed from following priority list:

  1. Use COREPROF_INprofiles_1d(1)pressure_perpendicular
  2. Use COREPROF_INprofiles_1d(1)pressure_thermal and ignore the fast ion pressure
  3. Sum COREPROF_INprofiles_1d(1)electronspressure and COREPROF_INprofiles_1d(1)ion(IION)pressure for all ions IION.
  4. Construct the pressure from thermal densities and temperatures of both ions and electrons
  5. No method of constructing the pressure was found, set pressure to zero.

In addition, the fields rho_tor and rho_vol_norm have are added in EQUILIBRIUM_OUT in cases the data is available to fill them from either EQUILIBRIUM_IN or COREPROF_IN.

Source:       ---
Developers:   D.Kalupin
Contacts:     D.Kalupin@fz-juelich.de

Comments:     created for V&V between ETS and ASTRA

Modified:     D. Coster/J.Ferreira (CPOs)
              R. Coelho (conversion to IDSs)
              T. Jonsson
Todo:
Add codeparam to select either isotropic or perpendicular pressure.
Parameters
[in]equilibrium_ininput IDS with geometry quantities from previous time
[in]coreprof_ininput IDS with plasma profiles
[out]equilibrium_outoutput IDS with geometry quantities from previous iteration
[in]code_parametersCode parameters from XML input
[out]diagoutput error information (flag and message)

Definition at line 89 of file equilibrium_input.f90.

References assign_xml_parameters(), ids_dump::dump_equilibrium(), and finite_array().

Referenced by fc2k_eqinput().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine equilibrium_input::ets_input ( type (ids_equilibrium)  EQUILIBRIUM_IN,
type (ids_core_profiles)  COREPROF_OUT 
)

This routine updates the q-profile in the COREPROF_OUT. Created for V&V between ETS and ASTRA.

Developers: D.Kalupin Contacts: D.Kal.nosp@m.upin.nosp@m.@fz-j.nosp@m.ueli.nosp@m.ch.de

Definition at line 768 of file equilibrium_input.f90.

LOGICAL function equilibrium_input::finite_array ( real(ids_real), dimension(:), intent(in), pointer  arg)

Function finite_array return true only if the input arg is associate and contains non-zero values.

Developers: Thomas Jonsson Contacts: johns.nosp@m.o@kt.nosp@m.h.se

Definition at line 894 of file equilibrium_input.f90.

Referenced by equil_input().

Here is the caller graph for this function:

Member Data Documentation

integer, parameter equilibrium_input::interpolation_coordinate_rho_tor = 0

Defines the interger used to specify interpolation in rho_tor.

Definition at line 33 of file equilibrium_input.f90.

integer, parameter equilibrium_input::interpolation_coordinate_rho_tor_norm = 1

Defines the interger used to specify interpolation in rho_tor_norm.

Definition at line 34 of file equilibrium_input.f90.

integer, parameter equilibrium_input::interpolation_coordinate_rho_tor_norm_square = 2

Defines the interger used to specify interpolation in rho_tor_norm**2.

Definition at line 35 of file equilibrium_input.f90.


The documentation for this module was generated from the following file: