CEPS  24.01
Cardiac ElectroPhysiology Simulator
Geometry Class Reference

Detailed Description

Encapsulates all the geometrical data.

Geometry is seen as the combination of 3 different domains: 3D domain (volume), 2D domain (surface) and 1D domain (cable cells). Each domain is created by specifying one or several mesh files. Each mesh file is independant (no relation between the meshes). If the domains are connected (as with purkinje fibers in endocardium), connections between cells must be specified via a connections file or via cell attributes.

Definition at line 49 of file Geometry.hpp.

#include <Geometry.hpp>

Inheritance diagram for Geometry:
[legend]

Public Member Functions

 Geometry ()
 Default constructor. More...
 
 Geometry (InputParameters *params)
 Constructor with parameters. More...
 
 ~Geometry ()
 Destructor. More...
 
void setupWithParameters (InputParameters *params)
 Initializes the instance with all parameters. More...
 
void setMeshOfDim (CepsUInt dim, const CepsString &meshFileName)
 Creates mesh data of given dimension. More...
 
void set3dMesh (const CepsString &meshFileName)
 Creates the 3D mesh data. More...
 
void set2dMesh (const CepsString &meshFileName)
 Creates the 2D mesh data. More...
 
void set1dMesh (const CepsString &meshFileName)
 Creates the 1D mesh data. More...
 
MeshgetMeshOfDim (CepsUInt dim) const
 Return the mesh of requested dimension. More...
 
Meshget3dMesh () const
 Pointer on the 3D mesh. More...
 
Meshget2dMesh () const
 Pointer on the 2D mesh. More...
 
Meshget1dMesh () const
 Pointer on the 1D mesh. More...
 
CepsBool hasMeshOfDim (CepsUInt dim) const
 true if geometry has data of requested dimension More...
 
CepsBool has3dMesh () const
 true if geometry has 3d data More...
 
CepsBool has2dMesh () const
 true if geometry has 2d data More...
 
CepsBool has1dMesh () const
 true if geometry has 1d data More...
 
const CepsVector< CepsString > & getFileNamesForDim (CepsUInt dim) const
 Mesh file names. More...
 
const CepsVector< CepsString > & getVolumicFileNames () const
 Files with 3D cells. More...
 
const CepsVector< CepsString > & getSurfacicFileNames () const
 Files with surfacic cells. More...
 
const CepsVector< CepsString > & getCableFileNames () const
 Files with 1D cells. More...
 
const CepsStringgetCoupledNodesFileName () const
 Coupled nodes file name. More...
 
void setCoupledNodesFile (const CepsString &coupledNodesFile)
 Reads mesh couplings from this file. More...
 
void setPartitioningMethodFromString (const CepsString &s)
 Sets the partioning method from the input string. More...
 
void setPartitioningMethod (PartitioningMethod method)
 Sets the partitioning method. More...
 
PartitioningMethod getPartitioningMethod () const
 Partitioning method (flavours of scotch) More...
 
void setPartitionWeights (const CepsMap< CepsAttribute, CepsUInt > &weights)
 Set the weights to be put on each region before partitioning. More...
 
const CepsMap< CepsAttribute, CepsUInt > & getPartitionWeights () const
 Set the weights to be put on each region before partitioning. More...
 
CepsUInt computePartition ()
 Launches the computation of a partitioning. A Geometry may not be manipulated before a partitioning has been computed. After the partitioning, all the data local to each process has been allocated. More...
 
CepsUInt getNbCells () const
 Number of non-boundary cells of the geometry (global). More...
 
CepsUInt getNbBoundaryCells () const
 Number of boundary cells of the geometry (global). More...
 
CepsUInt getNbNodes () const
 Number of nodes of the geometry (global) More...
 
CepsUInt getNbHaloNodes () const
 Number of halo nodes of the geometry (global) More...
 
CepsUInt getNbNodesLocal () const
 Number of nodes local to this process, with halo nodes. More...
 
CepsUInt getNbOwnedNodesLocal () const
 Number of nodes local to this process, without halo nodes. More...
 
CepsUInt getNbHaloNodesLocal () const
 Number of halo nodes local to this process. More...
 
CepsUInt getNbCellsLocal () const
 Number of cells local to this process (3d, 2d and 1d). N.B as we have implemented a multiple ownership over cells (overlaping of cells on the interface), each process may have an cell owned by another process. More...
 
