NodeBasedCellPopulation< DIM > Class Template Reference

#include <NodeBasedCellPopulation.hpp>

Inherits AbstractCentreBasedCellPopulation< DIM >.

Inherited by NodeBasedCellPopulationWithBuskeUpdate< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.

Collaboration diagram for NodeBasedCellPopulation< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void SetNode (unsigned nodeIndex, ChastePoint< DIM > &rNewLocation)
 NodeBasedCellPopulation (NodesOnlyMesh< DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false, bool validate=true)
 NodeBasedCellPopulation (NodesOnlyMesh< DIM > &rMesh)
virtual ~NodeBasedCellPopulation ()
NodesOnlyMesh< DIM > & rGetMesh ()
const NodesOnlyMesh< DIM > & rGetMesh () const
unsigned GetNumNodes ()
virtual CellPtr GetCellUsingLocationIndex (unsigned index)
Node< DIM > * GetNode (unsigned index)
unsigned RemoveDeadCells ()
void Clear ()
void Update (bool hasHadBirthsOrDeaths=true)
std::vector< std::pair< Node
< DIM > *, Node< DIM > * > > & 
rGetNodePairs ()
void OutputCellPopulationParameters (out_stream &rParamsFile)
virtual void AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< DIM, DIM > > pPopulationWriter)
virtual void AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< DIM, DIM > > pPopulationCountWriter)
virtual void AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< DIM, DIM > > pCellWriter, CellPtr pCell)
double GetMechanicsCutOffLength ()
bool GetUseVariableRadii ()
void SetUseVariableRadii (bool useVariableRadii=true)
void SetLoadBalanceMesh (bool loadBalanceMesh)
void SetLoadBalanceFrequency (unsigned loadBalanceFrequency)
double GetWidth (const unsigned &rDimension)
c_vector< double, DIM > GetSizeOfCellPopulation ()
std::set< unsignedGetNeighbouringNodeIndices (unsigned index)
virtual CellPtr AddCell (CellPtr pNewCell, const c_vector< double, DIM > &rCellDivisionVector, CellPtr pParentCell)
double GetVolumeOfCell (CellPtr pCell)
void SendCellsToNeighbourProcesses ()
void NonBlockingSendCellsToNeighbourProcesses ()
void GetReceivedCells ()
std::pair< CellPtr, Node< DIM > * > GetCellNodePair (unsigned nodeIndex)
void AddReceivedCells ()
virtual void UpdateCellProcessLocation ()

Protected Member Functions

virtual void UpdateParticlesAfterReMesh (NodeMap &rMap)
virtual void Validate ()

Protected Attributes

NodesOnlyMesh< DIM > * mpNodesOnlyMesh

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
unsigned AddNode (Node< DIM > *pNewNode)
void AddMovedCell (CellPtr pCell, boost::shared_ptr< Node< DIM > > pNode)
void DeleteMovedCell (unsigned index)
void RefreshHaloCells ()
void AddNodeAndCellToSendRight (unsigned nodeIndex)
void AddNodeAndCellToSendLeft (unsigned nodeIndex)
void AddCellsToSendRight (std::vector< unsigned > &cellLocationIndices)
void AddCellsToSendLeft (std::vector< unsigned > &cellLocationIndices)
void AddReceivedHaloCells ()
void AddHaloCell (CellPtr pCell, boost::shared_ptr< Node< DIM > > pNode)
void UpdateMapsAfterRemesh (NodeMap &map)
virtual void WriteVtkResultsToFile (const std::string &rDirectory)

Private Attributes

