PartMC  2.6.1
Data Types | Functions/Subroutines | Variables
pmc_aero_particle Module Reference

The aero_particle_t structure and associated subroutines. More...

Data Types

type  aero_particle_t
 Single aerosol particle data structure. More...
 

Functions/Subroutines

subroutine aero_particle_shift (aero_particle_from, aero_particle_to)
 Shift data from one aero_particle_t to another and free the first one. More...
 
subroutine aero_particle_zero (aero_particle, aero_data)
 Resets an aero_particle to be zero. More...
 
subroutine aero_particle_new_id (aero_particle)
 Assigns a globally-unique new ID number to the particle. More...
 
subroutine aero_particle_set_create_time (aero_particle, create_time)
 Sets the creation times for the particle. More...
 
subroutine aero_particle_set_vols (aero_particle, vols)
 Sets the aerosol particle volumes. More...
 
subroutine aero_particle_set_source (aero_particle, i_source)
 Sets the aerosol particle source. More...
 
subroutine aero_particle_set_weight (aero_particle, i_group, i_class)
 Sets the aerosol particle weight group. More...
 
elemental real(kind=dp) function aero_particle_mass (aero_particle, aero_data)
 Total mass of the particle (kg). More...
 
elemental real(kind=dp) function aero_particle_species_mass (aero_particle, i_spec, aero_data)
 Mass of a single species in the particle (kg). More...
 
real(kind=dp) function, dimension(aero_data_n_spec(aero_data)) aero_particle_species_masses (aero_particle, aero_data)
 Mass of all species in the particle (kg). More...
 
elemental real(kind=dp) function aero_particle_moles (aero_particle, aero_data)
 Total moles in the particle (1). More...
 
elemental real(kind=dp) function aero_particle_volume (aero_particle)
 Total volume of the particle (m^3). More...
 
elemental real(kind=dp) function aero_particle_species_volume (aero_particle, i_spec)
 Volume of a single species in the particle (m^3). More...
 
elemental real(kind=dp) function aero_particle_dry_volume (aero_particle, aero_data)
 Total dry volume of the particle (m^3). More...
 
elemental real(kind=dp) function aero_particle_volume_maybe_dry (aero_particle, aero_data, dry_volume)
 Total volume (dry or wet) of the particle (m^3). More...
 
elemental real(kind=dp) function aero_particle_radius (aero_particle, aero_data)
 Total radius of the particle (m). More...
 
elemental real(kind=dp) function aero_particle_dry_radius (aero_particle, aero_data)
 Total dry radius of the particle (m). More...
 
elemental real(kind=dp) function aero_particle_diameter (aero_particle, aero_data)
 Total diameter of the particle (m). More...
 
elemental real(kind=dp) function aero_particle_dry_diameter (aero_particle, aero_data)
 Total dry diameter of the particle (m). More...
 
real(kind=dp) function aero_particle_mobility_diameter (aero_particle, aero_data, env_state)
 Mobility diameter of the particle (m). More...
 
real(kind=dp) function aero_particle_density (aero_particle, aero_data)
 Average density of the particle (kg/m^3). More...
 
real(kind=dp) function aero_particle_average_solute_quantity (aero_particle, aero_data, quantity)
 Returns the volume-average of the non-water elements of quantity. More...
 
real(kind=dp) function aero_particle_total_solute_quantity (aero_particle, aero_data, quantity)
 Returns the volume-total of the non-water elements of quantity. More...
 
real(kind=dp) function aero_particle_average_water_quantity (aero_particle, aero_data, quantity)
 Returns the water element of quantity. More...
 
real(kind=dp) function aero_particle_total_water_quantity (aero_particle, aero_data, quantity)
 Returns the volume-total of the water element of quantity. More...
 
real(kind=dp) function aero_particle_water_molec_weight (aero_data)
 Returns the water molecular weight. (kg/mole) More...
 
real(kind=dp) function aero_particle_solute_molec_weight (aero_particle, aero_data)
 Returns the average of the solute molecular weight (kg/mole). More...
 