CepsUInt getNbBoundaryCellsLocal () const
 Number of boundary cells local to this process (3d, 2d and 1d). N.B as we have implemented a multiple ownership over cells (overlaping of cells on the interface), each process may have an cell owned by another process. More...
 
CepsUInt getMaxNodeConnectivity () const
 Maximum number of adjacent nodes. More...
 
CepsReal getMaxCellDiameter () const
 Get the largest diameter of geom cells across meshes. More...
 
GeomNodegetNode (CepsNodeGlobalIndex globalID, CepsBool ownedOnly=false)
 Returns a pointer to the node with given global ID. Nullptr if node is not owned or halo. More...
 
GeomCellgetCell (CepsCellGlobalIndex globalID)
 Returns a pointer to the cell with given global ID. Nullptr if cell is not owned. More...
 
void print (std::ostream &os=std::cout) const
 Displays some info. More...
 
void printDataDistribution (CepsUInt *nCells, CepsUInt *nBdCells, CepsUInt *nNodes, CepsUInt *nHaloNodes, std::ostream &os=std::cout) const
 Displays the data distribution (percentages of cell and nodes ownership) for each process. More...
 
void getLocalDistribution (CepsUInt *nCells, CepsUInt *nBdCells, CepsUInt *nNodes, CepsUInt *nHaloNodes) const
 Gets the local data distribution of all the domains. More...
 
void getGlobalDistribution (CepsUInt *nCells, CepsUInt *nBDCells, CepsUInt *nNodes, CepsUInt *nHaloNodes) const
 Gets the global data distribution of the domains. More...
 
const CepsVector< CepsSet< CepsNodeGlobalIndex > > & getNodesToSend ()
 List of nodes of which to send data to other process (build at partitioning) More...
 
const CepsVector< CepsSet< CepsNodeGlobalIndex > > & getNodesToReceive ()
 List of nodes of which to get data to other process (build at partitioning) More...
 
const CepsVector< CepsNodeGlobalIndex > & getNodePartitionMap ()
 The node index map from before to after partitioning. More...
 
const CepsVector< CepsCellGlobalIndex > & getCellPartitionMap ()
 The node index map from before to after partitioning. More...
 
const CepsVector< CepsUInt > & getCellOffsetPerMesh ()
 Number of cells per mesh. More...
 
const CepsVector< CepsUInt > & getNodeOffsetPerMesh ()
 Number of nodes per mesh. More...
 
const CepsMultiMap< CepsNodeGlobalIndex, CepsNodeGlobalIndex > & getCoupledNodes ()
 Coupled nodes local (owned or in the halo) of this process. More...
 
void scale (CepsReal scaleFactor)
 Scale the entire geometry. More...
 
- Public Member Functions inherited from CepsObject
 CepsObject ()=default
 default constructor More...
 
 CepsObject (const CepsObject &)=default
 Copy constructor. More...
 
virtual ~CepsObject ()=default
 Destructor. More...
 
CepsObjectoperator= (const CepsObject &)=default
 Assignment operator. More...
 
CepsObjecttoBaseObject ()
 Returns a pointer to CepsObject class. More...
 
const CepsObjecttoBaseObject () const
 Returns a pointer to CepsObject class, const version. More...
 
ProfilergetProfiler () const
 Access to profiler. More...
 

Protected Member Functions

CepsUInt computeMaxNodeConnectivity ()
 Finds the maximum number of adjacent nodes. More...
 
CepsReal computeMaxCellDiameter ()
 Finds the largest cell diameter. More...
 
void initialize ()
 Sets default values. More...
 
void setPartitionWeightsFromString (const CepsString &s)
 Sets the partition weights for given regions. Default is 1 everywhere. More...
 
void updateMeshInfo (CepsUInt dim)
 Communicate mesh ownership data to all processes. More...
 
void updateGeometryInfo ()
 Update each mesh info. More...
 

Protected Attributes

InputParametersm_parameters
 Config used to setup the geometry, if any. More...
 
PartitioningMethod m_partitioningMethod
 How the geometry is partitioned. More...
 
CepsArray3< CepsVector< CepsString > > m_meshFilenames
 All the meshes file names. More...
 
CepsString m_coupledNodesFileName = ""
 Connections file name, if any. More...
 
CepsArray3< CepsBoolm_hasMeshOfDim
 If the geometry contains XD data. More...
 