c_vector< double, DIM > mMinSpatialPositions
c_vector< double, DIM > mMaxSpatialPositions
std::vector< std::pair< Node
< DIM > *, Node< DIM > * > > 
mNodePairs
std::map< unsigned, std::set
< unsigned > > 
mNodeNeighbours
bool mDeleteMesh
bool mUseVariableRadii
std::vector< std::pair
< CellPtr, Node< DIM > * > > 
mCellsToSendRight
std::vector< std::pair
< CellPtr, Node< DIM > * > > 
mCellsToSendLeft
boost::shared_ptr< std::vector
< std::pair< CellPtr, Node
< DIM > * > > > 
mpCellsRecvRight
boost::shared_ptr< std::vector
< std::pair< CellPtr, Node
< DIM > * > > > 
mpCellsRecvLeft
ObjectCommunicator
< std::vector< std::pair
< CellPtr, Node< DIM > * > > > 
mRightCommunicator
ObjectCommunicator
< std::vector< std::pair
< CellPtr, Node< DIM > * > > > 
mLeftCommunicator
std::vector< CellPtr > mHaloCells
std::map< unsigned, CellPtr > mLocationHaloCellMap
std::map< CellPtr, unsignedmHaloCellLocationMap
bool mLoadBalanceMesh
unsigned mLoadBalanceFrequency

Static Private Attributes

static const unsigned mCellCommunicationTag = 123

Friends

class TestNodeBasedCellPopulation
class TestNodeBasedCellPopulationParallelMethods
class TestBoxCollection
class boost::serialization::access

Detailed Description

template<unsigned DIM>
class NodeBasedCellPopulation< DIM >

A NodeBasedCellPopulation is a CellPopulation consisting of only nodes in space with associated cells. There are no elements and no mesh.

Definition at line 56 of file NodeBasedCellPopulation.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
NodeBasedCellPopulation< DIM >::NodeBasedCellPopulation ( NodesOnlyMesh< DIM > &  rMesh,
std::vector< CellPtr > &  rCells,
const std::vector< unsigned locationIndices = std::vector<unsigned>(),
bool  deleteMesh = false,
bool  validate = true 
) [inline]

Default constructor.

Note that the cell population will take responsibility for freeing the memory used by the nodes.

Parameters:
rMesh a mutable nodes-only mesh
rCells a vector of cells
locationIndices an optional vector of location indices that correspond to real cells
deleteMesh whether to delete nodes-only mesh in destructor
validate whether to call Validate() in the constructor or not

Definition at line 49 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh, and NodeBasedCellPopulation< DIM >::Validate().

template<unsigned DIM>
NodeBasedCellPopulation< DIM >::NodeBasedCellPopulation ( NodesOnlyMesh< DIM > &  rMesh  )  [inline]

Constructor for use by the de-serializer.

Parameters:
rMesh a mutable nodes-only mesh

Definition at line 69 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh, and AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mrMesh.

template<unsigned DIM>
NodeBasedCellPopulation< DIM >::~NodeBasedCellPopulation (  )  [inline, virtual]

Member Function Documentation

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AcceptCellWriter ( boost::shared_ptr< AbstractCellWriter< DIM, DIM > >  pCellWriter,
CellPtr  pCell 
) [inline, virtual]

A virtual method to accept a cell writer so it can write data from this object to file.

Parameters:
pCellWriter the population writer.
pCell the cell whose data is being written.

Definition at line 307 of file NodeBasedCellPopulation.cpp.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AcceptPopulationCountWriter ( boost::shared_ptr< AbstractCellPopulationCountWriter< DIM, DIM > >  pPopulationCountWriter  )  [inline, virtual]

A virtual method to accept a cell population count writer so it can write data from this object to file.

Parameters:
pPopulationCountWriter the population count writer.

Definition at line 301 of file NodeBasedCellPopulation.cpp.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AcceptPopulationWriter ( boost::shared_ptr< AbstractCellPopulationWriter< DIM, DIM > >  pPopulationWriter  )  [inline, virtual]

A virtual method to accept a cell population writer so it can write data from this object to file.

Parameters:
pPopulationWriter the population writer.

Definition at line 295 of file NodeBasedCellPopulation.cpp.

template<unsigned DIM>
CellPtr NodeBasedCellPopulation< DIM >::AddCell ( CellPtr  pNewCell,
const c_vector< double, DIM > &  rCellDivisionVector,
CellPtr  pParentCell 
) [inline, virtual]

Overridden AddCell() method.

Add a new cell to the cell population and update the vector of cell radii in the NodesOnlyMesh.

