Chaste Release::3.1
|
#include <Cylindrical2dVertexMesh.hpp>
Public Member Functions | |
Cylindrical2dVertexMesh (double width, std::vector< Node< 2 > * > nodes, std::vector< VertexElement< 2, 2 > * > vertexElements, double cellRearrangementThreshold=0.01, double t2Threshold=0.001) | |
~Cylindrical2dVertexMesh () | |
c_vector< double, 2 > | GetVectorFromAtoB (const c_vector< double, 2 > &rLocation1, const c_vector< double, 2 > &rLocation2) |
void | SetNode (unsigned nodeIndex, ChastePoint< 2 > point) |
double | GetWidth (const unsigned &rDimension) const |
unsigned | AddNode (Node< 2 > *pNewNode) |
double | GetVolumeOfElement (unsigned index) |
c_vector< double, 2 > | GetCentroidOfElement (unsigned index) |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Cylindrical2dVertexMesh () | |
Private Attributes | |
double | mWidth |
Friends | |
class | TestCylindrical2dVertexMesh |
class | boost::serialization::access |
A subclass of MutableVertexMesh<2,2> for a rectangular mesh with periodic left and right boundaries, representing a cylindrical geometry.
The class works by overriding calls such as ReMesh() and GetVectorFromAtoB() so that simulation classes can treat this class in exactly the same way as a MutableMesh<2,2>.
Definition at line 52 of file Cylindrical2dVertexMesh.hpp.
Cylindrical2dVertexMesh::Cylindrical2dVertexMesh | ( | ) | [private] |
Constructor - used for serialization only.
Definition at line 50 of file Cylindrical2dVertexMesh.cpp.
Cylindrical2dVertexMesh::Cylindrical2dVertexMesh | ( | double | width, |
std::vector< Node< 2 > * > | nodes, | ||
std::vector< VertexElement< 2, 2 > * > | vertexElements, | ||
double | cellRearrangementThreshold = 0.01 , |
||
double | t2Threshold = 0.001 |
||
) |
Default constructor.
width | the width (circumference) of the mesh |
nodes | vector of pointers to nodes |
vertexElements | vector of pointers to VertexElements |
cellRearrangementThreshold | the minimum threshold distance for element rearrangment (defaults to 0.01) |
t2Threshold | the maximum threshold distance for Type 2 swaps (defaults to 0.001) |
Definition at line 38 of file Cylindrical2dVertexMesh.cpp.
References MutableVertexMesh< 2, 2 >::ReMesh().
Cylindrical2dVertexMesh::~Cylindrical2dVertexMesh | ( | ) |
Destructor.
Definition at line 54 of file Cylindrical2dVertexMesh.cpp.
Overridden AddNode() method.
pNewNode | the node to be added to the mesh |
Definition at line 112 of file Cylindrical2dVertexMesh.cpp.
References Node< SPACE_DIM >::GetPoint(), and SetNode().
Overridden GetCentroidOfElement() method.
index | the global index of a specified vertex element |
Reimplemented from VertexMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 158 of file Cylindrical2dVertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), GetVectorFromAtoB(), and GetVolumeOfElement().
c_vector< double, 2 > Cylindrical2dVertexMesh::GetVectorFromAtoB | ( | const c_vector< double, 2 > & | rLocation1, |
const c_vector< double, 2 > & | rLocation2 | ||
) |
Overridden GetVectorFromAtoB() method. This method evaluates the (surface) distance between two points in a 2D cylindrical geometry.
rLocation1 | the x and y co-ordinates of point 1 |
rLocation2 | the x and y co-ordinates of point 2 |
Definition at line 58 of file Cylindrical2dVertexMesh.cpp.
References mWidth.
Referenced by GetCentroidOfElement(), and GetVolumeOfElement().
Overridden GetVolumeOfElement() method.
index | the global index of a specified vertex element |
Reimplemented from VertexMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 123 of file Cylindrical2dVertexMesh.cpp.
References VertexMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and GetVectorFromAtoB().
Referenced by GetCentroidOfElement().
Overridden GetWidth() method.
Calculate the 'width' of any dimension of the mesh, taking periodicity into account.
rDimension | a dimension (0 or 1) |
Reimplemented from AbstractMesh< ELEMENT_DIM, SPACE_DIM >.
Definition at line 97 of file Cylindrical2dVertexMesh.cpp.
References mWidth.
void Cylindrical2dVertexMesh::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, private] |
Archives the member variables of the object which have to be preserved during its lifetime.
The remaining member variables are re-initialised before being used by each ReMesh() call so they do not need to be archived.
archive | the archive |
version | the current version of this class |
Reimplemented from MutableVertexMesh< 2, 2 >.
Definition at line 74 of file Cylindrical2dVertexMesh.hpp.
References mWidth.
void Cylindrical2dVertexMesh::SetNode | ( | unsigned | nodeIndex, |
ChastePoint< 2 > | point | ||
) |
Overridden SetNode() method.
If the location should be set outside a cylindrical boundary move it back onto the cylinder.
nodeIndex | is the index of the node to be moved |
point | is the new target location of the node |
Definition at line 77 of file Cylindrical2dVertexMesh.cpp.
References mWidth, ChastePoint< DIM >::rGetLocation(), and ChastePoint< DIM >::SetCoordinate().
Referenced by AddNode().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from MutableVertexMesh< 2, 2 >.
Definition at line 62 of file Cylindrical2dVertexMesh.hpp.
double Cylindrical2dVertexMesh::mWidth [private] |
The circumference of the cylinder.
Definition at line 59 of file Cylindrical2dVertexMesh.hpp.
Referenced by GetVectorFromAtoB(), GetWidth(), serialize(), and SetNode().