#include <MixedDimensionMesh.hpp>
Public Types | |
typedef std::vector< Element < 1, SPACE_DIM > * >::const_iterator | CableElementIterator |
Public Member Functions | |
MixedDimensionMesh (DistributedTetrahedralMeshPartitionType::type partitioningMethod=DistributedTetrahedralMeshPartitionType::METIS_LIBRARY) | |
~MixedDimensionMesh () | |
void | ConstructFromMeshReader (AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > &rMeshReader) |
void | RegisterCableElement (unsigned index) |
unsigned | GetNumCableElements () const |
unsigned | GetNumLocalCableElements () const |
Element< 1u, SPACE_DIM > * | GetCableElement (unsigned globalElementIndex) const |
bool | CalculateDesignatedOwnershipOfCableElement (unsigned globalElementIndex) |
CableElementIterator | GetCableElementIteratorBegin () const |
CableElementIterator | GetCableElementIteratorEnd () const |
Private Attributes | |
std::vector< Element< 1u, SPACE_DIM > * > | mCableElements |
unsigned | mNumCableElements |
std::map< unsigned, unsigned > | mCableElementsMapping |
Could be used for Purkinje or blood vessels, etc.
Definition at line 42 of file MixedDimensionMesh.hpp.
typedef std::vector<Element<1, SPACE_DIM> *>::const_iterator MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::CableElementIterator |
Definition of cable element Iterator type.
Definition at line 115 of file MixedDimensionMesh.hpp.
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::MixedDimensionMesh | ( | DistributedTetrahedralMeshPartitionType::type | partitioningMethod = DistributedTetrahedralMeshPartitionType::METIS_LIBRARY |
) | [inline] |
Constructor.
partitioningMethod | defaults to METIS_LIBRARY, but in 1-D is always overridden in this constructor to be the DUMB partition |
Definition at line 32 of file MixedDimensionMesh.cpp.
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::~MixedDimensionMesh | ( | ) | [inline] |
Destructor - cleans up the cables
Definition at line 38 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements.
void MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > & | rMeshReader | ) | [inline, virtual] |
Construct the mesh using a MeshReader.
rMeshReader | the mesh reader |
Reimplemented from DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 47 of file MixedDimensionMesh.cpp.
References ElementData::AttributeValue, DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeOrHaloNode(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElementAttributes(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements, MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mNumCableElements, NEVER_REACHED, ElementData::NodeIndices, MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::RegisterCableElement(), AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::SetRegion(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::SolveNodeMapping().
void MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::RegisterCableElement | ( | unsigned | index | ) | [inline] |
Add the most recently constructed cable element to the global->local cable element mapping
index | is the global index of cable element to be registered |
Definition at line 112 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements, and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElementsMapping.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
unsigned MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements | ( | ) | const [inline, virtual] |
Get the number of cable elements.
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 118 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mNumCableElements.
unsigned MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalCableElements | ( | ) | const [inline] |
Get the number of cable elements on this process.
Definition at line 123 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements.
Element< 1u, SPACE_DIM > * MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElement | ( | unsigned | globalElementIndex | ) | const [inline] |
Get the cable element with a given index in the mesh.
globalElementIndex | the global index of the cable element |
Definition at line 129 of file MixedDimensionMesh.cpp.
References EXCEPTION, PetscTools::GetMyRank(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements, and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElementsMapping.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::CalculateDesignatedOwnershipOfCableElement().
bool MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::CalculateDesignatedOwnershipOfCableElement | ( | unsigned | globalElementIndex | ) | [inline] |
Determine whether or not the current process owns node 0 of this cable element (tie breaker to determine which process writes to file for when two or more share ownership of a cable element).
globalElementIndex | is the global index of the cable element |
Definition at line 146 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElement(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetDistributedVectorFactory().
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::CableElementIterator MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElementIteratorBegin | ( | ) | const [inline] |
Return a pointer to the first boundary element in the mesh.
Definition at line 173 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements.
MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::CableElementIterator MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElementIteratorEnd | ( | ) | const [inline] |
Return a pointer to *one past* the last boundary element in the mesh (for consistency with STL iterators).
Definition at line 179 of file MixedDimensionMesh.cpp.
References MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements.
std::vector<Element<1u, SPACE_DIM>*> MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElements [private] |
The elements making up the 1D cables
Definition at line 102 of file MixedDimensionMesh.hpp.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElement(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElementIteratorBegin(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElementIteratorEnd(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetNumLocalCableElements(), MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::RegisterCableElement(), and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::~MixedDimensionMesh().
unsigned MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mNumCableElements [private] |
The global number of cables over all processes
Definition at line 104 of file MixedDimensionMesh.hpp.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements().
std::map<unsigned, unsigned> MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::mCableElementsMapping [private] |
A map from global cable index to local index used by this process.
Definition at line 106 of file MixedDimensionMesh.hpp.
Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::GetCableElement(), and MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::RegisterCableElement().