CEPS  24.01
Cardiac ElectroPhysiology Simulator
GeomCell Class Referenceabstract

Detailed Description

Abstract class for geometrical cell. On top of index and attributes managament, the cell has information on the deformation from reference element to actual cell (jacobian of deformation)

Definition at line 40 of file GeomCell.hpp.

#include <GeomCell.hpp>

Inheritance diagram for GeomCell:
[legend]

Public Types

using JacobianMatrixType = Eigen::Matrix< CepsReal, 3, Eigen::Dynamic >
 Typedef for jaccobian matrix. More...
 
using InverseJacobianMatrixType = Eigen::Matrix< CepsReal, Eigen::Dynamic, 3 >
 Typedef for inverse jaccobian matrix. More...
 

Public Member Functions

 GeomCell ()
 default constructor
More...
 
 GeomCell (CepsVector< GeomNode * > nodes, const CepsCellGlobalIndex &gID=0)
 Constructor with nodes. More...
 
 GeomCell (const GeomCell &)=default
 copy constructor More...
 
 GeomCell (GeomCell &&)=default
 copy constructor More...
 
GeomCelloperator= (const GeomCell &)=default
 assignment operator More...
 
GeomCelloperator= (GeomCell &&)=default
 assignment operator More...
 
 ~GeomCell () override=default
 destructor More...
 
GeomNodegetNodeWithMinimalIndex () const
 Returns node with smallest index (used eg to determine ownership) More...
 
const CepsCellTypegetCellType () const
 Get the type of cell. More...
 
virtual void reset ()
 Wipes content. More...
 
CepsReal getJacobianDeterminant () const
 Jacobian of geometrical deformation from reference cell. More...
 
virtual const JacobianMatrixTypegetJacobianMatrix ()
 Jacobian Matrix of deformation from reference cell (3 rows for R^3, element dimension columns) More...
 
virtual const InverseJacobianMatrixTypegetInverseJacobianMatrix ()
 Jacobian Matrix of deformation from reference cell (3 rows for R^3, element dimension columns) More...
 
virtual void refresh ()
 Recomputes jacobian matrix and determinant. More...
 
void setNormal (CepsMathVertex n)
 Sets the normal vector, (useful for boundary cells only) More...
 
CepsMathVertex getNormal () const
 Sets the normal vector, (useful for boundary cells only) More...
 
void setNodeSharingCellsIndices (const CepsSet< CepsCellGlobalIndex > &nCellIds)
 Cells that share at least one node with self. More...
 
const CepsSet< CepsCellGlobalIndex > & getNodeSharingCellsIndices () const
 Cells that share at least one node with self. More...
 
CepsReal getDiameter ()
 Size of cell. More...
 
virtual CepsReal getMeasure () const =0
 Volume for 3D, area for 2D, length for 1D, 0 for points. More...
 
virtual CepsUInt getNumberOfNodes () const =0
 Volume for 3D, area for 2D, length for 1D, 0 for points. More...
 
