CAMP 1.0.0
Chemistry Across Multiple Phases
Public Member Functions | List of all members
camp_aero_rep_factory::aero_rep_factory_t Type Reference

Factory type for aerosol representations. More...

Public Member Functions

procedure create (this, type_name)
 Create a new aerosol representation by type name.
 
procedure load (this, json, j_obj)
 Create a new aerosol representation from input data.
 
procedure get_type (this, aero_rep)
 Get the aerosol representation type.
 
procedure initialize_update_data (this, aero_rep, update_data)
 Initialize an update data object.
 
procedure pack_size (this, aero_rep, comm)
 Determine the number of bytes required to pack an given aerosol representation.
 
procedure bin_pack (this, aero_rep, buffer, pos, comm)
 Pack a given aerosol representation to the buffer, advancing the position.
 
procedure bin_unpack (this, buffer, pos, comm)
 Unpack a aerosol representation from the buffer, advancing the position.
 

Detailed Description

Factory type for aerosol representations.

Provides new instances of types extending aero_rep_data_t by name or from input file data

Definition at line 221 of file aero_rep_factory.F90.

Member Function/Subroutine Documentation

◆ bin_pack()

procedure camp_aero_rep_factory::aero_rep_factory_t::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 
)

Pack a given aerosol representation to the buffer, advancing the 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 236 of file aero_rep_factory.F90.

◆ bin_unpack()

procedure camp_aero_rep_factory::aero_rep_factory_t::bin_unpack ( class(aero_rep_factory_t), intent(in)  this,
character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  pos,
integer, intent(in)  comm 
)

Unpack a aerosol representation from the buffer, advancing the 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 238 of file aero_rep_factory.F90.

◆ create()

procedure camp_aero_rep_factory::aero_rep_factory_t::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 224 of file aero_rep_factory.F90.

◆ get_type()

procedure camp_aero_rep_factory::aero_rep_factory_t::get_type ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(in)  aero_rep 
)

Get the aerosol representation type.

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

Definition at line 228 of file aero_rep_factory.F90.

◆ initialize_update_data()

procedure camp_aero_rep_factory::aero_rep_factory_t::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 
)

Initialize an update data object.

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

Definition at line 230 of file aero_rep_factory.F90.

◆ load()

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

Create a new aerosol representation from input data.

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

Definition at line 226 of file aero_rep_factory.F90.

◆ pack_size()

procedure camp_aero_rep_factory::aero_rep_factory_t::pack_size ( class(aero_rep_factory_t), intent(in)  this,
class(aero_rep_data_t), intent(in)  aero_rep,
integer, intent(in)  comm 
)

Determine the number of bytes required to pack an given aerosol representation.

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

Definition at line 233 of file aero_rep_factory.F90.


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