pmc_bin_grid Namespace Reference

The bin_grid_t structure and associated subroutines. More...


Classes

struct  bin_grid_t
 1D grid of size bins. More...

Functions

subroutine bin_grid_allocate (bin_grid)
 Allocates a bin_grid.
subroutine bin_grid_allocate_size (bin_grid, n_bin)
 Allocates a bin_grid of the given size.
subroutine bin_grid_deallocate (bin_grid)
 Frees all memory.
subroutine vol_to_lnr (r, f_vol, f_lnr)
 Convert a concentration f(vol)d(vol) to f(ln(r))d(ln(r)) where vol = 4/3 pi r^3.
subroutine bin_grid_make (bin_grid, n_bin, v_min, v_max)
 Generates the bin grid given the range and number of bins.
real *8 bin_grid_edge (bin_grid, i)
 Given a bin_grid (which stores the center points of the bins), find the given edge volume (m^3).
integer bin_grid_particle_in_bin (bin_grid, v)
 Find the bin number that contains a given particle. This assumes logarithmically spaced bins.
subroutine spec_file_read_bin_grid (file, bin_grid)
 Read the specification for a bin_grid from a spec file and generate it.
integer pmc_mpi_pack_size_bin_grid (val)
 Determines the number of bytes required to pack the given value.
subroutine pmc_mpi_pack_bin_grid (buffer, position, val)
 Packs the given value into the buffer, advancing position.
subroutine pmc_mpi_unpack_bin_grid (buffer, position, val)
 Unpacks the given value from the buffer, advancing position.
subroutine bin_grid_netcdf_dim_aero_radius (bin_grid, ncid, dimid_aero_radius)
 Write the aero_radius dimension to the given NetCDF file if it is not already present and in any case return the associated dimid.
subroutine bin_grid_output_netcdf (bin_grid, ncid)
 Write full state.
subroutine bin_grid_input_netcdf (bin_grid, ncid)
 Read full state.


Detailed Description

The bin_grid_t structure and associated subroutines.

Function Documentation

subroutine pmc_bin_grid::bin_grid_allocate ( type(bin_grid_t),intent(out)  bin_grid  ) 

Allocates a bin_grid.

Parameters:
bin_grid  Bin grid.

subroutine pmc_bin_grid::bin_grid_allocate_size ( type(bin_grid_t),intent(out)  bin_grid,
integer,intent(in)  n_bin 
)

Allocates a bin_grid of the given size.

Parameters:
bin_grid  Bin grid.
n_bin  Number of bins.

subroutine pmc_bin_grid::bin_grid_deallocate ( type(bin_grid_t),intent(inout)  bin_grid  ) 

Frees all memory.

Parameters:
bin_grid  Bin_grid to free.

real*8 pmc_bin_grid::bin_grid_edge ( type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  i 
)

Given a bin_grid (which stores the center points of the bins), find the given edge volume (m^3).

With n_bin bin centers there are (n_bin + 1) bin edges, so bin center bin_gridv(i) is between bin edges i and (i + 1). This code currently assumes a logarithmically spaced bin grid and returns logarithmically spaced edges.

Parameters:
bin_grid  Bin_grid.
i  Edge number (1 <= i <= n_bin + 1).

subroutine pmc_bin_grid::bin_grid_input_netcdf ( type(bin_grid_t),intent(inout)  bin_grid,
integer,intent(in)  ncid 
)

Read full state.

Parameters:
bin_grid  bin_grid to read.
ncid  NetCDF file ID, in data mode.

subroutine pmc_bin_grid::bin_grid_make ( type(bin_grid_t),intent(out)  bin_grid,
integer,intent(in)  n_bin,
real*8,intent(in)  v_min,
real*8,intent(in)  v_max 
)

Generates the bin grid given the range and number of bins.

Parameters:
bin_grid  New bin grid.
n_bin  Number of bins.
v_min  Minimum volume (m^3).
v_max  Minimum volume (m^3).

subroutine pmc_bin_grid::bin_grid_netcdf_dim_aero_radius ( type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  ncid,
integer,intent(out)  dimid_aero_radius 
)

Write the aero_radius dimension to the given NetCDF file if it is not already present and in any case return the associated dimid.

Parameters:
bin_grid  Bin_grid structure.
ncid  NetCDF file ID, in data mode.
dimid_aero_radius  Dimid of the aero_radius dimension.

subroutine pmc_bin_grid::bin_grid_output_netcdf ( type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  ncid 
)

Write full state.

Parameters:
bin_grid  bin_grid to write.
ncid  NetCDF file ID, in data mode.

integer pmc_bin_grid::bin_grid_particle_in_bin ( type(bin_grid_t),intent(in)  bin_grid,
real*8,intent(in)  v 
)

Find the bin number that contains a given particle. This assumes logarithmically spaced bins.

Parameters:
bin_grid  Bin_grid.
v  Volume of particle.

subroutine pmc_bin_grid::pmc_mpi_pack_bin_grid ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(bin_grid_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_bin_grid::pmc_mpi_pack_size_bin_grid ( type(bin_grid_t),intent(in)  val  ) 

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

Parameters:
val  Value to pack.

subroutine pmc_bin_grid::pmc_mpi_unpack_bin_grid ( character,dimension(:),intent(inout)  buffer,
integer,intent(inout)  position,
type(bin_grid_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_bin_grid::spec_file_read_bin_grid ( type(spec_file_t),intent(inout)  file,
type(bin_grid_t),intent(out)  bin_grid 
)

Read the specification for a bin_grid from a spec file and generate it.

Parameters:
file  Spec file.
bin_grid  Bin grid.

subroutine pmc_bin_grid::vol_to_lnr ( real*8,intent(in)  r,
real*8,intent(in)  f_vol,
real*8,intent(out)  f_lnr 
)

Convert a concentration f(vol)d(vol) to f(ln(r))d(ln(r)) where vol = 4/3 pi r^3.

Parameters:
r  Radius (m).
f_vol  Concentration as a function of volume.
f_lnr  Concentration as a function of ln(r).


Generated on Mon Apr 26 17:13:31 2010 for PartMC by  doxygen 1.5.6