CAMP 1.0.0
Chemistry Across Multiple Phases
Public Member Functions | Public Attributes | List of all members
camp_rxn_data::rxn_data_t Type Referenceabstract

Abstract reaction data type. More...

Inheritance diagram for camp_rxn_data::rxn_data_t:
Inheritance graph
[legend]
Collaboration diagram for camp_rxn_data::rxn_data_t:
Collaboration graph
[legend]

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.
 

Detailed Description

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.

Member Function/Subroutine Documentation

◆ bin_pack()

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.

Parameters
[in]thisReaction data
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 141 of file rxn_data.F90.

◆ bin_unpack()

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.

Parameters
[out]thisReaction data
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 143 of file rxn_data.F90.

◆ check_phase()

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.

Parameters
[in]thisReaction data
[in]rxn_phasePhase being solved

Definition at line 137 of file rxn_data.F90.

◆ initialize()

procedure(initialize), deferred camp_rxn_data::rxn_data_t::initialize
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.

◆ load()

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.

Parameters
[in,out]thisReaction data
[in]jsonJSON core
[in]j_objJSON object

Definition at line 131 of file rxn_data.F90.

◆ pack_size()

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.

Parameters
[in]thisReaction data
[in]commMPI communicator

Definition at line 139 of file rxn_data.F90.

◆ print()

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.

Parameters
[in]thisReaction data
file_unitFile unit for output

Definition at line 145 of file rxn_data.F90.

Member Data Documentation

◆ condensed_data_int

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.

◆ condensed_data_real

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.

◆ num_env_params

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.

◆ property_set

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.

◆ rxn_phase

integer(kind=i_kind), public camp_rxn_data::rxn_data_t::rxn_phase

Reaction phase.

Definition at line 101 of file rxn_data.F90.


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