Parameters:
pNewCell the cell to add
rCellDivisionVector the position in space at which to put it
pParentCell pointer to a parent cell - this is required for node-based cell populations
Returns:
address of cell as it appears in the cell list (internal of this method uses a copy constructor along the way)

Reimplemented in NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 625 of file NodeBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), NodeBasedCellPopulation< DIM >::GetNode(), Node< SPACE_DIM >::GetRadius(), and Node< SPACE_DIM >::SetRadius().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddCellsToSendLeft ( std::vector< unsigned > &  cellLocationIndices  )  [inline, private]

Add a collection of cells to send left

Parameters:
cellLocationIndices the list of location indices of cells to send.

Definition at line 891 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendLeft(), and NodeBasedCellPopulation< DIM >::mCellsToSendLeft.

Referenced by NodeBasedCellPopulation< DIM >::RefreshHaloCells(), and NodeBasedCellPopulation< DIM >::UpdateCellProcessLocation().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddCellsToSendRight ( std::vector< unsigned > &  cellLocationIndices  )  [inline, private]

Add a collection of cells to send right

Parameters:
cellLocationIndices the list of location indices of cells to send.

Definition at line 880 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendRight(), and NodeBasedCellPopulation< DIM >::mCellsToSendRight.

Referenced by NodeBasedCellPopulation< DIM >::RefreshHaloCells(), and NodeBasedCellPopulation< DIM >::UpdateCellProcessLocation().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddHaloCell ( CellPtr  pCell,
boost::shared_ptr< Node< DIM > >  pNode 
) [inline, private]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddMovedCell ( CellPtr  pCell,
boost::shared_ptr< Node< DIM > >  pNode 
) [inline, private]

Add a moved cell to this process along with its node.

Parameters:
pCell the pointer to the cell that is to be added.
pNode the pointer to the node that is to be added.

Definition at line 647 of file NodeBasedCellPopulation.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::AddCellUsingLocationIndex(), NodesOnlyMesh< SPACE_DIM >::AddMovedNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, and NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

Referenced by NodeBasedCellPopulation< DIM >::AddReceivedCells().

template<unsigned DIM>
unsigned NodeBasedCellPopulation< DIM >::AddNode ( Node< DIM > *  pNewNode  )  [inline, private]

Overridden AddNode() method.

Add a new node to the cell population.

Parameters:
pNewNode pointer to the new node
Returns:
global index of new node in cell population

Definition at line 247 of file NodeBasedCellPopulation.cpp.

References NodesOnlyMesh< SPACE_DIM >::AddNode(), and NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendLeft ( unsigned  nodeIndex  )  [inline, private]

Add the node and cell with index nodeIndex to the list of cells to send to the process left.

Parameters:
nodeIndex the index of the node and cell to send.

Definition at line 788 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::GetCellNodePair(), and NodeBasedCellPopulation< DIM >::mCellsToSendLeft.

Referenced by NodeBasedCellPopulation< DIM >::AddCellsToSendLeft().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendRight ( unsigned  nodeIndex  )  [inline, private]

Add the node and cell with index nodeIndex to the list of cells to send to the process right.

Parameters:
nodeIndex the index of the node and cell to send.

Definition at line 780 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::GetCellNodePair(), and NodeBasedCellPopulation< DIM >::mCellsToSendRight.

Referenced by NodeBasedCellPopulation< DIM >::AddCellsToSendRight().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddReceivedCells (  )  [inline]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::AddReceivedHaloCells (  )  [inline, private]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::Clear (  )  [inline]

Reset the member variables mNodePairs and mpBoxCollection in the underlying mesh.

Definition at line 102 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mNodePairs.

Referenced by NodeBasedCellPopulation< DIM >::~NodeBasedCellPopulation().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::DeleteMovedCell ( unsigned  index  )  [inline, private]
template<unsigned DIM>
std::pair< CellPtr, Node< DIM > * > NodeBasedCellPopulation< DIM >::GetCellNodePair ( unsigned  nodeIndex  )  [inline]

Helper method to find and pack up nodes and cells together

Parameters:
nodeIndex the global index of the node.
Returns:
the pair.