real(kind=dp) function aero_particle_solute_num_ions (aero_particle, aero_data)
 Returns the average of the solute ion number (1). More...
 
real(kind=dp) function aero_particle_water_density (aero_data)
 Returns the water density (kg/m^3). More...
 
real(kind=dp) function aero_particle_solute_density (aero_particle, aero_data)
 Returns the average of the solute densities (kg/m^3). More...
 
real(kind=dp) function aero_particle_water_mass (aero_particle, aero_data)
 Returns the water mass (kg). More...
 
real(kind=dp) function aero_particle_solute_mass (aero_particle, aero_data)
 Returns the total solute mass (kg). More...
 
real(kind=dp) function aero_particle_solute_volume (aero_particle, aero_data)
 Returns the total solute volume (m^3). More...
 
real(kind=dp) function aero_particle_solute_radius (aero_particle, aero_data)
 Returns the total solute radius (m). More...
 
real(kind=dp) function aero_particle_solute_kappa (aero_particle, aero_data)
 Returns the average of the solute kappas (1). More...
 
real(kind=dp) function aero_particle_approx_crit_rel_humid (aero_particle, aero_data, env_state)
 Returns the approximate critical relative humidity (1). More...
 
real(kind=dp) function aero_particle_crit_rel_humid (aero_particle, aero_data, env_state)
 Returns the critical relative humidity (1). More...
 
real(kind=dp) function aero_particle_crit_diameter (aero_particle, aero_data, env_state)
 Returns the critical diameter (m). More...
 
subroutine aero_particle_coagulate (aero_particle_1, aero_particle_2, aero_particle_new)
 Coagulate two particles together to make a new one. The new particle will not have its ID set. More...
 
integer function pmc_mpi_pack_size_aero_particle (val)
 Determines the number of bytes required to pack the given value. More...
 
subroutine pmc_mpi_pack_aero_particle (buffer, position, val)
 Packs the given value into the buffer, advancing position. More...
 
subroutine pmc_mpi_unpack_aero_particle (buffer, position, val)
 Unpacks the given value from the buffer, advancing position. More...
 
subroutine aero_particle_check (aero_particle, aero_data, continue_on_error)
 Check that the particle data is consistent. More...
 

Variables

integer, save next_id = 1
 Next unique ID number to use for a particle. More...
 

Detailed Description

The aero_particle_t structure and associated subroutines.

Function/Subroutine Documentation

◆ aero_particle_approx_crit_rel_humid()

real(kind=dp) function pmc_aero_particle::aero_particle_approx_crit_rel_humid ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
type(env_state_t), intent(in)  env_state 
)

Returns the approximate critical relative humidity (1).

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.

Definition at line 709 of file aero_particle.F90.

◆ aero_particle_average_solute_quantity()

real(kind=dp) function pmc_aero_particle::aero_particle_average_solute_quantity ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), dimension(:), intent(in)  quantity 
)

Returns the volume-average of the non-water elements of quantity.

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]quantityQuantity to average.

Definition at line 438 of file aero_particle.F90.

◆ aero_particle_average_water_quantity()

real(kind=dp) function pmc_aero_particle::aero_particle_average_water_quantity ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), dimension(:), intent(in)  quantity 
)

Returns the water element of quantity.

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]quantityQuantity to average.

Definition at line 487 of file aero_particle.F90.

◆ aero_particle_check()

subroutine pmc_aero_particle::aero_particle_check ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
logical, intent(in)  continue_on_error 
)

Check that the particle data is consistent.

Parameters
[in]aero_particleAerosol particle to check.
[in]aero_dataAerosol data.
[in]continue_on_errorWhether to continue despite error.

Definition at line 991 of file aero_particle.F90.

◆ aero_particle_coagulate()

subroutine pmc_aero_particle::aero_particle_coagulate ( type(aero_particle_t), intent(in)  aero_particle_1,
type(aero_particle_t), intent(in)  aero_particle_2,
type(aero_particle_t), intent(inout)  aero_particle_new 
)

Coagulate two particles together to make a new one. The new particle will not have its ID set.