CepsBool m_hasCoupledNodes
 Whether the geometry has connections or not. More...
 
CepsUInt m_nbCells
 Number of non-boundary cells (all meshes, all process) More...
 
CepsUInt m_nbBoundaryCells
 Number of boundary cells (all meshes, all process) More...
 
CepsUInt m_nbNodes
 Number of nodes (all meshes, all process) More...
 
CepsUInt m_nbHaloNodes
 Number of halo nodes (all meshes, all process) More...
 
CepsUInt m_maxNodeConnectivity
 Maximum number of neighbors found for current geometry. More...
 
CepsReal m_maxCellDiameter
 Largest cell size across meshes. More...
 
CepsVector< CepsUIntm_cellOffsetPerMesh
 Offset of each mesh. More...
 
CepsVector< CepsUIntm_nodeOffsetPerMesh
 Offset of each mesh. More...
 
CepsMap< CepsAttribute, CepsUIntm_partitionWeights
 nb of unknowns per regions for unbalanced partitions More...
 
CepsVector< CepsNodeGlobalIndexm_nodePartitionMap
 Map of node indices from read geometry to partitioned geometry. More...
 
CepsVector< CepsCellGlobalIndexm_cellPartitionMap
 Map of cell indices from read geometry to partitioned geometry. More...
 
CepsArray3< Mesh * > m_meshes
 pointer to xD mesh instance More...
 
CepsVector< GeomCellJunction * > m_junctionCells
 Fake cells to join meshes. More...
 
CepsVector< CepsSet< CepsNodeGlobalIndex > > m_nodesToSend
 List of nodes of which to send data to other process (build at partitioning) More...
 
CepsVector< CepsSet< CepsNodeGlobalIndex > > m_nodesToReceive
 List of nodes of which to get data to other process (build at partitioning) More...
 
CepsMultiMap< CepsNodeGlobalIndex, CepsNodeGlobalIndexm_coupledNodes
 Pairs of coupled nodes. More...
 
CepsMap< CepsAttribute, CepsVector< CepsCellGlobalIndex > > m_connections
 Junctions. More...
 

Friends

class GeometryPartitioner
 
class PtscotchPartitioner
 
std::ostream & operator<< (std::ostream &os, const Geometry &g)
 Displays some info. More...
 

Additional Inherited Members

- Static Protected Attributes inherited from CepsObject
static Profiler m_profiler
 The same profiler for each big object. More...
 

Constructor & Destructor Documentation

◆ Geometry() [1/2]

Geometry::Geometry ( )

Default constructor.

Definition at line 43 of file Geometry.cpp.

◆ Geometry() [2/2]

Geometry::Geometry ( InputParameters params)
explicit

Constructor with parameters.

Definition at line 49 of file Geometry.cpp.

◆ ~Geometry()

Geometry::~Geometry ( )

Destructor.

Definition at line 56 of file Geometry.cpp.

Member Function Documentation

◆ computeMaxCellDiameter()

CepsReal Geometry::computeMaxCellDiameter ( )
protected

Finds the largest cell diameter.

Definition at line 710 of file Geometry.cpp.

◆ computeMaxNodeConnectivity()

CepsUInt Geometry::computeMaxNodeConnectivity ( )
protected

Finds the maximum number of adjacent nodes.

Note: used by DistributedMatrix class to preallocate the necessary memory.

Definition at line 695 of file Geometry.cpp.

◆ computePartition()

CepsUInt Geometry::computePartition ( )

Launches the computation of a partitioning. A Geometry may not be manipulated before a partitioning has been computed. After the partitioning, all the data local to each process has been allocated.

Returns
non-zero on failure.

Definition at line 274 of file Geometry.cpp.

◆ get1dMesh()

Mesh * Geometry::get1dMesh ( ) const

Pointer on the 1D mesh.

Definition at line 161 of file Geometry.cpp.

◆ get2dMesh()

Mesh * Geometry::get2dMesh ( ) const

Pointer on the 2D mesh.

Definition at line 155 of file Geometry.cpp.

◆ get3dMesh()

Mesh * Geometry::get3dMesh ( ) const

Pointer on the 3D mesh.

Definition at line 149 of file Geometry.cpp.

◆ getCableFileNames()

const CepsVector< CepsString > & Geometry::getCableFileNames ( ) const

Files with 1D cells.

