PartMC
2.1.5
|
Additive coagulation kernel. More...
Public Member Functions | |
subroutine | kernel_additive (aero_particle_1, aero_particle_2, aero_data, env_state, k) |
Additive coagulation kernel. | |
subroutine | kernel_additive_max (v1, v2, aero_data, env_state, k_max) |
Maximum value of the additive kernel. | |
subroutine | soln_additive_exp (bin_grid, aero_data, time, num_conc, radius_at_mean_vol, env_state, aero_binned) |
Exact solution with the additive coagulation kernel and exponential initial condition. | |
subroutine | bessi1 (x, r) |
Modified Bessel function of the first kind ![]() |
Additive coagulation kernel.
Definition at line 9 of file coag_kernel_additive.F90.
subroutine pmc_coag_kernel_additive::bessi1 | ( | real(kind=dp), intent(in) | x, |
real(kind=dp), intent(out) | r | ||
) |
Modified Bessel function of the first kind .
This looks like it was taken from Numerical Recipes.
FIXME: Where did this code come from? What license does it have?
[in] | x | Function argument. |
[out] | r | Function value. |
Definition at line 168 of file coag_kernel_additive.F90.
subroutine pmc_coag_kernel_additive::kernel_additive | ( | 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 | ||
) |
Additive coagulation kernel.
[in] | aero_particle_1 | First particle. |
[in] | aero_particle_2 | Second particle. |
[in] | aero_data | Aerosol data. |
[in] | env_state | Environment state. |
[out] | k | Coagulation kernel. |
Definition at line 27 of file coag_kernel_additive.F90.
subroutine pmc_coag_kernel_additive::kernel_additive_max | ( | 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 | ||
) |
Maximum value of the additive kernel.
[in] | v1 | Volume of first particle. |
[in] | v2 | Volume of second particle. |
[in] | aero_data | Aerosol data. |
[in] | env_state | Environment state. |
[out] | k_max | Coagulation kernel maximum value. |
Definition at line 49 of file coag_kernel_additive.F90.
subroutine pmc_coag_kernel_additive::soln_additive_exp | ( | type(bin_grid_t), intent(in) | bin_grid, |
type(aero_data_t), intent(in) | aero_data, | ||
real(kind=dp), intent(in) | time, | ||
real(kind=dp), intent(in) | num_conc, | ||
real(kind=dp), intent(in) | radius_at_mean_vol, | ||
type(env_state_t), intent(in) | env_state, | ||
type(aero_binned_t), intent(inout) | aero_binned | ||
) |
Exact solution with the additive coagulation kernel and exponential initial condition.
Given input paramaters and
we let the mean volume be
and define the rescaled times
and
, where
is the fixed kernel scaling parameter. Then the solution is
where is the modified Bessel function of the first kind and
.
For small we have
, so this solution has initial condition
[in] | bin_grid | Bin grid. |
[in] | aero_data | Aerosol data. |
[in] | time | Current time. |
[in] | num_conc | Particle number concentration (#/m^3). |
[in] | radius_at_mean_vol | Mean init radius (m). |
[in] | env_state | Environment state. |
[in,out] | aero_binned | Output state. |
Definition at line 97 of file coag_kernel_additive.F90.