- Public Member Functions inherited from ceps::HoldsGlobalIndex
 HoldsGlobalIndex (const CepsGlobalIndex &gid)
 Constructor with ID. More...
 
 HoldsGlobalIndex ()=default
 Default constructor. More...
 
 HoldsGlobalIndex (const HoldsGlobalIndex &)=default
 Copy constructor. More...
 
 HoldsGlobalIndex (HoldsGlobalIndex &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsGlobalIndex ()=default
 Destructor. More...
 
HoldsGlobalIndexoperator= (const HoldsGlobalIndex &)=default
 Assignment operator. More...
 
HoldsGlobalIndexoperator= (HoldsGlobalIndex &&) noexcept=default
 Assignment operator. More...
 
const CepsGlobalIndexgetGlobalIndex () const
 Get the index
More...
 
void setGlobalIndex (const CepsGlobalIndex &gid)
 Set the index. More...
 
void reset ()
 Set the index to 0u. More...
 
- Public Member Functions inherited from ceps::HoldsDimension
 HoldsDimension (const CepsUInt &dim)
 Constructor with dimension. More...
 
 HoldsDimension ()=default
 Default constructor. More...
 
 HoldsDimension (const HoldsDimension &)=default
 Constructor by copy. More...
 
 HoldsDimension (HoldsDimension &&) noexcept=default
 Constructor by copy. More...
 
virtual ~HoldsDimension ()=default
 Destructor. More...
 
HoldsDimensionoperator= (const HoldsDimension &)=default
 Assignment operator. More...
 
HoldsDimensionoperator= (HoldsDimension &&) noexcept=default
 Assignment operator. More...
 
const CepsUIntgetDimension () const
 Get the dimension of the object. More...
 
void setDimension (const CepsUInt &dim)
 Set the dimension of the object. More...
 
void reset ()
 Set the dimension of the object to 0. More...
 
- Public Member Functions inherited from ceps::HoldsBoundary
 HoldsBoundary (const CepsBool &isBoundary)
 Constructor with given information. More...
 
 HoldsBoundary ()=default
 Default constructor. More...
 
 HoldsBoundary (const HoldsBoundary &)=default
 Copy constructor. More...
 
 HoldsBoundary (HoldsBoundary &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsBoundary ()=default
 Destructor. More...
 
HoldsBoundaryoperator= (const HoldsBoundary &)=default
 Assignment operator. More...
 
HoldsBoundaryoperator= (HoldsBoundary &&) noexcept=default
 Assignment operator. More...
 
CepsBool isBoundary () const
 Tells if entity is on boundary or not. More...
 
void setOnBoundary (CepsBool value=true)
 Sets the entity as being on boundary or not. More...
 
void reset ()
 Sets the entity as NOT being on boundary. More...
 
- Public Member Functions inherited from ceps::HoldsAttributes
 HoldsAttributes (const CepsSet< CepsAttribute > &attributes)
 Constructor with any number of attributes. More...
 
 HoldsAttributes (const CepsVector< CepsAttribute > &attributes)
 Constructor with any number of attributes. More...
 
 HoldsAttributes (CepsAttribute *attributes, const CepsUInt &n)
 Constructor with any number of attributes. More...
 
 HoldsAttributes ()=default
 Default constructor. More...
 
 HoldsAttributes (const HoldsAttributes &)=default
 Assignement operator. More...
 
 HoldsAttributes (HoldsAttributes &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsAttributes ()=default
 Destructor. More...
 
HoldsAttributesoperator= (const HoldsAttributes &)=default
 Assignment operator. More...
 
HoldsAttributesoperator= (HoldsAttributes &&) noexcept=default
 Assignment operator. More...
 
CepsUInt getNumberOfAttributes () const
 Returns number of attributes of the entity. More...
 
CepsSet< CepsAttribute > & getAttributes ()
 Returns the attributes of the entity. More...
 
const CepsSet< CepsAttribute > & getAttributes () const
 Returns the attributes of the entity, const version. More...
 
void setAttributes (const CepsVector< CepsAttribute > &attributes)
 Sets the attributes of the entity. More...
 
void setAttributes (const CepsSet< CepsAttribute > &attributes)
 Sets the attributes of the entity. More...
 
void setAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Sets the attributes of the entity. More...
 
template<class _It >
void setAttributes (_It first, _It last)
 Sets the attributes of the entity. More...
 
void addAttribute (const CepsAttribute &name)
 Adds an attribute to the entity. More...
 
void addAttributes (const CepsVector< CepsAttribute > &attributes)
 Adds several attributes to the entity. More...
 
void addAttributes (const CepsSet< CepsAttribute > &attributes)
 Adds several attributes to the entity. More...
 
void addAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Adds several attributes to the entity. More...
 
template<class _It >
void addAttributes (_It first, _It last)
 Adds several attributes to the entity. More...
 
void removeAttribute (const CepsAttribute &name)
 Removes an attribute from the entity. More...
 
void removeAttributes (const CepsSet< CepsAttribute > &attributes)
 Removes several attributes from the entity. More...
 
void removeAttributes (const CepsVector< CepsAttribute > &attributes)
 Removes several attributes from the entity. More...
 
void removeAttributes (const CepsAttribute *attributes, const CepsUInt &n)
 Removes several attributes from the entity. More...
 
template<class _It >
void removeAttributes (_It first, _It last)
 Removes several attributes from the entity. More...
 
void clearAttributes ()
 Removes all attributes from the entity. More...
 
CepsBool hasAttribute (const CepsAttribute &name) const
 Tells if the entity has the attribute in argument. More...
 
CepsBool hasAllAttributes (const CepsVector< CepsAttribute > &attributes) const
 Tells if the entity has all the attributes in argument. More...
 
CepsBool hasAllAttributes (const CepsAttribute *attributes, const CepsUInt &n) const
 Tells if the entity has all the attributes in argument. More...
 
template<class _It >
CepsBool hasAllAttributes (_It first, _It last) const
 Tells if the entity has all the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsSet< CepsAttribute > &attributes) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsVector< CepsAttribute > &attributes) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasOneOfAttributes (const CepsAttribute *attributes, const CepsUInt &n) const
 Tells if the entity has one of the attributes in argument. More...
 
template<class _It >
CepsBool hasOneOfAttributes (_It first, _It last) const
 Tells if the entity has one of the attributes in argument. More...
 
CepsBool hasUniversalAttribute () const
 Detect if the current entity has the attribute universal. More...
 
void reset ()
 Equivalent to HoldsAttributes::clear() More...
 
- Public Member Functions inherited from ceps::HoldsProcIds
 HoldsProcIds (const CepsProcId &owner, const CepsVector< CepsProcId > &halosPid={})
 Constructor with own CPU Id and Ids of neighboring CPUs. More...
 
 HoldsProcIds ()=default
 Default constructor. More...
 
 HoldsProcIds (const HoldsProcIds &)=default
 Copy constructor. More...
 
 HoldsProcIds (HoldsProcIds &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsProcIds ()=default
 Destructor. More...
 
HoldsProcIdsoperator= (const HoldsProcIds &)=default
 Assignment operator. More...
 
HoldsProcIdsoperator= (HoldsProcIds &&) noexcept=default
 Assignment operator. More...
 
CepsBool isShared () const
 Tells if there are halo CPUs. More...
 
void setShared (CepsBool flag)
 Tells if there are halo CPUs. More...
 
void setOwner (const CepsProcId &pid)
 Set shared between several processes ? More...
 
const CepsProcIdgetOwner () const
 Get owner (processus id) of this entity. More...
 
void setAsHaloFor (const CepsProcId &pid)
 Adds pid to the set of halo CPUs
More...
 
CepsBool isHaloFor (const CepsProcId &pid) const
 Detect if this entity is in the halo of. More...
 
void reset ()
 Gives ownership to rank(), removes halos. More...
 
- Public Member Functions inherited from ceps::HoldsNodes< GeomNode >
 HoldsNodes (const CepsVector< GeomNode * > &nodes)
 Constructor with nodes. More...
 
 HoldsNodes (GeomNode **nodes, const CepsUInt &n)
 Constructor with nodes. More...
 
 HoldsNodes ()=default
 Default constructor. More...
 
 HoldsNodes (const HoldsNodes &)=default
 Copy constructor. More...
 
 HoldsNodes (HoldsNodes &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsNodes ()=default
 Destructor. More...
 
HoldsNodesoperator= (const HoldsNodes &)=default
 Assignment operator. More...
 
HoldsNodesoperator= (HoldsNodes &&) noexcept=default
 Assignment operator. More...
 
CepsUInt getNumberOfNodes () const
 Returns the total number of nodes. More...
 
CepsUInt countValidNodes ()
 Returns the number of nodes that are not nullptr. More...
 
CepsVector< GeomNode * > & getNodes ()
 Reference to the node pointers array. More...
 
const CepsVector< GeomNode * > & getNodes () const
 Reference to the node pointers array, const version. More...
 
GeomNodegetNodeAt (const CepsUInt &i)
 Pointer to the i-th node. More...
 
const GeomNodegetNodeAt (const CepsUInt &i) const
 Pointer to the i-th node, const version. More...
 
void setNodes (const CepsVector< GeomNode * > &nodes)
 Assign all nodes. More...
 
void setNodes (GeomNode **nodes, const CepsUInt &n)
 Assign all nodes. More...
 
void setNodes (_It first, _It last)
 Assign all nodes. More...
 
void setNodeAt (const CepsUInt &i, GeomNode *neigh)
 Set the i-th node. If i>nNodes, nullptrs fill the vector. More...
 
void addNode (GeomNode *name)
 Add a single node to the vector. More...
 
void addNodes (const CepsVector< GeomNode * > &nodes)
 Add several nodes to the vector. More...
 
void addNodes (GeomNode **nodes, const CepsUInt &n)
 Add several nodes to the vector. More...
 
void addNodes (_It first, _It last)
 Add several nodes to the vector. More...
 
void removeNode (GeomNode *&name)
 Removes the given node from the list. More...
 
void removeNodes (const CepsVector< GeomNode * > &nodes)
 Removes several nodes from the list. More...
 
void removeNodes (GeomNode **nodes, const CepsUInt &n)
 Removes several nodes from the list. More...
 
void removeNodes (_It first, _It last)
 Removes several nodes from the list. More...
 
void clearNodes ()
 Wipes the vector of nodes. More...
 
CepsBool hasNode (GeomNode *&neigh)
 Tells if object has the given node. More...
 
CepsBool hasAllNodes (const CepsVector< GeomNode * > &nodes)
 Tells if object has all the given nodes. More...
 
CepsBool hasAllNodes (GeomNode **nodes, const CepsUInt &n)
 Tells if object has all the given nodes. More...
 
CepsBool hasAllNodes (_It first, _It last)
 Tells if object has all the given nodes. More...
 
CepsBool hasOneOfNodes (const CepsVector< GeomNode * > &nodes)
 Tells if object has one of the given nodes. More...
 
CepsBool hasOneOfNodes (GeomNode **nodes, const CepsUInt &n)
 Tells if object has one of the given nodes. More...
 
CepsBool hasOneOfNodes (_It first, _It last)
 Tells if object has one of the given nodes. More...
 
CepsVector< GeomNode * > getValidNodes () const
 Get pointers on all valid nodes. More...
 
CepsGlobalIndex getNodeIndex (CepsUInt i) const
 Get the index of i-th node. More...
 
CepsVector< CepsGlobalIndexgetNodeIndices () const
 Get indices of all nodes. More...
 
void getNodeIndices (CepsGlobalIndex *nodesIndices, const CepsSize &nAllocated) const
 Get indices of all nodes. More...
 
void reset ()
 Equivalent to HoldsNodes::clearNodes. More...
 
- Public Member Functions inherited from ceps::HoldsCells< GeomCell >
 HoldsCells (const CepsVector< GeomCell * > &cells)
 Constructor with a vector of cells. More...
 
 HoldsCells (GeomCell **cells, const CepsUInt &n)
 Constructor with a vector of cells. More...
 
 HoldsCells ()=default
 Default constructor. More...
 
 HoldsCells (const HoldsCells &)=default
 Copy constructor. More...
 
 HoldsCells (HoldsCells &&) noexcept=default
 Copy constructor. More...
 
virtual ~HoldsCells ()=default
 Destructor. More...
 
HoldsCellsoperator= (const HoldsCells &)=default
 Assignment operator. More...
 
HoldsCellsoperator= (HoldsCells &&) noexcept=default
 Assignment operator. More...
 
CepsUInt getNumberOfCells () const
 Returns the number of cells in the object. More...
 
CepsUInt countValidCells ()
 Get the number of cells that are not nullptr. More...
 
CepsVector< GeomCell * > getValidCells ()
 Reference to the valid cells. More...
 
CepsVector< GeomCell * > & getCells ()
 Reference to the cells. More...
 
const CepsVector< GeomCell * > & getCells () const
 Reference to the cells, const version. More...
 
GeomCell *& getCellAt (const CepsUInt &i)
 Pointer to the i-th cell. More...
 
const GeomCell *& getCellAt (const CepsUInt &i) const
 Pointer to the i-th cell , const version. More...
 
void setCells (const CepsVector< GeomCell * > &cells)
 Replaces currently held cell pointers. More...
 
void setCells (GeomCell **cells, const CepsUInt &n)
 Replaces currently held cell pointers. More...
 
void setCells (_It first, _It last)
 Replaces currently held cell pointers. More...
 
void setCellAt (const CepsUInt &i, GeomCell *neigh)
 Set a cell pointer in the vector of currently held cells, at given index. More...
 
void addCell (GeomCell *&name)
 Adds a cell to the list. More...
 
void addCells (const CepsVector< GeomCell * > &cells)
 Adds several cells to the list. More...
 
void addCells (GeomCell **cells, const CepsUInt &n)
 Adds several cells to the list. More...
 
void addCells (_It first, _It last)
 Adds several cells to the list. More...
 
void removeCell (GeomCell *&name)
 Removes a given cell pointer from the list. More...
 
void removeCells (const CepsVector< GeomCell * > &cells)
 Removes several cell pointers from the list. More...
 
void removeCells (GeomCell **cells, const CepsUInt &n)
 Removes several cell pointers from the list. More...
 
void removeCells (_It first, _It last)
 Removes several cell pointers from the list. More...
 
void clearCells ()
 Wipes the current list of cell pointers. More...
 
CepsBool hasCell (GeomCell *&neigh)
 Tells if object has the cell given in argument. More...
 
CepsBool hasAllCells (const CepsVector< GeomCell * > &cells)
 Tells if object has all cells given in argument. More...
 
CepsBool hasAllCells (GeomCell **cells, const CepsUInt &n)
 Tells if object has all cells given in argument. More...
 
CepsBool hasAllCells (_It first, _It last)
 Tells if object has all cells given in argument. More...
 
CepsBool hasOneOfCells (const CepsVector< GeomCell * > &cells)
 Tells if object has one of the cells given in argument. More...
 
CepsBool hasOneOfCells (GeomCell **cells, const CepsUInt &n)
 Tells if object has one of the cells given in argument. More...
 
CepsBool hasOneOfCells (_It first, _It last)
 Tells if object has one of the cells given in argument. More...
 
CepsIndex getCellIndex (CepsUInt i) const
 Get the index of i-th cell. More...
 
CepsVector< CepsIndexgetCellsIndices () const
 Get indices of all cells. More...
 
void reset ()
 Equivalent to HoldsCells::clearCells. More...
 

Protected Member Functions

void initialize (CepsUInt dim, CepsCellType cellType, CepsUInt nNodes)
 internal init method More...
 
virtual void initializeNodes (GeomNode *const *nodes, CepsUInt nNodes)
 internal init method More...
 
void computeDiameter ()
 Computes size of cell (max edge length) More...
 
virtual void computeJacobianMatrix ()=0
 Compute geometrical Jacobian matrix. More...
 
virtual void computeInverseJacobianMatrix ()=0
 Compute inverse of geometrical Jacobian matrix. More...
 
virtual void computeJacobianDeterminant ()=0
 Compute geometrical Jacobian determinant. More...
 
virtual CepsBool checkJacobianDeterminant ()=0
 Tells if determinant is negative, tries to swap points to make it positive. More...
 
- Protected Member Functions inherited from ceps::HoldsNodes< GeomNode >
void errorOnNodeIndex (CepsUInt i, std::source_location loc=std::source_location::current()) const
 Aborts if requesting node with wrong index. More...
 
- Protected Member Functions inherited from ceps::HoldsCells< GeomCell >
void errorOnCellIndex (CepsUInt i, const CepsString &funcName) const
 Aborts if object holds less than i cells. More...
 

Protected Attributes

CepsCellType m_cellType
 Cell type. More...
 
JacobianMatrixType m_jacobian
 Jacobian Matrix. More...
 
InverseJacobianMatrixType m_invJacobian
 Inverse of Jacobian Matrix. More...
 
CepsReal m_detJacobian
 determinant of Jacobian matrix More...
 
CepsBool m_invJcomputed
 Flag to trigger computation of invJ. More...
 
CepsMathVertex m_normal
 For boundary cells, outward normal vector. More...
 
CepsReal m_diameter
 Size of cell. More...
 
CepsSet< CepsCellGlobalIndexm_nodeSharingCells
 IDs of cells that have a node in common. More...
 
- Protected Attributes inherited from ceps::HoldsGlobalIndex
CepsGlobalIndex m_globalIndex
 the index More...
 
- Protected Attributes inherited from ceps::HoldsAttributes
CepsSet< CepsAttributem_attributes
 The attributes held by the entity. More...
 
- Protected Attributes inherited from ceps::HoldsNodes< GeomNode >
CepsVector< GeomNode * > m_nodes
 The node pointers. More...
 
GeomNodem_dummyNode
 An empty node to be returned after abort when testing. More...
 
- Protected Attributes inherited from ceps::HoldsCells< GeomCell >
CepsVector< GeomCell * > m_cells
 The cell pointers. More...
 

Friends

class TestGeomCells
 

Member Typedef Documentation

◆ InverseJacobianMatrixType

using GeomCell::InverseJacobianMatrixType = Eigen::Matrix<CepsReal, Eigen::Dynamic, 3>

Typedef for inverse jaccobian matrix.

Definition at line 55 of file GeomCell.hpp.

◆ JacobianMatrixType

using GeomCell::JacobianMatrixType = Eigen::Matrix<CepsReal, 3, Eigen::Dynamic>

Typedef for jaccobian matrix.

Definition at line 53 of file GeomCell.hpp.

Constructor & Destructor Documentation

◆ GeomCell() [1/4]

GeomCell::GeomCell ( )

default constructor

Definition at line 32 of file GeomCell.cpp.

◆ GeomCell() [2/4]

GeomCell::GeomCell ( CepsVector< GeomNode * >  nodes,
const CepsCellGlobalIndex gID = 0 
)
explicit

Constructor with nodes.

Definition at line 43 of file GeomCell.cpp.

◆ GeomCell() [3/4]

GeomCell::GeomCell ( const GeomCell )
default

copy constructor

◆ GeomCell() [4/4]

GeomCell::GeomCell ( GeomCell &&  )
default

copy constructor

◆ ~GeomCell()

GeomCell::~GeomCell ( )
overridedefault

destructor

Member Function Documentation

◆ checkJacobianDeterminant()

virtual CepsBool GeomCell::checkJacobianDeterminant ( )
protectedpure virtual

Tells if determinant is negative, tries to swap points to make it positive.

Implemented in GeomSimplex< _Dim >.

◆ computeDiameter()

void GeomCell::computeDiameter ( )
protected

Computes size of cell (max edge length)

Definition at line 190 of file GeomCell.cpp.

◆ computeInverseJacobianMatrix()

virtual void GeomCell::computeInverseJacobianMatrix ( )
protectedpure virtual

Compute inverse of geometrical Jacobian matrix.

Implemented in GeomSimplex< _Dim >.

◆ computeJacobianDeterminant()

virtual void GeomCell::computeJacobianDeterminant ( )
protectedpure virtual

Compute geometrical Jacobian determinant.

Implemented in GeomSimplex< _Dim >.

◆ computeJacobianMatrix()

virtual void GeomCell::computeJacobianMatrix ( )
protectedpure virtual

Compute geometrical Jacobian matrix.

Implemented in GeomSimplex< _Dim >.

◆ getCellType()

const CepsCellType & GeomCell::getCellType ( ) const

Get the type of cell.

See also
CepsCellType in CepsEnums.hpp

Definition at line 72 of file GeomCell.cpp.

◆ getDiameter()

CepsReal GeomCell::getDiameter ( )

Size of cell.

Definition at line 162 of file GeomCell.cpp.

◆ getInverseJacobianMatrix()

const GeomCell::InverseJacobianMatrixType & GeomCell::getInverseJacobianMatrix ( )
virtual

Jacobian Matrix of deformation from reference cell (3 rows for R^3, element dimension columns)

Definition at line 111 of file GeomCell.cpp.

◆ getJacobianDeterminant()

CepsReal GeomCell::getJacobianDeterminant ( ) const

Jacobian of geometrical deformation from reference cell.

Definition at line 95 of file GeomCell.cpp.

◆ getJacobianMatrix()

const GeomCell::JacobianMatrixType & GeomCell::getJacobianMatrix ( )
virtual

Jacobian Matrix of deformation from reference cell (3 rows for R^3, element dimension columns)

Definition at line 101 of file GeomCell.cpp.

◆ getMeasure()

virtual CepsReal GeomCell::getMeasure ( ) const
pure virtual

Volume for 3D, area for 2D, length for 1D, 0 for points.

Implemented in GeomSimplex< _Dim >.

◆ getNodeSharingCellsIndices()

const CepsSet< CepsCellGlobalIndex > & GeomCell::getNodeSharingCellsIndices ( ) const

Cells that share at least one node with self.

Definition at line 156 of file GeomCell.cpp.

◆ getNodeWithMinimalIndex()

GeomNode * GeomCell::getNodeWithMinimalIndex ( ) const

Returns node with smallest index (used eg to determine ownership)

Definition at line 51 of file GeomCell.cpp.

◆ getNormal()

CepsMathVertex GeomCell::getNormal ( ) const

Sets the normal vector, (useful for boundary cells only)

Definition at line 144 of file GeomCell.cpp.

◆ getNumberOfNodes()

virtual CepsUInt GeomCell::getNumberOfNodes ( ) const
pure virtual

Volume for 3D, area for 2D, length for 1D, 0 for points.

Implemented in GeomSimplex< _Dim >.

◆ initialize()

void GeomCell::initialize ( CepsUInt  dim,
CepsCellType  cellType,
CepsUInt  nNodes 
)
protected

internal init method

Definition at line 170 of file GeomCell.cpp.

◆ initializeNodes()

void GeomCell::initializeNodes ( GeomNode *const *  nodes,
CepsUInt  nNodes 
)
protectedvirtual

internal init method

Reimplemented in GeomSimplex< _Dim >.

Definition at line 181 of file GeomCell.cpp.

◆ operator=() [1/2]

GeomCell& GeomCell::operator= ( const GeomCell )
default

assignment operator

◆ operator=() [2/2]

GeomCell& GeomCell::operator= ( GeomCell &&  )
default

assignment operator

◆ refresh()

void GeomCell::refresh ( )
virtual

Recomputes jacobian matrix and determinant.

Definition at line 124 of file GeomCell.cpp.

◆ reset()

void GeomCell::reset ( )
virtual

Wipes content.

Definition at line 78 of file GeomCell.cpp.

◆ setNodeSharingCellsIndices()

void GeomCell::setNodeSharingCellsIndices ( const CepsSet< CepsCellGlobalIndex > &  nCellIds)

Cells that share at least one node with self.

Definition at line 150 of file GeomCell.cpp.

◆ setNormal()

void GeomCell::setNormal ( CepsMathVertex  n)

Sets the normal vector, (useful for boundary cells only)

Definition at line 138 of file GeomCell.cpp.

Friends And Related Function Documentation

◆ TestGeomCells

friend class TestGeomCells
friend

Definition at line 126 of file GeomCell.hpp.

Field Documentation

◆ m_cellType

CepsCellType GeomCell::m_cellType
protected

Cell type.

Definition at line 190 of file GeomCell.hpp.

◆ m_detJacobian

CepsReal GeomCell::m_detJacobian
protected

determinant of Jacobian matrix

Definition at line 193 of file GeomCell.hpp.

◆ m_diameter

CepsReal GeomCell::m_diameter
protected

Size of cell.

Definition at line 196 of file GeomCell.hpp.

◆ m_invJacobian

InverseJacobianMatrixType GeomCell::m_invJacobian
protected

Inverse of Jacobian Matrix.

Definition at line 192 of file GeomCell.hpp.

◆ m_invJcomputed

CepsBool GeomCell::m_invJcomputed
protected

Flag to trigger computation of invJ.

Definition at line 194 of file GeomCell.hpp.

◆ m_jacobian

JacobianMatrixType GeomCell::m_jacobian
protected

Jacobian Matrix.

Definition at line 191 of file GeomCell.hpp.

◆ m_nodeSharingCells

CepsSet<CepsCellGlobalIndex> GeomCell::m_nodeSharingCells
protected

IDs of cells that have a node in common.

Definition at line 197 of file GeomCell.hpp.

◆ m_normal

CepsMathVertex GeomCell::m_normal
protected

For boundary cells, outward normal vector.

Definition at line 195 of file GeomCell.hpp.


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