Definition at line 212 of file Geometry.cpp.

◆ getCell()

GeomCell * Geometry::getCell ( CepsCellGlobalIndex  globalID)

Returns a pointer to the cell with given global ID. Nullptr if cell is not owned.

Definition at line 478 of file Geometry.cpp.

◆ getCellOffsetPerMesh()

const CepsVector< CepsUInt > & Geometry::getCellOffsetPerMesh ( )

Number of cells per mesh.

Definition at line 655 of file Geometry.cpp.

◆ getCellPartitionMap()

const CepsVector< CepsCellGlobalIndex > & Geometry::getCellPartitionMap ( )

The node index map from before to after partitioning.

Definition at line 649 of file Geometry.cpp.

◆ getCoupledNodes()

const CepsMultiMap< CepsNodeGlobalIndex, CepsNodeGlobalIndex > & Geometry::getCoupledNodes ( )

Coupled nodes local (owned or in the halo) of this process.

Definition at line 667 of file Geometry.cpp.

◆ getCoupledNodesFileName()

const CepsString & Geometry::getCoupledNodesFileName ( ) const

Coupled nodes file name.

Definition at line 218 of file Geometry.cpp.

◆ getFileNamesForDim()

const CepsVector< CepsString > & Geometry::getFileNamesForDim ( CepsUInt  dim) const

Mesh file names.

Definition at line 194 of file Geometry.cpp.

◆ getGlobalDistribution()

void Geometry::getGlobalDistribution ( CepsUInt nCells,
CepsUInt nBDCells,
CepsUInt nNodes,
CepsUInt nHaloNodes 
) const

Gets the global data distribution of the domains.

Parameters
[in,out]nCellsan array of size nb process that will hold the number of local cells.
[in,out]nBDCellsan array of size nb process that will hold the number of local boundary cells.
[in,out]nNodesan array of size nb process that will hold the number of owned nodes
[in,out]nHaloNodesan array of size nb process that will hold the number of halo nodes

Definition at line 604 of file Geometry.cpp.

◆ getLocalDistribution()

void Geometry::getLocalDistribution ( CepsUInt nCells,
CepsUInt nBdCells,
CepsUInt nNodes,
CepsUInt nHaloNodes 
) const

Gets the local data distribution of all the domains.

Parameters
[out]nCellswill hold the number of local cells
[out]nBdCellswill hold the number of local boundary cells
[out]nNodeswill hold the number of owned nodes
[out]nHaloNodeswill hold the number of hal nodes

Definition at line 591 of file Geometry.cpp.

◆ getMaxCellDiameter()

CepsReal Geometry::getMaxCellDiameter ( ) const

Get the largest diameter of geom cells across meshes.

Definition at line 450 of file Geometry.cpp.

◆ getMaxNodeConnectivity()

CepsUInt Geometry::getMaxNodeConnectivity ( ) const

Maximum number of adjacent nodes.

Definition at line 444 of file Geometry.cpp.

◆ getMeshOfDim()

Mesh * Geometry::getMeshOfDim ( CepsUInt  dim) const

Return the mesh of requested dimension.

Definition at line 139 of file Geometry.cpp.

◆ getNbBoundaryCells()

CepsUInt Geometry::getNbBoundaryCells ( ) const

Number of boundary cells of the geometry (global).

Definition at line 377 of file Geometry.cpp.

◆ getNbBoundaryCellsLocal()

CepsUInt Geometry::getNbBoundaryCellsLocal ( ) const

Number of boundary cells local to this process (3d, 2d and 1d). N.B as we have implemented a multiple ownership over cells (overlaping of cells on the interface), each process may have an cell owned by another process.

Definition at line 433 of file Geometry.cpp.

◆ getNbCells()

CepsUInt Geometry::getNbCells ( ) const

Number of non-boundary cells of the geometry (global).

Definition at line 371 of file Geometry.cpp.

◆ getNbCellsLocal()

CepsUInt Geometry::getNbCellsLocal ( ) const

Number of cells local to this process (3d, 2d and 1d). N.B as we have implemented a multiple ownership over cells (overlaping of cells on the interface), each process may have an cell owned by another process.

Definition at line 422 of file Geometry.cpp.

◆ getNbHaloNodes()

CepsUInt Geometry::getNbHaloNodes ( ) const

Number of halo nodes of the geometry (global)

