Classes | |
interface | maybe_coag_pair__interface |
Functions | |
subroutine | maybe_coag_pair (bin_grid, aero_binned, env_state, aero_data, aero_state, b1, b2, del_t, k_max, kernel, did_coag) |
Choose a random pair for potential coagulation and test its probability of coagulation. If it happens, do the coagulation and update all structures. | |
subroutine | find_rand_pair (aero_state, b1, b2, s1, s2) |
Given bins b1 and b2, find a random pair of particles (b1, s1) and (b2, s2) that are not the same particle particle as each other. | |
subroutine | coagulate (bin_grid, aero_binned, aero_data, aero_state, b1, s1, b2, s2) |
Join together particles (b1, s1) and (b2, s2), updating all particle and bin structures to reflect the change. |
subroutine pmc_coagulation::coagulate | ( | type(bin_grid_t),intent(in) | bin_grid, | |
type(aero_binned_t),intent(inout) | aero_binned, | |||
type(aero_data_t),intent(in) | aero_data, | |||
type(aero_state_t),intent(inout) | aero_state, | |||
integer,intent(in) | b1, | |||
integer,intent(in) | s1, | |||
integer,intent(in) | b2, | |||
integer,intent(in) | s2 | |||
) |
Join together particles (b1, s1) and (b2, s2), updating all particle and bin structures to reflect the change.
bin_grid | Bin grid. |
aero_binned | Binned distributions. |
aero_data | Aerosol data. |
aero_state | Aerosol state. |
b1 | First particle (bin number). |
s1 | First particle (number in bin). |
b2 | Second particle (bin number). |
s2 | Second particle (number in bin). |
subroutine pmc_coagulation::find_rand_pair | ( | type(aero_state_t),intent(in) | aero_state, | |
integer,intent(in) | b1, | |||
integer,intent(in) | b2, | |||
integer,intent(out) | s1, | |||
integer,intent(out) | s2 | |||
) |
Given bins b1 and b2, find a random pair of particles (b1, s1) and (b2, s2) that are not the same particle particle as each other.
aero_state | Aerosol state. |
b1 | Bin number of first particle. |
b2 | Bin number of second particle. |
s1 | First rand particle. |
s2 | Second rand particle. |
subroutine pmc_coagulation::maybe_coag_pair | ( | type(bin_grid_t),intent(in) | bin_grid, | |
type(aero_binned_t),intent(out) | aero_binned, | |||
type(env_state_t),intent(inout) | env_state, | |||
type(aero_data_t),intent(in) | aero_data, | |||
type(aero_state_t),intent(inout) | aero_state, | |||
integer,intent(in) | b1, | |||
integer,intent(in) | b2, | |||
real*8,intent(in) | del_t, | |||
real*8,intent(in) | k_max, | |||
pmc_coagulation::maybe_coag_pair__interface | kernel, | |||
logical,intent(out) | did_coag | |||
) |
Choose a random pair for potential coagulation and test its probability of coagulation. If it happens, do the coagulation and update all structures.
The probability of a coagulation will be taken as (kernel / k_max)
.
bin_grid | Bin grid. |
aero_binned | Binned distributions. |
env_state | Environment state. |
aero_data | Aerosol data. |
aero_state | Aerosol state. |
b1 | Bin of first particle. |
b2 | Bin of second particle. |
del_t | Timestep. |
k_max | K_max scale factor. |
did_coag | Whether a coagulation occured. |