Chaste Release::3.1
|
#include <QuadraticMesh.hpp>
Public Member Functions | |
QuadraticMesh () | |
QuadraticMesh (double spaceStep, double width, double height=0, double depth=0) | |
void | ConstructFromMeshReader (AbstractMeshReader< DIM, DIM > &rMeshReader) |
void | ConstructFromLinearMeshReader (AbstractMeshReader< DIM, DIM > &rMeshReader) |
unsigned | GetNumVertices () const |
Protected Member Functions | |
void | CountAndCheckVertices () |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
void | ConstructLinearMesh (unsigned numElemX) |
void | ConstructRectangularMesh (unsigned numElemX, unsigned numElemY, bool unused=true) |
void | ConstructCuboid (unsigned numElemX, unsigned numElemY, unsigned numElemZ) |
Protected Attributes | |
unsigned | mNumVertices |
Friends | |
class | boost::serialization::access |
A concrete quadratic mesh class that inherits from TetrahedralMesh.
Definition at line 51 of file QuadraticMesh.hpp.
QuadraticMesh< DIM >::QuadraticMesh | ( | ) | [inline] |
Constructor
Definition at line 122 of file QuadraticMesh.hpp.
References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMeshIsLinear.
QuadraticMesh< DIM >::QuadraticMesh | ( | double | spaceStep, |
double | width, | ||
double | height = 0 , |
||
double | depth = 0 |
||
) |
Create a quadratic mesh on a slab (on a line in 1D, rectangle in 2d, cuboid in 3D), with the given widths and given spacestep. In 1D height and depth need to passed in as 0 (the default value), in 2D depth must be zero
spaceStep | The spatial stepsize |
width | the width of the cuboid |
height | the height of the cuboid |
depth | the depth of the cuboid |
Definition at line 69 of file QuadraticMesh.cpp.
void QuadraticMesh< DIM >::ConstructCuboid | ( | unsigned | numElemX, |
unsigned | numElemY, | ||
unsigned | numElemZ | ||
) | [protected, virtual] |
Create a quadratic mesh on a cuobid from (0,0,0) to (numElemX,numElemY,numElemZ) with that number of elements in each direction. This writes a temporary node file and uses tetgen to mesh this nodefile. The method overloads the equivalent method in AbstractTetrahedralMesh. This is private, users should call ConstructRegularSlabMesh();
numElemX | Number of elements in x-direction (also, the width of the final mesh) |
numElemY | Number of elements in y-direction (also, the height of the final mesh) |
numElemZ | Number of elements in y-direction (also, the depth of the final mesh) |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 157 of file QuadraticMesh.cpp.
References QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements().
void QuadraticMesh< DIM >::ConstructFromLinearMeshReader | ( | AbstractMeshReader< DIM, DIM > & | rMeshReader | ) |
Load a quadratic mesh from a linear mesh file.
Constructs as linear mesh, then exports to triangle/tetgen
rMeshReader | the mesh reader |
Definition at line 209 of file QuadraticMesh.cpp.
References QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), and TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().
void QuadraticMesh< DIM >::ConstructFromMeshReader | ( | AbstractMeshReader< DIM, DIM > & | rMeshReader | ) |
Load a quadratic mesh from a file.
rMeshReader | the mesh reader |
Definition at line 259 of file QuadraticMesh.cpp.
References QuadraticMeshHelper< DIM >::AddInternalNodesToBoundaryElements(), QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), QuadraticMeshHelper< DIM >::CheckBoundaryElements(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOrderOfElements().
void QuadraticMesh< DIM >::ConstructLinearMesh | ( | unsigned | numElemX | ) | [protected, virtual] |
Create a quadratic mesh on the interval [0,numElemX] with numElemX elements in each direction. This is private, users should call ConstructRegularSlabMesh();
Very badly named. This creates a QUADRATIC mesh, the linear just refers to the fact the mesh is a line in 1D. The name is inherited from the parent class.
numElemX | Number of elements in x-direction (also, the width of the final mesh) |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 75 of file QuadraticMesh.cpp.
References Node< SPACE_DIM >::AddElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructLinearMesh(), and Node< SPACE_DIM >::MarkAsInternal().
void QuadraticMesh< DIM >::ConstructRectangularMesh | ( | unsigned | numElemX, |
unsigned | numElemY, | ||
bool | unused = true |
||
) | [protected, virtual] |
Create a quadratic mesh on a rectangle from (0,0) to (numElemX,numElemY) with that number of elements in each direction. This writes a temporary node file and uses triangle to mesh this nodefile. The method overloads the equivalent method in AbstractTetrahedralMesh. This is private, users should call ConstructRegularSlabMesh();
numElemX | Number of elements in x-direction (also, the width of the final mesh) |
numElemY | Number of elements in y-direction (also, the height of the final mesh) |
unused | (defaults to true; must always be true) is for compatibility of the interface of this method with same name in AbstractTetrahedralMesh. |
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 105 of file QuadraticMesh.cpp.
References QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements().
void QuadraticMesh< DIM >::CountAndCheckVertices | ( | ) | [protected] |
Count nodes which are vertices (not marked as internal) Check that internals appear after vertices in the list
Definition at line 51 of file QuadraticMesh.cpp.
unsigned QuadraticMesh< DIM >::GetNumVertices | ( | ) | const [virtual] |
Get the number of vertices, ie non-internal (non-quadratic), nodes.
Reimplemented from AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 202 of file QuadraticMesh.cpp.
void QuadraticMesh< DIM >::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, protected] |
Serialize the mesh.
archive | the archive |
version | the current version of this class |
Reimplemented from TetrahedralMesh< DIM, DIM >.
Definition at line 73 of file QuadraticMesh.hpp.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from TetrahedralMesh< DIM, DIM >.
Definition at line 65 of file QuadraticMesh.hpp.
unsigned QuadraticMesh< DIM >::mNumVertices [protected] |
Number of vertices, ie non-internal (non-quadratic), nodes.
Definition at line 56 of file QuadraticMesh.hpp.