pmc_aero_binned Namespace Reference

The aero_binned_t structure and associated subroutines. More...

Classes

struct  aero_binned_t
 Aerosol number and volume distributions stored per bin. More...

Functions

subroutine aero_binned_alloc (aero_binned, n_bin, n_spec)
 Allocate internal memory in an aero_binned_t structure.
subroutine aero_binned_free (aero_binned)
 Free internal memory in an aero_binned_t structure.
subroutine aero_binned_zero (aero_binned)
 Set all internal data in an aero_binned_t structure to zero.
subroutine aero_binned_add_particle_in_bin (aero_binned, bin_grid, bin, comp_vol, aero_particle)
 Update aero_binned_t structure for the addition of the given particle whose bin is also given.
subroutine aero_binned_add_particle (aero_binned, bin_grid, comp_vol, aero_particle)
 Update aero_binned_t structure for the addition of the given particle.
subroutine aero_binned_remove_particle_in_bin (aero_binned, bin_grid, bin, comp_vol, aero_particle)
 Update aero_binned_t structure for the removal of the given particle whose bin is also given.
subroutine aero_binned_remove_particle (aero_binned, bin_grid, comp_vol, aero_particle)
 Update the aero_binned_t structure for the removal of the given particle.
subroutine inout_write_aero_binned (file, aero_binned)
 Write the aero_binned_t to a file.
subroutine inout_read_aero_binned (file, aero_binned)
 Read an aero_binned_t from a file.
subroutine aero_binned_average (aero_binned_vec, aero_binned_avg)
 Compute the average of an array of aero_binned_t structures.
subroutine aero_binned_add (aero_binned, aero_binned_delta)
 Add two aero_binned_t structures together.
subroutine aero_binned_sub (aero_binned, aero_binned_delta)
 Subtract one aero_binned_t structure from another.
subroutine aero_binned_scale (aero_binned, alpha)
 Scale an aero_binned_t by a real number.
subroutine aero_binned_copy (aero_binned_from, aero_binned_to)
 Copy one aero_binned_t structure to another.
subroutine aero_binned_add_aero_dist (aero_binned, bin_grid, aero_dist)
 Add an aero_dist_t to an aero_binned_t.
integer pmc_mpi_pack_size_aero_binned (val)
 Determine the number of bytes required to pack the structure.
subroutine pmc_mpi_pack_aero_binned (buffer, position, val)
 Pack the structure into the buffer and advance position.
subroutine pmc_mpi_unpack_aero_binned (buffer, position, val)
 Unpack the structure from the buffer and advance position.
subroutine pmc_mpi_reduce_avg_aero_binned (val, val_avg)
 Computes the average of the structure across all processors, storing the result on the root processor.

Detailed Description

The aero_binned_t structure and associated subroutines.


Function Documentation

subroutine pmc_aero_binned::aero_binned_add ( type(aero_binned_t),intent(inout)  aero_binned,
type(aero_binned_t),intent(in)  aero_binned_delta 
)

Add two aero_binned_t structures together.

Symbolically does aero_binned = aero_binned + aero_binned_delta.

Parameters:
aero_binned Base aero_binned_t structure that will be added to.
aero_binned_delta Structure to add to aero_binned.
subroutine pmc_aero_binned::aero_binned_add_aero_dist ( type(aero_binned_t),intent(out)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_dist_t),intent(in)  aero_dist 
)

Add an aero_dist_t to an aero_binned_t.

Symbolically does aero_binned = aero_binned + aero_dist.

Parameters:
aero_binned Base aero_binned_t structure to add to.
bin_grid Bin grid.
aero_dist The aero_dist_t structure to add.
subroutine pmc_aero_binned::aero_binned_add_particle ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the addition of the given particle.

If the correct bin for the particle is already known then it is cheaper to call aero_binned_add_particle_in_bin().

Parameters:
aero_binned Structure to update with the new particle.
bin_grid Bin grid.
comp_vol Computational volume (m^3).
aero_particle Particle to add.
subroutine pmc_aero_binned::aero_binned_add_particle_in_bin ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  bin,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the addition of the given particle whose bin is also given.

If the bin of the particle is not known the more expensive aero_binned_add_particle() can be used.

Parameters:
aero_binned Structure to update with the new particle.
bin_grid Bin grid.
bin Bin number that new particle is in (must be correct).
comp_vol Computational volume (m^3).
aero_particle Particle to add.
subroutine pmc_aero_binned::aero_binned_alloc ( type(aero_binned_t),intent(out)  aero_binned,
integer,intent(in)  n_bin,
integer,intent(in)  n_spec 
)

Allocate internal memory in an aero_binned_t structure.

Parameters:
aero_binned Structure to be allocated.
n_bin Number of aerosol bins to allocate (typically bin_grid%n_bin).
n_spec Number of aerosol species to allocate (typically aero_data%n_spec).
subroutine pmc_aero_binned::aero_binned_average ( type(aero_binned_t),dimension(:),intent(in)  aero_binned_vec,
type(aero_binned_t),intent(out)  aero_binned_avg 
)