Definition at line 768 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::GetCellUsingLocationIndex(), and NodeBasedCellPopulation< DIM >::GetNode().

Referenced by NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendLeft(), and NodeBasedCellPopulation< DIM >::AddNodeAndCellToSendRight().

template<unsigned DIM>
CellPtr NodeBasedCellPopulation< DIM >::GetCellUsingLocationIndex ( unsigned  index  )  [inline, virtual]

Overridden method from AbstractCellPopulation so that we can access halo cells through this method.

Parameters:
index the global index of the node assocaited with a cell
Returns:
the (set of) cells to which the node is attached.

Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 259 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mLocationHaloCellMap.

Referenced by NodeBasedCellPopulation< DIM >::GetCellNodePair(), NodeBasedCellPopulation< DIM >::Validate(), NodeVelocityWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), HeterotypicBoundaryLengthWriter< ELEMENT_DIM, SPACE_DIM >::Visit(), and NodeBasedCellPopulationWithParticles< DIM >::WriteVtkResultsToFile().

template<unsigned DIM>
double NodeBasedCellPopulation< DIM >::GetMechanicsCutOffLength (  )  [inline]
Returns:
the maximum interaction distance between cells, defined in NodesOnlyMesh.

Definition at line 313 of file NodeBasedCellPopulation.cpp.

References NodesOnlyMesh< SPACE_DIM >::GetMaximumInteractionDistance(), and NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

template<unsigned DIM>
std::set< unsigned > NodeBasedCellPopulation< DIM >::GetNeighbouringNodeIndices ( unsigned  index  )  [inline, virtual]
template<unsigned DIM>
Node< DIM > * NodeBasedCellPopulation< DIM >::GetNode ( unsigned  index  )  [inline, virtual]
template<unsigned DIM>
unsigned NodeBasedCellPopulation< DIM >::GetNumNodes (  )  [inline, virtual]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::GetReceivedCells (  )  [inline]
template<unsigned DIM>
c_vector< double, DIM > NodeBasedCellPopulation< DIM >::GetSizeOfCellPopulation (  )  [inline]

Overridden GetSizeOfCellPopulation to work in parallel.

Returns:
the size of the cell population.

Reimplemented from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 349 of file NodeBasedCellPopulation.cpp.

References PetscTools::GetWorld().

template<unsigned DIM>
bool NodeBasedCellPopulation< DIM >::GetUseVariableRadii (  )  [inline]
Returns:
mUseVariableRadii

Definition at line 319 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mUseVariableRadii.

template<unsigned DIM>
double NodeBasedCellPopulation< DIM >::GetVolumeOfCell ( CellPtr  pCell  )  [inline, virtual]
template<unsigned DIM>
double NodeBasedCellPopulation< DIM >::GetWidth ( const unsigned rDimension  )  [inline, virtual]

Overridden GetWidth() method.

Calculate the 'width' of any dimension of the cell population by computing the maximum distance between any nodes in this dimension.

Parameters:
rDimension a dimension (0,1 or 2)
Returns:
The maximum distance between any nodes in this dimension.

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 343 of file NodeBasedCellPopulation.cpp.

References NodesOnlyMesh< SPACE_DIM >::GetWidth(), and NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::NonBlockingSendCellsToNeighbourProcesses (  )  [inline]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::OutputCellPopulationParameters ( out_stream &  rParamsFile  )  [inline, virtual]

Outputs CellPopulation parameters to file

As this method is pure virtual, it must be overridden in subclasses.

Parameters:
rParamsFile the file stream to which the parameters are output

Reimplemented from AbstractCentreBasedCellPopulation< DIM >.

Reimplemented in NodeBasedCellPopulationWithBuskeUpdate< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 284 of file NodeBasedCellPopulation.cpp.

References NodesOnlyMesh< SPACE_DIM >::GetMaximumInteractionDistance(), NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh, and NodeBasedCellPopulation< DIM >::mUseVariableRadii.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::RefreshHaloCells (  )  [inline, private]
template<unsigned DIM>
unsigned NodeBasedCellPopulation< DIM >::RemoveDeadCells (  )  [inline, virtual]

Remove all cells labelled as dead.

