HoneycombMeshGenerator Class Reference

#include <HoneycombMeshGenerator.hpp>

Collaboration diagram for HoneycombMeshGenerator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HoneycombMeshGenerator (unsigned numNodesAlongWidth, unsigned numNodesAlongLength, unsigned ghosts=3, bool cylindrical=true, double scaleFactor=1.0)
 ~HoneycombMeshGenerator ()
MutableMesh< 2, 2 > * GetMesh ()
Cylindrical2dMeshGetCylindricalMesh ()
std::vector< unsignedGetCellLocationIndices ()
MutableMesh< 2, 2 > * GetCircularMesh (double radius)

Private Member Functions

void Make2dPeriodicCryptMesh (double width, unsigned ghosts)

Private Attributes

MutableMesh< 2, 2 > * mpMesh
std::set< unsignedmGhostNodeIndices
std::string mMeshFilename
double mCryptWidth
double mCryptDepth
double mBottom
double mTop
unsigned mNumCellWidth
unsigned mNumCellLength
bool mCylindrical

Detailed Description

Generator of honeycomb meshes, used as starting points for many simulations.

This class takes in options such as width, height, number of ghost nodes and generates a honeycomb mesh (with equal distance between nodes), and ghost node information when requested.

NOTE: the user should delete the mesh after use to manage memory.

Definition at line 51 of file HoneycombMeshGenerator.hpp.


Constructor & Destructor Documentation

HoneycombMeshGenerator::HoneycombMeshGenerator ( unsigned  numNodesAlongWidth,
unsigned  numNodesAlongLength,
unsigned  ghosts = 3,
bool  cylindrical = true,
double  scaleFactor = 1.0 
)

Crypt Periodic Honeycomb Mesh Generator

Overwritten constructor for a mesh so mesh can be compressed by changing crypt width

Parameters:
numNodesAlongWidth The number of stem cells you want,
numNodesAlongLength The number of cells you want along crypt axis,
ghosts The thickness of ghost nodes to put around the edge (defaults to 3),
cylindrical Whether the mesh should be cylindrically periodic (defaults to true),
scaleFactor The scale factor for the width (circumference) of the cells.

Note: this class creates an instance of the TissueConfig singleton and sets the crypt width and length accordingly in TissueConfig to be used elsewhere.

Definition at line 34 of file HoneycombMeshGenerator.cpp.

References TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), OutputFileHandler::GetOutputDirectoryFullPath(), TissueConfig::Instance(), Make2dPeriodicCryptMesh(), mCryptDepth, mCryptWidth, mCylindrical, mGhostNodeIndices, mMeshFilename, mpMesh, MutableMesh< ELEMENT_DIM, SPACE_DIM >::ReMesh(), TissueConfig::SetCryptLength(), and TissueConfig::SetCryptWidth().

HoneycombMeshGenerator::~HoneycombMeshGenerator (  ) 

Destructor - deletes the mesh object and pointer

Definition at line 81 of file HoneycombMeshGenerator.cpp.

References mpMesh.


Member Function Documentation

std::vector< unsigned > HoneycombMeshGenerator::GetCellLocationIndices (  ) 

Returns the indices of the nodes in the mesh which correspond to real cells. This information needs to be passed in when constructing a MeshBasedTissueWithGhostNodes.

Returns:
indices of nodes

Definition at line 106 of file HoneycombMeshGenerator.cpp.

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), mGhostNodeIndices, and mpMesh.

MutableMesh< 2, 2 > * HoneycombMeshGenerator::GetCircularMesh ( double  radius  ) 
Cylindrical2dMesh * HoneycombMeshGenerator::GetCylindricalMesh (  ) 
Returns:
a honeycomb mesh with cylindrical boundaries.

Definition at line 97 of file HoneycombMeshGenerator.cpp.

References mCylindrical, and mpMesh.

MutableMesh< 2, 2 > * HoneycombMeshGenerator::GetMesh (  ) 
Returns:
a honeycomb mesh based on a 2D plane.

Definition at line 87 of file HoneycombMeshGenerator.cpp.

References mCylindrical, and mpMesh.

void HoneycombMeshGenerator::Make2dPeriodicCryptMesh ( double  width,
unsigned  ghosts 
) [private]

Make a periodic honeycomb mesh.

Parameters:
width The periodic length scale to base this mesh around
ghosts The number of rows of ghost nodes to add on at the top and bottom

Definition at line 162 of file HoneycombMeshGenerator.cpp.

References PetscTools::AmMaster(), PetscTools::Barrier(), mBottom, mCryptDepth, mCylindrical, mGhostNodeIndices, mMeshFilename, mNumCellLength, mNumCellWidth, mTop, and OutputFileHandler::OpenOutputFile().

Referenced by HoneycombMeshGenerator().


Member Data Documentation

The y coordinate of the bottom row of cells (ghosts if requested)

Definition at line 71 of file HoneycombMeshGenerator.hpp.

Referenced by Make2dPeriodicCryptMesh().

The (y) depth of the crypt to be constructed

Definition at line 68 of file HoneycombMeshGenerator.hpp.

Referenced by HoneycombMeshGenerator(), and Make2dPeriodicCryptMesh().

The (x) width of the crypt to be constructed

Definition at line 65 of file HoneycombMeshGenerator.hpp.

Referenced by HoneycombMeshGenerator().

Whether we are creating a cylindrical mesh or not

Definition at line 83 of file HoneycombMeshGenerator.hpp.

Referenced by GetCircularMesh(), GetCylindricalMesh(), GetMesh(), HoneycombMeshGenerator(), and Make2dPeriodicCryptMesh().

The indices of the nodes in this mesh which are 'ghost nodes'

Definition at line 59 of file HoneycombMeshGenerator.hpp.

Referenced by GetCellLocationIndices(), HoneycombMeshGenerator(), and Make2dPeriodicCryptMesh().

The mesh is generated by writing out a series of nodes and reading them in from this file

Definition at line 62 of file HoneycombMeshGenerator.hpp.

Referenced by HoneycombMeshGenerator(), and Make2dPeriodicCryptMesh().

The number of rows of cells to put up the y coordinate of the mesh

Definition at line 80 of file HoneycombMeshGenerator.hpp.

Referenced by Make2dPeriodicCryptMesh().

The number of columns of cells to put across the x coordinate of the mesh

Definition at line 77 of file HoneycombMeshGenerator.hpp.

Referenced by Make2dPeriodicCryptMesh().

A pointer to the mesh this class creates

Definition at line 56 of file HoneycombMeshGenerator.hpp.

Referenced by GetCellLocationIndices(), GetCircularMesh(), GetCylindricalMesh(), GetMesh(), HoneycombMeshGenerator(), and ~HoneycombMeshGenerator().

The y coordinate of the top row of cells (ghosts if requested)

Definition at line 74 of file HoneycombMeshGenerator.hpp.

Referenced by Make2dPeriodicCryptMesh().


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

Generated by  doxygen 1.6.2