Compute the average of an array of aero_binned_t structures.

Parameters:
aero_binned_vec Array of structures to average.
aero_binned_avg Average structure (should not be allocated on entry).
subroutine pmc_aero_binned::aero_binned_copy ( type(aero_binned_t),intent(in)  aero_binned_from,
type(aero_binned_t),intent(out)  aero_binned_to 
)

Copy one aero_binned_t structure to another.

Symbolically does aero_binned_to = aero_binned_from.

Parameters:
aero_binned_from Base aero_binned_t structure to copy from.
aero_binned_to Structure to copy to.
subroutine pmc_aero_binned::aero_binned_free ( type(aero_binned_t),intent(inout)  aero_binned  ) 

Free internal memory in an aero_binned_t structure.

Parameters:
aero_binned Structure to free.
subroutine pmc_aero_binned::aero_binned_remove_particle ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update the aero_binned_t structure for the removal of the given particle.

If the correct bin for the particle is already known then it is cheaper to call aero_binned_remove_particle_in_bin().

Parameters:
aero_binned Structure to remove the particle from.
bin_grid Bin grid.
comp_vol Computational volume (m^3).
aero_particle Particle to remove.
subroutine pmc_aero_binned::aero_binned_remove_particle_in_bin ( type(aero_binned_t),intent(inout)  aero_binned,
type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  bin,
real*8,intent(in)  comp_vol,
type(aero_particle_t),intent(in)  aero_particle 
)

Update aero_binned_t structure for the removal of the given particle whose bin is also given.

If the bin of the particle is not known the more expensive aero_binned_remove_particle() can be used.

Parameters:
aero_binned Structure to remove the particle from.
bin_grid Bin grid.
bin Bin number of the aero_particle.
comp_vol Computational volume (m^3).
aero_particle Particle to remove.
subroutine pmc_aero_binned::aero_binned_scale ( type(aero_binned_t),intent(inout)  aero_binned,
real*8,intent(in)  alpha 
)

Scale an aero_binned_t by a real number.

Symbolically does aero_binned = aero_binned * alpha.

Parameters:
aero_binned Base aero_binned to scale.
alpha Scale factor.
subroutine pmc_aero_binned::aero_binned_sub ( type(aero_binned_t),intent(inout)  aero_binned,
type(aero_binned_t),intent(in)  aero_binned_delta 
)

Subtract one aero_binned_t structure from another.

Symbolically does aero_binned = aero_binned - aero_binned_delta.

Parameters:
aero_binned Base aero_binned_t structure that will be subtracted from.
aero_binned_delta Structure to subtract from aero_binned.
subroutine pmc_aero_binned::aero_binned_zero ( type(aero_binned_t),intent(inout)  aero_binned  ) 

Set all internal data in an aero_binned_t structure to zero.

Parameters:
aero_binned Structure to zero.
subroutine pmc_aero_binned::inout_read_aero_binned ( type(inout_file_t),intent(inout)  file,
type(aero_binned_t),intent(out)  aero_binned 
)

Read an aero_binned_t from a file.

Parameters:
file File to read from.
aero_binned Structure to read (must not have internal memory allocated).
subroutine pmc_aero_binned::inout_write_aero_binned ( type(inout_file_t),intent(inout)  file,
type(aero_binned_t),intent(in)  aero_binned 
)

Write the aero_binned_t to a file.

Parameters:
file File to write to.
aero_binned Structure to write.
subroutine pmc_aero_binned::pmc_mpi_pack_aero_binned ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_binned_t),intent(in)  val 
)

Pack the structure into the buffer and advance position.

See pmc_mpi for usage details.

Parameters:
buffer Memory buffer.
position Current buffer position.
val Structure to pack.
integer pmc_aero_binned::pmc_mpi_pack_size_aero_binned ( type(aero_binned_t),intent(in)  val  ) 

Determine the number of bytes required to pack the structure.

See pmc_mpi for usage details.

Parameters:
val Structure to pack.
subroutine pmc_aero_binned::pmc_mpi_reduce_avg_aero_binned ( type(aero_binned_t),intent(in)  val,
type(aero_binned_t),intent(out)  val_avg 
)

Computes the average of the structure across all processors, storing the result on the root processor.

Parameters:
val Per-processor Value to average.
val_avg Averaged result (only valid on root processor).
subroutine pmc_aero_binned::pmc_mpi_unpack_aero_binned ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_binned_t),intent(out)  val 
)

Unpack the structure from the buffer and advance position.

See pmc_mpi for usage details.

Parameters:
buffer Memory buffer.
position Current buffer position.
val Structure to unpack into (must not be allocated).

Generated on 29 Mar 2010 for PartMC by  doxygen 1.6.1