Parameters
[in]aero_particle_1First particle.
[in]aero_particle_2Second particle.
[in,out]aero_particle_newResult particle.

Definition at line 849 of file aero_particle.F90.

◆ aero_particle_crit_diameter()

real(kind=dp) function pmc_aero_particle::aero_particle_crit_diameter ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
type(env_state_t), intent(in)  env_state 
)

Returns the critical diameter (m).

The method is as follows. We need to solve the polynomial equation $f(D)$ given in Eq. (7) of

N. Riemer, M. West, R. Zaveri, D. Easter, "Estimating black carbon aging time-scales with a particle-resolved aerosol model", Aerosol Science 41, 143-158, 2010.

This is the equation:

\[ f(D) = D^6 + c_4 D^4 + c_3 D^3 + c_0, \]

where $c_4 < 0$, $c_3 < 0$, and $c_0 > 0$. There is unique solution for $D > D_{\rm dry}$, as shown in the above paper.

The polynomial has first derivative which factors like

\[ f'(D) = 6 D^5 + 4 c_4 D^3 + 3 c_3 D^2 = (3 D^2 + 4 c_4) D^3 + (D^3 + c_3) 3 D^2. \]

The first term is positive for $D > (-4 c_4 / 3)^{1/2}$ and the second is positive for $D > (-c_3)^{1/3}$. If we take

\[ D_0 = max((-4 c_4 / 3)^{1/2}, (-c_3)^{1/3}) \]

then we have that $f'(D) > 0$ for $D > D_0$. Similarly,

\[ f''(D) = 30 D^4 + 12 c_4 D^2 + 6 c_3 D = (5 D^2 + 4 c_4) 3 D^2 + (5 D^3 + 2 c_3) 3 D, \]

so $f''(D) > 0$ for $D > D_0$ (as this ensures that $D > (-4 c_4 / 5)^{1/2}$ and $D > (-2 c_3 / 5)^{1/3}$).

Thus for $D > D_0$ we have that the first and second derivatives of $f(D)$ are positive, so Newton's method starting from $D_0$ will converge quadratically. This is the scheme used here.

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.

Definition at line 798 of file aero_particle.F90.

◆ aero_particle_crit_rel_humid()

real(kind=dp) function pmc_aero_particle::aero_particle_crit_rel_humid ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
type(env_state_t), intent(in)  env_state 
)

Returns the critical relative humidity (1).

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.

Definition at line 731 of file aero_particle.F90.

◆ aero_particle_density()

real(kind=dp) function pmc_aero_particle::aero_particle_density ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Average density of the particle (kg/m^3).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 423 of file aero_particle.F90.

◆ aero_particle_diameter()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_diameter ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total diameter of the particle (m).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 369 of file aero_particle.F90.

◆ aero_particle_dry_diameter()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_dry_diameter ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total dry diameter of the particle (m).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 385 of file aero_particle.F90.

◆ aero_particle_dry_radius()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_dry_radius ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total dry radius of the particle (m).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 353 of file aero_particle.F90.

◆ aero_particle_dry_volume()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_dry_volume ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total dry volume of the particle (m^3).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 292 of file aero_particle.F90.

◆ aero_particle_mass()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_mass ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total mass of the particle (kg).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 201 of file aero_particle.F90.

◆ aero_particle_mobility_diameter()

real(kind=dp) function pmc_aero_particle::aero_particle_mobility_diameter ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
type(env_state_t), intent(in)  env_state 
)

Mobility diameter of the particle (m).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.

Definition at line 401 of file aero_particle.F90.

◆ aero_particle_moles()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_moles ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total moles in the particle (1).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 249 of file aero_particle.F90.

◆ aero_particle_new_id()

subroutine pmc_aero_particle::aero_particle_new_id ( type(aero_particle_t), intent(inout)  aero_particle)

Assigns a globally-unique new ID number to the particle.

Parameters
[in,out]aero_particleParticle to set ID for.

Definition at line 127 of file aero_particle.F90.

◆ aero_particle_radius()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_radius ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Total radius of the particle (m).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.

Definition at line 337 of file aero_particle.F90.

