PartMC  2.3.0
Public Member Functions | List of all members
pmc_coag_kernel_zero Module Reference

Constant kernel equal to zero. More...

Public Member Functions

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, loss_function_type, aero_binned)
 Exact solution with the zero coagulation kernel. Only useful for testing emissions and background dilution. 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.

Definition at line 13 of file coag_kernel_zero.F90.

Member Function/Subroutine Documentation

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.

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.

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,
integer, intent(in)  loss_function_type,
type(aero_binned_t), intent(inout)  aero_binned 
)

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

With only constant-rate emissions and dilution the number distribution $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 volume-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 or background dilution.

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]loss_function_typeParticle loss function type.
[in,out]aero_binnedOutput state.

Definition at line 105 of file coag_kernel_zero.F90.


The documentation for this module was generated from the following file: