CAMP 1.0.0
Chemistry Across Multiple Phases
Data Types | Functions/Subroutines | Variables
camp_aero_rep_factory Module Reference

The aero_rep_factory_t type and associated subroutines. More...

Data Types

type  aero_rep_factory_t
 Factory type for aerosol representations. More...
 

Functions/Subroutines

class(aero_rep_data_t) function, pointer create (this, type_name)
 Create a new aerosol representation by type name.
 
class(aero_rep_data_t) function, pointer load (this, json, j_obj)
 Load an aerosol represenation based on its type.
 
integer(kind=i_kind) function get_type (this, aero_rep)
 Get the aerosol reaction type.
 
subroutine initialize_update_data (this, aero_rep, update_data)
 Get a new update data object.
 
integer(kind=i_kind) function pack_size (this, aero_rep, comm)
 Determine the size of a binary required to pack an aerosol representation.
 
subroutine bin_pack (this, aero_rep, buffer, pos, comm)
 Pack the given value to the buffer, advancing position.
 
class(aero_rep_data_t) function, pointer bin_unpack (this, buffer, pos, comm)
 Unpack the given value to the buffer, advancing position.
 

Variables

integer(kind=i_kind), parameter aero_rep_single_particle = 1
 Identifiers for aerosol representations - used by binary packing/unpacking functions.
 
integer(kind=i_kind), parameter aero_rep_modal_binned_mass = 2
 

Detailed Description

The aero_rep_factory_t type and associated subroutines.

Function/Subroutine Documentation

◆ bin_pack()

subroutine camp_aero_rep_factory::bin_pack ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(in)  aero_rep,
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]thisAerosol representation factory
[in]aero_repAerosol representation to pack
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 399 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ bin_unpack()

class(aero_rep_data_t) function, pointer camp_aero_rep_factory::bin_unpack ( class(aero_rep_factory_t), intent(in)  this,
character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  pos,
integer, intent(in)  comm 
)
private

Unpack the given value to the buffer, advancing position.

Returns
Unpacked aerosol representation
Parameters
[in]thisAerosol representation factory
[in,out]bufferMemory buffer
[in,out]posCurrent buffer position
[in]commMPI communicator

Definition at line 436 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ create()

class(aero_rep_data_t) function, pointer camp_aero_rep_factory::create ( class(aero_rep_factory_t), intent(in)  this,
character(len=*), intent(in)  type_name 
)

Create a new aerosol representation by type name.

Returns
An aerosol representation
Parameters
[in]thisAerosol representation factory
[in]type_nameName of the aerosol representation

Definition at line 246 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ get_type()

integer(kind=i_kind) function camp_aero_rep_factory::get_type ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(in)  aero_rep 
)
private

Get the aerosol reaction type.

Parameters
[in]thisAerosol representation factory
[in]aero_repAerosol representation to get the type of

Definition at line 318 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ initialize_update_data()

subroutine camp_aero_rep_factory::initialize_update_data ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(inout)  aero_rep,
class(aero_rep_update_data_t), intent(out)  update_data 
)
private

Get a new update data object.

Parameters
[in]thisAerosol representation factory
[in,out]aero_repAerosol representation to be updated
[out]update_dataUpdate data object

Definition at line 339 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ load()

class(aero_rep_data_t) function, pointer camp_aero_rep_factory::load ( class(aero_rep_factory_t), intent(in)  this,
type(json_core), intent(in), pointer  json,
type(json_value), intent(in), pointer  j_obj 
)
private

Load an aerosol represenation based on its type.

Returns
An aerosol representation
Parameters
[in]thisAerosol representation factory
[in]jsonJSON core
[in]j_objJSON object

Definition at line 273 of file aero_rep_factory.F90.

Here is the call graph for this function:

◆ pack_size()

integer(kind=i_kind) function camp_aero_rep_factory::pack_size ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(in)  aero_rep,
integer, intent(in)  comm 
)
private

Determine the size of a binary required to pack an aerosol representation.

Parameters
[in]thisAerosol representation factory
[in]aero_repAerosol representation to pack
[in]commMPI communicator

Definition at line 382 of file aero_rep_factory.F90.

Here is the call graph for this function:

Variable Documentation

◆ aero_rep_modal_binned_mass

integer(kind=i_kind), parameter camp_aero_rep_factory::aero_rep_modal_binned_mass = 2
private

Definition at line 215 of file aero_rep_factory.F90.

◆ aero_rep_single_particle

integer(kind=i_kind), parameter camp_aero_rep_factory::aero_rep_single_particle = 1
private

Identifiers for aerosol representations - used by binary packing/unpacking functions.

Definition at line 214 of file aero_rep_factory.F90.