PartMC 2.1.2
Functions/Subroutines | Variables
pmc_coag_kernel Module Reference

Generic coagulation kernel. More...

Functions/Subroutines

character(len=COAG_KERNEL_TYPE_LENcoag_kernel_type_to_string (coag_kernel_type)
 Return a string representation of a kernel type.
subroutine kernel (coag_kernel_type, aero_particle_1, aero_particle_2, aero_data, env_state, k)
 Evalulate a coagulation kernel function.
subroutine kernel_max (coag_kernel_type, v1, v2, aero_data, env_state, k_max)
 Compute the maximum coagulation kernel.
subroutine weighted_kernel (coag_kernel_type, aero_particle_1, aero_particle_2, aero_data, aero_weight, env_state, k)
 Compute the kernel value with the given weight.
subroutine weighted_kernel_max (coag_kernel_type, v1, v2, aero_data, aero_weight, env_state, k_max)
 Compute the max kernel value with the given weight.
subroutine bin_kernel (n_bin, bin_r, aero_data, coag_kernel_type, env_state, k)
 Computes an array of kernel values for each bin pair. k(i,j) is the kernel value at the centers of bins i and j. This assumes the kernel is only a function of the particle volumes.
subroutine est_k_max_binned (bin_grid, coag_kernel_type, aero_data, aero_weight, env_state, k_max)
 Estimate an array of maximum kernel values. Given particles v1 in bin b1 and v2 in bin b2, it is probably true that kernel(v1,v2) <= k_max(b1,b2).
subroutine est_k_max_for_bin (bin_grid, coag_kernel_type, b1, b2, aero_data, aero_weight, env_state, k_max)
 Samples within bins b1 and b2 to find the maximum value of the kernel between particles from the two bins.
subroutine spec_file_read_coag_kernel_type (file, coag_kernel_type)
 Read the specification for a kernel type from a spec file and generate it.

Variables

integer, parameter COAG_KERNEL_TYPE_LEN = 20
 Maximum length of a mode type.
integer, parameter COAG_KERNEL_TYPE_INVALID = 0
 Type code for an undefined or invalid kernel.
integer, parameter COAG_KERNEL_TYPE_SEDI = 1
 Type code for a sedimentation kernel.
integer, parameter COAG_KERNEL_TYPE_ADDITIVE = 2
 Type code for an additive kernel.
integer, parameter COAG_KERNEL_TYPE_CONSTANT = 3
 Type code for a constant kernel.
integer, parameter COAG_KERNEL_TYPE_BROWN = 4
 Type code for a Brownian kernel.
integer, parameter COAG_KERNEL_TYPE_ZERO = 5
 Type code for a zero kernel.

Detailed Description

Generic coagulation kernel.


Function/Subroutine Documentation

subroutine pmc_coag_kernel::bin_kernel ( integer,intent(in)  n_bin,
real(kind=dp),dimension(n_bin),intent(in)  bin_r,
type(aero_data_t),intent(in)  aero_data,
integer,intent(in)  coag_kernel_type,
type(env_state_t),intent(in)  env_state,
real(kind=dp),dimension(n_bin,n_bin),intent(out)  k 
)

Computes an array of kernel values for each bin pair. k(i,j) is the kernel value at the centers of bins i and j. This assumes the kernel is only a function of the particle volumes.

Parameters:
n_binNumber of bins.
bin_rRadii of particles in bins (m).
aero_dataAerosol data.
coag_kernel_typeCoagulation kernel type.
env_stateEnvironment state.
kKernel values.

Definition at line 221 of file coag_kernel.F90.

character(len=COAG_KERNEL_TYPE_LEN) pmc_coag_kernel::coag_kernel_type_to_string ( integer,intent(in)  coag_kernel_type)

Return a string representation of a kernel type.

Parameters:
coag_kernel_typeCoagulation kernel type.

Definition at line 43 of file coag_kernel.F90.

subroutine pmc_coag_kernel::est_k_max_binned ( type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  coag_kernel_type,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(env_state_t),intent(in)  env_state,
real(kind=dp),dimension(bin_grid%n_bin,bin_grid%n_bin),intent(out)  k_max 
)

Estimate an array of maximum kernel values. Given particles v1 in bin b1 and v2 in bin b2, it is probably true that kernel(v1,v2) <= k_max(b1,b2).

Parameters:
bin_gridBin_grid.
coag_kernel_typeCoagulation kernel type.
aero_dataAerosol data.
aero_weightAerosol weight.
env_stateEnvironment state.
k_maxMax kernel vals.

Definition at line 262 of file coag_kernel.F90.

subroutine pmc_coag_kernel::est_k_max_for_bin ( type(bin_grid_t),intent(in)  bin_grid,
integer,intent(in)  coag_kernel_type,
integer,intent(in)  b1,
integer,intent(in)  b2,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(env_state_t),intent(in)  env_state,
real(kind=dp),intent(out)  k_max 
)

Samples within bins b1 and b2 to find the maximum value of the kernel between particles from the two bins.

Parameters:
bin_gridBin_grid.
coag_kernel_typeCoagulation kernel type.
b1First bin.
b2Second bin.
aero_dataAerosol data.
aero_weightAerosol weight.
env_stateEnvironment state.
k_maxMaximum kernel values.

Definition at line 293 of file coag_kernel.F90.

subroutine pmc_coag_kernel::kernel ( integer,intent(in)  coag_kernel_type,
type(aero_particle_t),intent(in)  aero_particle_1,
type(aero_particle_t),intent(in)  aero_particle_2,
type(aero_data_t),intent(in)  aero_data,
type(env_state_t),intent(in)  env_state,
real(kind=dp),intent(out)  k 
)

Evalulate a coagulation kernel function.

Parameters:
coag_kernel_typeCoagulation kernel type.
aero_particle_1First particle.
aero_particle_2Second particle.
aero_dataAerosol data.
env_stateEnvironment state.
kKernel k(a,b) (m^3/s).

Definition at line 70 of file coag_kernel.F90.

subroutine pmc_coag_kernel::kernel_max ( integer,intent(in)  coag_kernel_type,
real(kind=dp),intent(in)  v1,
real(kind=dp),intent(in)  v2,
type(aero_data_t),intent(in)  aero_data,
type(env_state_t),intent(in)  env_state,
real(kind=dp),intent(out)  k_max 
)

Compute the maximum coagulation kernel.

Parameters:
coag_kernel_typeCoagulation kernel type.
v1Volume of first particle (m^3).
v2Volume of second particle (m^3).
aero_dataAerosol data.
env_stateEnvironment state.
k_maxMaximum kernel value (m^3/s).

Definition at line 111 of file coag_kernel.F90.

subroutine pmc_coag_kernel::spec_file_read_coag_kernel_type ( type(spec_file_t),intent(inout)  file,
integer,intent(out)  coag_kernel_type 
)

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

Parameters:
fileSpec file.
coag_kernel_typeKernel type.

Definition at line 348 of file coag_kernel.F90.

subroutine pmc_coag_kernel::weighted_kernel ( integer,intent(in)  coag_kernel_type,
type(aero_particle_t),intent(in)  aero_particle_1,
type(aero_particle_t),intent(in)  aero_particle_2,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(env_state_t),intent(in)  env_state,
real(kind=dp),intent(out)  k 
)

Compute the kernel value with the given weight.

Parameters:
coag_kernel_typeCoagulation kernel type.
aero_particle_1First particle.
aero_particle_2Second particle.
aero_dataAerosol data.
aero_weightAerosol weight.
env_stateEnvironment state.
kCoagulation kernel.

Definition at line 146 of file coag_kernel.F90.

subroutine pmc_coag_kernel::weighted_kernel_max ( integer,intent(in)  coag_kernel_type,
real(kind=dp),intent(in)  v1,
real(kind=dp),intent(in)  v2,
type(aero_data_t),intent(in)  aero_data,
type(aero_weight_t),intent(in)  aero_weight,
type(env_state_t),intent(in)  env_state,
real(kind=dp),intent(out)  k_max 
)

Compute the max kernel value with the given weight.

Parameters:
coag_kernel_typeCoagulation kernel type.
v1Volume of first particle.
v2Volume of second particle.
aero_dataAerosol data.
aero_weightAerosol weight.
env_stateEnvironment state.
k_maxCoagulation kernel maximum value.

Definition at line 184 of file coag_kernel.F90.


Variable Documentation

Type code for an additive kernel.

Definition at line 30 of file coag_kernel.F90.

Type code for a Brownian kernel.

Definition at line 34 of file coag_kernel.F90.

Type code for a constant kernel.

Definition at line 32 of file coag_kernel.F90.

Type code for an undefined or invalid kernel.

Definition at line 26 of file coag_kernel.F90.

integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_LEN = 20

Maximum length of a mode type.

Definition at line 23 of file coag_kernel.F90.

Type code for a sedimentation kernel.

Definition at line 28 of file coag_kernel.F90.

Type code for a zero kernel.

Definition at line 36 of file coag_kernel.F90.