preCICE v3.1.2
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Attributes | List of all members
precice::partition::Partition Class Referenceabstract

Abstract base class for partitions. More...

#include <Partition.hpp>

Inheritance diagram for precice::partition::Partition:
[legend]
Collaboration diagram for precice::partition::Partition:
[legend]

Public Member Functions

 Partition (mesh::PtrMesh mesh)
 Constructor.
 
Partitionoperator= (Partition &&)=delete
 
virtual ~Partition ()
 
virtual void compareBoundingBoxes ()=0
 Intersections between bounding boxes around each rank are computed.
 
virtual void communicate ()=0
 The mesh is communicated between both primary ranks (if required)
 
virtual void compute ()=0
 The partition is computed, i.e. the mesh re-partitioned if required and all data structures are set up.
 
void addFromMapping (mapping::PtrMapping fromMapping)
 
void addToMapping (mapping::PtrMapping toMapping)
 
void addM2N (m2n::PtrM2N m2n)
 

Protected Attributes

mesh::PtrMesh _mesh
 
std::vector< mapping::PtrMapping_fromMappings
 
std::vector< mapping::PtrMapping_toMappings
 
std::vector< m2n::PtrM2N_m2ns
 m2n connection to each connected participant
 

Private Attributes

logging::Logger _log {"partition::Partition"}
 

Detailed Description

Abstract base class for partitions.

A Partition describes how a mesh is decomposed among multiple ranks and is associated to a "provide-mesh" or "receive-mesh" a participant holds. This class holds the structures that describe the decomposition (if not the mesh) and compute them.

A Partition can come in two flavors: Either defined by a participant (provide-mesh) or received from another participant (receive-mesh).

Access to the associated mesh, to both mappings (from and to this mesh), and to an m2n communication to another participant is necessary.

Definition at line 29 of file Partition.hpp.

Constructor & Destructor Documentation

◆ Partition()

precice::partition::Partition::Partition ( mesh::PtrMesh mesh)

Constructor.

Definition at line 7 of file Partition.cpp.

◆ ~Partition()

virtual precice::partition::Partition::~Partition ( )
inlinevirtual

Definition at line 36 of file Partition.hpp.

Member Function Documentation

◆ addFromMapping()

void precice::partition::Partition::addFromMapping ( mapping::PtrMapping fromMapping)
inline

Definition at line 47 of file Partition.hpp.

◆ addM2N()

void precice::partition::Partition::addM2N ( m2n::PtrM2N m2n)
inline

Definition at line 57 of file Partition.hpp.

◆ addToMapping()

void precice::partition::Partition::addToMapping ( mapping::PtrMapping toMapping)
inline

Definition at line 52 of file Partition.hpp.

◆ communicate()

virtual void precice::partition::Partition::communicate ( )
pure virtual

The mesh is communicated between both primary ranks (if required)

Implemented in precice::partition::ProvidedPartition, and precice::partition::ReceivedPartition.

◆ compareBoundingBoxes()

virtual void precice::partition::Partition::compareBoundingBoxes ( )
pure virtual

Intersections between bounding boxes around each rank are computed.

Implemented in precice::partition::ProvidedPartition, and precice::partition::ReceivedPartition.

◆ compute()

virtual void precice::partition::Partition::compute ( )
pure virtual

The partition is computed, i.e. the mesh re-partitioned if required and all data structures are set up.

Implemented in precice::partition::ProvidedPartition, and precice::partition::ReceivedPartition.

◆ operator=()

Partition & precice::partition::Partition::operator= ( Partition && )
delete

Member Data Documentation

◆ _fromMappings

std::vector<mapping::PtrMapping> precice::partition::Partition::_fromMappings
protected

Definition at line 65 of file Partition.hpp.

◆ _log

logging::Logger precice::partition::Partition::_log {"partition::Partition"}
private

Definition at line 73 of file Partition.hpp.

◆ _m2ns

std::vector<m2n::PtrM2N> precice::partition::Partition::_m2ns
protected

m2n connection to each connected participant

Definition at line 70 of file Partition.hpp.

◆ _mesh

mesh::PtrMesh precice::partition::Partition::_mesh
protected

Definition at line 63 of file Partition.hpp.

◆ _toMappings

std::vector<mapping::PtrMapping> precice::partition::Partition::_toMappings
protected

Definition at line 67 of file Partition.hpp.


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