|
PartMC
2.8.0
|
Monte Carlo simulation. More...
Data Types | |
| type | run_part_opt_t |
| Options controlling the execution of run_part(). More... | |
Functions/Subroutines | |
| subroutine | run_part (scenario, env_state, aero_data, aero_state, gas_data, gas_state, run_part_opt) |
| Do a particle-resolved Monte Carlo simulation. More... | |
| subroutine | print_part_progress (i_repeat, t_sim_elapsed, n_part, n_coag, n_emit, n_dil_in, n_dil_out, n_nuc, t_wall_elapsed, t_wall_remain) |
| Print the current simulation progress to the screen. More... | |
| integer function | pmc_mpi_pack_size_run_part_opt (val) |
| Determines the number of bytes required to pack the given value. More... | |
| subroutine | pmc_mpi_pack_run_part_opt (buffer, position, val) |
| Packs the given value into the buffer, advancing position. More... | |
| subroutine | pmc_mpi_unpack_run_part_opt (buffer, position, val) |
| Unpacks the given value from the buffer, advancing position. More... | |
| subroutine | spec_file_read_run_part (file, run_part_opt, aero_data, aero_state_init, gas_data, gas_state_init, env_state_init, aero_dist_init, scenario, n_part, rand_init, do_init_equilibrate, do_restart) |
| Read the specification for a run_part simulation from a spec file. More... | |
| subroutine | run_part_timestep (scenario, env_state, aero_data, aero_state, gas_data, gas_state, run_part_opt, i_time, t_start, last_output_time, last_progress_time, i_output, progress_n_samp, progress_n_coag, progress_n_emit, progress_n_dil_in, progress_n_dil_out, progress_n_nuc) |
| Do a one particle-resolved Monte Carlo simulation timestep. More... | |
| subroutine | run_part_timeblock (scenario, env_state, aero_data, aero_state, gas_data, gas_state, run_part_opt, i_cur, i_next, t_start, last_output_time, last_progress_time, i_output, progress_n_samp, progress_n_coag, progress_n_emit, progress_n_dil_in, progress_n_dil_out, progress_n_nuc) |
| Do a number of time steps of particle-reoslved Monte Carlo simulation. More... | |
| subroutine | pmc_mpi_broadcast_run_part (run_part_opt, aero_data, aero_state_init, gas_data, gas_state_init, env_state_init, aero_dist_init, scenario, n_part, rand_init, do_init_equilibrate, do_restart) |
| Read the specification for a run_part simulation from a spec file. More... | |
Variables | |
| integer, parameter | parallel_coag_type_invalid = 0 |
| Type code for undefined or invalid parallel coagulation method. More... | |
| integer, parameter | parallel_coag_type_local = 1 |
| Type code for local parallel coagulation. More... | |
| integer, parameter | parallel_coag_type_dist = 2 |
| Type code for distributed parallel coagulation. More... | |
Monte Carlo simulation.
| subroutine pmc_run_part::pmc_mpi_broadcast_run_part | ( | type(run_part_opt_t), intent(inout) | run_part_opt, |
| type(aero_data_t), intent(inout) | aero_data, | ||
| type(aero_state_t), intent(inout) | aero_state_init, | ||
| type(gas_data_t), intent(inout) | gas_data, | ||
| type(gas_state_t), intent(inout) | gas_state_init, | ||
| type(env_state_t), intent(inout) | env_state_init, | ||
| type(aero_dist_t), intent(inout) | aero_dist_init, | ||
| type(scenario_t), intent(inout) | scenario, | ||
| real(kind=dp), intent(inout) | n_part, | ||
| integer, intent(inout) | rand_init, | ||
| logical, intent(inout) | do_init_equilibrate, | ||
| logical, intent(inout) | do_restart | ||
| ) |
Read the specification for a run_part simulation from a spec file.
| [in,out] | run_part_opt | Monte Carlo options. |
| [in,out] | aero_data | Aerosol data. |
| [in,out] | aero_state_init | Initial aerosol state. |
| [in,out] | gas_data | Gas data. |
| [in,out] | gas_state_init | Initial gas state. |
| [in,out] | env_state_init | Initial environmental state. |
| [in,out] | aero_dist_init | Initial aerosol distribution. |
| [in,out] | scenario | Scenario data. |
| [in,out] | n_part | Ideal number of computational particles. |
| [in,out] | rand_init | Random number generator seed. |
| [in,out] | do_init_equilibrate | Whether to equilibrate. |
| [in,out] | do_restart | Whether simulation is a restart. |
Definition at line 1053 of file run_part.F90.
| subroutine pmc_run_part::pmc_mpi_pack_run_part_opt | ( | character, dimension(:), intent(inout) | buffer, |
| integer, intent(inout) | position, | ||
| type(run_part_opt_t), intent(in) | val | ||
| ) |
Packs the given value into the buffer, advancing position.
| [in,out] | buffer | Memory buffer. |
| [in,out] | position | Current buffer position. |
| [in] | val | Value to pack. |
Definition at line 346 of file run_part.F90.
| integer function pmc_run_part::pmc_mpi_pack_size_run_part_opt | ( | type(run_part_opt_t), intent(in) | val | ) |
Determines the number of bytes required to pack the given value.
| [in] | val | Value to pack. |
Definition at line 302 of file run_part.F90.
| subroutine pmc_run_part::pmc_mpi_unpack_run_part_opt | ( | character, dimension(:), intent(inout) | buffer, |
| integer, intent(inout) | position, | ||
| type(run_part_opt_t), intent(inout) | val | ||
| ) |
Unpacks the given value from the buffer, advancing position.
| [in,out] | buffer | Memory buffer. |
| [in,out] | position | Current buffer position. |
| [in,out] | val | Value to pack. |
Definition at line 400 of file run_part.F90.
| subroutine pmc_run_part::print_part_progress | ( | integer, intent(in) | i_repeat, |
| real(kind=dp), intent(in) | t_sim_elapsed, | ||
| integer, intent(in) | n_part, | ||
| integer, intent(in) | n_coag, | ||
| integer, intent(in) | n_emit, | ||
| integer, intent(in) | n_dil_in, | ||
| integer, intent(in) | n_dil_out, | ||
| integer, intent(in) | n_nuc, | ||
| real(kind=dp), intent(in) | t_wall_elapsed, | ||
| real(kind=dp), intent(in) | t_wall_remain | ||
| ) |
Print the current simulation progress to the screen.
| [in] | i_repeat | Repeat number of simulation. |
| [in] | t_sim_elapsed | Elapsed simulation time (s). |
| [in] | n_part | Number of particles. |
| [in] | n_coag | Number of coagulated particles since last progress printing. |
| [in] | n_emit | Number of emitted particles since last progress printing. |
| [in] | n_dil_in | Number of diluted-in particles since last progress printing. |
| [in] | n_dil_out | Number of diluted-out particles since last progress printing. |
| [in] | n_nuc | Number of nucleated particles since last progress printing. |
| [in] | t_wall_elapsed | Elapsed wall time (s). |
| [in] | t_wall_remain | Estimated remaining wall time (s). |
Definition at line 257 of file run_part.F90.
| subroutine pmc_run_part::run_part | ( | type(scenario_t), intent(in) | scenario, |
| type(env_state_t), intent(inout) | env_state, | ||
| type(aero_data_t), intent(inout) | aero_data, | ||
| type(aero_state_t), intent(inout) | aero_state, | ||
| type(gas_data_t), intent(in) | gas_data, | ||
| type(gas_state_t), intent(inout) | gas_state, | ||
| type(run_part_opt_t), intent(in) | run_part_opt | ||
| ) |
Do a particle-resolved Monte Carlo simulation.
| [in] | scenario | Environment state. |
| [in,out] | env_state | Environment state. |
| [in,out] | aero_data | Aerosol data. |
| [in,out] | aero_state | Aerosol state. |
| [in] | gas_data | Gas data. |
| [in,out] | gas_state | Gas state. |
| [in] | run_part_opt | Monte Carlo options. |
Definition at line 125 of file run_part.F90.
| subroutine pmc_run_part::run_part_timeblock | ( | type(scenario_t), intent(in) | scenario, |
| type(env_state_t), intent(inout) | env_state, | ||
| type(aero_data_t), intent(in) | aero_data, | ||
| type(aero_state_t), intent(inout) | aero_state, | ||
| type(gas_data_t), intent(in) | gas_data, | ||
| type(gas_state_t), intent(inout) | gas_state, | ||
| type(run_part_opt_t), intent(in) | run_part_opt, | ||
| integer, intent(in) | i_cur, | ||
| integer, intent(in) | i_next, | ||
| real(kind=dp), intent(in) | t_start, | ||
| real(kind=dp), intent(inout) | last_output_time, | ||
| real(kind=dp), intent(inout) | last_progress_time, | ||
| integer, intent(inout) | i_output, | ||
| integer, intent(inout) | progress_n_samp, | ||
| integer, intent(inout) | progress_n_coag, | ||
| integer, intent(inout) | progress_n_emit, | ||
| integer, intent(inout) | progress_n_dil_in, | ||
| integer, intent(inout) | progress_n_dil_out, | ||
| integer, intent(inout) | progress_n_nuc | ||
| ) |
Do a number of time steps of particle-reoslved Monte Carlo simulation.
| [in] | scenario | Environment state. |
| [in,out] | env_state | Environment state. |
| [in] | aero_data | Aerosol data. |
| [in,out] | aero_state | Aerosol state. |
| [in] | gas_data | Gas data. |
| [in,out] | gas_state | Gas state. |
| [in] | run_part_opt | Monte Carlo options. |
| [in] | i_cur | Current simulation timestep. |
| [in,out] | last_output_time | Last time output was written (s). |
| [in,out] | last_progress_time | Last time progress was output to screen (s). |
| [in,out] | i_output | Output timestep integer for output filename. |
| [in,out] | progress_n_samp | Total number of samples tested. |
| [in,out] | progress_n_coag | Number of coagulation events. |
| [in,out] | progress_n_emit | Number of particles added by emission. |
| [in,out] | progress_n_dil_in | Number of particles added by dilution. |
| [in,out] | progress_n_dil_out | Number of particles removed by dilution. |
| [in,out] | progress_n_nuc | Number of particles added by nucleation. |
Definition at line 981 of file run_part.F90.
| subroutine pmc_run_part::run_part_timestep | ( | type(scenario_t), intent(in) | scenario, |
| type(env_state_t), intent(inout) | env_state, | ||
| type(aero_data_t), intent(in) | aero_data, | ||
| type(aero_state_t), intent(inout) | aero_state, | ||
| type(gas_data_t), intent(in) | gas_data, | ||
| type(gas_state_t), intent(inout) | gas_state, | ||
| type(run_part_opt_t), intent(in) | run_part_opt, | ||
| integer, intent(in) | i_time, | ||
| real(kind=dp), intent(in) | t_start, | ||
| real(kind=dp), intent(inout) | last_output_time, | ||
| real(kind=dp), intent(inout) | last_progress_time, | ||
| integer, intent(inout) | i_output, | ||
| integer, intent(inout) | progress_n_samp, | ||
| integer, intent(inout) | progress_n_coag, | ||
| integer, intent(inout) | progress_n_emit, | ||
| integer, intent(inout) | progress_n_dil_in, | ||
| integer, intent(inout) | progress_n_dil_out, | ||
| integer, intent(inout) | progress_n_nuc | ||
| ) |
Do a one particle-resolved Monte Carlo simulation timestep.
| [in] | scenario | Environment state. |
| [in,out] | env_state | Environment state. |
| [in] | aero_data | Aerosol data. |
| [in,out] | aero_state | Aerosol state. |
| [in] | gas_data | Gas data. |
| [in,out] | gas_state | Gas state. |
| [in] | run_part_opt | Monte Carlo options. |
| [in] | i_time | Current simulation time. |
| [in,out] | last_output_time | Last time output was written (s). |
| [in,out] | last_progress_time | Last time progress was output to screen (s). |
| [in,out] | i_output | Output timestep integer for output filename. |
| [in,out] | progress_n_samp | Total number of samples tested. |
| [in,out] | progress_n_coag | Number of coagulation events. |
| [in,out] | progress_n_emit | Number of particles added by emission. |
| [in,out] | progress_n_dil_in | Number of particles added by dilution. |
| [in,out] | progress_n_dil_out | Number of particles removed by dilution. |
| [in,out] | progress_n_nuc | Number of particles added by nucleation. |
Definition at line 753 of file run_part.F90.
| subroutine pmc_run_part::spec_file_read_run_part | ( | type(spec_file_t), intent(inout) | file, |
| type(run_part_opt_t), intent(inout) | run_part_opt, | ||
| type(aero_data_t), intent(inout) | aero_data, | ||
| type(aero_state_t), intent(inout) | aero_state_init, | ||
| type(gas_data_t), intent(inout) | gas_data, | ||
| type(gas_state_t), intent(inout) | gas_state_init, | ||
| type(env_state_t), intent(inout) | env_state_init, | ||
| type(aero_dist_t), intent(inout) | aero_dist_init, | ||
| type(scenario_t), intent(inout) | scenario, | ||
| real(kind=dp), intent(inout) | n_part, | ||
| integer, intent(out) | rand_init, | ||
| logical, intent(out) | do_init_equilibrate, | ||
| logical, intent(out) | do_restart | ||
| ) |
Read the specification for a run_part simulation from a spec file.
| [in,out] | file | Spec file. |
| [in,out] | run_part_opt | Monte Carlo options. |
| [in,out] | aero_data | Aerosol data. |
| [in,out] | aero_state_init | Initial aerosol state. |
| [in,out] | gas_data | Gas data. |
| [in,out] | gas_state_init | Initial gas state. |
| [in,out] | env_state_init | Initial environmental state. |
| [in,out] | aero_dist_init | Initial aerosol distribution. |
| [in,out] | scenario | Scenario data. |
| [in,out] | n_part | Ideal number of computational particles. |
| [out] | rand_init | Random number generator seed. |
| [out] | do_init_equilibrate | Whether to equilibrate. |
| [out] | do_restart | Whether simulation is a restart. |
Definition at line 454 of file run_part.F90.
| integer, parameter pmc_run_part::parallel_coag_type_dist = 2 |
Type code for distributed parallel coagulation.
Definition at line 46 of file run_part.F90.
| integer, parameter pmc_run_part::parallel_coag_type_invalid = 0 |
Type code for undefined or invalid parallel coagulation method.
Definition at line 42 of file run_part.F90.
| integer, parameter pmc_run_part::parallel_coag_type_local = 1 |
Type code for local parallel coagulation.
Definition at line 44 of file run_part.F90.