◆ aero_particle_set_create_time()

subroutine pmc_aero_particle::aero_particle_set_create_time ( type(aero_particle_t), intent(inout)  aero_particle,
real(kind=dp), intent(in)  create_time 
)

Sets the creation times for the particle.

Parameters
[in,out]aero_particleParticle to set time for.
[in]create_timeCreation time.

Definition at line 140 of file aero_particle.F90.

◆ aero_particle_set_source()

subroutine pmc_aero_particle::aero_particle_set_source ( type(aero_particle_t), intent(inout)  aero_particle,
integer, intent(in)  i_source 
)

Sets the aerosol particle source.

Parameters
[in,out]aero_particleParticle.
[in]i_sourceSource number for the particle.

Definition at line 169 of file aero_particle.F90.

◆ aero_particle_set_vols()

subroutine pmc_aero_particle::aero_particle_set_vols ( type(aero_particle_t), intent(inout)  aero_particle,
real(kind=dp), dimension(:), intent(in)  vols 
)

Sets the aerosol particle volumes.

Parameters
[in,out]aero_particleParticle.
[in]volsNew volumes.

Definition at line 155 of file aero_particle.F90.

◆ aero_particle_set_weight()

subroutine pmc_aero_particle::aero_particle_set_weight ( type(aero_particle_t), intent(inout)  aero_particle,
integer, intent(in), optional  i_group,
integer, intent(in), optional  i_class 
)

Sets the aerosol particle weight group.

Parameters
[in,out]aero_particleParticle.
[in]i_groupWeight group number for the particle.
[in]i_classWeight class number for the particle.

Definition at line 184 of file aero_particle.F90.

◆ aero_particle_shift()

subroutine pmc_aero_particle::aero_particle_shift ( type(aero_particle_t), intent(inout)  aero_particle_from,
type(aero_particle_t), intent(inout)  aero_particle_to 
)

Shift data from one aero_particle_t to another and free the first one.

Parameters
[in,out]aero_particle_fromReference particle (will be deallocated on return).
[in,out]aero_particle_toDestination particle (not allocated on entry).

Definition at line 67 of file aero_particle.F90.

◆ aero_particle_solute_density()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_density ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the average of the solute densities (kg/m^3).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 587 of file aero_particle.F90.

◆ aero_particle_solute_kappa()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_kappa ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the average of the solute kappas (1).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 673 of file aero_particle.F90.

◆ aero_particle_solute_mass()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_mass ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the total solute mass (kg).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 620 of file aero_particle.F90.

◆ aero_particle_solute_molec_weight()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_molec_weight ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the average of the solute molecular weight (kg/mole).

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.

Definition at line 540 of file aero_particle.F90.

◆ aero_particle_solute_num_ions()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_num_ions ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the average of the solute ion number (1).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 557 of file aero_particle.F90.

◆ aero_particle_solute_radius()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_radius ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the total solute radius (m).

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.

Definition at line 656 of file aero_particle.F90.

◆ aero_particle_solute_volume()

real(kind=dp) function pmc_aero_particle::aero_particle_solute_volume ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the total solute volume (m^3).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 636 of file aero_particle.F90.

◆ aero_particle_species_mass()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_species_mass ( type(aero_particle_t), intent(in)  aero_particle,
integer, intent(in)  i_spec,
type(aero_data_t), intent(in)  aero_data 
)

Mass of a single species in the particle (kg).

Parameters
[in]aero_particleParticle.
[in]i_specSpecies number to find mass of.
[in]aero_dataAerosol data.

Definition at line 215 of file aero_particle.F90.

◆ aero_particle_species_masses()

real(kind=dp) function, dimension(aero_data_n_spec(aero_data)) pmc_aero_particle::aero_particle_species_masses ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Mass of all species in the particle (kg).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.
Returns
Return value.

Definition at line 233 of file aero_particle.F90.

◆ aero_particle_species_volume()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_species_volume ( type(aero_particle_t), intent(in)  aero_particle,
integer, intent(in)  i_spec 
)

Volume of a single species in the particle (m^3).

