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_alloc (bin_grid, n_bin)
 Allocates a bin_grid.
subroutine bin_grid_free (bin_grid)
 Frees all memory.
subroutine vol_to_lnr (r, f_vol, f_lnr)
 Convert a density 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 inout_write_bin_grid (file, bin_grid)
 Write full state.
subroutine inout_read_bin_grid (file, bin_grid)
 Read full state.
subroutine spec_read_bin_grid (file, bin_grid)
 Read the specification for a bin_grid from a inout 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.

Detailed Description

The bin_grid_t structure and associated subroutines.


Function Documentation

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

Allocates a bin_grid.

Parameters:
bin_grid Bin grid.
n_bin Number of bins.
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_free ( type(bin_grid_t),intent(inout)  bin_grid  ) 

Frees all memory.

Parameters:
bin_grid Bin_grid to free.
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, will be allocated.
n_bin Number of bins.
v_min Minimum volume (m^3).
v_max Minimum volume (m^3).
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::inout_read_bin_grid ( type(inout_file_t),intent(inout)  file,
type(bin_grid_t),intent(out)  bin_grid 
)

Read full state.

Parameters:
file File to read from.
bin_grid Bin_grid to read.
subroutine pmc_bin_grid::inout_write_bin_grid ( type(inout_file_t),intent(inout)  file,
type(bin_grid_t),intent(in)  bin_grid 
)

Write full state.

Parameters:
file File to write to.
bin_grid Bin_grid to write.
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_read_bin_grid ( type(inout_file_t),intent(inout)  file,
type(bin_grid_t),intent(out)  bin_grid 
)

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

Parameters:
file Inout 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 density f(vol)d(vol) to f(ln(r))d(ln(r)) where vol = 4/3 pi r^3.

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

Generated on 29 Mar 2010 for PartMC by  doxygen 1.6.1