Definition at line 389 of file Geometry.cpp.

◆ getNbHaloNodesLocal()

CepsUInt Geometry::getNbHaloNodesLocal ( ) const

Number of halo nodes local to this process.

Definition at line 405 of file Geometry.cpp.

◆ getNbNodes()

CepsUInt Geometry::getNbNodes ( ) const

Number of nodes of the geometry (global)

Definition at line 383 of file Geometry.cpp.

◆ getNbNodesLocal()

CepsUInt Geometry::getNbNodesLocal ( ) const

Number of nodes local to this process, with halo nodes.

Definition at line 416 of file Geometry.cpp.

◆ getNbOwnedNodesLocal()

CepsUInt Geometry::getNbOwnedNodesLocal ( ) const

Number of nodes local to this process, without halo nodes.

Definition at line 395 of file Geometry.cpp.

◆ getNode()

GeomNode * Geometry::getNode ( CepsNodeGlobalIndex  globalID,
CepsBool  ownedOnly = false 
)

Returns a pointer to the node with given global ID. Nullptr if node is not owned or halo.

Definition at line 459 of file Geometry.cpp.

◆ getNodeOffsetPerMesh()

const CepsVector< CepsUInt > & Geometry::getNodeOffsetPerMesh ( )

Number of nodes per mesh.

Definition at line 661 of file Geometry.cpp.

◆ getNodePartitionMap()

const CepsVector< CepsNodeGlobalIndex > & Geometry::getNodePartitionMap ( )

The node index map from before to after partitioning.

Definition at line 643 of file Geometry.cpp.

◆ getNodesToReceive()

const CepsVector< CepsSet< CepsNodeGlobalIndex > > & Geometry::getNodesToReceive ( )

List of nodes of which to get data to other process (build at partitioning)

Definition at line 637 of file Geometry.cpp.

◆ getNodesToSend()

const CepsVector< CepsSet< CepsNodeGlobalIndex > > & Geometry::getNodesToSend ( )

List of nodes of which to send data to other process (build at partitioning)

Definition at line 631 of file Geometry.cpp.

◆ getPartitioningMethod()

PartitioningMethod Geometry::getPartitioningMethod ( ) const

Partitioning method (flavours of scotch)

See also
PartitioningMethod

Definition at line 256 of file Geometry.cpp.

◆ getPartitionWeights()

const CepsMap< CepsAttribute, CepsUInt > & Geometry::getPartitionWeights ( ) const

Set the weights to be put on each region before partitioning.

Definition at line 268 of file Geometry.cpp.

◆ getSurfacicFileNames()

const CepsVector< CepsString > & Geometry::getSurfacicFileNames ( ) const

Files with surfacic cells.

Definition at line 206 of file Geometry.cpp.

◆ getVolumicFileNames()

const CepsVector< CepsString > & Geometry::getVolumicFileNames ( ) const

Files with 3D cells.

Definition at line 200 of file Geometry.cpp.

◆ has1dMesh()

CepsBool Geometry::has1dMesh ( ) const

true if geometry has 1d data

Definition at line 188 of file Geometry.cpp.

◆ has2dMesh()

CepsBool Geometry::has2dMesh ( ) const

true if geometry has 2d data

Definition at line 182 of file Geometry.cpp.

◆ has3dMesh()

CepsBool Geometry::has3dMesh ( ) const

true if geometry has 3d data

Definition at line 176 of file Geometry.cpp.

◆ hasMeshOfDim()

CepsBool Geometry::hasMeshOfDim ( CepsUInt  dim) const

true if geometry has data of requested dimension

Definition at line 167 of file Geometry.cpp.

◆ initialize()

void Geometry::initialize ( )
protected

Sets default values.

Definition at line 729 of file Geometry.cpp.

◆ print()

void Geometry::print ( std::ostream &  os = std::cout) const

Displays some info.

Definition at line 495 of file Geometry.cpp.

◆ printDataDistribution()

void Geometry::printDataDistribution ( CepsUInt nCells,
CepsUInt nBdCells,
CepsUInt nNodes,
CepsUInt nHaloNodes,
std::ostream &  os = std::cout 
) const

Displays the data distribution (percentages of cell and nodes ownership) for each process.

Only root process does displays the results.

