pmc_aero_dist Namespace Reference

The aero_dist_t structure and associated subroutines. More...


Classes

struct  aero_dist_t
 A complete aerosol distribution, consisting of several modes. More...

Functions

subroutine aero_dist_allocate (aero_dist)
 Allocates an aero_dist.
subroutine aero_dist_allocate_size (aero_dist, n_mode, n_spec)
 Allocates an aero_dist of the given size.
subroutine aero_dist_deallocate (aero_dist)
 Free all storage.
subroutine aero_dist_copy (aero_dist_from, aero_dist_to)
 Copy an aero_dist.
real *8 aero_dist_total_num_conc (aero_dist)
 Returns the total number concentration in #/m^3 of a distribution. (#/m^3).
subroutine aero_dist_num_conc (aero_dist, bin_grid, aero_data, num_conc)
 Return the binned number concentration for an aero_dist.
subroutine aero_dist_vol_conc (aero_dist, bin_grid, aero_data, vol_conc)
 Return the binned per-species volume concentration for an aero_dist.
subroutine aero_dist_interp_1d (aero_dist_list, time_list, rate_list, time, aero_dist, rate)
 Determine the current aero_dist and rate by interpolating at the current time with the lists of aero_dists and rates.
subroutine spec_file_read_aero_dist (file, aero_data, aero_dist)
 Read continuous aerosol distribution composed of several modes.
subroutine spec_file_read_aero_dist_filename (file, aero_data, bin_grid, name, aero_dist)
 Read aerosol distribution from filename on line in file.
subroutine spec_file_read_aero_dists_times_rates (file, aero_data, bin_grid, name, times, rates, aero_dists)
 Read an array of aero_dists with associated times and rates from the given file.
integer pmc_mpi_pack_size_aero_dist (val)
 Determines the number of bytes required to pack the given value.
