PartMC  2.6.1
Functions/Subroutines
pmc_coag_kernel_zero Module Reference

Constant kernel equal to zero. More...

Functions/Subroutines

subroutine kernel_zero (aero_particle_1, aero_particle_2, aero_data, env_state, k)
 Zero coagulation kernel. More...
 
subroutine kernel_zero_minmax (v1, v2, aero_data, env_state, k_min, k_max)
 Minimum and maximum of the zero coagulation kernel. More...
 
subroutine soln_zero (bin_grid, aero_data, time, aero_dist_init, scenario, env_state, aero_binned)
 Exact solution with the zero coagulation kernel. Only useful for testing emissions, background dilution, and proportional loss functions. More...
 

Detailed Description

Constant kernel equal to zero.

This is only of interest for the exact solution to the no-coagulation, no-condensation case that can be used to test emissions and background dilution.

Function/Subroutine Documentation

◆ kernel_zero()

subroutine pmc_coag_kernel_zero::kernel_zero ( 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 
)

Zero coagulation kernel.

Parameters
[in]aero_particle_1First particle.
[in]aero_particle_2Second particle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.
[out]kCoagulation kernel.

Definition at line 29 of file coag_kernel_zero.F90.

◆ kernel_zero_minmax()

subroutine pmc_coag_kernel_zero::kernel_zero_minmax ( 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_min,
real(kind=dp), intent(out)  k_max 
)

Minimum and maximum of the zero coagulation kernel.

Parameters
[in]v1Volume of first particle.
[in]v2Volume of second particle.
[in]aero_dataAerosol data.
[in]env_stateEnvironment state.
[out]k_minCoagulation kernel minimum value.
[out]k_maxCoagulation kernel maximum value.

Definition at line 50 of file coag_kernel_zero.F90.

◆ soln_zero()

subroutine pmc_coag_kernel_zero::soln_zero ( type(bin_grid_t), intent(in)  bin_grid,
type(aero_data_t), intent(in)  aero_data,
real(kind=dp), intent(in)  time,
type(aero_dist_t), intent(in)  aero_dist_init,
type(scenario_t), intent(in)  scenario,
type(env_state_t), intent(in)  env_state,
type(aero_binned_t), intent(inout)  aero_binned 
)

Exact solution with the zero coagulation kernel. Only useful for testing emissions, background dilution, and proportional loss functions.

With only constant-rate emissions, dilutionm, and proportional losses the numberdistribution $n(D,t)$ at diameter $D$ and time $t$ satisfies:

\[ \frac{d n(D,t)}{dt} = k_{\rm emit} n_{\rm emit}(D) + (k_{\rm dilute} + k_{\rm loss}(D)) (n_{\rm back}(D) - n(D,t)) \]

together with the initial condition $ n(D,0) = n_0(D) $. Here $n_{\rm emit}(D)$ and $n_{\rm back}(D)$ are emission and background size distributions, with corresponding rates $k_{\rm emit}$ and $k_{\rm dilute}$. An optional loss function $k_{\rm loss}(D)$ can be used to specify a size-dependent rate at which particles are lost. All values are taken at time $t = 0$ and held constant, so there is no support for time-varying emissions, background dilution, or loss functions.

This is a family of ODEs parameterized by $D$ with solution:

\[ n(D,t) = n_{\infty}(D) + (n_0(D) - n_{\infty}(D)) \exp( -(k_{\rm dilute} + k_{\rm loss}(D)) t) \]

where the steady state limit is:

\[ n_{\infty}(D) = n(D,\infty) = n_{\rm back}(D) + \frac{k_{\rm emit}}{k_{\rm dilute} + k_{\rm loss}(D)} n_{\rm emit}(D) \]

Parameters
[in]bin_gridBin grid.
[in]aero_dataAerosol data.
[in]timeCurrent time (s).
[in]aero_dist_initInitial distribution.
[in]scenarioScenario.
[in]env_stateEnvironment state.
[in,out]aero_binnedOutput state.

Definition at line 105 of file coag_kernel_zero.F90.