Parameters
[in]nCellsarray of size nb process that holds the number of non-boundary cells for each process
[in]nBdCellsarray of size nb process that holds the number of cells for each process
[in]nNodesarray of size nb process that holds the number of nodes for each process
[in]nHaloNodesarray of size nb process that holds the number of halo nodes for each process
[in]oswhere to print (e.g. file or std output)

Definition at line 534 of file Geometry.cpp.

◆ scale()

void Geometry::scale ( CepsReal  scaleFactor)

Scale the entire geometry.

Parameters
[in]scaleFactorscaling factor, please avoid 0

Definition at line 676 of file Geometry.cpp.

◆ set1dMesh()

void Geometry::set1dMesh ( const CepsString meshFileName)

Creates the 1D mesh data.

Parameters
[in]meshFileNamethe name of the source mesh

Definition at line 133 of file Geometry.cpp.

◆ set2dMesh()

void Geometry::set2dMesh ( const CepsString meshFileName)

Creates the 2D mesh data.

Parameters
[in]meshFileNamethe name of the source mesh

Definition at line 127 of file Geometry.cpp.

◆ set3dMesh()

void Geometry::set3dMesh ( const CepsString meshFileName)

Creates the 3D mesh data.

Parameters
[in]meshFileNamethe name of the source mesh

Definition at line 121 of file Geometry.cpp.

◆ setCoupledNodesFile()

void Geometry::setCoupledNodesFile ( const CepsString coupledNodesFile)

Reads mesh couplings from this file.

Parameters
[in]coupledNodesFilethe connections file to read

Definition at line 224 of file Geometry.cpp.

◆ setMeshOfDim()

void Geometry::setMeshOfDim ( CepsUInt  dim,
const CepsString meshFileName 
)

Creates mesh data of given dimension.

Definition at line 103 of file Geometry.cpp.

◆ setPartitioningMethod()

void Geometry::setPartitioningMethod ( PartitioningMethod  method)

Sets the partitioning method.

Parameters
methodan enumeration defined in PartitioningMethod.hpp that specify the type of partitioning used when calling Geometry::computePartitioning()
See also
PartitioningMethod

Definition at line 250 of file Geometry.cpp.

◆ setPartitioningMethodFromString()

void Geometry::setPartitioningMethodFromString ( const CepsString s)

Sets the partioning method from the input string.

Parameters
[in]skeyword read from input file Depending on the install, the following keywords can be given:
  • PTScotchNode

Definition at line 234 of file Geometry.cpp.

◆ setPartitionWeights()

void Geometry::setPartitionWeights ( const CepsMap< CepsAttribute, CepsUInt > &  weights)

Set the weights to be put on each region before partitioning.

Definition at line 262 of file Geometry.cpp.

◆ setPartitionWeightsFromString()

void Geometry::setPartitionWeightsFromString ( const CepsString s)
protected

Sets the partition weights for given regions. Default is 1 everywhere.

Parameters
[in]skeyword read from input file. Should be a comma separated list of pairs of attribute + number of unknowns

Definition at line 746 of file Geometry.cpp.

◆ setupWithParameters()

void Geometry::setupWithParameters ( InputParameters params)

Initializes the instance with all parameters.

Other setters allow for more precise tuning from strings.

Parameters
[in]paramsCollection of input strings, most likely read from a text file

Definition at line 64 of file Geometry.cpp.

◆ updateGeometryInfo()

void Geometry::updateGeometryInfo ( )
protected

Update each mesh info.

Definition at line 789 of file Geometry.cpp.

◆ updateMeshInfo()

void Geometry::updateMeshInfo ( CepsUInt  dim)
protected

Communicate mesh ownership data to all processes.

Definition at line 763 of file Geometry.cpp.

Friends And Related Function Documentation

◆ GeometryPartitioner

friend class GeometryPartitioner
friend

Definition at line 53 of file Geometry.hpp.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Geometry g 
)
friend

Displays some info.

Definition at line 523 of file Geometry.cpp.

◆ PtscotchPartitioner

friend class PtscotchPartitioner
friend

Definition at line 54 of file Geometry.hpp.

Field Documentation

◆ m_cellOffsetPerMesh

CepsVector<CepsUInt> Geometry::m_cellOffsetPerMesh
protected

Offset of each mesh.

Definition at line 417 of file Geometry.hpp.

◆ m_cellPartitionMap

CepsVector<CepsCellGlobalIndex> Geometry::m_cellPartitionMap
protected

