Chaste Release::3.1
QuadraticMesh< DIM > Class Template Reference

#include <QuadraticMesh.hpp>

Inheritance diagram for QuadraticMesh< DIM >:
Collaboration diagram for QuadraticMesh< DIM >:

List of all members.

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

Detailed Description

template<unsigned DIM>
class QuadraticMesh< DIM >

A concrete quadratic mesh class that inherits from TetrahedralMesh.

Definition at line 51 of file QuadraticMesh.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
QuadraticMesh< DIM >::QuadraticMesh ( ) [inline]

Constructor

Definition at line 122 of file QuadraticMesh.hpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::mMeshIsLinear.

template<unsigned DIM>
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

Parameters:
spaceStepThe spatial stepsize
widththe width of the cuboid
heightthe height of the cuboid
depththe depth of the cuboid

Definition at line 69 of file QuadraticMesh.cpp.


Member Function Documentation

template<unsigned DIM>
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();

Parameters:
numElemXNumber of elements in x-direction (also, the width of the final mesh)
numElemYNumber of elements in y-direction (also, the height of the final mesh)
numElemZNumber 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().

template<unsigned DIM>
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

Parameters:
rMeshReaderthe mesh reader

Definition at line 209 of file QuadraticMesh.cpp.

References QuadraticMeshHelper< DIM >::AddNodesToBoundaryElements(), and TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned DIM>
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.

Parameters:
numElemXNumber 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().

template<unsigned DIM>
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();

Parameters:
numElemXNumber of elements in x-direction (also, the width of the final mesh)
numElemYNumber 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().

template<unsigned DIM>
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.

template<unsigned DIM>
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.

template<unsigned DIM>
template<class Archive >
void QuadraticMesh< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, protected]

Serialize the mesh.

Parameters:
archivethe archive
versionthe current version of this class

Reimplemented from TetrahedralMesh< DIM, DIM >.

Definition at line 73 of file QuadraticMesh.hpp.


Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]

Needed for serialization.

Reimplemented from TetrahedralMesh< DIM, DIM >.

Definition at line 65 of file QuadraticMesh.hpp.


Member Data Documentation

template<unsigned DIM>
unsigned QuadraticMesh< DIM >::mNumVertices [protected]

Number of vertices, ie non-internal (non-quadratic), nodes.

Definition at line 56 of file QuadraticMesh.hpp.


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