20 real(kind=dp) :: volume = 0d0
22 real(kind=dp) :: area_diffuse = 0d0
24 real(kind=dp) :: area_sedi = 0d0
26 real(kind=dp) :: prefactor_bl = 0d0
28 real(kind=dp) :: exponent_bl = 0d0
39 real(kind=dp),
intent(in) :: vol
43 real(kind=dp),
intent(in) :: temp
45 real(kind=dp),
intent(in) :: pressure
47 real(kind=dp) :: R_eff, R_me_c, C
49 r_eff = fractal_vol_to_effective_rad(aero_data%fractal, vol)
50 r_me_c = fractal_vol_to_mobility_rad_in_continuum(aero_data%fractal, vol)
51 c = fractal_slip_correct(r_eff, temp, pressure)
54 / (6d0 *
const%pi *
const%air_dyn_visc * r_me_c)
68 real(kind=dp),
intent(in) :: vol
72 real(kind=dp),
intent(in) :: temp
74 real(kind=dp),
intent(in) :: pressure
95 real(kind=dp),
intent(in) :: vol
101 real(kind=dp) :: D, delta
108 / (delta * chamber%volume)
117 aero_data, env_state)
122 real(kind=dp),
intent(in) :: vol
124 real(kind=dp),
intent(in) :: density
135 = (density * vol *
const%std_grav * d * chamber%area_sedi) &
136 / (
const%boltzmann * env_state%temp * chamber%volume)
143 subroutine spec_file_read_chamber(file, chamber)
148 type(
chamber_t),
intent(inout) :: chamber
173 chamber%area_diffuse)
177 chamber%prefactor_BL)
181 end subroutine spec_file_read_chamber
191 integer :: total_size, i, n
208 character,
intent(inout) :: buffer(:)
210 integer,
intent(inout) :: position
215 integer :: prev_position, i
217 prev_position = position
235 character,
intent(inout) :: buffer(:)
237 integer,
intent(inout) :: position
242 integer :: prev_position, i
244 prev_position = position
integer function pmc_mpi_pack_size_chamber(val)
Determines the number of bytes required to pack the given value.
An input file with extra data for printing messages.
real(kind=dp) function chamber_diff_coef(vol, aero_data, temp, pressure)
Based on Eq. 23 in Naumann 2003 J. Aerosol. Sci.
The env_state_t structure and associated subroutines.
subroutine assert(code, condition_ok)
Errors unless condition_ok is true.
subroutine spec_file_read_real(file, name, var)
Read a real number from a spec file that must have the given name.
subroutine pmc_mpi_unpack_chamber(buffer, position, val)
Unpacks the given value from the buffer, advancing position.
integer function pmc_mpi_pack_size_real(val)
Determines the number of bytes required to pack the given value.
Current environment state.
subroutine pmc_mpi_pack_chamber(buffer, position, val)
Packs the given value into the buffer, advancing position.
subroutine pmc_mpi_pack_real(buffer, position, val)
Packs the given value into the buffer, advancing position.
real(kind=dp) function chamber_diff_bl_thick(chamber, vol, aero_data, temp, pressure)
Calculate diffusional boundary layer thickness. Based on Eq. 40 in Naumann 2003 J. Aerosol. Sci.
real(kind=dp) function chamber_loss_rate_wall(chamber, vol, aero_data, env_state)
Calculate the loss rate due to wall diffusion in chamber. Based on Eq. 37a in Naumann 2003 J...
The aero_data_t structure and associated subroutines.
Reading formatted text input.
subroutine pmc_mpi_unpack_real(buffer, position, val)
Unpacks the given value from the buffer, advancing position.
real(kind=dp) function chamber_loss_rate_sedi(chamber, vol, density, aero_data, env_state)
Calculate the loss rate due to sedimentation in chamber. Based on Eq. 37b in Naumann 2003 J...
type(const_t), save const
Fixed variable for accessing the constant's values.
Aerosol material properties and associated data.
real(kind=dp), parameter chamber_unit_diff_coef
Unit translational diffusion coefficient (m^2 s^{-1}).