PartMC 2.1.2
|
The pmc_coagulation_dist module. More...
Go to the source code of this file.
Data Types | |
type | pmc_coagulation_dist::request_t |
A single outstanding request for a remote particle. More... | |
Modules | |
module | pmc_coagulation_dist |
Parallel aerosol particle coagulation with MPI. | |
Functions/Subroutines | |
subroutine | pmc_coagulation_dist::request_allocate (request) |
subroutine | pmc_coagulation_dist::request_deallocate (request) |
Deallocate a request object and set it to be invalid. | |
logical | pmc_coagulation_dist::request_is_active (request) |
Whether the given reqest object is currectly active. | |
subroutine | pmc_coagulation_dist::mc_coag_dist (coag_kernel_type, bin_grid, env_state, aero_data, aero_weight, aero_state, del_t, k_max, tot_n_samp, tot_n_coag) |
Do coagulation for time del_t. | |
subroutine | pmc_coagulation_dist::coag_dist_recv (requests, bin_grid, env_state, aero_data, aero_weight, aero_state, accept_factors, coag_kernel_type, tot_n_coag, comp_vols, procs_done) |
subroutine | pmc_coagulation_dist::add_coagulation_requests (bin_grid, aero_state, requests, n_parts, local_bin, remote_bin, n_samps, samps_remaining) |
logical | pmc_coagulation_dist::any_requests_active (requests) |
Returns .true. if any of the requests are active, otherwise returns .false. | |
subroutine | pmc_coagulation_dist::find_rand_remote_proc (bin_grid, n_parts, remote_bin, remote_proc) |
subroutine | pmc_coagulation_dist::update_n_samps (bin_grid, n_samps, local_bin, remote_bin, samps_remaining) |
subroutine | pmc_coagulation_dist::send_request_particle (remote_proc, remote_bin) |
subroutine | pmc_coagulation_dist::recv_request_particle (aero_state) |
subroutine | pmc_coagulation_dist::send_return_no_particle (dest_proc, i_bin) |
subroutine | pmc_coagulation_dist::recv_return_no_particle (requests, bin_grid, aero_data, aero_state) |
subroutine | pmc_coagulation_dist::send_return_req_particle (aero_particle, i_bin, dest_proc) |
subroutine | pmc_coagulation_dist::recv_return_req_particle (requests, bin_grid, env_state, aero_data, aero_weight, aero_state, accept_factors, coag_kernel_type, tot_n_coag, comp_vols) |
subroutine | pmc_coagulation_dist::send_return_unreq_particle (aero_particle, dest_proc) |
subroutine | pmc_coagulation_dist::recv_return_unreq_particle (aero_state, bin_grid) |
subroutine | pmc_coagulation_dist::send_done (dest_proc) |
Send a message saying that this process is finished with its coagulation. | |
subroutine | pmc_coagulation_dist::recv_done (procs_done) |
Receive a done message. | |
subroutine | pmc_coagulation_dist::sync_info (local_n_parts, local_comp_vol, global_n_parts, global_comp_vols) |
Do an allgather to exchange number of particles and computational volume information between all processes. | |
subroutine | pmc_coagulation_dist::generate_n_samps (bin_grid, n_parts, comp_vols, del_t, k_max, n_samps, accept_factors) |
generate the number of samples to do per bin pair. | |
subroutine | pmc_coagulation_dist::coagulate_dist (bin_grid, aero_data, aero_weight, aero_state, aero_particle_1, aero_particle_2, remote_proc, comp_vols, remove_1, remove_2) |
Variables | |
integer, parameter | pmc_coagulation_dist::COAG_DIST_OUTGOING_BUFFER_SIZE = 1000000 |
Size of the outgoing buffer for bsend (bytes). | |
integer, parameter | pmc_coagulation_dist::COAG_DIST_MAX_BUFFER_SIZE = 10000 |
Size of send and receive buffer for each message (bytes). | |
integer, parameter | pmc_coagulation_dist::COAG_DIST_MAX_REQUESTS = 1 |
integer, parameter | pmc_coagulation_dist::COAG_DIST_TAG_REQUEST_PARTICLE = 5321 |
integer, parameter | pmc_coagulation_dist::COAG_DIST_TAG_RETURN_REQ_PARTICLE = 5322 |
integer, parameter | pmc_coagulation_dist::COAG_DIST_TAG_RETURN_UNREQ_PARTICLE = 5323 |
integer, parameter | pmc_coagulation_dist::COAG_DIST_TAG_RETURN_NO_PARTICLE = 5324 |
integer, parameter | pmc_coagulation_dist::COAG_DIST_TAG_DONE = 5325 |
The pmc_coagulation_dist module.
Definition in file coagulation_dist.F90.