#include <HoneycombMeshGenerator.hpp>
Public Member Functions | |
HoneycombMeshGenerator (unsigned numNodesAlongWidth, unsigned numNodesAlongLength, unsigned ghosts=3, double scaleFactor=1.0) | |
HoneycombMeshGenerator () | |
virtual | ~HoneycombMeshGenerator () |
virtual MutableMesh< 2, 2 > * | GetMesh () |
std::vector< unsigned > | GetCellLocationIndices () |
MutableMesh< 2, 2 > * | GetCircularMesh (double radius) |
double | GetDomainDepth () |
double | GetDomainWidth () |
Protected Attributes | |
MutableMesh< 2, 2 > * | mpMesh |
std::set< unsigned > | mGhostNodeIndices |
std::string | mMeshFilename |
double | mDomainWidth |
double | mDomainDepth |
double | mBottom |
double | mTop |
unsigned | mNumCellWidth |
unsigned | mNumCellLength |
NOTE: the user should delete the mesh after use to manage memory.
Definition at line 46 of file HoneycombMeshGenerator.hpp.
HoneycombMeshGenerator::HoneycombMeshGenerator | ( | unsigned | numNodesAlongWidth, | |
unsigned | numNodesAlongLength, | |||
unsigned | ghosts = 3 , |
|||
double | scaleFactor = 1.0 | |||
) |
Default constructor.
numNodesAlongWidth | The number of cells you want alopng the bottom of the domain | |
numNodesAlongLength | The number of cells you want sides of the domain | |
ghosts | The thickness of ghost nodes to put around the edge (defaults to 3) | |
scaleFactor | The scale factor for the width (circumference) of the cells (defaults to 1.0) |
Definition at line 34 of file HoneycombMeshGenerator.cpp.
References PetscTools::AmMaster(), PetscTools::Barrier(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), EXCEPTION, OutputFileHandler::GetOutputDirectoryFullPath(), PetscTools::IsSequential(), mBottom, mDomainDepth, mDomainWidth, mGhostNodeIndices, mMeshFilename, mNumCellLength, mNumCellWidth, mpMesh, mTop, OutputFileHandler::OpenOutputFile(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::SetMeshHasChangedSinceLoading().
HoneycombMeshGenerator::HoneycombMeshGenerator | ( | ) | [inline] |
Null constructor for derived classes to call.
Definition at line 92 of file HoneycombMeshGenerator.hpp.
HoneycombMeshGenerator::~HoneycombMeshGenerator | ( | ) | [virtual] |
Destructor - deletes the mesh object and pointer
Definition at line 226 of file HoneycombMeshGenerator.cpp.
References mpMesh.
MutableMesh< 2, 2 > * HoneycombMeshGenerator::GetMesh | ( | ) | [virtual] |
Reimplemented in CylindricalHoneycombMeshGenerator.
Definition at line 231 of file HoneycombMeshGenerator.cpp.
References mpMesh.
std::vector< unsigned > HoneycombMeshGenerator::GetCellLocationIndices | ( | ) |
Returns the indices of the nodes in the mesh which correspond to real cells. This information is needed when constructing a MeshBasedCellPopulationWithGhostNodes.
Definition at line 236 of file HoneycombMeshGenerator.cpp.
References MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), mGhostNodeIndices, and mpMesh.
MutableMesh< 2, 2 > * HoneycombMeshGenerator::GetCircularMesh | ( | double | radius | ) |
radius | the radius of the circular mesh |
Definition at line 250 of file HoneycombMeshGenerator.cpp.
References MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNumAllNodes(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), RandomNumberGenerator::Instance(), mpMesh, RandomNumberGenerator::ranf(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), and AbstractMesh< ELEMENT_DIM, SPACE_DIM >::Translate().
double HoneycombMeshGenerator::GetDomainDepth | ( | ) |
Definition at line 290 of file HoneycombMeshGenerator.cpp.
References mDomainDepth.
double HoneycombMeshGenerator::GetDomainWidth | ( | ) |
Definition at line 295 of file HoneycombMeshGenerator.cpp.
References mDomainWidth.
MutableMesh<2,2>* HoneycombMeshGenerator::mpMesh [protected] |
A pointer to the mesh this class creates
Definition at line 51 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), GetCellLocationIndices(), GetCircularMesh(), CylindricalHoneycombMeshGenerator::GetCylindricalMesh(), GetMesh(), CylindricalHoneycombMeshGenerator::GetMesh(), HoneycombMeshGenerator(), and ~HoneycombMeshGenerator().
std::set<unsigned> HoneycombMeshGenerator::mGhostNodeIndices [protected] |
The indices of the nodes in this mesh which are 'ghost nodes'
Definition at line 54 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), GetCellLocationIndices(), and HoneycombMeshGenerator().
std::string HoneycombMeshGenerator::mMeshFilename [protected] |
The mesh is generated by writing out a series of nodes and reading them in from this file
Definition at line 57 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().
double HoneycombMeshGenerator::mDomainWidth [protected] |
The (x) width of the domain to be constructed
Definition at line 60 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), GetDomainWidth(), and HoneycombMeshGenerator().
double HoneycombMeshGenerator::mDomainDepth [protected] |
The (y) depth of the domain to be constructed
Definition at line 63 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), GetDomainDepth(), and HoneycombMeshGenerator().
double HoneycombMeshGenerator::mBottom [protected] |
The y coordinate of the bottom row of cells (ghosts if requested)
Definition at line 66 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().
double HoneycombMeshGenerator::mTop [protected] |
The y coordinate of the top row of cells (ghosts if requested)
Definition at line 69 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().
unsigned HoneycombMeshGenerator::mNumCellWidth [protected] |
The number of columns of cells to put across the x coordinate of the mesh
Definition at line 72 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().
unsigned HoneycombMeshGenerator::mNumCellLength [protected] |
The number of rows of cells to put up the y coordinate of the mesh
Definition at line 75 of file HoneycombMeshGenerator.hpp.
Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().