27 aero_data, env_state, k)
38 real(kind=
dp),
intent(out) :: k
40 real(kind=
dp) :: v1, v2, d1, d2
48 env_state%pressure, k)
61 real(kind=
dp),
intent(in) :: v1
63 real(kind=
dp),
intent(in) :: v2
69 real(kind=
dp),
intent(out) :: k_min
71 real(kind=
dp),
intent(out) :: k_max
74 integer,
parameter :: n_sample = 3
76 real(kind=
dp) :: d1, d2, d_min, d_max, k
80 d_min = minval(aero_data%density)
81 d_max = maxval(aero_data%density)
89 env_state%temp, env_state%pressure, k)
112 temp, pressure, bckernel)
115 real(kind=
dp),
intent(in) :: vol_i
117 real(kind=
dp),
intent(in) :: den_i
119 real(kind=
dp),
intent(in) :: vol_j
121 real(kind=
dp),
intent(in) :: den_j
125 real(kind=
dp),
intent(in) :: temp
127 real(kind=
dp),
intent(in) :: pressure
129 real(kind=
dp),
intent(out) :: bckernel
131 real(kind=
dp) :: cunning, deltasq_i, &
132 deltasq_j, diffus_i, diffus_j, diffus_sum, &
133 freepath, gasfreepath, gasspeed, knud, rad_i, rad_j, &
134 rad_sum, rhoair, speedsq_i, speedsq_j, tmp1, tmp2, &
135 viscosd, viscosk, rme_i, rme_j
143 rhoair = (pressure *
const%air_molec_weight) / &
144 (
const%univ_gas_const * temp)
146 viscosd = 1.8325d-05 * (416.16d0 / (temp + 120d0)) * &
147 (temp / 296.16d0)**1.5d0
148 viscosk = viscosd / rhoair
149 gasspeed = sqrt((8.0d0 *
const%boltzmann * temp *
const%avagadro) / &
151 gasfreepath = 2d0 * viscosk / gasspeed
167 knud = gasfreepath/rme_i
168 cunning = 1d0 + knud*(1.249d0 + 0.42d0*exp(-0.87d0/knud))
169 diffus_i = (
const%boltzmann * temp * cunning) / &
170 (6.0d0 *
const%pi * rme_i * viscosd)
171 speedsq_i = 8d0 *
const%boltzmann * temp / (
const%pi * den_i * vol_i)
172 freepath = 8d0*diffus_i/(
const%pi*sqrt(speedsq_i))
173 tmp1 = (2d0*rme_i + freepath)**3
174 tmp2 = (4d0*rme_i*rme_i + freepath*freepath)**1.5d0
175 deltasq_i = ( (tmp1-tmp2)/(6d0*rme_i*freepath) - 2d0*rme_i )**2
181 knud = gasfreepath/rme_j
182 cunning = 1d0 + knud*(1.249d0 + 0.42d0*exp(-0.87d0/knud))
183 diffus_j = (
const%boltzmann * temp * cunning) / &
184 (6.0d0 *
const%pi * rme_j * viscosd)
185 speedsq_j = 8d0 *
const%boltzmann * temp / (
const%pi * den_j * vol_j)
186 freepath = 8d0*diffus_j/(
const%pi*sqrt(speedsq_j))
187 tmp1 = (2d0*rme_j + freepath)**3
188 tmp2 = (4d0*rme_j*rme_j + freepath*freepath)**1.5d0
189 deltasq_j = ( (tmp1-tmp2)/(6d0*rme_j*freepath) - 2d0*rme_j )**2
191 rad_sum = rad_i + rad_j
192 diffus_sum = diffus_i + diffus_j
193 tmp1 = rad_sum/(rad_sum + sqrt(deltasq_i + deltasq_j))
194 tmp2 = 4d0*diffus_sum/(rad_sum*sqrt(speedsq_i + speedsq_j))
195 bckernel = 4d0*
const%pi*rad_sum*diffus_sum/(tmp1 + tmp2)