PartMC 2.1.1
|
Generic coagulation kernel. More...
Functions/Subroutines | |
character(len=COAG_KERNEL_TYPE_LEN) | coag_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. |
Generic coagulation kernel.
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.
n_bin | Number of bins. |
bin_r | Radii of particles in bins (m). |
aero_data | Aerosol data. |
coag_kernel_type | Coagulation kernel type. |
env_state | Environment state. |
k | Kernel values. |
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.
coag_kernel_type | Coagulation kernel type. |
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).
bin_grid | Bin_grid. |
coag_kernel_type | Coagulation kernel type. |
aero_data | Aerosol data. |
aero_weight | Aerosol weight. |
env_state | Environment state. |
k_max | Max kernel vals. |
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.
bin_grid | Bin_grid. |
coag_kernel_type | Coagulation kernel type. |
b1 | First bin. |
b2 | Second bin. |
aero_data | Aerosol data. |
aero_weight | Aerosol weight. |
env_state | Environment state. |
k_max | Maximum kernel values. |
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.
coag_kernel_type | Coagulation kernel type. |
aero_particle_1 | First particle. |
aero_particle_2 | Second particle. |
aero_data | Aerosol data. |
env_state | Environment state. |
k | Kernel k(a,b) (m^3/s). |
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.
coag_kernel_type | Coagulation kernel type. |
v1 | Volume of first particle (m^3). |
v2 | Volume of second particle (m^3). |
aero_data | Aerosol data. |
env_state | Environment state. |
k_max | Maximum kernel value (m^3/s). |
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.
file | Spec file. |
coag_kernel_type | Kernel type. |
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.
coag_kernel_type | Coagulation kernel type. |
aero_particle_1 | First particle. |
aero_particle_2 | Second particle. |
aero_data | Aerosol data. |
aero_weight | Aerosol weight. |
env_state | Environment state. |
k | Coagulation kernel. |
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.
coag_kernel_type | Coagulation kernel type. |
v1 | Volume of first particle. |
v2 | Volume of second particle. |
aero_data | Aerosol data. |
aero_weight | Aerosol weight. |
env_state | Environment state. |
k_max | Coagulation kernel maximum value. |
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_ADDITIVE = 2 |
Type code for an additive kernel.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_BROWN = 4 |
Type code for a Brownian kernel.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_CONSTANT = 3 |
Type code for a constant kernel.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_INVALID = 0 |
Type code for an undefined or invalid kernel.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_LEN = 20 |
Maximum length of a mode type.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_SEDI = 1 |
Type code for a sedimentation kernel.
integer,parameter pmc_coag_kernel::COAG_KERNEL_TYPE_ZERO = 5 |
Type code for a zero kernel.