MPI_ Derived Type

type, public :: MPI_


Components

Type Visibility Attributes Name Initial
integer(kind=int32), public :: ierr
integer(kind=int32), public :: MyRank
integer(kind=int32), public :: PeTot
integer(kind=int32), public :: Comm1
integer(kind=int32), public :: Comm2
integer(kind=int32), public :: Comm3
integer(kind=int32), public :: Comm4
integer(kind=int32), public :: Comm5
integer(kind=int32), public :: start_id
integer(kind=int32), public :: end_id
integer(kind=int32), public :: mpi_restart_idf
type(MPI_JOB_), public, allocatable :: MPI_JOB(:)
integer(kind=int32), public :: MPI_MAX_JOB_NUMBER = 10
integer(kind=int32), public :: MPI_LAST_JOB_NUMBER = 0
real(kind=real64), public, allocatable :: EP_MY_VARIABLE_LIST(:,:)
logical, public, allocatable :: EP_MY_TASK_SCHEDULE(:)
integer(kind=int32), public :: EP_MY_CURRENT_TASK_ID = 0
real(kind=real64), public, allocatable :: EP_ALL_VARIABLE_LIST(:,:)
real(kind=real64), public, allocatable :: EP_MY_RESULT_LIST(:,:)
type(IO_), public :: EP_result_summary
type(IO_), public :: file
character(len=:), public, allocatable :: filename
integer(kind=int32), public, allocatable :: start_end_id(:)
integer(kind=int32), public, allocatable :: Comm(:)
integer(kind=int32), public, allocatable :: key(:)
integer(kind=int32), public, allocatable :: local_ID(:)
integer(kind=int32), public, allocatable :: Global_ID(:)
integer(kind=int32), public, allocatable :: Stack(:,:)
integer(kind=int32), public, allocatable :: localstack(:)
integer(kind=int32), public :: LapTimeStep
real(kind=real64), public :: stime
real(kind=real64), public :: etime
real(kind=real64), public :: laptime(1000)
character(len=200), public :: name
type(comment_), public :: comments(1000)
type(Graph_), public :: graph

Type-Bound Procedures

procedure, public :: Start => StartMPI

  • public subroutine StartMPI(obj, NumOfComm)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: NumOfComm

procedure, public :: init => StartMPI

  • public subroutine StartMPI(obj, NumOfComm)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: NumOfComm

procedure, public, pass :: EP_set_variable_by_rangeMPI

  • public subroutine EP_set_variable_by_rangeMPI(this, var, var_range, N)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in), target :: var
    real(kind=real64), intent(in) :: var_range(1:2)
    integer(kind=int32), intent(in) :: N

procedure, public, pass :: EP_set_variable_by_listMPI

  • public subroutine EP_set_variable_by_listMPI(this, var, var_list)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in), target :: var
    real(kind=real64), intent(in) :: var_list(:)

generic, public :: EP_set_variable => EP_set_variable_by_rangeMPI, EP_set_variable_by_listMPI

  • public subroutine EP_set_variable_by_rangeMPI(this, var, var_range, N)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in), target :: var
    real(kind=real64), intent(in) :: var_range(1:2)
    integer(kind=int32), intent(in) :: N
  • public subroutine EP_set_variable_by_listMPI(this, var, var_list)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in), target :: var
    real(kind=real64), intent(in) :: var_list(:)

procedure, public :: EP_set_result => EP_set_resultMPI

  • public subroutine EP_set_resultMPI(this, result_value)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in) :: result_value(:)