Note that after calling this method the cell population will be in an inconsistent state until the equivalent of a 'remesh' is performed! So don't try iterating over cells or anything like that.

Returns:
number of cells removed

Implements AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >.

Definition at line 216 of file NodeBasedCellPopulation.cpp.

References MutableMesh< ELEMENT_DIM, SPACE_DIM >::DeleteNodePriorToReMesh(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::mCells, NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::RemoveCellUsingLocationIndex(), and NodesOnlyMesh< SPACE_DIM >::SolveNodeMapping().

template<unsigned DIM>
const NodesOnlyMesh< DIM > & NodeBasedCellPopulation< DIM >::rGetMesh (  )  const [inline]
Returns:
const reference to mrMesh (used in archiving).

Definition at line 96 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

template<unsigned DIM>
NodesOnlyMesh< DIM > & NodeBasedCellPopulation< DIM >::rGetMesh (  )  [inline]
template<unsigned DIM>
std::vector< std::pair< Node< DIM > *, Node< DIM > * > > & NodeBasedCellPopulation< DIM >::rGetNodePairs (  )  [inline, virtual]

Overridden rGetNodePairs method

Returns:
Node pairs for force calculation.

Implements AbstractCentreBasedCellPopulation< DIM >.

Definition at line 278 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mNodePairs.

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

Serialize the object and its member variables.

Note that serialization of the nodes is handled by load/save_construct_data, so we don't actually have to do anything here except delegate to the base class.

Parameters:
archive the archive
version the current version of this class

Reimplemented from AbstractCentreBasedCellPopulation< DIM >.

Reimplemented in NodeBasedCellPopulationWithBuskeUpdate< DIM >, and NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 135 of file NodeBasedCellPopulation.hpp.

References NodeBasedCellPopulation< DIM >::mUseVariableRadii, and NodeBasedCellPopulation< DIM >::Validate().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::SetLoadBalanceFrequency ( unsigned  loadBalanceFrequency  )  [inline]

Set the freqeuncy, in number of time steps, with which the underlying mesh should be load balanced.

Parameters:
loadBalanceFrequency the frequency for load balancing.

Definition at line 337 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mLoadBalanceFrequency.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::SetLoadBalanceMesh ( bool  loadBalanceMesh  )  [inline]

Set whether to carry out the dynamic load balance algorithm on this mesh when it is updated

Parameters:
loadBalanceMesh whether to do dynamic load balancing.

Definition at line 331 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mLoadBalanceMesh.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::SetNode ( unsigned  nodeIndex,
ChastePoint< DIM > &  rNewLocation 
) [inline]

Move the node with a given index to a new point in space.

Parameters:
nodeIndex the index of the node to be moved
rNewLocation the new target location of the node

Definition at line 132 of file NodeBasedCellPopulation.cpp.

References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), and NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh.

Referenced by NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::SetUseVariableRadii ( bool  useVariableRadii = true  )  [inline]

Set mUseVariableRadii.

Parameters:
useVariableRadii the new value of mUseVariableRadii

Definition at line 325 of file NodeBasedCellPopulation.cpp.

References NodeBasedCellPopulation< DIM >::mUseVariableRadii.

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::Update ( bool  hasHadBirthsOrDeaths = true  )  [inline, virtual]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::UpdateCellProcessLocation (  )  [inline, virtual]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::UpdateMapsAfterRemesh ( NodeMap map  )  [inline, private]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::UpdateParticlesAfterReMesh ( NodeMap rMap  )  [inline, protected, virtual]

Update mIsParticle if required by a remesh.

Parameters:
rMap A map between node indices before and after remesh

Reimplemented in NodeBasedCellPopulationWithParticles< DIM >.

Definition at line 273 of file NodeBasedCellPopulation.cpp.

Referenced by NodeBasedCellPopulation< DIM >::UpdateMapsAfterRemesh().

template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::Validate (  )  [inline, protected, virtual]
template<unsigned DIM>
void NodeBasedCellPopulation< DIM >::WriteVtkResultsToFile ( const std::string &  rDirectory  )  [inline, private, virtual]

Friends And Related Function Documentation

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

