Template Numerical Library version\ main:58f2aa3f5
Loading...
Searching...
No Matches
TNL::Meshes::DistributedMeshes::DistributedMesh< Grid< Dimension, Real, Device, Index > > Class Template Reference
Inheritance diagram for TNL::Meshes::DistributedMeshes::DistributedMesh< Grid< Dimension, Real, Device, Index > >:
Collaboration diagram for TNL::Meshes::DistributedMeshes::DistributedMesh< Grid< Dimension, Real, Device, Index > >:

Public Types

using Cell
 
using Config
 
using CoordinatesType = Containers::StaticVector< Dimension, IndexType >
 
using DeviceType = Device
 
using DeviceType
 
using Face
 
using GlobalIndexArray
 
using GlobalIndexType = Index
 
using GlobalIndexType
 
using GridType = Grid< Dimension, Real, Device, IndexType >
 
using IndexType = Index
 
using LocalIndexType
 
using MeshType
 
using PointType = typename GridType::PointType
 
using PointType
 
using RealType = Real
 
using RealType
 
using SubdomainOverlapsType = Containers::StaticVector< Dimension, IndexType >
 
using Vertex
 
using VTKTypesArrayType
 

Public Member Functions

 DistributedMesh (const DistributedMesh &)=default
 
 DistributedMesh (DistributedMesh &&) noexcept=default
 
 DistributedMesh (MeshType &&localMesh)
 
const MPI::CommgetCommunicator () const
 
const MPI::CommgetCommunicator () const
 
const CoordinatesTypegetDomainDecomposition () const
 
template<int EntityDimension>
IndexType getEntitiesCount () const
 
template<typename Entity>
IndexType getEntitiesCount () const
 
template<int EntityDimension>
Index getEntitiesCount () const
 
int getGhostLevels () const
 
int getGhostLevels () const
 
const CoordinatesTypegetGlobalBegin () const
 
const GridTypegetGlobalGrid () const
 
GlobalIndexArray & getGlobalIndices ()
 
const GlobalIndexArray & getGlobalIndices () const
 
const CoordinatesTypegetGlobalSize () const
 
MeshTypegetLocalMesh ()
 
const GridTypegetLocalMesh () const
 
const MeshTypegetLocalMesh () const
 
const CoordinatesTypegetLocalSize () const
 
const SubdomainOverlapsTypegetLowerOverlap () const
 
const int * getNeighbors () const
 
const int * getPeriodicNeighbors () const
 
int getRankOfProcCoord (const CoordinatesType &nodeCoordinates) const
 
const CoordinatesTypegetSubdomainCoordinates () const
 
const SubdomainOverlapsTypegetUpperOverlap () const
 
bool isBoundarySubdomain () const
 
bool isDistributed () const
 
bool isThereNeighbor (const CoordinatesType &direction) const
 
bool operator!= (const DistributedMesh &other) const
 
bool operator!= (const DistributedMesh &other) const
 
DistributedMeshoperator= (const DistributedMesh &)=default
 
DistributedMeshoperator= (const Mesh_ &other)
 
DistributedMeshoperator= (DistributedMesh &&) noexcept=default
 
bool operator== (const DistributedMesh &other) const
 
bool operator== (const DistributedMesh &other) const
 
void printInfo (std::ostream &str) const
 
String printProcessCoords () const
 
String printProcessDistr () const
 
void reorderEntities (const GlobalIndexArray &perm, const GlobalIndexArray &iperm)
 
void setCommunicator (const MPI::Comm &communicator)
 
void setCommunicator (const MPI::Comm &communicator)
 
void setDomainDecomposition (const CoordinatesType &domainDecomposition)
 
void setGhostLevels (int levels)
 
void setGhostLevels (int levels)
 
void setGlobalGrid (const GridType &globalGrid)
 
void setOverlaps (const SubdomainOverlapsType &lower, const SubdomainOverlapsType &upper)
 
template<typename DistributedGridType>
bool SetupByCut (DistributedGridType &inputDistributedGrid, Containers::StaticVector< Dimension, int > savedDimensions, Containers::StaticVector< DistributedGridType::getMeshDimension() - Dimension, int > reducedDimensions, Containers::StaticVector< DistributedGridType::getMeshDimension() - Dimension, IndexType > fixedIndexs)
 
void setupNeighbors ()
 
VTKTypesArrayTypevtkCellGhostTypes ()
 
const VTKTypesArrayTypevtkCellGhostTypes () const
 
VTKTypesArrayTypevtkPointGhostTypes ()
 
const VTKTypesArrayTypevtkPointGhostTypes () const
 
void writeProlog (Logger &logger)
 

Static Public Member Functions

static constexpr int getMeshDimension ()
 
static constexpr int getMeshDimension ()
 
static constexpr int getNeighborsCount ()
 

Public Attributes

MPI::Comm communicator = MPI_COMM_WORLD
 
bool distributed = false
 
CoordinatesType domainDecomposition = 0
 
CoordinatesType globalBegin = 0
 
GridType globalGrid
 
bool isSet = false
 
GridType localGrid
 
CoordinatesType localSize = 0
 
SubdomainOverlapsType lowerOverlap = 0
 
int neighbors [getNeighborsCount()]
 
int periodicNeighbors [getNeighborsCount()]
 
CoordinatesType subdomainCoordinates = 0
 
SubdomainOverlapsType upperOverlap = 0
 

Protected Attributes

MPI::Comm communicator
 
int ghostLevels
 
MeshType localMesh
 
VTKTypesArrayType vtkCellGhostTypesArray
 
VTKTypesArrayType vtkPointGhostTypesArray
 

Additional Inherited Members

- Protected Member Functions inherited from TNL::Meshes::DistributedMeshes::GlobalIndexStorageFamily< Mesh, Device, DimensionTag >
 GlobalIndexStorageFamily (const GlobalIndexStorageFamily &)=default
 
 GlobalIndexStorageFamily (GlobalIndexStorageFamily &&) noexcept=default
 
GlobalIndexStorageFamilyoperator= (const GlobalIndexStorageFamily &)=default
 
template<typename Mesh_>
GlobalIndexStorageFamilyoperator= (const Mesh_ &mesh)
 
GlobalIndexStorageFamilyoperator= (GlobalIndexStorageFamily &&) noexcept=default
 
bool operator== (const GlobalIndexStorageFamily &other) const
 

Member Function Documentation

◆ getMeshDimension()

static constexpr int TNL::Meshes::DistributedMeshes::DistributedMesh< Grid< Dimension, Real, Device, Index > >::getMeshDimension ( )
inlinestaticnodiscardconstexpr

Common methods redirected to the local mesh

◆ setCommunicator()

void TNL::Meshes::DistributedMeshes::DistributedMesh< Grid< Dimension, Real, Device, Index > >::setCommunicator ( const MPI::Comm & communicator)
inline

Methods specific to the distributed mesh


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