procedure, public :: EP_write_result => EP_write_resultMPI

  • public subroutine EP_write_resultMPI(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this

procedure, public :: EP_get_variable => EP_get_variableMPI

  • public function EP_get_variableMPI(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this

    Return Value logical

procedure, public :: EP_num_variavle => EP_num_variavleMPI

  • public function EP_num_variavleMPI(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(in) :: this

    Return Value integer(kind=int32)

procedure, public :: EP_min_var => EP_min_varMPI

  • public function EP_min_varMPI(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(in) :: this

    Return Value real(kind=real64), allocatable, (:,:)

procedure, public :: EP_max_var => EP_max_varMPI

  • public function EP_max_varMPI(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(in) :: this

    Return Value real(kind=real64), allocatable, (:,:)

procedure, public :: initItr => initItrMPI

  • public subroutine initItrMPI(obj, total_iteration)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: total_iteration

procedure, public :: Barrier => BarrierMPI

  • public subroutine BarrierMPI(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj

procedure, public, pass :: readMPIInt

  • public subroutine readMPIInt(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(out) :: val
    integer(kind=int32), intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

procedure, public, pass :: readMPIReal

  • public subroutine readMPIReal(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(out) :: val
    integer(kind=int32), intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

generic, public :: read => readMPIInt, readMPIReal

  • public subroutine readMPIInt(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(out) :: val
    integer(kind=int32), intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg
  • public subroutine readMPIReal(obj, val, ExecRank, Msg)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(out) :: val
    integer(kind=int32), intent(in), optional :: ExecRank
    character(len=*), intent(in), optional :: Msg

procedure, public, pass :: BcastMPIInt

  • public recursive subroutine BcastMPIInt(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout) :: val

procedure, public, pass :: BcastMPIIntVec

  • public recursive subroutine BcastMPIIntVec(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:)

procedure, public :: BcastMPIIntVecFixedSize

  • public subroutine BcastMPIIntVecFixedSize(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(in) :: val(:)

procedure, public, pass :: BcastMPIIntArray

  • public recursive subroutine BcastMPIIntArray(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:,:)

procedure, public, pass :: BcastMPIIntArray3

  • public recursive subroutine BcastMPIIntArray3(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:,:,:)

procedure, public, pass :: BcastMPIReal

  • public recursive subroutine BcastMPIReal(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout) :: val

procedure, public, pass :: BcastMPIRealVec

  • public recursive subroutine BcastMPIRealVec(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:)

procedure, public :: BcastMPIRealVecFixedSize

  • public subroutine BcastMPIRealVecFixedSize(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(in) :: val(:)

procedure, public, pass :: BcastMPIRealArray

  • public recursive subroutine BcastMPIRealArray(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:,:)

procedure, public, pass :: BcastMPIRealArray3

  • public recursive subroutine BcastMPIRealArray3(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:,:,:)

procedure, public, pass :: BcastMPIChar

  • public recursive subroutine BcastMPIChar(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: From
    character(len=*), intent(inout) :: val

procedure, public, pass :: BcastMPICharN

  • public recursive subroutine BcastMPICharN(obj, N, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: N
    integer(kind=int32), intent(in) :: From
    character(len=N), intent(inout) :: val(1:N)

procedure, public, pass :: BcastMPILogical

  • public recursive subroutine BcastMPILogical(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    logical, intent(inout) :: val
  • public recursive subroutine BcastMPIInt(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout) :: val
  • public recursive subroutine BcastMPIReal(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout) :: val
  • public recursive subroutine BcastMPIChar(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: From
    character(len=*), intent(inout) :: val
  • public recursive subroutine BcastMPIIntVec(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:)
  • public recursive subroutine BcastMPIIntArray(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:,:)
  • public recursive subroutine BcastMPIRealVec(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:)
  • public recursive subroutine BcastMPIRealArray(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:,:)
  • public recursive subroutine BcastMPICharN(obj, N, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: N
    integer(kind=int32), intent(in) :: From
    character(len=N), intent(inout) :: val(1:N)
  • public recursive subroutine BcastMPILogical(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    logical, intent(inout) :: val
  • public recursive subroutine BcastMPIRealArray3(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    real(kind=real64), intent(inout), allocatable :: val(:,:,:)
  • public recursive subroutine BcastMPIIntArray3(obj, From, val)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: From
    integer(kind=int32), intent(inout), allocatable :: val(:,:,:)

procedure, public, pass :: GatherMPIInt

  • public subroutine GatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in), optional :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in), optional :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: To

procedure, public, pass :: GatherMPIReal

  • public subroutine GatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in), optional :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in), optional :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: To

generic, public :: Gather => GatherMPIInt, GatherMPIReal

  • public subroutine GatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in), optional :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in), optional :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: To
  • public subroutine GatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, To)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in), optional :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in), optional :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: To

procedure, public, pass :: ScatterMPIInt

  • public subroutine ScatterMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: From

procedure, public, pass :: ScatterMPIReal

  • public subroutine ScatterMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: From

generic, public :: Scatter => ScatterMPIInt, ScatterMPIReal

  • public subroutine ScatterMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: From
  • public subroutine ScatterMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id, From)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
    integer(kind=int32), intent(in), optional :: From

procedure, public, pass :: AllGatherMPIInt

  • public subroutine AllGatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id

procedure, public, pass :: AllGatherMPIReal

  • public subroutine AllGatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id

procedure, public, pass :: AllGatherMPIGraph

  • public subroutine AllGatherMPIGraph(obj, graph)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    type(Graph_), intent(inout) :: graph

generic, public :: AllGather => AllGatherMPIInt, AllGatherMPIReal, AllGatherMPIGraph

  • public subroutine AllGatherMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
  • public subroutine AllGatherMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
  • public subroutine AllGatherMPIGraph(obj, graph)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    type(Graph_), intent(inout) :: graph

generic, public :: merge => AllGatherMPIGraph

  • public subroutine AllGatherMPIGraph(obj, graph)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    type(Graph_), intent(inout) :: graph

procedure, public, pass :: AlltoAllMPIInt

  • public subroutine AlltoAllMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id

procedure, public, pass :: AlltoAllMPIReal

  • public subroutine AlltoAllMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id

generic, public :: AlltoAll => AlltoAllMPIInt, AlltoAllMPIReal

  • public subroutine AlltoAllMPIInt(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id
  • public subroutine AlltoAllMPIReal(obj, sendobj, sendcount, recvobj, recvcount, send_start_id, recv_start_id)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(in) :: sendcount
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: recvcount
    integer(kind=int32), intent(in), optional :: send_start_id
    integer(kind=int32), intent(in), optional :: recv_start_id

procedure, public, pass :: ReduceMPIInt

  • public subroutine ReduceMPIInt(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    integer(kind=int32), intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, pass :: ReduceMPIReal

  • public subroutine ReduceMPIReal(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    integer(kind=int32), intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

generic, public :: Reduce => ReduceMPIInt, ReduceMPIReal

  • public subroutine ReduceMPIInt(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    integer(kind=int32), intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc
  • public subroutine ReduceMPIReal(obj, sendobj, recvobj, count, start, To, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    integer(kind=int32), intent(in), optional :: To
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, pass :: AllReduceMPIInt

  • public subroutine AllReduceMPIInt(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, pass :: AllReduceMPIReal

  • public subroutine AllReduceMPIReal(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

generic, public :: AllReduce => AllReduceMPIInt, AllReduceMPIReal

  • public subroutine AllReduceMPIInt(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(inout) :: sendobj(:)
    integer(kind=int32), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc
  • public subroutine AllReduceMPIReal(obj, sendobj, recvobj, count, start, max, min, sum, prod, land, band, lor, bor, lxor, bxor, maxloc, minloc)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    real(kind=real64), intent(inout) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: count
    integer(kind=int32), intent(in), optional :: start
    logical, intent(in), optional :: max
    logical, intent(in), optional :: min
    logical, intent(in), optional :: sum
    logical, intent(in), optional :: prod
    logical, intent(in), optional :: land
    logical, intent(in), optional :: band
    logical, intent(in), optional :: lor
    logical, intent(in), optional :: bor
    logical, intent(in), optional :: lxor
    logical, intent(in), optional :: bxor
    logical, intent(in), optional :: maxloc
    logical, intent(in), optional :: minloc

procedure, public, pass :: isend_irecvRealVectorMPI

  • public subroutine isend_irecvRealVectorMPI(this, sendobj, recvobj, send_recv_rank, debug)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: send_recv_rank(:)
    logical, intent(in), optional :: debug

generic, public :: isend_irecv => isend_irecvRealVectorMPI

  • public subroutine isend_irecvRealVectorMPI(this, sendobj, recvobj, send_recv_rank, debug)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    real(kind=real64), intent(in) :: sendobj(:)
    real(kind=real64), intent(inout) :: recvobj(:)
    integer(kind=int32), intent(in) :: send_recv_rank(:)
    logical, intent(in), optional :: debug

procedure, public, pass :: isend_Int32MPI

  • public subroutine isend_Int32MPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    integer(kind=int32), intent(in) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: isend_Int32VectorMPI

  • public subroutine isend_Int32VectorMPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    integer(kind=int32), intent(in) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: isend_Real64MPI

  • public subroutine isend_Real64MPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    real(kind=real64), intent(in) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: isend_Real64VectorMPI

  • public subroutine isend_Real64VectorMPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    real(kind=real64), intent(in) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine isend_Int32MPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    integer(kind=int32), intent(in) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine isend_Real64MPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    real(kind=real64), intent(in) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine isend_Int32VectorMPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    integer(kind=int32), intent(in) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine isend_Real64VectorMPI(this, to, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: to
    real(kind=real64), intent(in) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: irecv_Int32MPI

  • public subroutine irecv_Int32MPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    integer(kind=int32), intent(inout) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: irecv_Int32VectorMPI

  • public subroutine irecv_Int32VectorMPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    integer(kind=int32), intent(inout) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: irecv_Real64MPI

  • public subroutine irecv_Real64MPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    real(kind=real64), intent(inout) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: irecv_Real64VectorMPI

  • public subroutine irecv_Real64VectorMPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    real(kind=real64), intent(inout) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine irecv_Int32MPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    integer(kind=int32), intent(inout) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine irecv_Real64MPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    real(kind=real64), intent(inout) :: val
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine irecv_Int32VectorMPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    integer(kind=int32), intent(inout) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag
  • public subroutine irecv_Real64VectorMPI(this, from, val, req, tag)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: from
    real(kind=real64), intent(inout) :: val(:)
    integer(kind=int32), intent(inout) :: req
    integer(kind=int32), intent(in) :: tag

procedure, public, pass :: WaitAll_Int32MPI

  • public subroutine WaitAll_Int32MPI(this, send_req, recv_req)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: send_req
    integer(kind=int32), intent(in) :: recv_req

procedure, public, pass :: WaitAll_Int32VectorMPI

  • public subroutine WaitAll_Int32VectorMPI(this, send_req, recv_req)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: send_req(:)
    integer(kind=int32), intent(in) :: recv_req(:)

generic, public :: WaitAll => WaitAll_Int32MPI, WaitAll_Int32VectorMPI

  • public subroutine WaitAll_Int32MPI(this, send_req, recv_req)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: send_req
    integer(kind=int32), intent(in) :: recv_req
  • public subroutine WaitAll_Int32VectorMPI(this, send_req, recv_req)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    integer(kind=int32), intent(in) :: send_req(:)
    integer(kind=int32), intent(in) :: recv_req(:)

procedure, public :: createStack => createStackMPI

  • public subroutine createStackMPI(obj, total)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in) :: total

procedure, public :: showStack => showStackMPI

  • public subroutine showStackMPI(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj

procedure, public :: free => FreeMPI

  • public subroutine FreeMPI(obj, CommLayerID)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: CommLayerID

procedure, public :: split => SplitMPI

  • public subroutine SplitMPI(obj, OriginComm, NewCommLayerID, key)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: OriginComm
    integer(kind=int32), intent(in), optional :: NewCommLayerID
    integer(kind=int32), intent(in), optional :: key

procedure, public :: copy => CopyMPI

  • public subroutine CopyMPI(obj, OriginComm, NewCommLayerID)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: OriginComm
    integer(kind=int32), intent(in), optional :: NewCommLayerID

procedure, public :: End => EndMPI

  • public subroutine EndMPI(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj

procedure, public :: finalize => EndMPI

  • public subroutine EndMPI(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj

procedure, public :: getLapTime => getLapTimeMPI

  • public subroutine getLapTimeMPI(obj, comment)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    character(len=*), intent(in), optional :: comment

procedure, public :: showLapTime => showLapTimeMPI

  • public subroutine showLapTimeMPI(obj, cLength, rank)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    integer(kind=int32), intent(in), optional :: cLength
    integer(kind=int32), intent(in), optional :: rank

procedure, public :: GetInfo => GetMPIInfo

  • public subroutine GetMPIInfo(obj)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj

procedure, public :: createFileName => createFileNameMPI

  • public subroutine createFileNameMPI(obj, Path, Name)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    character(len=*), intent(in) :: Path
    character(len=*), intent(in) :: Name

procedure, public :: num_images => num_imagesMPI

  • public pure function num_imagesMPI(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public :: this_image => this_imageMPI

  • public pure function this_imageMPI(obj) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(in) :: obj

    Return Value integer(kind=int32)

procedure, public, pass :: restart_point_intmat64_MPI

  • public subroutine restart_point_intmat64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(inout), allocatable :: dat_content(:,:)

procedure, public, pass :: restart_point_realmat64_MPI

  • public subroutine restart_point_realmat64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    real(kind=real64), intent(inout), allocatable :: dat_content(:,:)

procedure, public, pass :: restart_point_intvec32_MPI

  • public subroutine restart_point_intvec32_MPI(this, name, intvec)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(inout), allocatable :: intvec(:)

procedure, public, pass :: restart_point_realvec64_MPI

  • public subroutine restart_point_realvec64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    real(kind=real64), intent(inout), allocatable :: dat_content(:)
  • public subroutine restart_point_intmat64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(inout), allocatable :: dat_content(:,:)
  • public subroutine restart_point_realmat64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    real(kind=real64), intent(inout), allocatable :: dat_content(:,:)
  • public subroutine restart_point_intvec32_MPI(this, name, intvec)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    integer(kind=int32), intent(inout), allocatable :: intvec(:)
  • public subroutine restart_point_realvec64_MPI(this, name, dat_content)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: name
    real(kind=real64), intent(inout), allocatable :: dat_content(:)

procedure, public, pass :: syncGraphMPI

  • public subroutine syncGraphMPI(obj, graph)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    type(Graph_), intent(inout) :: graph

generic, public :: sync => syncGraphMPI

  • public subroutine syncGraphMPI(obj, graph)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: obj
    type(Graph_), intent(inout) :: graph

procedure, public :: open => fopen_MPI

  • public subroutine fopen_MPI(this, filename, io_option)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: filename
    character(len=*), intent(in) :: io_option

procedure, public :: fopen => fopen_MPI

  • public subroutine fopen_MPI(this, filename, io_option)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this
    character(len=*), intent(in) :: filename
    character(len=*), intent(in) :: io_option

procedure, public :: close => fclose_MPI

  • public subroutine fclose_MPI(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this

procedure, public :: fclose => fclose_MPI

  • public subroutine fclose_MPI(this)

    Arguments

    Type IntentOptional Attributes Name
    class(MPI_), intent(inout) :: this