CAMP 1.0.0
Chemistry Across Multiple Phases
|
Abstract reaction data type. More...
Public Member Functions | |
procedure(initialize), deferred | initialize initialize |
Reaction initialization. Takes species, phase and reaction parameters and packs required information into the condensed data arrays for use during the model run. | |
procedure | load (this, json, j_obj) |
Load data from an input file. | |
procedure | check_phase (this, rxn_phase) |
Check the phase of the reaction against the phase being solved for. During GAS_RXN integrations, only GAS_RXN reactions are solved. During AERO_RXN integrations, only AERO_RXN and GAS_AERO_RXN reactions are solved. During GAS_AERO_RXN integrations, all reactions are solved. | |
procedure | pack_size (this, comm) |
Determine the number of bytes required to pack the given value. | |
procedure | bin_pack (this, buffer, pos, comm) |
Packs the given value into the buffer, advancing position. | |
procedure | bin_unpack (this, buffer, pos, comm) |
Unpacks the given value from the buffer, advancing position. | |
procedure | print (this, file_unit) |
Print the reaction data. | |
Public Attributes | |
integer(kind=i_kind), public | rxn_phase |
Reaction phase. | |
type(property_t), pointer, public | property_set => null() |
Reaction parameters. These will be available during initialization, but not during integration. All information required to calculate the time derivatives and Jacobian matrix constributions must be saved by the exdending type. | |
real(kind=dp), dimension(:), allocatable, public | condensed_data_real |
Condensed reaction data. Theses arrays will be available during integration, and should contain any information required by the rate and Jacobian constribution functions 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 reaction data. Theses arrays will be available during integration, and should contain any information required by the rate and Jacobian constribution functions 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 reaction data type.
Time-invariant data related to a reaction. Types extending rxn_data_t
should represent specific reaction types, with unique rate equations. Extending types should not have data members, as these will not be passed to the child nodes after initialization. Instead all data required by an extending type during a model run should be packed into the condensed_data arrays during initialization.
Definition at line 98 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::bin_pack | ( | class(rxn_data_t), intent(in) | this, |
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Packs the given value into the buffer, advancing position.
[in] | this | Reaction data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 141 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::bin_unpack | ( | class(rxn_data_t), intent(out) | this, |
character, dimension(:), intent(inout) | buffer, | ||
integer, intent(inout) | pos, | ||
integer, intent(in) | comm | ||
) |
Unpacks the given value from the buffer, advancing position.
[out] | this | Reaction data |
[in,out] | buffer | Memory buffer |
[in,out] | pos | Current buffer position |
[in] | comm | MPI communicator |
Definition at line 143 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::check_phase | ( | class(rxn_data_t), intent(in) | this, |
integer(kind=i_kind), intent(in) | rxn_phase | ||
) |
Check the phase of the reaction against the phase being solved for. During GAS_RXN integrations, only GAS_RXN reactions are solved. During AERO_RXN integrations, only AERO_RXN and GAS_AERO_RXN reactions are solved. During GAS_AERO_RXN integrations, all reactions are solved.
[in] | this | Reaction data |
[in] | rxn_phase | Phase being solved |
Definition at line 137 of file rxn_data.F90.
|
pure virtual |
Reaction initialization. Takes species, phase and reaction parameters and packs required information into the condensed data arrays for use during the model run.
This routine should be called once for each reaction at the beginning of a model run after all the input files have been read in.
Definition at line 129 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::load | ( | class(rxn_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 | Reaction data |
[in] | json | JSON core |
[in] | j_obj | JSON object |
Definition at line 131 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::pack_size | ( | class(rxn_data_t), intent(in) | this, |
integer, intent(in) | comm | ||
) |
Determine the number of bytes required to pack the given value.
[in] | this | Reaction data |
[in] | comm | MPI communicator |
Definition at line 139 of file rxn_data.F90.
procedure camp_rxn_data::rxn_data_t::print | ( | class(rxn_data_t), intent(in) | this, |
integer(kind=i_kind), optional | file_unit | ||
) |
Print the reaction data.
[in] | this | Reaction data |
file_unit | File unit for output |
Definition at line 145 of file rxn_data.F90.
integer(kind=i_kind), dimension(:), allocatable, public camp_rxn_data::rxn_data_t::condensed_data_int |
Condensed reaction data. Theses arrays will be available during integration, and should contain any information required by the rate and Jacobian constribution functions that cannot be obtained from the camp_camp_state::camp_state_t
object. (integer)
Definition at line 116 of file rxn_data.F90.
real(kind=dp), dimension(:), allocatable, public camp_rxn_data::rxn_data_t::condensed_data_real |
Condensed reaction data. Theses arrays will be available during integration, and should contain any information required by the rate and Jacobian constribution functions that cannot be obtained from the camp_camp_state::camp_state_t
object. (floating-point)
Definition at line 111 of file rxn_data.F90.
integer(kind=i_kind), public camp_rxn_data::rxn_data_t::num_env_params = 0 |
Number of environment-dependent parameters These are parameters that need updated when environmental conditions change.
Definition at line 120 of file rxn_data.F90.
type(property_t), pointer, public camp_rxn_data::rxn_data_t::property_set => null() |
Reaction parameters. These will be available during initialization, but not during integration. All information required to calculate the time derivatives and Jacobian matrix constributions must be saved by the exdending type.
Definition at line 106 of file rxn_data.F90.
integer(kind=i_kind), public camp_rxn_data::rxn_data_t::rxn_phase |
Reaction phase.
Definition at line 101 of file rxn_data.F90.