Map of cell indices from read geometry to partitioned geometry.

Definition at line 426 of file Geometry.hpp.

◆ m_connections

CepsMap<CepsAttribute,CepsVector<CepsCellGlobalIndex> > Geometry::m_connections
protected

Junctions.

See also
ConnectionsReader

Definition at line 443 of file Geometry.hpp.

◆ m_coupledNodes

CepsMultiMap<CepsNodeGlobalIndex,CepsNodeGlobalIndex> Geometry::m_coupledNodes
protected

Pairs of coupled nodes.

Definition at line 441 of file Geometry.hpp.

◆ m_coupledNodesFileName

CepsString Geometry::m_coupledNodesFileName = ""
protected

Connections file name, if any.

Definition at line 405 of file Geometry.hpp.

◆ m_hasCoupledNodes

CepsBool Geometry::m_hasCoupledNodes
protected

Whether the geometry has connections or not.

Definition at line 408 of file Geometry.hpp.

◆ m_hasMeshOfDim

CepsArray3<CepsBool> Geometry::m_hasMeshOfDim
protected

If the geometry contains XD data.

Definition at line 407 of file Geometry.hpp.

◆ m_junctionCells

CepsVector<GeomCellJunction*> Geometry::m_junctionCells
protected

Fake cells to join meshes.

Definition at line 432 of file Geometry.hpp.

◆ m_maxCellDiameter

CepsReal Geometry::m_maxCellDiameter
protected

Largest cell size across meshes.

Definition at line 415 of file Geometry.hpp.

◆ m_maxNodeConnectivity

CepsUInt Geometry::m_maxNodeConnectivity
protected

Maximum number of neighbors found for current geometry.

Definition at line 414 of file Geometry.hpp.

◆ m_meshes

CepsArray3<Mesh*> Geometry::m_meshes
protected

pointer to xD mesh instance

Definition at line 431 of file Geometry.hpp.

◆ m_meshFilenames

CepsArray3<CepsVector<CepsString> > Geometry::m_meshFilenames
protected

All the meshes file names.

Definition at line 404 of file Geometry.hpp.

◆ m_nbBoundaryCells

CepsUInt Geometry::m_nbBoundaryCells
protected

Number of boundary cells (all meshes, all process)

Definition at line 411 of file Geometry.hpp.

◆ m_nbCells

CepsUInt Geometry::m_nbCells
protected

Number of non-boundary cells (all meshes, all process)

Definition at line 410 of file Geometry.hpp.

◆ m_nbHaloNodes

CepsUInt Geometry::m_nbHaloNodes
protected

Number of halo nodes (all meshes, all process)

Definition at line 413 of file Geometry.hpp.

◆ m_nbNodes

CepsUInt Geometry::m_nbNodes
protected

Number of nodes (all meshes, all process)

Definition at line 412 of file Geometry.hpp.

◆ m_nodeOffsetPerMesh

CepsVector<CepsUInt> Geometry::m_nodeOffsetPerMesh
protected

Offset of each mesh.

Definition at line 418 of file Geometry.hpp.

◆ m_nodePartitionMap

CepsVector<CepsNodeGlobalIndex> Geometry::m_nodePartitionMap
protected

Map of node indices from read geometry to partitioned geometry.

Definition at line 424 of file Geometry.hpp.

◆ m_nodesToReceive

CepsVector<CepsSet<CepsNodeGlobalIndex> > Geometry::m_nodesToReceive
protected

List of nodes of which to get data to other process (build at partitioning)

Definition at line 438 of file Geometry.hpp.

◆ m_nodesToSend

CepsVector<CepsSet<CepsNodeGlobalIndex> > Geometry::m_nodesToSend
protected

List of nodes of which to send data to other process (build at partitioning)

Definition at line 435 of file Geometry.hpp.

◆ m_parameters

InputParameters* Geometry::m_parameters
protected

Config used to setup the geometry, if any.

Definition at line 397 of file Geometry.hpp.

◆ m_partitioningMethod

PartitioningMethod Geometry::m_partitioningMethod
protected

How the geometry is partitioned.

Definition at line 398 of file Geometry.hpp.

◆ m_partitionWeights

CepsMap<CepsAttribute,CepsUInt> Geometry::m_partitionWeights
protected

nb of unknowns per regions for unbalanced partitions

Definition at line 421 of file Geometry.hpp.


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