MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_mpi_common.fpp.f90 File Reference

Functions/Subroutines

program __m_mpi_common_fpp_f90__
 
subroutine s_mpi_initialize ()
 The subroutine initializes the MPI execution environment and queries both the number of processors which will be available for the job and the local processor rank.
 
subroutine s_initialize_mpi_data (q_cons_vf, ib_markers)
 
subroutine mpi_bcast_time_step_values (proc_time, time_avg)
 
subroutine s_mpi_reduce_stability_criteria_extrema (icfl_max_loc, vcfl_max_loc, ccfl_max_loc, rc_min_loc, icfl_max_glb, vcfl_max_glb, ccfl_max_glb, rc_min_glb)
 The goal of this subroutine is to determine the global extrema of the stability criteria in the computational domain. This is performed by sifting through the local extrema of each stability criterion. Note that each of the local extrema is from a single process, within its assigned section of the computational domain. Finally, note that the global extrema values are only bookkeept on the rank 0 processor.
 
subroutine s_mpi_allreduce_sum (var_loc, var_glb)
 The following subroutine takes the input local variable from all processors and reduces to the sum of all values. The reduced variable is recorded back onto the original local variable on each processor.
 
subroutine s_mpi_allreduce_min (var_loc, var_glb)
 The following subroutine takes the input local variable from all processors and reduces to the minimum of all values. The reduced variable is recorded back onto the original local variable on each processor.
 
subroutine s_mpi_allreduce_max (var_loc, var_glb)
 The following subroutine takes the input local variable from all processors and reduces to the maximum of all values. The reduced variable is recorded back onto the original local variable on each processor.
 
subroutine s_mpi_reduce_min (var_loc)
 The following subroutine takes the inputted variable and determines its minimum value on the entire computational domain. The result is stored back into inputted variable.
 
subroutine s_mpi_reduce_maxloc (var_loc)
 The following subroutine takes the first element of the 2-element inputted variable and determines its maximum value on the entire computational domain. The result is stored back into the first element of the variable while the rank of the processor that is in charge of the sub- domain containing the maximum is stored into the second element of the variable.
 
subroutine s_mpi_abort (prnt)
 The subroutine terminates the MPI execution environment.
 
subroutine s_mpi_barrier ()
 Halts all processes until all have reached barrier.
 
subroutine s_mpi_finalize ()
 The subroutine finalizes the MPI execution environment.
 

Function/Subroutine Documentation

◆ __m_mpi_common_fpp_f90__()

program __m_mpi_common_fpp_f90__

◆ mpi_bcast_time_step_values()

subroutine __m_mpi_common_fpp_f90__::mpi_bcast_time_step_values ( real(kind(0d0)), dimension(0:num_procs - 1), intent(inout) proc_time,
real(kind(0d0)), intent(inout) time_avg )
private
Here is the caller graph for this function:

◆ s_initialize_mpi_data()

subroutine __m_mpi_common_fpp_f90__::s_initialize_mpi_data ( type(scalar_field), dimension(sys_size), intent(in) q_cons_vf,
type(integer_field), intent(in), optional ib_markers )
private
Here is the caller graph for this function:

◆ s_mpi_abort()

subroutine __m_mpi_common_fpp_f90__::s_mpi_abort ( character(len=*), intent(in), optional prnt)
private

The subroutine terminates the MPI execution environment.

Here is the caller graph for this function:

◆ s_mpi_allreduce_max()

subroutine __m_mpi_common_fpp_f90__::s_mpi_allreduce_max ( real(kind(0d0)), intent(in) var_loc,
real(kind(0d0)), intent(out) var_glb )
private

The following subroutine takes the input local variable from all processors and reduces to the maximum of all values. The reduced variable is recorded back onto the original local variable on each processor.

Parameters
var_locSome variable containing the local value which should be reduced amongst all the processors in the communicator.
var_glbThe globally reduced value
Here is the caller graph for this function:

◆ s_mpi_allreduce_min()