subroutine pmc_mpi_pack_aero_dist (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi_unpack_aero_dist (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.


Detailed Description

The aero_dist_t structure and associated subroutines.

The initial size distributions are computed as number densities, so they can be used for both sectional and particle-resolved simulations. The routine dist_to_n() converts a number concentration distribution to an actual number of particles ready for a particle-resolved simulation.

Initial distributions should be normalized so that sum(n_den) = 1/dlnr.


Function Documentation

subroutine pmc_aero_dist::aero_dist_allocate ( type(aero_dist_t),intent(out)  aero_dist  ) 

Allocates an aero_dist.

Parameters:
aero_dist  Aerosol distribution.

subroutine pmc_aero_dist::aero_dist_allocate_size ( type(aero_dist_t),intent(out)  aero_dist,
integer,intent(in)  n_mode,
integer,intent(in)  n_spec 
)

Allocates an aero_dist of the given size.

Parameters:
aero_dist  Aerosol distribution.
n_mode  Number of modes.
n_spec  Number of species.

subroutine pmc_aero_dist::aero_dist_copy ( type(aero_dist_t),intent(in)  aero_dist_from,
type(aero_dist_t),intent(inout)  aero_dist_to 
)

Copy an aero_dist.

Parameters:
aero_dist_from  Aero_dist original.
aero_dist_to  Aero_dist copy.

subroutine pmc_aero_dist::aero_dist_deallocate ( type(aero_dist_t),intent(inout)  aero_dist  ) 

Free all storage.

Parameters:
aero_dist  Aerosol distribution.

subroutine pmc_aero_dist::aero_dist_interp_1d ( type(aero_dist_t),dimension(:),intent(in)  aero_dist_list,
real*8,dimension(size(aero_dist_list),intent(in)  time_list,
real*8,dimension(size(aero_dist_list),intent(in)  rate_list,
real*8,intent(in)  time,
type(aero_dist_t),intent(inout)  aero_dist,
real*8,intent(out)  rate 
)

Determine the current aero_dist and rate by interpolating at the current time with the lists of aero_dists and rates.

Parameters:
aero_dist_list  Gas states.
time_list  Times (s).
rate_list  Rates (s^{-1}).
time  Current time (s).
aero_dist  Current gas state.
rate  Current rate (s^{-1}).

subroutine pmc_aero_dist::aero_dist_num_conc ( type(aero_dist_t),intent(in)  aero_dist,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
real*8,dimension(bin_grid%n_bin),intent(out)  num_conc 
)

Return the binned number concentration for an aero_dist.

Parameters:
aero_dist  Aero dist for which to compute number concentration.
bin_grid  Bin grid.
aero_data  Aerosol data.
num_conc  Number concentration (#(ln(r))d(ln(r))).

real*8 pmc_aero_dist::aero_dist_total_num_conc ( type(aero_dist_t),intent(in)  aero_dist  ) 

Returns the total number concentration in #/m^3 of a distribution. (#/m^3).

Parameters:
aero_dist  Aerosol distribution.

subroutine pmc_aero_dist::aero_dist_vol_conc ( type(aero_dist_t),intent(in)  aero_dist,
type(bin_grid_t),intent(in)  bin_grid,
type(aero_data_t),intent(in)  aero_data,
real*8,dimension(bin_grid%n_bin, aero_data%n_spec),intent(out)  vol_conc 
)

Return the binned per-species volume concentration for an aero_dist.

Parameters:
aero_dist  Aero dist for which to compute volume concentration.
bin_grid  Bin grid.
aero_data  Aerosol data.
vol_conc  Volume concentration (V(ln(r))d(ln(r))).

subroutine pmc_aero_dist::pmc_mpi_pack_aero_dist ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_dist_t),intent(in)  val 
)

Packs the given value into the buffer, advancing position.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Value to pack.

integer pmc_aero_dist::pmc_mpi_pack_size_aero_dist ( type(aero_dist_t),intent(in)  val  ) 

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

Parameters:
val  Value to pack.

subroutine pmc_aero_dist::pmc_mpi_unpack_aero_dist ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(aero_dist_t),intent(out)  val 
)

Unpacks the given value from the buffer, advancing position.

Parameters:
buffer  Memory buffer.
position  Current buffer position.
val  Value to pack.

subroutine pmc_aero_dist::spec_file_read_aero_dist ( type(spec_file_t),intent(inout)  file,
type(aero_data_t),intent(in)  aero_data,
type(aero_dist_t),intent(inout)  aero_dist 
)

Read continuous aerosol distribution composed of several modes.

Parameters:
file  Spec file.
aero_data  Aero_data data.
aero_dist  Aerosol dist.

subroutine pmc_aero_dist::spec_file_read_aero_dist_filename ( type(spec_file_t),intent(inout)  file,
type(aero_data_t),intent(in)  aero_data,
type(bin_grid_t),intent(in)  bin_grid,
character(len=*),intent(in)  name,
type(aero_dist_t),intent(inout)  aero_dist 
)

Read aerosol distribution from filename on line in file.

Parameters:
file  Spec file.
aero_data  Aero_data data.
bin_grid  Bin grid.
name  Name of data line for filename.
aero_dist  Aerosol distribution.

subroutine pmc_aero_dist::spec_file_read_aero_dists_times_rates ( type(spec_file_t),intent(inout)  file,
type(aero_data_t),intent(in)  aero_data,
type(bin_grid_t),intent(in)  bin_grid,
character(len=*),intent(in)  name,
real*8,dimension(:),pointer  times,
real*8,dimension(:),pointer  rates,
type(aero_dist_t),dimension(:),pointer  aero_dists 
)

Read an array of aero_dists with associated times and rates from the given file.

Parameters:
file  Spec file.
aero_data  Aero data.
bin_grid  Bin grid.
name  Name of data line for filename.
times  Times (s).
rates  Rates (s^{-1}).
aero_dists  Aero dists.


Generated on Mon Jun 15 15:56:22 2009 for PartMC by  doxygen 1.5.6