CAMP 1.0.0
Chemistry Across Multiple Phases
camp_rxn_emission Module Reference

The rxn_emission_t type and associated functions. More...

Data Types

interface  rxn_emission_create_rate_update_data
 Interface to c reaction functions. More...
 
interface  rxn_emission_set_rate_update_data
 Set a new emission rate. More...
 
type  rxn_emission_t
 Generic test reaction data type. More...
 
interface  rxn_free_update_data
 Free an update rate data object. More...
 
type  rxn_update_data_emission_t
 Emission rate update object. More...
 

Functions/Subroutines

type(rxn_emission_t) function, pointer constructor ()
 Constructor for Emission reaction.
 
subroutine initialize (this, chem_spec_data, aero_rep, n_cells)
 Initialize the reaction data, validating component data and loading any required information into the condensed data arrays for use during solving.
 
type(property_t) function, pointer get_property_set (this)
 Get the reaction properties. (For use by external modules.)
 
subroutine finalize (this)
 Finalize the reaction.
 
subroutine finalize_array (this)
 Finalize an array of reactions.
 
subroutine update_data_rate_set (this, base_rate)
 Set packed update data for emission rate constants.
 
subroutine update_data_initialize (this, update_data, rxn_type)
 Initialize update data.
 
integer(kind=i_kind) function internal_pack_size (this, comm)
 Determine the size of a binary required to pack the reaction data.
 
subroutine internal_bin_pack (this, buffer, pos, comm)
 Pack the given value to the buffer, advancing position.
 
subroutine internal_bin_unpack (this, buffer, pos, comm)
 Unpack the given value from the buffer, advancing position.
 
subroutine update_data_finalize (this)
 Finalize an update data object.
 
subroutine update_data_finalize_array (this)
 Finalize an array of update data objects.
 

Detailed Description

The rxn_emission_t type and associated functions.

Function/Subroutine Documentation

◆ constructor()

type(rxn_emission_t) function, pointer camp_rxn_emission::constructor
private

Constructor for Emission reaction.

Returns
A new reaction instance

Definition at line 151 of file rxn_emission.F90.

◆ finalize()

subroutine camp_rxn_emission::finalize ( type(rxn_emission_t), intent(inout) this)
private

Finalize the reaction.

Parameters
[in,out]thisReaction data

Definition at line 236 of file rxn_emission.F90.

◆ finalize_array()

subroutine camp_rxn_emission::finalize_array ( type(rxn_emission_t), dimension(:), intent(inout) this)
private

Finalize an array of reactions.

Parameters
[in,out]thisArray of reactions

Definition at line 253 of file rxn_emission.F90.

Here is the call graph for this function:

◆ get_property_set()

type(property_t) function, pointer camp_rxn_emission::get_property_set ( class(rxn_emission_t), intent(in) this)
private

Get the reaction properties. (For use by external modules.)

Returns
Reaction properties
Parameters
[in]thisReaction data

Definition at line 222 of file rxn_emission.F90.

◆ initialize()

subroutine camp_rxn_emission::initialize ( class(rxn_emission_t), intent(inout) this,
type(chem_spec_data_t), intent(in) chem_spec_data,
type(aero_rep_data_ptr), dimension(:), intent(in), pointer aero_rep,
integer(kind=i_kind), intent(in) n_cells )
private

Initialize the reaction data, validating component data and loading any required information into the condensed data arrays for use during solving.

Parameters
[in,out]thisReaction data
[in]chem_spec_dataChemical species data
[in]aero_repAerosol representations
[in]n_cellsNumber of grid cells to solve simultaneously

Definition at line 166 of file rxn_emission.F90.

Here is the call graph for this function:

◆ internal_bin_pack()

subroutine camp_rxn_emission::internal_bin_pack ( class(rxn_update_data_emission_t), intent(in) this,
character, dimension(:), intent(inout) buffer,
integer, intent(inout) pos,
integer, intent(in) comm )
private

Pack the given value to the buffer, advancing position.

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

Definition at line 327 of file rxn_emission.F90.

Here is the call graph for this function:

◆ internal_bin_unpack()

subroutine camp_rxn_emission::internal_bin_unpack ( class(rxn_update_data_emission_t), intent(inout) this,
character, dimension(:), intent(inout) buffer,
integer, intent(inout) pos,
integer, intent(in) comm )
private

Unpack the given value from the buffer, advancing position.

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

Definition at line 353 of file rxn_emission.F90.

Here is the call graph for this function:

◆ internal_pack_size()

integer(kind=i_kind) function camp_rxn_emission::internal_pack_size ( class(rxn_update_data_emission_t), intent(in) this,
integer, intent(in) comm )
private

Determine the size of a binary required to pack the reaction data.

Parameters
[in]thisReaction update data
[in]commMPI communicator

Definition at line 310 of file rxn_emission.F90.

Here is the call graph for this function:

◆ update_data_finalize()

subroutine camp_rxn_emission::update_data_finalize ( type(rxn_update_data_emission_t), intent(inout) this)
private

Finalize an update data object.

Parameters
[in,out]thisUpdate data object to free

Definition at line 380 of file rxn_emission.F90.

Here is the caller graph for this function:

◆ update_data_finalize_array()

subroutine camp_rxn_emission::update_data_finalize_array ( type(rxn_update_data_emission_t), dimension(:), intent(inout) this)
private

Finalize an array of update data objects.

Parameters
[in,out]thisArray of update data objects to free

Definition at line 392 of file rxn_emission.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_data_initialize()

subroutine camp_rxn_emission::update_data_initialize ( class(rxn_emission_t), intent(inout) this,
class(rxn_update_data_emission_t), intent(out) update_data,
integer(kind=i_kind), intent(in) rxn_type )
private

Initialize update data.

Parameters
[in,out]thisThe reaction to be udpated
[out]update_dataUpdate data object
[in]rxn_typeReaction type id

Definition at line 284 of file rxn_emission.F90.

Here is the call graph for this function:

◆ update_data_rate_set()

subroutine camp_rxn_emission::update_data_rate_set ( class(rxn_update_data_emission_t), intent(inout) this,
real(kind=dp), intent(in) base_rate )
private

Set packed update data for emission rate constants.

Parameters
[in,out]thisUpdate data
[in]base_rateUpdated pre-scaling emission rate

Definition at line 269 of file rxn_emission.F90.