PartMC  2.6.1
Data Types | Functions/Subroutines | Variables
pmc_run_part Module Reference

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...
 

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...
 

Detailed Description

Monte Carlo simulation.

Function/Subroutine Documentation

◆ pmc_mpi_pack_run_part_opt()

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.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in]valValue to pack.

Definition at line 485 of file run_part.F90.

◆ pmc_mpi_pack_size_run_part_opt()

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.

Parameters
[in]valValue to pack.

Definition at line 444 of file run_part.F90.

◆ pmc_mpi_unpack_run_part_opt()

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.

Parameters
[in,out]bufferMemory buffer.
[in,out]positionCurrent buffer position.
[in,out]valValue to pack.

Definition at line 536 of file run_part.F90.

◆ print_part_progress()

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.

Parameters
[in]i_repeatRepeat number of simulation.
[in]t_sim_elapsedElapsed simulation time (s).
[in]n_partNumber of particles.
[in]n_coagNumber of coagulated particles since last progress printing.
[in]n_emitNumber of emitted particles since last progress printing.
[in]n_dil_inNumber of diluted-in particles since last progress printing.
[in]n_dil_outNumber of diluted-out particles since last progress printing.
[in]n_nucNumber of nucleated particles since last progress printing.
[in]t_wall_elapsedElapsed wall time (s).
[in]t_wall_remainEstimated remaining wall time (s).

Definition at line 399 of file run_part.F90.

◆ run_part()

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(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 
)

Do a particle-resolved Monte Carlo simulation.

Parameters
[in]scenarioEnvironment state.
[in,out]env_stateEnvironment state.
[in]aero_dataAerosol data.
[in,out]aero_stateAerosol state.
[in]gas_dataGas data.
[in,out]gas_stateGas state.
[in]run_part_optMonte Carlo options.

Definition at line 120 of file run_part.F90.

Variable Documentation

◆ parallel_coag_type_dist

integer, parameter pmc_run_part::parallel_coag_type_dist = 2

Type code for distributed parallel coagulation.

Definition at line 45 of file run_part.F90.

◆ parallel_coag_type_invalid

integer, parameter pmc_run_part::parallel_coag_type_invalid = 0

Type code for undefined or invalid parallel coagulation method.

Definition at line 41 of file run_part.F90.

◆ parallel_coag_type_local

integer, parameter pmc_run_part::parallel_coag_type_local = 1

Type code for local parallel coagulation.

Definition at line 43 of file run_part.F90.