V3FIT
|
Defines the base class of the type model_class. The model contains information not specific to the equilibrium. More...
Data Types | |
type | model_class |
Base class representing a model. More... | |
interface | model_get_gp_ne |
Interface for the model guassian process density profile values. More... | |
interface | model_get_gp_sxrem |
Interface for the mdoel guassian process soft x-ray emissivity profile values. More... | |
interface | model_get_gp_te |
Interface for the model guassian process electron temperature profile values. More... | |
interface | model_get_gp_ti |
Interface for the model guassian process ion temperature profile values. More... | |
interface | model_get_ne |
Interface for the model density profile values. More... | |
interface | model_get_sxrem |
Interface for the model soft x-ray emissivity profile values. More... | |
interface | model_get_te |
Interface for the model electron temperature profile values. More... | |
interface | model_get_ti |
Interface for the model ion temperature profile values. More... | |
interface | model_get_ze |
Interface for the model temperature profile values. More... | |
Functions/Subroutines | |
type(model_class) function, pointer | model_construct (ne_type, sxrem_type, te_type, ti_type, ze_type, ne_unit, ne_min, te_min, ti_min, ze_min, sxrem_min, pressure_fraction, emission, equilibrium, sxrem_te, sxrem_ratio, resonace_range, coosig_wgts, state_flags, signal_factor, signal_offset, int_params) |
Construct a model_class containing an equilibrium object. More... | |
subroutine | model_destruct (this) |
Deconstruct a model_class object. More... | |
subroutine | model_set_param (this, id, i_index, j_index, value, eq_comm) |
Sets the value of a reconstruction model parameter. More... | |
subroutine | model_set_grid_params (this, size) |
Sets grid parameters. More... | |
subroutine | model_set_grid_profiles (this) |
Sets grid profile values. More... | |
integer function | model_get_param_id (this, param_name) |
Get the id for a parameter. More... | |
real(rprec) function | model_get_param_value (this, id, i_index, j_index) |
Gets the value of a model parameter. More... | |
character(len=data_name_length) function | model_get_param_name (this, id) |
Gets the name of a model parameter. More... | |
integer function | model_get_gp_ne_num_hyper_param (this) |
Get the number of electron density gp kernel hyper parameters. More... | |
real(rprec) function, dimension(:), pointer | model_get_ne_af (this) |
Gets the electron density profile af array. More... | |
real(rprec) function | model_get_gp_ne_ij (this, i, j) |
Get the electron density gp kernel value for the two indicies. More... | |
real(rprec) function | model_get_gp_ne_pi (this, x_cart, i) |
Get the electron density gp kernel value for the position and index. More... | |
real(rprec) function | model_get_gp_ne_pp (this, x_cart, y_cart) |
Get the electron density gp kernel value for the position and position. More... | |
real(rprec) function | model_get_ne_cart (this, x_cart) |
Gets the electron density at a cartesian position. More... | |
real(rprec) function | model_get_ne_radial (this, r) |
Gets the electron density at a radial position. More... | |
integer function | model_get_gp_te_num_hyper_param (this) |
Get the number of electron temperature gp kernel hyper parameters. More... | |
real(rprec) function, dimension(:), pointer | model_get_te_af (this) |
Gets the electron temperature profile af array. More... | |
real(rprec) function | model_get_gp_te_ij (this, i, j) |
Get the electron temperature gp kernel value for the two indicies. More... | |
real(rprec) function | model_get_gp_te_pi (this, x_cart, i) |
Get the electron temperature gp kernel value for the position and index. More... | |
real(rprec) function | model_get_gp_te_pp (this, x_cart, y_cart) |
Get the electron temperature gp kernel value for the position and position. More... | |
real(rprec) function | model_get_te_cart (this, x_cart) |
Gets the electron temperature at a cartesian position. More... | |
real(rprec) function | model_get_te_radial (this, r) |
Gets the electron temperature at a radial position. More... | |
integer function | model_get_gp_ti_num_hyper_param (this) |
Get the number of ion temperature gp kernel hyper parameters. More... | |
real(rprec) function, dimension(:), pointer | model_get_ti_af (this) |
Gets the ion temperature profile af array. More... | |
real(rprec) function | model_get_gp_ti_ij (this, i, j) |
Get the ion temperature gp kernel value for the two indicies. More... | |
real(rprec) function | model_get_gp_ti_pi (this, x_cart, i) |
Get the ion temperature gp kernel value for the position and index. More... | |
real(rprec) function | model_get_gp_ti_pp (this, x_cart, y_cart) |
Get the electron temperature gp kernel value for the position and position. More... | |
real(rprec) function | model_get_ti_cart (this, x_cart) |
Gets the ion temperature at a cartesian position. More... | |
real(rprec) function | model_get_ti_radial (this, r) |
Gets the ion temperature at a radial position. More... | |
real(rprec) function | model_get_ze_cart (this, x_cart) |
Gets the effective charge at a cartesian position. More... | |
real(rprec) function | model_get_ze_radial (this, r) |
Gets the effective charge at a radial position. More... | |
integer function | model_get_gp_sxrem_num_hyper_param (this, index) |
Get the number of soft x-ray emission gp kernel hyper parameters. More... | |
real(rprec) function, dimension(:), pointer | model_get_sxrem_af (this, index) |
Gets the soft x-ray emissivity profile af array. More... | |
real(rprec) function | model_get_gp_sxrem_ij (this, i, j, index) |
Get the soft x-ray emissivity gp kernel value for the two indicies. More... | |
real(rprec) function | model_get_gp_sxrem_pi (this, x_cart, i, index) |
Get the soft x-ray emissivity gp kernel value for the position and index. More... | |
real(rprec) function | model_get_gp_sxrem_pp (this, x_cart, y_cart, index) |
Get the soft x-ray emissivity gp kernel value for the position and position. More... | |
real(rprec) function | model_get_sxrem_cart (this, x_cart, index) |
Gets the soft x-ray emissivity at a cartesian position. More... | |
real(rprec) function | model_get_sxrem_radial (this, r, index) |
Gets the soft x-ray emissivity at a radial position. More... | |
real(rprec) function | model_get_sxrem_ratio (this, te) |
Gets the soft x-ray emissivity ratio. More... | |
character(len=data_name_length) function | model_get_ne_type (this) |
Gets the electron density type as a string. More... | |
character(len=data_name_length) function | model_get_te_type (this) |
Gets the electron temperature type as a string. More... | |
character(len=data_name_length) function | model_get_ti_type (this) |
Gets the ion temperature type as a string. More... | |
character(len=data_name_length) function | model_get_ze_type (this) |
Gets the effective charge type as a string. More... | |
character(len=data_name_length) function | model_get_sxrem_type (this, index) |
Gets the soft x-ray emissivity type as a string. More... | |
real(rprec) function | model_get_signal_factor (this, index) |
Get the scale factor for a signal. More... | |
real(rprec) function | model_get_signal_offset (this, index) |
Get the offset factor for a signal. More... | |
logical function | model_is_recon_param (this, id) |
Determines if a parameter id is a reconstruction parameter. More... | |
subroutine | model_reset_state (this) |
Reset the internal state of the model. More... | |
subroutine | model_save_state (this) |
Save the internal state of the model. More... | |
logical function | model_converge (this, num_iter, iou, eq_comm, param_name) |
Solves the model. More... | |
subroutine | model_write (this, iou) |
Write out the model to an output file. More... | |
subroutine | model_def_result (this, result_ncid, maxnsteps_dim_id, string_len_dim_id) |
Define NetCDF variables for the result file. More... | |
subroutine | model_write_init_data (this, result_ncid) |
Write inital data to NetCDF result file. More... | |
subroutine | model_write_step_data (this, result_ncid, current_step) |
Write step data to NetCDF result file. More... | |
subroutine | model_restart (this, result_ncid, current_step) |
Restart the model. More... | |
subroutine | model_sync_state (this, recon_comm) |
Syncronize the model state to children. More... | |
subroutine | model_sync_child (this, index, recon_comm) |
Syncronize a child model state to the parent. More... | |
Variables | |
integer, parameter, private | model_none_type = -1 |
No model. | |
integer, parameter, private | model_ne_type = 0 |
Electron denisty model. | |
integer, parameter, private | model_ne_te_p_type = 1 |
Electron denisty model is derived from the temperature and pressure. | |
integer, parameter, private | model_sxrem_type = 0 |
Soft X-ray Emissivity. | |
integer, parameter, private | model_sxrem_te_ne_type = 1 |
Soft X-ray Emissivity model is derived from the density and temperature. | |
integer, parameter, private | model_te_type = 0 |
Electron temperature model. | |
integer, parameter, private | model_te_ne_p_type = 1 |
Electron temperature model is derived from the density and pressure. | |
integer, parameter, private | model_ti_type = 0 |
Ion temperature model. | |
integer, parameter, private | model_ze_type = 0 |
Effective charge model. | |
integer, parameter | model_ne_unit_id = 0 |
Parameter id for the electron density units. | |
integer, parameter | model_ne_min_id = 1 |
Parameter id for the minimum electron density. | |
integer, parameter | model_te_min_id = 2 |
Parameter id for the minimum electron temperature. | |
integer, parameter | model_ti_min_id = 3 |
Parameter id for the minimum electron temperature. | |
integer, parameter | model_pressure_fraction_id = 4 |
Parameter id for the electrion fraction of the pressure. | |
integer, parameter | model_ze_min_id = 5 |
Parameter id for Z effective. | |
integer, parameter | model_sxrem_min_id = 6 |
Parameter id for the electrion fraction of the pressure. | |
integer, parameter | model_coosig_wgts_id = 7 |
Parameter id for the combination signal weights. | |
integer, parameter | model_signal_factor_id = 8 |
Parameter id for the modeled signal scale factors. | |
integer, parameter | model_signal_offset_id = 9 |
Parameter id for the modeled signal offset factors. | |
integer, parameter | model_ne_grid_id = 10 |
Parameter id for the electrion density grid. | |
integer, parameter | model_te_grid_id = 11 |
Parameter id for the electrion temperature grid. | |
integer, parameter | model_ti_grid_id = 12 |
Parameter id for the ion temperature grid. | |
integer, parameter | model_sxrem_grid_id = 13 |
Parameter id for the soft x-ray emissivity grid. | |
integer, parameter | model_ze_grid_id = 14 |
Parameter id for the effective charge grid. | |
real(rprec), parameter | ev_per_joule = one/1.602e-19_rprec |
Conversion from Joules to eV. | |
Defines the base class of the type model_class. The model contains information not specific to the equilibrium.
type (model_class) function, pointer model::model_construct | ( | character (len=data_name_length), intent(in) | ne_type, |
character (len=data_name_length), dimension(:), intent(in) | sxrem_type, | ||
character (len=data_name_length), intent(in) | te_type, | ||
character (len=data_name_length), intent(in) | ti_type, | ||
character (len=data_name_length), intent(in) | ze_type, | ||
real (rprec), intent(in) | ne_unit, | ||
real (rprec), intent(in) | ne_min, | ||
real (rprec), intent(in) | te_min, | ||
real (rprec), intent(in) | ti_min, | ||
real (rprec), intent(in) | ze_min, | ||
real (rprec), dimension(:), intent(in) | sxrem_min, | ||
real (rprec), intent(in) | pressure_fraction, | ||
type (emission_class), pointer | emission, | ||
type (equilibrium_class), pointer | equilibrium, | ||
real (rprec), dimension(:), intent(in) | sxrem_te, | ||
real (rprec), dimension(:), intent(in) | sxrem_ratio, | ||
real (rprec), intent(in) | resonace_range, | ||
real (rprec), dimension(:), intent(in) | coosig_wgts, | ||
integer, intent(in) | state_flags, | ||
real (rprec), dimension(:) | signal_factor, | ||
real (rprec), dimension(:) | signal_offset, | ||
type (path_int_class), pointer | int_params | ||
) |
Construct a model_class containing an equilibrium object.
Allocates memory and initializes a model_class object.
[in] | ne_type | Model type for the electron density. |
[in] | sxrem_type | Model type for the soft x-ray emissivity. |
[in] | te_type | Model type for the electron temperature. |
[in] | ti_type | Model type for the ion temperature. |
[in] | ze_type | Model type for the effective charge. |
[in] | ne_unit | Scaleing of the electron denisty. |
[in] | ne_min | Minimum electron density. |
[in] | te_min | Minimum electron temperature. |
[in] | ti_min | Minimum ion temperature. |
[in] | ze_min | Minimum effective charge. |
[in] | sxrem_min | Minimum soft x-ray emission. |
[in] | pressure_fraction | Fraction of the pressure provided by electrons. |
[in] | equilibrium | An instance of an equilibrium. |
[in] | sxrem_te | Soft x-ray ratio function te. |
[in] | sxrem_ratio | Soft x-ray ratio function ratio. |
[in] | resonace_range | ECE resonance interval. |
[in] | coosig_wgts | Combination Signal Weights |
[in] | not_converged | If true the equilibrium was constructed in an unconverged state. |
[in] | state_flags | Bitwise flags to indicate which parts of the model changed. |
[in] | signal_factor | Array of signal factors to scale model signals by. |
[in] | signal_offset | Array of signal factors to offset model signals by. |
[in] | int_params | Parameters for the integration method. |
logical function model::model_converge | ( | type (model_class), intent(inout) | this, |
integer, intent(inout) | num_iter, | ||
integer, intent(in) | iou, | ||
integer, intent(in) | eq_comm, | ||
character (len=*), intent(in) | param_name | ||
) |
Solves the model.
This solves the equilibirum model and computes modeled values. The modeled values computed are the grided model values.
[in,out] | this | A model_class instance. |
[in,out] | num_iter | Counter to track the number of iterations. |
[in] | iou | Input/output unit of the file to write logs to. |
[in] | eq_comm | MPI communicator pool for the equilibrium. |
[in] | param_name | Name of the peturbed parameter. |
subroutine model::model_def_result | ( | type (model_class), intent(in) | this, |
integer, intent(in) | result_ncid, | ||
integer, intent(in) | maxnsteps_dim_id, | ||
integer, intent(in) | string_len_dim_id | ||
) |
Define NetCDF variables for the result file.
Defines dimensions and variables for the model contribution of the result file. Multi dimensional arrays need to be transposed so arrays appear in the correct order in non fortran languages.
[in] | this | A model_class instance. |
[in] | result_ncid | NetCDF file id of the result file. |
[in] | maxnsetps_dim_id | NetCDF dimension id of the number of steps dimension. |
subroutine model::model_destruct | ( | type (model_class), pointer | this | ) |
Deconstruct a model_class object.
Deallocates memory and uninitializes a model_class object.
[in,out] | this | A model_class instance. |
real (rprec) function model::model_get_gp_ne_ij | ( | type (model_class), intent(in) | this, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Get the electron density gp kernel value for the two indicies.
Gets the electron density gp kernel for two points. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | i | ith profile position. |
[in] | j | jth profile position. |
integer function model::model_get_gp_ne_num_hyper_param | ( | type (model_class), intent(in) | this | ) |
Get the number of electron density gp kernel hyper parameters.
Returns the number of availible hyper parameters in the electron density guassian process kernel.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_gp_ne_pi | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
integer, intent(in) | i | ||
) |
Get the electron density gp kernel value for the position and index.
Gets the electron density gp kernel for point and index. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the electron density at. |
[in] | i | ith profile position. |
real (rprec) function model::model_get_gp_ne_pp | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
real (rprec), dimension(3), intent(in) | y_cart | ||
) |
Get the electron density gp kernel value for the position and position.
Gets the electron density gp kernel for point and index. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the kernel at. |
[in] | y_cart | Cartesian position to get the kernel at. |
real (rprec) function model::model_get_gp_sxrem_ij | ( | type (model_class), intent(in) | this, |
integer, intent(in) | i, | ||
integer, intent(in) | j, | ||
integer, intent(in) | index | ||
) |
Get the soft x-ray emissivity gp kernel value for the two indicies.
Gets the soft x-ray emissivity gp kernel for two points. This also sets the min value.
[in] | this | A model_class instance. |
[in] | i | ith profile position. |
[in] | j | jth profile position. |
[in] | index | Index of the soft x-ray emissivity profile. |
integer function model::model_get_gp_sxrem_num_hyper_param | ( | type (model_class), intent(in) | this, |
integer, intent(in) | index | ||
) |
Get the number of soft x-ray emission gp kernel hyper parameters.
Returns the number of availible hyper parameters in the soft x-ray emission guassian process kernel.
[in] | this | A model_class instance. |
[in] | index | Index of the soft x-ray emissivity profile. |
real (rprec) function model::model_get_gp_sxrem_pi | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
integer, intent(in) | i, | ||
integer, intent(in) | index | ||
) |
Get the soft x-ray emissivity gp kernel value for the position and index.
Gets the soft x-ray emissivity gp kernel for point and index. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the electron temperature at. |
[in] | i | ith profile position. |
[in] | index | Index of the soft x-ray emissivity profile. |
real (rprec) function model::model_get_gp_sxrem_pp | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
real (rprec), dimension(3), intent(in) | y_cart, | ||
integer, intent(in) | index | ||
) |
Get the soft x-ray emissivity gp kernel value for the position and position.
Gets the soft x-ray emissivity gp kernel for point and index. This also sets the min value.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the kernel at. |
[in] | y_cart | Cartesian position to get the kernel at. |
[in] | index | Index of the soft x-ray emissivity profile to use. |
real (rprec) function model::model_get_gp_te_ij | ( | type (model_class), intent(in) | this, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Get the electron temperature gp kernel value for the two indicies.
Gets the electron temperature gp kernel for two points. This also sets the min value.
[in] | this | A model_class instance. |
[in] | i | ith profile position. |
[in] | j | jth profile position. |
integer function model::model_get_gp_te_num_hyper_param | ( | type (model_class), intent(in) | this | ) |
Get the number of electron temperature gp kernel hyper parameters.
Returns the number of availible hyper parameters in the electron temperature guassian process kernel.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_gp_te_pi | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
integer, intent(in) | i | ||
) |
Get the electron temperature gp kernel value for the position and index.
Gets the electron temperature gp kernel for point and index. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the electron temperature at. |
[in] | i | ith profile position. |
real (rprec) function model::model_get_gp_te_pp | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
real (rprec), dimension(3), intent(in) | y_cart | ||
) |
Get the electron temperature gp kernel value for the position and position.
Gets the electron temperature gp kernel for point and index.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the kernel at. |
[in] | y_cart | Cartesian position to get the kernel at. |
real (rprec) function model::model_get_gp_ti_ij | ( | type (model_class), intent(in) | this, |
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Get the ion temperature gp kernel value for the two indicies.
Gets the ion temperature gp kernel for two points. This also sets the min value.
[in] | this | A model_class instance. |
[in] | i | ith profile position. |
[in] | j | jth profile position. |
integer function model::model_get_gp_ti_num_hyper_param | ( | type (model_class), intent(in) | this | ) |
Get the number of ion temperature gp kernel hyper parameters.
Returns the number of availible hyper parameters in the ion temperature guassian process kernel.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_gp_ti_pi | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
integer, intent(in) | i | ||
) |
Get the ion temperature gp kernel value for the position and index.
Gets the ion temperature gp kernel for point and index. This also sets the scaling and min values.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the ion temperature at. |
[in] | i | ith profile position. |
real (rprec) function model::model_get_gp_ti_pp | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
real (rprec), dimension(3), intent(in) | y_cart | ||
) |
Get the electron temperature gp kernel value for the position and position.
Gets the electron temperature gp kernel for point and index.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the kernel at. |
[in] | y_cart | Cartesian position to get the kernel at. |
real (rprec) function, dimension(:), pointer model::model_get_ne_af | ( | type (model_class), intent(in) | this | ) |
Gets the electron density profile af array.
Returns the af array for the electron density profile.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_ne_cart | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart | ||
) |
Gets the electron density at a cartesian position.
Gets the electron density at a cartesian position. Electron density is computed based on the type of model_class::ne_type.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the electron density at. |
real (rprec) function model::model_get_ne_radial | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | r | ||
) |
Gets the electron density at a radial position.
Gets the electron density at a radial position. Electron density is computed based on the type of model_class::ne_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the electron density at. |
character (len=data_name_length) function model::model_get_ne_type | ( | type (model_class), intent(in) | this | ) |
Gets the electron density type as a string.
[in] | this | A model_class instance. |
integer function model::model_get_param_id | ( | type (model_class), intent(in) | this, |
character (len=*), intent(in) | param_name | ||
) |
Get the id for a parameter.
Gets a model reconstruction parameter. If the id is not a model parameter, it is deferred to the equilibrium.
[in] | this | A model_class instance. |
[in] | param_name | Name of a reconstruction parameter. |
character(len=data_name_length) function model::model_get_param_name | ( | type (model_class), intent(in) | this, |
integer, intent(in) | id | ||
) |
Gets the name of a model parameter.
Gets a model reconstruction parameter name. If the id is not a model parameter, it is deferred to the equilibrium.
[in] | this | A model_class instance. |
[in] | id | ID of the parameter. |
real (rprec) function model::model_get_param_value | ( | type (model_class), intent(in) | this, |
integer, intent(in) | id, | ||
integer, intent(in) | i_index, | ||
integer, intent(in) | j_index | ||
) |
Gets the value of a model parameter.
Gets a model reconstruction parameter value. If the id is not a model parameter, it is deferred to the equilibrium.
[in] | this | A model_class instance. |
[in] | id | ID of the parameter. |
[in] | i_index | The ith index of the parameter. |
[in] | j_index | The jth index of the parameter. |
real (rprec) function model::model_get_signal_factor | ( | type (model_class), intent(in) | this, |
integer, intent(in) | index | ||
) |
Get the scale factor for a signal.
Gets the model scale factor. The scaling defaults to 1.
[in] | this | A model_class instance. |
[in] | index | Index of the scale factor. |
real (rprec) function model::model_get_signal_offset | ( | type (model_class), intent(in) | this, |
integer, intent(in) | index | ||
) |
Get the offset factor for a signal.
Gets the model offset factor. The offset defaults to 0.
[in] | this | A model_class instance. |
[in] | index | Index of the scale factor. |
real (rprec) function, dimension(:), pointer model::model_get_sxrem_af | ( | type (model_class), intent(in) | this, |
integer, intent(in) | index | ||
) |
Gets the soft x-ray emissivity profile af array.
Returns the af array for the electron density profile.
[in] | this | A model_class instance. |
[in] | index | Index of the soft x-ray emissivity profile. |
real (rprec) function model::model_get_sxrem_cart | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart, | ||
integer, intent(in) | index | ||
) |
Gets the soft x-ray emissivity at a cartesian position.
Gets the soft x-ray emissivity at a cartesian position. Soft x-ray emissivity is computed based on the type of model_class::sxrem_type.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the soft x-ray emissivity at. |
[in] | index | Index of the soft x-ray emissivity model. |
real (rprec) function model::model_get_sxrem_radial | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | r, | ||
integer, intent(in) | index | ||
) |
Gets the soft x-ray emissivity at a radial position.
Gets the soft x-ray emissivity at a radial position. Soft x-ray emissivity is computed based on the type of model_class::sxrem_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the soft x-ray emissivity at. |
[in] | index | Index of the soft x-ray emissivity model. |
real (rprec) function model::model_get_sxrem_ratio | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | te | ||
) |
Gets the soft x-ray emissivity ratio.
Gets the soft x-ray emissivity at a radial position. Soft x-ray emissivity is computed based on the type of model_class::sxrem_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the soft x-ray emissivity at. |
[in] | length | Distance to the camera. |
[in] | index | Index of the soft x-ray emissivity model. |
character (len=data_name_length) function model::model_get_sxrem_type | ( | type (model_class), intent(in) | this, |
integer, intent(in) | index | ||
) |
Gets the soft x-ray emissivity type as a string.
[in] | this | A model_class instance. |
[in] | index | Index of the soft x-ray emissivity model. |
real (rprec) function, dimension(:), pointer model::model_get_te_af | ( | type (model_class), intent(in) | this | ) |
Gets the electron temperature profile af array.
Returns the af array for the electron temperature profile.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_te_cart | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart | ||
) |
Gets the electron temperature at a cartesian position.
Gets the electron temperature at a cartesian position. Electron temperature is computed based on the type of model_class::te_type.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the electron temperature at. |
real (rprec) function model::model_get_te_radial | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | r | ||
) |
Gets the electron temperature at a radial position.
Gets the electron temperature at a radial position. Electron temperature is computed based on the type of model_class::te_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the electron temperature at. |
character (len=data_name_length) function model::model_get_te_type | ( | type (model_class), intent(in) | this | ) |
Gets the electron temperature type as a string.
[in] | this | A model_class instance. |
real (rprec) function, dimension(:), pointer model::model_get_ti_af | ( | type (model_class), intent(in) | this | ) |
Gets the ion temperature profile af array.
Returns the af array for the ion temperature profile.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_ti_cart | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart | ||
) |
Gets the ion temperature at a cartesian position.
Gets the ion temperature at a cartesian position. Ion temperature is computed based on the type of model_class::ti_type.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the ion temperature at. |
real (rprec) function model::model_get_ti_radial | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | r | ||
) |
Gets the ion temperature at a radial position.
Gets the ion temperature at a radial position. Electron temperature is computed based on the type of model_class::ti_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the ion temperature at. |
character (len=data_name_length) function model::model_get_ti_type | ( | type (model_class), intent(in) | this | ) |
Gets the ion temperature type as a string.
[in] | this | A model_class instance. |
real (rprec) function model::model_get_ze_cart | ( | type (model_class), intent(in) | this, |
real (rprec), dimension(3), intent(in) | x_cart | ||
) |
Gets the effective charge at a cartesian position.
Gets the effective charge at a cartesian position. Effective charge is computed based on the type of model_class::ze_type.
[in] | this | A model_class instance. |
[in] | x_cart | Cartesian position to get the effective charge at. |
real (rprec) function model::model_get_ze_radial | ( | type (model_class), intent(in) | this, |
real (rprec), intent(in) | r | ||
) |
Gets the effective charge at a radial position.
Gets the effective charge at a radial position. The charge is computed based on the type of model_class::ze_type.
[in] | this | A model_class instance. |
[in] | r | Radial position to get the effective charge at. |
character (len=data_name_length) function model::model_get_ze_type | ( | type (model_class), intent(in) | this | ) |
Gets the effective charge type as a string.
[in] | this | A model_class instance. |
logical function model::model_is_recon_param | ( | type (model_class), intent(in) | this, |
integer, intent(in) | id | ||
) |
Determines if a parameter id is a reconstruction parameter.
Determines if a parameter id is a reconstruction parameter. If the parameter is not a model parameter, it is deferred to the equilibrium.
[in] | this | A model_class instance. |
[in] | id | ID of the parameter. |
subroutine model::model_reset_state | ( | type (model_class), intent(inout) | this | ) |
subroutine model::model_restart | ( | type (model_class), intent(inout) | this, |
integer, intent(in) | result_ncid, | ||
integer, intent(in) | current_step | ||
) |
Restart the model.
Restarts the model from the result file.
[in,out] | this | A model_class instance. |
[in] | result_ncid | NetCDF file id of the result file. |
[in] | current_step | Step index to read variables from. |
subroutine model::model_save_state | ( | type (model_class), intent(inout) | this | ) |
subroutine model::model_set_grid_params | ( | type (model_class), intent(inout) | this, |
integer, intent(in) | size | ||
) |
Sets grid parameters.
Sets the start and step size of the radial grids.
[in,out] | this | A model_class instance. |
[in] | size | Number of grid points. |
subroutine model::model_set_grid_profiles | ( | type (model_class), intent(inout) | this | ) |
Sets grid profile values.
Sets the grided profiles from the current equilibrium mode.
[in,out] | this | A model_class instance. |
subroutine model::model_set_param | ( | type (model_class), intent(inout) | this, |
integer, intent(in) | id, | ||
integer, intent(in) | i_index, | ||
integer, intent(in) | j_index, | ||
real (rprec), intent(in) | value, | ||
integer, intent(in) | eq_comm | ||
) |
Sets the value of a reconstruction model parameter.
Sets a model reconstruction parameter. If the id is not a model parameter, it is deferred to the equilibrium.
[in,out] | this | A model_class instance. |
[in] | id | ID of the parameter. |
[in] | i_index | The ith index of the parameter. |
[in] | j_index | The jth index of the parameter. |
[in] | value | The value of the parameter. |
[in] | eq_comm | MPI communicator for the child equilibrium processes. |
subroutine model::model_sync_child | ( | type (model_class), intent(inout) | this, |
integer, intent(in) | index, | ||
integer, intent(in) | recon_comm | ||
) |
Syncronize a child model state to the parent.
Syncs data between a child and the parent process. If MPI support is not compiled in this subroutine reduces to a no op.
[in,out] | this | A model_class instance. |
[in] | index | Reconstruction rank to sync. |
[in] | recon_comm | MPI communicator for the reconstruction processes. |
subroutine model::model_sync_state | ( | type (model_class), intent(inout) | this, |
integer, intent(in) | recon_comm | ||
) |
Syncronize the model state to children.
Syncs data between the parent and child processes. If MPI support is not compiled in this subroutine reduces to a no op.
[in,out] | this | A model_class instance. |
[in] | recon_comm | MPI communicator for the reconstruction processes. |
subroutine model::model_write | ( | type (model_class), intent(in) | this, |
integer, intent(in) | iou | ||
) |
Write out the model to an output file.
Write out information about the model to an output file. This also then calls the equilibrium_write subroutine to write out the equilibrium information as well.
[in] | this | A model_class instance. |
[in] | iou | Input/output unit of the output file. |
subroutine model::model_write_init_data | ( | type (model_class), intent(in) | this, |
integer, intent(in) | result_ncid | ||
) |
Write inital data to NetCDF result file.
This write the data that doesn't change.
[in] | this | A model_class instance. |
[in] | result_ncid | NetCDF file id of the result file. |
subroutine model::model_write_step_data | ( | type (model_class), intent(in) | this, |
integer, intent(in) | result_ncid, | ||
integer, intent(in) | current_step | ||
) |
Write step data to NetCDF result file.
This write the data that can change each reconstruction step.
[in] | this | A model_class instance. |
[in] | result_ncid | NetCDF file id of the result file. |
[in] | current_step | Step index to write variables to. |