Member Data Documentation

template<unsigned DIM>
const unsigned NodeBasedCellPopulation< DIM >::mCellCommunicationTag = 123 [static, private]

The tag used to send and recieve cell information

Definition at line 106 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::SendCellsToNeighbourProcesses().

template<unsigned DIM>
std::vector<std::pair<CellPtr, Node<DIM>* > > NodeBasedCellPopulation< DIM >::mCellsToSendLeft [private]
template<unsigned DIM>
std::vector<std::pair<CellPtr, Node<DIM>* > > NodeBasedCellPopulation< DIM >::mCellsToSendRight [private]
template<unsigned DIM>
bool NodeBasedCellPopulation< DIM >::mDeleteMesh [private]

Whether to delete the nodes-only mesh (taken in one of the constructors, defaults to false).

Definition at line 82 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::~NodeBasedCellPopulation().

template<unsigned DIM>
std::map<CellPtr, unsigned> NodeBasedCellPopulation< DIM >::mHaloCellLocationMap [private]

Map halo cells back to location indices

Definition at line 115 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::AddHaloCell(), and NodeBasedCellPopulation< DIM >::RefreshHaloCells().

template<unsigned DIM>
std::vector<CellPtr> NodeBasedCellPopulation< DIM >::mHaloCells [private]
template<unsigned DIM>
ObjectCommunicator<std::vector<std::pair<CellPtr, Node<DIM>* > > > NodeBasedCellPopulation< DIM >::mLeftCommunicator [private]
template<unsigned DIM>
unsigned NodeBasedCellPopulation< DIM >::mLoadBalanceFrequency [private]

The frequency at which the mesh is rebalanced

Definition at line 121 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::SetLoadBalanceFrequency(), and NodeBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
bool NodeBasedCellPopulation< DIM >::mLoadBalanceMesh [private]

Whether to load balance the underlying mesh dynamically

Definition at line 118 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::SetLoadBalanceMesh(), and NodeBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
std::map<unsigned, CellPtr> NodeBasedCellPopulation< DIM >::mLocationHaloCellMap [private]
template<unsigned DIM>
c_vector<double, DIM> NodeBasedCellPopulation< DIM >::mMaxSpatialPositions [private]

Vector of maximal spatial positions in each dimension.

Definition at line 73 of file NodeBasedCellPopulation.hpp.

template<unsigned DIM>
c_vector<double, DIM> NodeBasedCellPopulation< DIM >::mMinSpatialPositions [private]

Vector of minimal spatial positions in each dimension.

Definition at line 70 of file NodeBasedCellPopulation.hpp.

template<unsigned DIM>
std::map<unsigned, std::set<unsigned> > NodeBasedCellPopulation< DIM >::mNodeNeighbours [private]

Indices of neighbours of local nodes.

Definition at line 79 of file NodeBasedCellPopulation.hpp.

Referenced by NodeBasedCellPopulation< DIM >::GetNeighbouringNodeIndices(), and NodeBasedCellPopulation< DIM >::Update().

template<unsigned DIM>
std::vector< std::pair<Node<DIM>*, Node<DIM>* > > NodeBasedCellPopulation< DIM >::mNodePairs [private]
template<unsigned DIM>
boost::shared_ptr<std::vector<std::pair<CellPtr, Node<DIM>* > > > NodeBasedCellPopulation< DIM >::mpCellsRecvLeft [private]
template<unsigned DIM>
boost::shared_ptr<std::vector<std::pair<CellPtr, Node<DIM>* > > > NodeBasedCellPopulation< DIM >::mpCellsRecvRight [private]
template<unsigned DIM>
NodesOnlyMesh<DIM>* NodeBasedCellPopulation< DIM >::mpNodesOnlyMesh [protected]
template<unsigned DIM>
ObjectCommunicator<std::vector<std::pair<CellPtr, Node<DIM>* > > > NodeBasedCellPopulation< DIM >::mRightCommunicator [private]
template<unsigned DIM>
bool NodeBasedCellPopulation< DIM >::mUseVariableRadii [private]

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

Generated by  doxygen 1.6.2