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 Sun Feb 17 10:31:02 2008 for PartMC by  doxygen 1.5.4