Chaste
Build::
|
#include <DiscreteContinuumMesh.hpp>
Public Member Functions | |
DiscreteContinuumMesh () | |
~DiscreteContinuumMesh () | |
std::vector< std::vector< unsigned > > | GetConnectivity () |
std::vector< c_vector< double, SPACE_DIM > > | GetNodeLocations () |
std::vector< c_vector< double, SPACE_DIM > > | GetElementCentroids () |
std::vector< DimensionalChastePoint< SPACE_DIM > > | GetNodeLocationsAsPoints () |
std::vector< unsigned > | GetElementRegionMarkers () |
units::quantity< unit::length > | GetReferenceLengthScale () |
std::vector< std::vector< unsigned > > | GetPointElementMap (std::vector< DimensionalChastePoint< SPACE_DIM > > points) |
const std::vector< std::vector< CellPtr > > & | GetElementCellMap (bool update=true) |
std::vector< std::vector< boost::shared_ptr< VesselSegment< SPACE_DIM > > > > | GetElementSegmentMap (bool update=true, bool useVesselSurface=false) |
vtkSmartPointer< vtkUnstructuredGrid > | GetAsVtkUnstructuredGrid () |
void | SetAttributes (std::vector< unsigned > attributes) |
void | SetCellPopulation (AbstractCellPopulation< SPACE_DIM > &rCellPopulation, units::quantity< unit::length > cellLengthScale) |
void | SetVesselNetwork (boost::shared_ptr< VesselNetwork< SPACE_DIM > > pNetwork) |
void | ImportDiscreteContinuumMeshFromTetgen (tetgen::tetgenio &mesherOutput, unsigned numberOfElements, int *elementList, unsigned numberOfFaces, int *faceList, int *edgeMarkerList) |
Static Public Member Functions | |
static boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > | Create () |
Private Attributes | |
std::vector< unsigned > | mAttributes |
units::quantity< unit::length > | mReferenceLength |
vtkSmartPointer< vtkUnstructuredGrid > | mpVtkMesh |
vtkSmartPointer< vtkCellLocator > | mpVtkCellLocator |
bool | mVtkRepresentationUpToDate |
std::vector< std::vector< unsigned > > | mPointElementMap |
std::vector< std::vector< boost::shared_ptr< VesselSegment< SPACE_DIM > > > > | mSegmentElementMap |
std::vector< std::vector< CellPtr > > | mCellElementMap |
boost::shared_ptr< VesselNetwork< SPACE_DIM > > | mpNetwork |
AbstractCellPopulation< SPACE_DIM > * | mpCellPopulation |
units::quantity< unit::length > | mCellPopulationReferenceLength |
Friends | |
class | DiscreteContinuumMeshGenerator< ELEMENT_DIM, SPACE_DIM > |
This is a TetrahedralMesh with some extra functions for point locating, output of node locations and connectivity and attribute storage. It uses its own version of ImportFromTetgen with fewer template arguements. There is scope for merging this versions with the one in TetrahedralMesh.
Definition at line 67 of file DiscreteContinuumMesh.hpp.
DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::DiscreteContinuumMesh | ( | ) |
Constructor
Definition at line 58 of file DiscreteContinuumMesh.cpp.
DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::~DiscreteContinuumMesh | ( | ) |
Destructor
Definition at line 82 of file DiscreteContinuumMesh.cpp.
|
static |
Factory constructor method
Definition at line 75 of file DiscreteContinuumMesh.cpp.
vtkSmartPointer< vtkUnstructuredGrid > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid | ( | ) |
Return the mesh as a vtk unstructured grid
Definition at line 94 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetConnectivity(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeLocations(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpVtkCellLocator, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpVtkMesh, and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mVtkRepresentationUpToDate.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap().
std::vector< std::vector< unsigned > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetConnectivity | ( | ) |
Return the element connectivity
Definition at line 315 of file DiscreteContinuumMesh.cpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid().
const std::vector< std::vector< CellPtr > > & DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap | ( | bool | update = true | ) |
Return the point cell map
update | update the map |
Definition at line 207 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mCellElementMap, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mCellPopulationReferenceLength, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpVtkCellLocator, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mReferenceLength, and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mVtkRepresentationUpToDate.
std::vector< c_vector< double, SPACE_DIM > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCentroids | ( | ) |
Return the element centroids
Definition at line 159 of file DiscreteContinuumMesh.cpp.
std::vector< unsigned > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementRegionMarkers | ( | ) |
Return the element-wise region markers
Definition at line 153 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mAttributes.
std::vector< std::vector< boost::shared_ptr< VesselSegment< SPACE_DIM > > > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementSegmentMap | ( | bool | update = true , |
bool | useVesselSurface = false |
||
) |
Return the point segments map
update | update the map |
useVesselSurface | use a surface based representation for vessels |
Definition at line 256 of file DiscreteContinuumMesh.cpp.
References DimensionalChastePoint< DIM >::GetLocation(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpNetwork, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpVtkCellLocator, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mReferenceLength, and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mSegmentElementMap.
std::vector< c_vector< double, SPACE_DIM > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeLocations | ( | ) |
Return the node locations
Definition at line 333 of file DiscreteContinuumMesh.cpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid().
std::vector< DimensionalChastePoint< SPACE_DIM > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeLocationsAsPoints | ( | ) |
Return the node locations
Definition at line 345 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mReferenceLength.
std::vector< std::vector< unsigned > > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap | ( | std::vector< DimensionalChastePoint< SPACE_DIM > > | points | ) |
Return a map of element indices corresponding to the input points
points | the input points |
Definition at line 170 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mPointElementMap, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpVtkCellLocator, DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mReferenceLength, and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mVtkRepresentationUpToDate.
units::quantity< unit::length > DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetReferenceLengthScale | ( | ) |
Return the reference length scale
Definition at line 88 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mReferenceLength.
void DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::ImportDiscreteContinuumMeshFromTetgen | ( | tetgen::tetgenio & | mesherOutput, |
unsigned | numberOfElements, | ||
int * | elementList, | ||
unsigned | numberOfFaces, | ||
int * | faceList, | ||
int * | edgeMarkerList | ||
) |
This is the same as the TetrahedralMesh implementation of ImportFromMesher but avoids some templating
mesherOutput | tetgen output |
numberOfElements | the number of elements |
elementList | the element list |
numberOfFaces | the number of faces |
faceList | the face list |
edgeMarkerList | an edge marker list |
Definition at line 357 of file DiscreteContinuumMesh.cpp.
void DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetAttributes | ( | std::vector< unsigned > | attributes | ) |
Set element attributes
attributes | the element attributes |
Definition at line 486 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mAttributes.
void DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetCellPopulation | ( | AbstractCellPopulation< SPACE_DIM > & | rCellPopulation, |
units::quantity< unit::length > | cellLengthScale | ||
) |
Set the cell population
rCellPopulation | a reference to the cell population |
Definition at line 492 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mCellPopulationReferenceLength, and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpCellPopulation.
void DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetVesselNetwork | ( | boost::shared_ptr< VesselNetwork< SPACE_DIM > > | pNetwork | ) |
Set the vessel network
pNetwork | the vessel network |
Definition at line 500 of file DiscreteContinuumMesh.cpp.
References DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::mpNetwork.
|
friend |
For access to ImportFromMesher
Definition at line 72 of file DiscreteContinuumMesh.hpp.
|
private |
Store element-wise region markers
Definition at line 77 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementRegionMarkers(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetAttributes().
|
private |
The cell element map
Definition at line 112 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap().
|
private |
The reference length scale for the mesh
Definition at line 127 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetCellPopulation().
|
private |
The cell population. This memory pointed to is not managed in this class.
Definition at line 122 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetCellPopulation().
|
private |
The vessel network
Definition at line 117 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementSegmentMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::SetVesselNetwork().
|
private |
The point element map
Definition at line 102 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap().
|
private |
A vtk cell locator
Definition at line 92 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementSegmentMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap().
|
private |
A vtk representation
Definition at line 87 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid().
|
private |
The reference length scale for the mesh
Definition at line 82 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementSegmentMap(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetNodeLocationsAsPoints(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetReferenceLengthScale().
|
private |
The segment element map
Definition at line 107 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementSegmentMap().
|
private |
Is the vtk representation up to date
Definition at line 97 of file DiscreteContinuumMesh.hpp.
Referenced by DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetAsVtkUnstructuredGrid(), DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetElementCellMap(), and DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM >::GetPointElementMap().