Chaste Commit::1fd4e48e3990e67db148bc1bc4cf6991a0049d0c
HoneycombMeshGenerator Class Reference

#include <HoneycombMeshGenerator.hpp>

+ Inheritance diagram for HoneycombMeshGenerator:
+ Collaboration diagram for HoneycombMeshGenerator:

Public Member Functions

 HoneycombMeshGenerator (unsigned numNodesAlongWidth, unsigned numNodesAlongLength, unsigned ghosts=0, double scaleFactor=1.0)
 
 HoneycombMeshGenerator ()
 
virtual ~HoneycombMeshGenerator ()=default
 
virtual boost::shared_ptr< MutableMesh< 2, 2 > > GetMesh ()
 
std::vector< unsignedGetCellLocationIndices ()
 
boost::shared_ptr< MutableMesh< 2, 2 > > GetCircularMesh (double radius)
 
double GetDomainDepth ()
 
double GetDomainWidth ()
 

Protected Attributes

boost::shared_ptr< MutableMesh< 2, 2 > > mpMesh
 
std::set< unsignedmGhostNodeIndices
 
std::string mMeshFilename
 
double mDomainWidth
 
double mDomainDepth
 
double mBottom
 
double mTop
 
unsigned mNumCellWidth
 
unsigned mNumCellLength
 

Detailed Description

Honeycomb mesh generator that creates a 2D honeycomb mesh (with equal distance between nodes) for use in cell-centre simulations.

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

Definition at line 51 of file HoneycombMeshGenerator.hpp.

Constructor & Destructor Documentation

◆ HoneycombMeshGenerator() [1/2]

HoneycombMeshGenerator::HoneycombMeshGenerator ( unsigned  numNodesAlongWidth,
unsigned  numNodesAlongLength,
unsigned  ghosts = 0,
double  scaleFactor = 1.0 
)

Default constructor.

Parameters
numNodesAlongWidthThe number of cells you want alopng the bottom of the domain
numNodesAlongLengthThe number of cells you want sides of the domain
ghostsThe thickness of ghost nodes to put around the edge (defaults to 0)
scaleFactorThe scale factor for the width (circumference) of the cells (defaults to 1.0)

Definition at line 48 of file HoneycombMeshGenerator.cpp.

References OutputFileHandler::FindFile(), OutputFileHandler::GetOutputDirectoryFullPath(), PetscTools::IsSequential(), mBottom, mDomainDepth, mDomainWidth, mGhostNodeIndices, mMeshFilename, mNumCellLength, mNumCellWidth, mpMesh, mTop, OutputFileHandler::OpenOutputFile(), and FileFinder::Remove().

◆ HoneycombMeshGenerator() [2/2]

HoneycombMeshGenerator::HoneycombMeshGenerator ( )
inline

Null constructor for derived classes to call.

Definition at line 97 of file HoneycombMeshGenerator.hpp.

◆ ~HoneycombMeshGenerator()

virtual HoneycombMeshGenerator::~HoneycombMeshGenerator ( )
virtualdefault

Empty destructor.

Member Function Documentation

◆ GetCellLocationIndices()

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.

Returns
indices of nodes

Definition at line 236 of file HoneycombMeshGenerator.cpp.

References mGhostNodeIndices, and mpMesh.

◆ GetCircularMesh()

boost::shared_ptr< MutableMesh< 2, 2 > > HoneycombMeshGenerator::GetCircularMesh ( double  radius)
Parameters
radiusthe radius of the circular mesh
Returns
a honeycomb mesh constructed to be roughly circular.

Definition at line 250 of file HoneycombMeshGenerator.cpp.

References EXCEPTION, RandomNumberGenerator::Instance(), mGhostNodeIndices, mpMesh, and RandomNumberGenerator::ranf().

◆ GetDomainDepth()

double HoneycombMeshGenerator::GetDomainDepth ( )
Returns
mDomainDepth

Definition at line 294 of file HoneycombMeshGenerator.cpp.

References mDomainDepth.

◆ GetDomainWidth()

double HoneycombMeshGenerator::GetDomainWidth ( )
Returns
mDomainWidth

Definition at line 299 of file HoneycombMeshGenerator.cpp.

References mDomainWidth.

◆ GetMesh()

boost::shared_ptr< MutableMesh< 2, 2 > > HoneycombMeshGenerator::GetMesh ( )
virtual
Returns
a 2D honeycomb mesh based on a 2D plane

Reimplemented in CylindricalHoneycombMeshGenerator, and ToroidalHoneycombMeshGenerator.

Definition at line 231 of file HoneycombMeshGenerator.cpp.

References mpMesh.

Member Data Documentation

◆ mBottom

double HoneycombMeshGenerator::mBottom
protected

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

Definition at line 71 of file HoneycombMeshGenerator.hpp.

Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().

◆ mDomainDepth

double HoneycombMeshGenerator::mDomainDepth
protected

◆ mDomainWidth

double HoneycombMeshGenerator::mDomainWidth
protected

◆ mGhostNodeIndices

std::set<unsigned> HoneycombMeshGenerator::mGhostNodeIndices
protected

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

Definition at line 59 of file HoneycombMeshGenerator.hpp.

Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), HoneycombMeshGenerator(), GetCellLocationIndices(), and GetCircularMesh().

◆ mMeshFilename

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 62 of file HoneycombMeshGenerator.hpp.

Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), HoneycombMeshGenerator(), and ToroidalHoneycombMeshGenerator::ToroidalHoneycombMeshGenerator().

◆ mNumCellLength

unsigned HoneycombMeshGenerator::mNumCellLength
protected

◆ mNumCellWidth

unsigned HoneycombMeshGenerator::mNumCellWidth
protected

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 CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), HoneycombMeshGenerator(), and ToroidalHoneycombMeshGenerator::ToroidalHoneycombMeshGenerator().

◆ mpMesh

◆ mTop

double HoneycombMeshGenerator::mTop
protected

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

Definition at line 74 of file HoneycombMeshGenerator.hpp.

Referenced by CylindricalHoneycombMeshGenerator::CylindricalHoneycombMeshGenerator(), and HoneycombMeshGenerator().


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