par_IReduce Interface

public interface par_IReduce

Calls

interface~~par_ireduce~~CallsGraph interface~par_ireduce par_IReduce proc~par_ireduce_array1d par_IReduce_array1D interface~par_ireduce->proc~par_ireduce_array1d proc~par_ireduce_array2d par_IReduce_array2D interface~par_ireduce->proc~par_ireduce_array2d

Called by

interface~~par_ireduce~~CalledByGraph interface~par_ireduce par_IReduce proc~evalforce EvalForce proc~evalforce->interface~par_ireduce proc~initsolutionmhd3d t_functional_mhd3d%InitSolutionMHD3D proc~initsolutionmhd3d->proc~evalforce proc~minimizemhd3d_descent t_minimizer_mhd3d%MinimizeMHD3D_descent proc~minimizemhd3d_descent->proc~evalforce proc~minimizemhd3d_resetdescent t_minimizer_mhd3d%MinimizeMHD3d_ResetDescent proc~minimizemhd3d_descent->proc~minimizemhd3d_resetdescent proc~minimizemhd3d_resetdescent->proc~evalforce program~gvec_post GVEC_POST program~gvec_post->proc~evalforce proc~initsolution~2 InitSolution proc~initsolution~2->proc~initsolutionmhd3d proc~minimizemhd3d t_functional_mhd3d%MinimizeMHD3D proc~minimizemhd3d->proc~minimizemhd3d_descent proc~rungvec rungvec proc~rungvec->proc~initsolutionmhd3d proc~rungvec->proc~minimizemhd3d proc~minimize minimize proc~minimize->proc~minimizemhd3d proc~start_rungvec start_rungvec proc~start_rungvec->proc~rungvec program~gvec GVEC program~gvec->proc~rungvec

Module Procedures

private subroutine par_IReduce_array1D(arr, parOP, toRank, req_out)

Find on MPI rank 'toRank' MAX/MIN/SUM of 1D array (assumed-shape) across all MPI ranks (nonblocking).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: arr(:)
character(len=3), intent(in) :: parOP
integer, intent(in) :: toRank
integer, intent(out) :: req_out

private subroutine par_IReduce_array2D(arr, parOP, toRank, req_out)

Find on MPI rank 'toRank' MAX/MIN/SUM of 2D array (assumed-shape) across all MPI ranks.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: arr(:,:)
character(len=3), intent(in) :: parOP
integer, intent(in) :: toRank
integer, intent(out) :: req_out