CAMP 1.0.0
Chemistry Across Multiple Phases
|
Abstract sub-model data type. More...
Public Member Functions | |
procedure(initialize), deferred | initialize initialize |
Initialize the sub-model data, validating input parameters and loading any required information form the sub_model_data_t::property_set . This routine should be called once for each sub-model at the beginning of the model run after all the input files have been read in. It ensures all data required during the model run are included in the condensed data arrays. | |
procedure(priority), deferred | priority priority |
Return a real number representing the priority of the sub-model calculations. Low priority sub models may depend on the results of higher priority sub models. Lower numbers indicate higher priority. | |
procedure | name (this) |
Get the name of the sub-model. | |
procedure | pack_size (this, comm) |
Determine the number of bytes required to pack the sub-model data. | |
procedure | bin_pack (this, buffer, pos, comm) |
Packs the sub-model into the buffer, advancing position. | |
procedure | bin_unpack (this, buffer, pos, comm) |
Unpacks the sub-model from the buffer, advancing position. | |
procedure | load (this, json, j_obj) |
Load data from an input file. | |
procedure | print (this, file_unit) |
Print the sub-model data. | |
Public Attributes | |
character(len=:), allocatable, public | model_name |
Name of the sub-model. | |
type(property_t), pointer, public | property_set => null() |
Sub model parameters. These will be available during initialization, but not during integration. All information required by the sub model during solving must be saved by the extending type to the condensed data arrays. | |
real(kind=dp), dimension(:), allocatable, public | condensed_data_real |
Condensed sub-model data. These arrays will be available during integration, and should contain any information required by the sub-model that cannot be obtained from the camp_camp_state::camp_state_t object. (floating point) | |
integer(kind=i_kind), dimension(:), allocatable, public | condensed_data_int |
Condensed sub-model data. These arrays will be available during integration, and should contain any information required by the sub-model that cannot be obtained from the camp_camp_state::camp_state_t object. (integer) | |
integer(kind=i_kind), public | num_env_params = 0 |
Number of environment-dependent parameters These are parameters that need updated when environmental conditions change. | |
Abstract sub-model data type.
Time-invariant data required by a sub-model to perform calculations during solving. Derived types extending sub_model_data_t should be related to specific models or parameterizations. Sub models will have access to the current model state during solving, but will not be able to modify state variables or contribute to derivative arrays directly (this must be done by reactions).
See Sub Models for details.
Definition at line 52 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::bin_pack | ( | class(sub_model_data_t), intent(in) | this, |
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Packs the sub-model into the buffer, advancing position.
[in] | this | Sub model data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 92 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::bin_unpack | ( | class(sub_model_data_t), intent(out) | this, |
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Unpacks the sub-model from the buffer, advancing position.
[out] | this | Sub model data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 94 of file sub_model_data.F90.
|
pure virtual |
Initialize the sub-model data, validating input parameters and loading any required information form the sub_model_data_t::property_set
. This routine should be called once for each sub-model at the beginning of the model run after all the input files have been read in. It ensures all data required during the model run are included in the condensed data arrays.
Definition at line 82 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::load | ( | class(sub_model_data_t), intent(inout) | this, |
type(json_core), intent(in), pointer | json, | ||
type(json_value), intent(in), pointer | j_obj | ||
) |
Load data from an input file.
[in,out] | this | Sub model data |
[in] | json | JSON core |
[in] | j_obj | JSON object |
Definition at line 96 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::name | ( | class(sub_model_data_t), intent(in) | this | ) |
Get the name of the sub-model.
[in] | this | Sub model data |
Definition at line 88 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::pack_size | ( | class(sub_model_data_t), intent(in) | this, |
integer, intent(in) | comm | ||
) |
Determine the number of bytes required to pack the sub-model data.
[in] | this | Sub model data |
[in] | comm | MPI communicator |
Definition at line 90 of file sub_model_data.F90.
procedure camp_sub_model_data::sub_model_data_t::print | ( | class(sub_model_data_t), intent(in) | this, |
integer(kind=i_kind), optional | file_unit | ||
) |
Print the sub-model data.
[in] | this | Sub model data |
file_unit | File unit for output |
Definition at line 98 of file sub_model_data.F90.
|
pure virtual |
Return a real number representing the priority of the sub-model calculations. Low priority sub models may depend on the results of higher priority sub models. Lower numbers indicate higher priority.
Definition at line 86 of file sub_model_data.F90.
integer(kind=i_kind), dimension(:), allocatable, public camp_sub_model_data::sub_model_data_t::condensed_data_int |
Condensed sub-model data. These arrays will be available during integration, and should contain any information required by the sub-model that cannot be obtained from the camp_camp_state::camp_state_t object. (integer)
Definition at line 70 of file sub_model_data.F90.
real(kind=dp), dimension(:), allocatable, public camp_sub_model_data::sub_model_data_t::condensed_data_real |
Condensed sub-model data. These arrays will be available during integration, and should contain any information required by the sub-model that cannot be obtained from the camp_camp_state::camp_state_t object. (floating point)
Definition at line 65 of file sub_model_data.F90.
character(len=:), allocatable, public camp_sub_model_data::sub_model_data_t::model_name |
Name of the sub-model.
Definition at line 55 of file sub_model_data.F90.
integer(kind=i_kind), public camp_sub_model_data::sub_model_data_t::num_env_params = 0 |
Number of environment-dependent parameters These are parameters that need updated when environmental conditions change.
Definition at line 74 of file sub_model_data.F90.
type(property_t), pointer, public camp_sub_model_data::sub_model_data_t::property_set => null() |
Sub model parameters. These will be available during initialization, but not during integration. All information required by the sub model during solving must be saved by the extending type to the condensed data arrays.
Definition at line 60 of file sub_model_data.F90.