subroutine __m_mpi_common_fpp_f90__::s_mpi_allreduce_min ( real(kind(0d0)), intent(in) var_loc,
real(kind(0d0)), intent(out) var_glb )
private

The following subroutine takes the input local variable from all processors and reduces to the minimum of all values. The reduced variable is recorded back onto the original local variable on each processor.

Parameters
var_locSome variable containing the local value which should be reduced amongst all the processors in the communicator.
var_glbThe globally reduced value

◆ s_mpi_allreduce_sum()

subroutine __m_mpi_common_fpp_f90__::s_mpi_allreduce_sum ( real(kind(0d0)), intent(in) var_loc,
real(kind(0d0)), intent(out) var_glb )
private

The following subroutine takes the input local variable from all processors and reduces to the sum of all values. The reduced variable is recorded back onto the original local variable on each processor.

Parameters
var_locSome variable containing the local value which should be reduced amongst all the processors in the communicator.
var_glbThe globally reduced value
Here is the caller graph for this function:

◆ s_mpi_barrier()

subroutine __m_mpi_common_fpp_f90__::s_mpi_barrier
private

Halts all processes until all have reached barrier.

Here is the caller graph for this function:

◆ s_mpi_finalize()

subroutine __m_mpi_common_fpp_f90__::s_mpi_finalize
private

The subroutine finalizes the MPI execution environment.

Here is the caller graph for this function:

◆ s_mpi_initialize()

subroutine __m_mpi_common_fpp_f90__::s_mpi_initialize
private

The subroutine initializes the MPI execution environment and queries both the number of processors which will be available for the job and the local processor rank.

Here is the caller graph for this function:

◆ s_mpi_reduce_maxloc()

subroutine __m_mpi_common_fpp_f90__::s_mpi_reduce_maxloc ( real(kind(0d0)), dimension(2), intent(inout) var_loc)
private

The following subroutine takes the first element of the 2-element inputted variable and determines its maximum value on the entire computational domain. The result is stored back into the first element of the variable while the rank of the processor that is in charge of the sub- domain containing the maximum is stored into the second element of the variable.

Parameters
var_locOn input, this variable holds the local value and processor rank, which are to be reduced among all the processors in communicator. On output, this variable holds the maximum value, reduced amongst all of the local values, and the process rank to which the value belongs.

◆ s_mpi_reduce_min()

subroutine __m_mpi_common_fpp_f90__::s_mpi_reduce_min ( real(kind(0d0)), intent(inout) var_loc)
private

The following subroutine takes the inputted variable and determines its minimum value on the entire computational domain. The result is stored back into inputted variable.

Parameters
var_locholds the local value to be reduced among all the processors in communicator. On output, the variable holds the minimum value, reduced amongst all of the local values.

◆ s_mpi_reduce_stability_criteria_extrema()

subroutine __m_mpi_common_fpp_f90__::s_mpi_reduce_stability_criteria_extrema ( real(kind(0d0)), intent(in) icfl_max_loc,
real(kind(0d0)), intent(in) vcfl_max_loc,
real(kind(0d0)), intent(in) ccfl_max_loc,
real(kind(0d0)), intent(in) rc_min_loc,
real(kind(0d0)), intent(out) icfl_max_glb,
real(kind(0d0)), intent(out) vcfl_max_glb,
real(kind(0d0)), intent(out) ccfl_max_glb,
real(kind(0d0)), intent(out) rc_min_glb )
private

The goal of this subroutine is to determine the global extrema of the stability criteria in the computational domain. This is performed by sifting through the local extrema of each stability criterion. Note that each of the local extrema is from a single process, within its assigned section of the computational domain. Finally, note that the global extrema values are only bookkeept on the rank 0 processor.

Parameters
icfl_max_locLocal maximum ICFL stability criterion
vcfl_max_locLocal maximum VCFL stability criterion
Rc_min_locLocal minimum Rc stability criterion
icfl_max_glbGlobal maximum ICFL stability criterion
vcfl_max_glbGlobal maximum VCFL stability criterion
Rc_min_glbGlobal minimum Rc stability criterion
Here is the caller graph for this function: