|
OOFEM 3.0
|
#include <parallelordering.h>
Public Member Functions | |
| Natural2GlobalOrdering () | |
| virtual | ~Natural2GlobalOrdering () |
| void | init (EngngModel *, int di, const UnknownNumberingScheme &n) override |
| int | giveNewEq (int leq) override |
| int | giveOldEq (int eq) override |
| void | map2New (IntArray &answer, const IntArray &src, int baseOffset=0) override |
| void | map2Old (IntArray &answer, const IntArray &src, int baseOffset=0) override |
| int | giveNumberOfLocalEqs () override |
| int | giveNumberOfGlobalEqs () override |
| IntArray * | giveN2Gmap () |
| Public Member Functions inherited from oofem::ParallelOrdering | |
| ParallelOrdering () | |
| virtual | ~ParallelOrdering () |
| bool | isLocal (DofManager *dman) |
| Returns true if given DofManager is local (ie maintained by the receiver processor). | |
| bool | isShared (DofManager *dman) |
| Returns true if given DofManager is shared between partitions. | |
Protected Attributes | |
| IntArray | locGlobMap |
| Old to new mapping; uses 0-based global eq ordering; 1-based local ordering. | |
| std ::map< int, int > | globLocMap |
| New to old mapping. | |
| int | l_neqs |
| Number of local and global eqs. | |
| int | g_neqs |
Ordering from oofem natural ordering (includes all local and shared eqs) to global ordering.
Definition at line 100 of file parallelordering.h.
| oofem::Natural2GlobalOrdering::Natural2GlobalOrdering | ( | ) |
Definition at line 70 of file parallelordering.C.
References g_neqs, globLocMap, l_neqs, locGlobMap, and oofem::ParallelOrdering::ParallelOrdering().
|
inlinevirtual |
Definition at line 113 of file parallelordering.h.
|
inline |
Definition at line 126 of file parallelordering.h.
References locGlobMap.
Referenced by oofem::PetscSparseMtrx::buildInternalStructure().
|
overridevirtual |
Finds the global equation from a local equation.
| leq | Local equation number. |
Implements oofem::ParallelOrdering.
Definition at line 461 of file parallelordering.C.
References locGlobMap.
Referenced by oofem::PetscSparseMtrx::scatterL2G().
|
inlineoverridevirtual |
Reimplemented from oofem::ParallelOrdering.
Definition at line 124 of file parallelordering.h.
References g_neqs.
Referenced by oofem::PetscSparseMtrx::buildInternalStructure().
|
inlineoverridevirtual |
Returns number of local eqs; ie. those that belong to receiver processor; Note that some eqs may be owned by remote processors (some shared nodes,...). The sum of local eqs for all processors should give total number of eqs.
Reimplemented from oofem::ParallelOrdering.
Definition at line 123 of file parallelordering.h.
References l_neqs.
Referenced by oofem::PetscSparseMtrx::buildInternalStructure().
|
overridevirtual |
Finds the local equation number from a global equation.
| eq | Global equation number. |
Implements oofem::ParallelOrdering.
Definition at line 467 of file parallelordering.C.
References globLocMap.
Referenced by map2Old().
|
overridevirtual |
Initiates the receiver.
| em | Engineering model to determine general information about the problem. |
| di | Domain index. |
Implements oofem::ParallelOrdering.
Definition at line 77 of file parallelordering.C.
References oofem::IntArray::at(), oofem::DofManager_local, oofem::DofManager_shared, g_neqs, oofem::Domain::giveDofManager(), oofem::EngngModel::giveDomain(), oofem::DofManager::giveGlobalNumber(), oofem::Domain::giveNumberOfDofManagers(), oofem::DofManager::giveNumberOfDofs(), oofem::EngngModel::giveNumberOfDomainEquations(), oofem::EngngModel::giveNumberOfProcesses(), oofem::DofManager::giveParallelMode(), oofem::DofManager::givePartitionList(), oofem::EngngModel::giveRank(), oofem::IntArray::giveSize(), globLocMap, oofem::CommunicationBuffer::iRecv(), oofem::CommunicationBuffer::iSend(), oofem::ParallelOrdering::isLocal(), oofem::ParallelOrdering::isShared(), l_neqs, locGlobMap, oofem::min(), OOFEM_ERROR, OOFEM_LOG_INFO, oofem::CommunicationBuffer::read(), oofem::CommunicationBuffer::resize(), VERBOSEPARALLEL_PRINT, oofem::CommunicationBuffer::write(), and oofem::IntArray::zero().
Referenced by oofem::PetscSparseMtrx::buildInternalStructure().
|
overridevirtual |
Implements oofem::ParallelOrdering.
Definition at line 478 of file parallelordering.C.
References oofem::IntArray::at(), oofem::IntArray::giveSize(), locGlobMap, and oofem::IntArray::resize().
Referenced by oofem::PetscSparseMtrx::buildInternalStructure().
|
overridevirtual |
Implements oofem::ParallelOrdering.
Definition at line 495 of file parallelordering.C.
References oofem::IntArray::at(), giveOldEq(), oofem::IntArray::giveSize(), and oofem::IntArray::resize().
|
protected |
Definition at line 109 of file parallelordering.h.
Referenced by giveNumberOfGlobalEqs(), init(), and Natural2GlobalOrdering().
|
protected |
New to old mapping.
Definition at line 106 of file parallelordering.h.
Referenced by giveOldEq(), init(), and Natural2GlobalOrdering().
|
protected |
Number of local and global eqs.
Definition at line 109 of file parallelordering.h.
Referenced by giveNumberOfLocalEqs(), init(), and Natural2GlobalOrdering().
|
protected |
Old to new mapping; uses 0-based global eq ordering; 1-based local ordering.
Definition at line 104 of file parallelordering.h.
Referenced by giveN2Gmap(), giveNewEq(), init(), map2New(), and Natural2GlobalOrdering().