Parameters
[in]aero_particleParticle.
[in]i_specSpecies number to find volume of.

Definition at line 277 of file aero_particle.F90.

◆ aero_particle_total_solute_quantity()

real(kind=dp) function pmc_aero_particle::aero_particle_total_solute_quantity ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), dimension(:), intent(in)  quantity 
)

Returns the volume-total of the non-water elements of quantity.

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]quantityQuantity to total.

Definition at line 461 of file aero_particle.F90.

◆ aero_particle_total_water_quantity()

real(kind=dp) function pmc_aero_particle::aero_particle_total_water_quantity ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), dimension(:), intent(in)  quantity 
)

Returns the volume-total of the water element of quantity.

Parameters
[in]aero_particleAerosol particle.
[in]aero_dataAerosol data.
[in]quantityQuantity to total.

Definition at line 505 of file aero_particle.F90.

◆ aero_particle_volume()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_volume ( type(aero_particle_t), intent(in)  aero_particle)

Total volume of the particle (m^3).

Parameters
[in]aero_particleParticle.

Definition at line 265 of file aero_particle.F90.

◆ aero_particle_volume_maybe_dry()

elemental real(kind=dp) function pmc_aero_particle::aero_particle_volume_maybe_dry ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data,
logical, intent(in)  dry_volume 
)

Total volume (dry or wet) of the particle (m^3).

Parameters
[in]aero_particleParticle.
[in]aero_dataAerosol data.
[in]dry_volumeWhether the desired volume is dry (otherwise wet).

Definition at line 315 of file aero_particle.F90.

◆ aero_particle_water_density()

real(kind=dp) function pmc_aero_particle::aero_particle_water_density ( type(aero_data_t), intent(in)  aero_data)

Returns the water density (kg/m^3).

Parameters
[in]aero_dataAerosol data.

Definition at line 574 of file aero_particle.F90.

◆ aero_particle_water_mass()

real(kind=dp) function pmc_aero_particle::aero_particle_water_mass ( type(aero_particle_t), intent(in)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Returns the water mass (kg).

Parameters
[in]aero_dataAerosol data.
[in]aero_particleAerosol particle.

Definition at line 604 of file aero_particle.F90.

◆ aero_particle_water_molec_weight()

real(kind=dp) function pmc_aero_particle::aero_particle_water_molec_weight ( type(aero_data_t), intent(in)  aero_data)

Returns the water molecular weight. (kg/mole)

Parameters
[in]aero_dataAerosol data.

Definition at line 526 of file aero_particle.F90.

◆ aero_particle_zero()

subroutine pmc_aero_particle::aero_particle_zero ( type(aero_particle_t), intent(inout)  aero_particle,
type(aero_data_t), intent(in)  aero_data 
)

Resets an aero_particle to be zero.

Parameters
[in,out]aero_particleParticle to zero.
[in]aero_dataAerosol data.

Definition at line 97 of file aero_particle.F90.

◆ pmc_mpi_pack_aero_particle()

subroutine pmc_aero_particle::pmc_mpi_pack_aero_particle ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(aero_particle_t), intent(in)  val 
)

Packs the given value into the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in]valValue to pack.

Definition at line 919 of file aero_particle.F90.

◆ pmc_mpi_pack_size_aero_particle()

integer function pmc_aero_particle::pmc_mpi_pack_size_aero_particle ( type(aero_particle_t), intent(in)  val)

Determines the number of bytes required to pack the given value.

Parameters
[in]valValue to pack.

Definition at line 893 of file aero_particle.F90.

◆ pmc_mpi_unpack_aero_particle()

subroutine pmc_aero_particle::pmc_mpi_unpack_aero_particle ( character, dimension(:), intent(inout)  buffer,
integer, intent(inout)  position,
type(aero_particle_t), intent(inout)  val 
)

Unpacks the given value from the buffer, advancing position.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in,out]valValue to pack.

Definition at line 955 of file aero_particle.F90.

Variable Documentation

◆ next_id

integer, save pmc_aero_particle::next_id = 1

Next unique ID number to use for a particle.

Definition at line 59 of file aero_particle.F90.