pmc_condensation Namespace Reference

Water condensation onto aerosol particles. More...


Functions

subroutine condense_particles (bin_grid, env_state, aero_data, aero_state, del_t)
 Do condensation to all the particles for a given time interval, including updating the environment to account for the lost vapor.
subroutine condense_particle (del_t, env_state, aero_data, aero_particle)
 Integrate the condensation growth or decay ODE for total time del_t for a single particle.
subroutine condense_step_euler (max_dt, dt, done, env_state, aero_data, aero_particle)
 Does one timestep (determined by this subroutine) of the condensation ODE.
subroutine condense_step_rk_fixed (max_dt, dt, done, env_state, aero_data, aero_particle)
 Does one timestep (determined by this subroutine) of the condensation ODE.
subroutine condense_step_rk (dt, env_state, aero_data, aero_particle)
 Does one fixed timestep of Runge-Kutta-4.
subroutine find_condense_timestep_constant (dt, env_state, aero_data, aero_particle)
 Just returns a constant timestep.
subroutine find_condense_timestep_variable (dt, env_state, aero_data, aero_particle)
 Computes a timestep proportional to V / (dV/dt).
subroutine cond_growth_rate (dvdt, env_state, aero_data, aero_particle)
 Find the water volume growth rate due to condensation.
subroutine cond_growth_rate_old (dvdt, env_state, aero_data, aero_particle)
subroutine cond_newt (x, env_state, aero_data, func, x_tol, f_tol, iter_max, aero_particle)
 Scalar Newton's method for solving the implicit condensation functions.
subroutine cond_growth_rate_func (env_state, aero_data, init, dmdt, f, df, aero_particle)
 Return the error function value and its derivative for the implicit growth rate function.
subroutine equilibriate_particle (env_state, aero_data, aero_particle)
 Add water to the particle until it is in equilibrium.
subroutine equilibriate_func (env_state, aero_data, init, dw, f, df, aero_particle)
 Return the error function value and its derivative for the implicit function that determines the equilibrium state of a particle.
subroutine aero_state_equilibriate (bin_grid, env_state, aero_data, aero_state)
 Call equilibriate_particle() on each particle in the aerosol.


Detailed Description

Water condensation onto aerosol particles.

Function Documentation

subroutine pmc_condensation::aero_state_equilibriate ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(inout)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_state_t),intent(inout)  aero_state 
)

Call equilibriate_particle() on each particle in the aerosol.

Parameters:
bin_grid  Bin grid.
env_state  Environment state.
aero_data  Aerosol data.
aero_state  Aerosol state.

subroutine pmc_condensation::cond_growth_rate ( real*8,intent(out)  dvdt,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(in)  aero_particle 
)

Find the water volume growth rate due to condensation.

Parameters:
dvdt  Dv/dt (m^3 s^{-1}).
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::cond_growth_rate_func ( type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
logical,intent(in)  init,
real*8,intent(in)  dmdt,
real*8,intent(out)  f,
real*8,intent(out)  df,
type(aero_particle_t),intent(in)  aero_particle 
)

Return the error function value and its derivative for the implicit growth rate function.

Parameters:
env_state  Environment state.
aero_data  Aerosol data.
init  True if first Newton loop.
dmdt  Mass growth rate dm/dt (kg s^{-1}).
f  Error.
df  Derivative of error with respect to x.
aero_particle  Particle.

subroutine pmc_condensation::cond_growth_rate_old ( real*8,intent(out)  dvdt,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(in)  aero_particle 
)

Parameters:
dvdt  Dv/dt (m^3 s^{-1}).
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::cond_newt ( real*8,intent(inout)  x,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
func  ,
real*8,intent(in)  x_tol,
real*8,intent(in)  f_tol,
integer,intent(in)  iter_max,
type(aero_particle_t),intent(in)  aero_particle 
)

Scalar Newton's method for solving the implicit condensation functions.

Parameters:
x  Variable (set to init value on call).
env_state  Environment state.
aero_data  Aerosol data.
x_tol  X convergence tolerance.
f_tol  F convergence tolerance.
iter_max  Maximum number of iterations.
aero_particle  Particle.

subroutine pmc_condensation::condense_particle ( real*8,intent(in)  del_t,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(inout)  aero_particle 
)

Integrate the condensation growth or decay ODE for total time del_t for a single particle.

Parameters:
del_t  Total time to integrate.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::condense_particles ( type(bin_grid_t),intent(in)  bin_grid,
type(env_state_t),intent(inout)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_state_t),intent(inout)  aero_state,
real*8,intent(in)  del_t 
)

Do condensation to all the particles for a given time interval, including updating the environment to account for the lost vapor.

Parameters:
bin_grid  Bin grid.
env_state  Environment state.
aero_data  Aerosol data.
aero_state  Aerosol state.
del_t  Total time to integrate.

subroutine pmc_condensation::condense_step_euler ( real*8,intent(in)  max_dt,
real*8,intent(out)  dt,
logical,intent(out)  done,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(inout)  aero_particle 
)

Does one timestep (determined by this subroutine) of the condensation ODE.

The timestep will not exceed max_dt, but might be less. If we in fact step all the way to max_dt then done will be true. This uses the explicit (forward) Euler integrator.

Parameters:
max_dt  Maximum timestep to integrate.
dt  Actual timestep used.
done  Did we reach the maximum timestep?.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::condense_step_rk ( real*8,intent(out)  dt,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(inout)  aero_particle 
)

Does one fixed timestep of Runge-Kutta-4.

Parameters:
dt  Timestep.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::condense_step_rk_fixed ( real*8,intent(in)  max_dt,
real*8,intent(out)  dt,
logical,intent(out)  done,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(inout)  aero_particle 
)

Does one timestep (determined by this subroutine) of the condensation ODE.

The timestep will not exceed max_dt, but might be less. If we in fact step all the way to max_dt then done will be true. This uses the explicit 4th-order Runge-Kutta integrator.

Parameters:
max_dt  Maximum timestep to integrate.
dt  Actual timestep used.
done  Did we reach the maximum timestep?.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::equilibriate_func ( type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
logical,intent(in)  init,
real*8,intent(in)  dw,
real*8,intent(out)  f,
real*8,intent(out)  df,
type(aero_particle_t),intent(inout)  aero_particle 
)

Return the error function value and its derivative for the implicit function that determines the equilibrium state of a particle.

Parameters:
env_state  Environment state.
aero_data  Aerosol data.
init  True if first Newton loop.
dw  Wet diameter (m).
f  Function value.
df  Function derivative df/dx.
aero_particle  Particle.

subroutine pmc_condensation::equilibriate_particle ( type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(inout)  aero_particle 
)

Add water to the particle until it is in equilibrium.

Parameters:
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::find_condense_timestep_constant ( real*8,intent(out)  dt,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(in)  aero_particle 
)

Just returns a constant timestep.

Parameters:
dt  Timestep to use.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.

subroutine pmc_condensation::find_condense_timestep_variable ( real*8,intent(out)  dt,
type(env_state_t),intent(in)  env_state,
type(aero_data_t),intent(in)  aero_data,
type(aero_particle_t),intent(in)  aero_particle 
)

Computes a timestep proportional to V / (dV/dt).

Parameters:
dt  Timestep to use.
env_state  Environment state.
aero_data  Aerosol data.
aero_particle  Particle.


Generated on Mon Apr 26 17:13:31 2010 for PartMC by  doxygen 1.5.6