OOFEM 3.0
Loading...
Searching...
No Matches
oofem::FETICommunicator Class Reference

#include <feticommunicator.h>

Inheritance diagram for oofem::FETICommunicator:
Collaboration diagram for oofem::FETICommunicator:

Public Types

enum  { FETICommunicatorZeroTag , NumberOfBoundaryDofManagersMsg , BoundaryDofManagersRecMsg }
 Enumeration used to define necessary communication tags, used to identify different messages send/received. More...

Public Member Functions

 FETICommunicator (EngngModel *emodel, CommunicatorBuff *b, int rank, int size)
virtual ~FETICommunicator ()
 Destructor.
int giveNumberOfDomainEquations ()
void setUpCommunicationMaps (EngngModel *pm)
FETIBoundaryDofManagergiveDofManager (int i)
IntArraygiveMasterCommMapPtr ()
Public Member Functions inherited from oofem::Communicator
 Communicator (EngngModel *emodel, CommunicatorBuff *buff, int rank, int size, CommunicatorMode mode=CommMode_Static)
virtual ~Communicator ()
 Destructor.
ProcessCommunicatorgiveProcessCommunicator (int i)
template<class T>
int packAllData (T *ptr, int(T ::*packFunc)(ProcessCommunicator &))
template<class T, class P>
int packAllData (T *ptr, P *src, int(T ::*packFunc)(P *, ProcessCommunicator &))
template<class T>
int unpackAllData (T *ptr, int(T ::*unpackFunc)(ProcessCommunicator &))
template<class T, class P>
int unpackAllData (T *ptr, P *src, int(T ::*unpackFunc)(P *, ProcessCommunicator &))
int initExchange (int tag)
int initSend (int tag)
int initReceive (int tag)
int finishExchange ()
void clearBuffers ()
std::string errorInfo (const char *func) const
 Returns string for prepending output (used by error reporting macros).

Protected Attributes

int numberOfEquations
 Number of equations at master level (determined form boundary nodes).
vector< FETIBoundaryDofManagerboundaryDofManList
 List of boundary dof managers records.
IntArray masterCommMap
Protected Attributes inherited from oofem::Communicator
int rank
 Rank of process.
std::vector< ProcessCommunicatorprocessComms
 Array of process communicators.
EngngModelengngModel
 Engineering model.
CommunicatorMode mode
 Mode.

Detailed Description

Class representing communicator for FETI solver. It is attribute of FETI solver numerical method class running on master partition (rank equal to 0). This Communicator provides necessary services for communication with associated slave partitions. It manages several domain communicators, each for communication with particular partition.

Definition at line 56 of file feticommunicator.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Enumeration used to define necessary communication tags, used to identify different messages send/received.

Enumerator
FETICommunicatorZeroTag 
NumberOfBoundaryDofManagersMsg 
BoundaryDofManagersRecMsg 

Definition at line 60 of file feticommunicator.h.

Constructor & Destructor Documentation

◆ FETICommunicator()

oofem::FETICommunicator::FETICommunicator ( EngngModel * emodel,
CommunicatorBuff * b,
int rank,
int size )

Creates new communicator.

Parameters
emodelEngineering model for communication.
bCommunicator buffer.
rankRank of associated partition.
sizeNumber of collaborating processes.

Definition at line 47 of file feticommunicator.C.

References oofem::Communicator::Communicator(), OOFEM_ERROR, and oofem::Communicator::rank.

◆ ~FETICommunicator()

oofem::FETICommunicator::~FETICommunicator ( )
virtual

Destructor.

Definition at line 56 of file feticommunicator.C.

Member Function Documentation

◆ giveDofManager()

FETIBoundaryDofManager * oofem::FETICommunicator::giveDofManager ( int i)
inline

Returns reference to i-th boundary dof manager. Available only on master partition.

Definition at line 92 of file feticommunicator.h.

References boundaryDofManList.

◆ giveMasterCommMapPtr()

IntArray * oofem::FETICommunicator::giveMasterCommMapPtr ( )
inline

Returns pointer to master comm map stored in receiver.

Definition at line 98 of file feticommunicator.h.

References masterCommMap.

◆ giveNumberOfDomainEquations()

int oofem::FETICommunicator::giveNumberOfDomainEquations ( )
inline

Definition at line 85 of file feticommunicator.h.

References numberOfEquations.

◆ setUpCommunicationMaps()

Member Data Documentation

◆ boundaryDofManList

vector< FETIBoundaryDofManager > oofem::FETICommunicator::boundaryDofManList
protected

List of boundary dof managers records.

Definition at line 66 of file feticommunicator.h.

Referenced by giveDofManager(), and setUpCommunicationMaps().

◆ masterCommMap

IntArray oofem::FETICommunicator::masterCommMap
protected

Master communication map. Not stored in corresponding domain comm, but required in order to allow direct (memory) mapping instead of communication.

Definition at line 71 of file feticommunicator.h.

Referenced by giveMasterCommMapPtr(), and setUpCommunicationMaps().

◆ numberOfEquations

int oofem::FETICommunicator::numberOfEquations
protected

Number of equations at master level (determined form boundary nodes).

Definition at line 64 of file feticommunicator.h.

Referenced by giveNumberOfDomainEquations(), and setUpCommunicationMaps().


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

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011