INMOST
Mathematical Modelling Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
INMOST::Solver::OrderInfo Class Reference

Base class for low level operations with objects of Solver class. More...

#include <inmost_solver.h>

Collaboration diagram for INMOST::Solver::OrderInfo:

Public Member Functions

void Clear ()
 
boolHaveMatrix ()
 Return true if Matrix data have already been specified. More...
 
 OrderInfo ()
 
 OrderInfo (const OrderInfo &other)
 
OrderInfooperator= (OrderInfo const &other)
 
 ~OrderInfo ()
 
void PrepareMatrix (Sparse::Matrix &m, INMOST_DATA_ENUM_TYPE overlap)
 
void RestoreMatrix (Sparse::Matrix &m)
 Restore initial nonparallel state of the Matrix with no overlap. More...
 
void PrepareVector (Sparse::Vector &v) const
 Prepare parallel state of the Vector. More...
 
void RestoreVector (Sparse::Vector &v) const
 Restore initial nonparallel state of the Vector. More...
 
INMOST_DATA_ENUM_TYPE GetProcessor (INMOST_DATA_ENUM_TYPE gind) const
 Retrieve the processor number by binary search for the specified global index. More...
 
void GetOverlapRegion (INMOST_DATA_ENUM_TYPE proc, INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const
 
void GetLocalRegion (INMOST_DATA_ENUM_TYPE proc, INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const
 Get the local index region for the specified process. More...
 
void GetVectorRegion (INMOST_DATA_ENUM_TYPE &mbeg, INMOST_DATA_ENUM_TYPE &mend) const
 Get the local index region for the current process. More...
 
INMOST_DATA_ENUM_TYPE GetRank () const
 Get the rank of the current communicator, i.e. the current process index. More...
 
INMOST_DATA_ENUM_TYPE GetSize () const
 Get the size of the current communicator, i.e. the total number of processes used. More...
 
void Update (Sparse::Vector &x)
 Update the shared data in parallel vector. More...
 
void Accumulate (Sparse::Vector &x)
 Sum shared values in parallel vector. More...
 
void Integrate (INMOST_DATA_REAL_TYPE *inout, INMOST_DATA_ENUM_TYPE num) const
 Get the sum of num elements of real array on all processes. More...
 
INMOST_MPI_Comm GetComm () const
 Get the communicator which the solver is associated with. More...
 
INMOST_MPI_RequestGetSendRequests ()
 
INMOST_MPI_RequestGetRecvRequests ()
 
INMOST_DATA_ENUM_TYPE GetSendRequestsSize ()
 
INMOST_DATA_ENUM_TYPE GetRecvRequestsSize ()
 
INMOST_DATA_ENUM_TYPEGetSendExchangeArray ()
 
INMOST_DATA_ENUM_TYPE GetSendExchangeSize ()
 
INMOST_DATA_ENUM_TYPEGetRecvExchangeArray ()
 
INMOST_DATA_ENUM_TYPE GetRecvExchangeSize ()
 

Detailed Description

Base class for low level operations with objects of Solver class.

Definition at line 67 of file inmost_solver.h.

Constructor & Destructor Documentation

INMOST::Solver::OrderInfo::OrderInfo ( )
INMOST::Solver::OrderInfo::OrderInfo ( const OrderInfo other)
INMOST::Solver::OrderInfo::~OrderInfo ( )

Member Function Documentation

void INMOST::Solver::OrderInfo::Accumulate ( Sparse::Vector x)

Sum shared values in parallel vector.

void INMOST::Solver::OrderInfo::Clear ( )
INMOST_MPI_Comm INMOST::Solver::OrderInfo::GetComm ( ) const
inline

Get the communicator which the solver is associated with.

Definition at line 124 of file inmost_solver.h.

void INMOST::Solver::OrderInfo::GetLocalRegion ( INMOST_DATA_ENUM_TYPE  proc,
INMOST_DATA_ENUM_TYPE mbeg,
INMOST_DATA_ENUM_TYPE mend 
) const

Get the local index region for the specified process.

void INMOST::Solver::OrderInfo::GetOverlapRegion ( INMOST_DATA_ENUM_TYPE  proc,
INMOST_DATA_ENUM_TYPE mbeg,
INMOST_DATA_ENUM_TYPE mend 
) const
INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetProcessor ( INMOST_DATA_ENUM_TYPE  gind) const

Retrieve the processor number by binary search for the specified global index.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetRank ( ) const
inline

Get the rank of the current communicator, i.e. the current process index.

Definition at line 114 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE* INMOST::Solver::OrderInfo::GetRecvExchangeArray ( )
inline

Definition at line 132 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetRecvExchangeSize ( )
inline

Definition at line 133 of file inmost_solver.h.

INMOST_MPI_Request* INMOST::Solver::OrderInfo::GetRecvRequests ( )
inline

Definition at line 127 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetRecvRequestsSize ( )
inline

Definition at line 129 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE* INMOST::Solver::OrderInfo::GetSendExchangeArray ( )
inline

Definition at line 130 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetSendExchangeSize ( )
inline

Definition at line 131 of file inmost_solver.h.

INMOST_MPI_Request* INMOST::Solver::OrderInfo::GetSendRequests ( )
inline

Definition at line 126 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetSendRequestsSize ( )
inline

Definition at line 128 of file inmost_solver.h.

INMOST_DATA_ENUM_TYPE INMOST::Solver::OrderInfo::GetSize ( ) const
inline

Get the size of the current communicator, i.e. the total number of processes used.

Definition at line 116 of file inmost_solver.h.

void INMOST::Solver::OrderInfo::GetVectorRegion ( INMOST_DATA_ENUM_TYPE mbeg,
INMOST_DATA_ENUM_TYPE mend 
) const
inline

Get the local index region for the current process.

Definition at line 112 of file inmost_solver.h.

bool& INMOST::Solver::OrderInfo::HaveMatrix ( )
inline

Return true if Matrix data have already been specified.

Definition at line 89 of file inmost_solver.h.

void INMOST::Solver::OrderInfo::Integrate ( INMOST_DATA_REAL_TYPE inout,
INMOST_DATA_ENUM_TYPE  num 
) const

Get the sum of num elements of real array on all processes.

OrderInfo& INMOST::Solver::OrderInfo::operator= ( OrderInfo const &  other)
void INMOST::Solver::OrderInfo::PrepareMatrix ( Sparse::Matrix m,
INMOST_DATA_ENUM_TYPE  overlap 
)

Prepare parallel state of the Matrix with specified overlap size. This state of the matrix can be used, for instance, to construct the preconditioner for Additive Swartz method.

Parameters
mMatrix to be expanded.
overlapOverlap size, viz. the number of overlap layers.
void INMOST::Solver::OrderInfo::PrepareVector ( Sparse::Vector v) const

Prepare parallel state of the Vector.

void INMOST::Solver::OrderInfo::RestoreMatrix ( Sparse::Matrix m)

Restore initial nonparallel state of the Matrix with no overlap.

void INMOST::Solver::OrderInfo::RestoreVector ( Sparse::Vector v) const

Restore initial nonparallel state of the Vector.

void INMOST::Solver::OrderInfo::Update ( Sparse::Vector x)

Update the shared data in parallel vector.


The documentation for this class was generated from the following file: