22 real(kind=dp),
parameter :: beta_0 = 0.25d0 / (60d0 * 2d8)
30 aero_data, env_state, k)
41 real(kind=dp),
intent(out) :: k
53 real(kind=dp),
intent(in) :: v1
55 real(kind=dp),
intent(in) :: v2
61 real(kind=dp),
intent(out) :: k_min
63 real(kind=dp),
intent(out) :: k_max
93 radius_at_mean_vol, env_state, aero_binned)
100 real(kind=dp),
intent(in) :: time
102 real(kind=dp),
intent(in) :: num_conc
104 real(kind=dp),
intent(in) :: radius_at_mean_vol
110 real(kind=dp) :: tau, t, rat_v, nn, b, sigma, mean_vol
113 real(kind=dp),
parameter :: lambda = 1d0
115 mean_vol =
rad2vol(radius_at_mean_vol)
116 if (time .eq. 0d0)
then
117 do k = 1,bin_grid%n_bin
118 aero_binned%num_conc(k) = const%pi / 2d0 &
119 * (2d0 * bin_grid%centers(k))**3 * num_conc / mean_vol &
120 * exp(-(
rad2vol(bin_grid%centers(k)) / mean_vol))
123 tau = num_conc * beta_0 * time
124 do k = 1,bin_grid%n_bin
125 rat_v =
rad2vol(bin_grid%centers(k)) / mean_vol
126 nn = 4d0 * num_conc / (mean_vol * ( tau + 2d0 ) ** 2d0) &
127 * exp(-2d0*rat_v/(tau+2d0)*exp(-lambda*tau)-lambda*tau)
128 aero_binned%num_conc(k) = const%pi / 2d0 &
129 * (2d0 * bin_grid%centers(k))**3d0 * nn
133 aero_binned%vol_conc = 0d0
134 do k = 1,bin_grid%n_bin
135 aero_binned%vol_conc(k,1) =
rad2vol(bin_grid%centers(k)) &
136 * aero_binned%num_conc(k)
The aero_data_t structure and associated subroutines.
real(kind=dp) elemental function rad2vol(r)
Convert radius (m) to volume (m^3).
The aero_dist_t structure and associated subroutines.
The aero_particle_t structure and associated subroutines.
The env_state_t structure and associated subroutines.
subroutine kernel_constant(aero_particle_1, aero_particle_2, aero_data, env_state, k)
Constant coagulation kernel.
subroutine soln_constant_exp(bin_grid, aero_data, time, num_conc, radius_at_mean_vol, env_state, aero_binned)
Exact solution with a constant coagulation kernel and an exponential initial condition.
Common utility subroutines.
Current environment state.
Constant coagulation kernel.
Single aerosol particle data structure.
1D grid, either logarithmic or linear.
The bin_grid_t structure and associated subroutines.
The aero_binned_t structure and associated subroutines.
subroutine kernel_constant_minmax(v1, v2, aero_data, env_state, k_min, k_max)
Minimum and maximum values of the constant coagulation kernel.
Aerosol material properties and associated data.
Aerosol number and volume distributions stored per bin.