Chaste
Release::2017.1
|
#include <NodeBasedCellPopulationWithBuskeUpdate.hpp>
Public Member Functions | |
NodeBasedCellPopulationWithBuskeUpdate (NodesOnlyMesh< DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >(), bool deleteMesh=false) | |
NodeBasedCellPopulationWithBuskeUpdate (NodesOnlyMesh< DIM > &rMesh) | |
virtual void | UpdateNodeLocations (double dt) |
void | OutputCellPopulationParameters (out_stream &rParamsFile) |
Public Member Functions inherited from NodeBasedCellPopulation< DIM > | |
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 |
virtual TetrahedralMesh< DIM, DIM > * | GetTetrahedralMeshForPdeModifier () |
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 () |
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< unsigned > | GetNodesWithinNeighbourhoodRadius (unsigned index, double neighbourhoodRadius) |
std::set< unsigned > | GetNeighbouringNodeIndices (unsigned index) |
virtual CellPtr | AddCell (CellPtr pNewCell, 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 () |
Public Member Functions inherited from AbstractCentreBasedCellPopulation< DIM > | |
AbstractCentreBasedCellPopulation (AbstractMesh< ELEMENT_DIM, ELEMENT_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
c_vector< double, ELEMENT_DIM > | GetLocationOfCellCentre (CellPtr pCell) |
Node< ELEMENT_DIM > * | GetNodeCorrespondingToCell (CellPtr pCell) |
virtual double | GetCellDataItemAtPdeNode (unsigned pdeNodeIndex, std::string &rVariableName, bool dirichletBoundaryConditionApplies=false, double dirichletBoundaryValue=0.0) |
CellPtr | AddCell (CellPtr pNewCell, CellPtr pParentCell=CellPtr()) |
std::pair< CellPtr, CellPtr > | CreateCellPair (CellPtr pCell1, CellPtr pCell2) |
bool | IsMarkedSpring (const std::pair< CellPtr, CellPtr > &rCellPair) |
void | MarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
void | UnmarkSpring (std::pair< CellPtr, CellPtr > &rCellPair) |
bool | IsCellAssociatedWithADeletedLocation (CellPtr pCell) |
virtual std::set< unsigned > | GetNeighbouringLocationIndices (CellPtr pCell) |
virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, ELEMENT_DIM > &rDisplacement, double dt) |
virtual double | GetDampingConstant (unsigned nodeIndex) |
virtual bool | IsGhostNode (unsigned index) |
virtual bool | IsParticle (unsigned index) |
double | GetMeinekeDivisionSeparation () |
void | SetMeinekeDivisionSeparation (double divisionSeparation) |
boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, ELEMENT_DIM > > | GetCentreBasedDivisionRule () |
void | SetCentreBasedDivisionRule (boost::shared_ptr< AbstractCentreBasedDivisionRule< ELEMENT_DIM, ELEMENT_DIM > > pCentreBasedDivisionRule) |
virtual double | GetDefaultTimeStep () |
Public Member Functions inherited from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractOffLatticeCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
virtual unsigned | AddNode (Node< SPACE_DIM > *pNewNode)=0 |
virtual void | SetNode (unsigned nodeIndex, ChastePoint< SPACE_DIM > &rNewLocation)=0 |
virtual void | CheckForStepSizeException (unsigned nodeIndex, c_vector< double, SPACE_DIM > &rDisplacement, double dt)=0 |
void | SetDampingConstantNormal (double dampingConstantNormal) |
void | SetDampingConstantMutant (double dampingConstantMutant) |
void | SetAbsoluteMovementThreshold (double absoluteMovementThreshold) |
double | GetAbsoluteMovementThreshold () |
double | GetDampingConstantNormal () |
double | GetDampingConstantMutant () |
Public Member Functions inherited from AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > | |
AbstractCellPopulation (AbstractMesh< ELEMENT_DIM, SPACE_DIM > &rMesh, std::vector< CellPtr > &rCells, const std::vector< unsigned > locationIndices=std::vector< unsigned >()) | |
virtual | ~AbstractCellPopulation () |
void | InitialiseCells () |
void | SetDataOnAllCells (const std::string &rDataName, double dataValue) |
AbstractMesh< ELEMENT_DIM, SPACE_DIM > & | rGetMesh () |
virtual bool | IsPdeNodeAssociatedWithNonApoptoticCell (unsigned pdeNodeIndex) |
std::list< CellPtr > & | rGetCells () |
virtual void | WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile) |
std::vector< unsigned > | GetCellMutationStateCount () |
std::vector< unsigned > | GetCellProliferativeTypeCount () |
std::vector< unsigned > | GetCellCyclePhaseCount () |
unsigned | GetNumRealCells () |
unsigned | GetNumAllCells () |
void | SetCellAncestorsToLocationIndices () |
std::set< unsigned > | GetCellAncestors () |
std::set< CellPtr > | GetCellsUsingLocationIndex (unsigned index) |
virtual bool | IsCellAttachedToLocationIndex (unsigned index) |
void | SetCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | AddCellUsingLocationIndex (unsigned index, CellPtr pCell) |
virtual void | RemoveCellUsingLocationIndex (unsigned index, CellPtr pCell) |
void | MoveCellInLocationMap (CellPtr pCell, unsigned old_index, unsigned new_index) |
unsigned | GetLocationIndexUsingCell (CellPtr pCell) |
boost::shared_ptr< CellPropertyRegistry > | GetCellPropertyRegistry () |
void | SetDefaultCellMutationStateAndProliferativeTypeOrdering () |
c_vector< double, SPACE_DIM > | GetCentroidOfCellPopulation () |
virtual void | OpenWritersFiles (OutputFileHandler &rOutputFileHandler) |
void | CloseWritersFiles () |
virtual void | WriteResultsToFiles (const std::string &rDirectory) |
virtual void | AcceptPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter)=0 |
virtual void | AcceptPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationCountWriter)=0 |
virtual void | AcceptCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter, CellPtr pCell)=0 |
void | OutputCellPopulationInfo (out_stream &rParamsFile) |
virtual void | SimulationSetupHook (AbstractCellBasedSimulation< ELEMENT_DIM, SPACE_DIM > *pSimulation) |
bool | GetOutputResultsForChasteVisualizer () |
template<template< unsigned, unsigned > class T> | |
void | AddPopulationWriter () |
template<template< unsigned, unsigned > class T> | |
void | AddCellWriter () |
template<template< unsigned, unsigned > class T> | |
void | AddCellPopulationCountWriter () |
void | AddPopulationWriter (boost::shared_ptr< AbstractCellPopulationWriter< ELEMENT_DIM, SPACE_DIM > > pPopulationWriter) |
void | AddCellWriter (boost::shared_ptr< AbstractCellWriter< ELEMENT_DIM, SPACE_DIM > > pCellWriter) |
void | AddCellPopulationCountWriter (boost::shared_ptr< AbstractCellPopulationCountWriter< ELEMENT_DIM, SPACE_DIM > > pCellPopulationCountWriter) |
template<template< unsigned, unsigned > class T> | |
bool | HasWriter () const |
void | SetOutputResultsForChasteVisualizer (bool outputResultsForChasteVisualizer) |
c_vector< double, SPACE_DIM > | GetSizeOfCellPopulation () |
virtual bool | IsRoomToDivide (CellPtr pCell) |
std::pair< unsigned, unsigned > | CreateOrderedPair (unsigned index1, unsigned index2) |
Iterator | Begin () |
Iterator | End () |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | TestNodeBasedCellPopulationWithBuskeUpdate |
class | boost::serialization::access |
A NodeBasedCellPopulationWithBuskeUpdate is a CellPopulation consisting of only nodes in space with associated cells. There are no elements and no mesh. The cell positions are updated according to Buske et al (2011) (doi:10.1371/journal.pcbi.1001045).
Definition at line 50 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.
NodeBasedCellPopulationWithBuskeUpdate< DIM >::NodeBasedCellPopulationWithBuskeUpdate | ( | NodesOnlyMesh< DIM > & | rMesh, |
std::vector< CellPtr > & | rCells, | ||
const std::vector< unsigned > | locationIndices = std::vector<unsigned>() , |
||
bool | deleteMesh = false |
||
) |
Default constructor.
Note that the cell population will take responsibility for freeing the memory used by the nodes.
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 |
Definition at line 41 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.
Referenced by NodeBasedCellPopulationWithBuskeUpdate< DIM >::serialize().
NodeBasedCellPopulationWithBuskeUpdate< DIM >::NodeBasedCellPopulationWithBuskeUpdate | ( | NodesOnlyMesh< DIM > & | rMesh | ) |
Constructor for use by the de-serializer.
rMesh | a mutable nodes-only mesh |
Definition at line 50 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.
|
virtual |
Outputs CellPopulation parameters to file
As this method is pure virtual, it must be overridden in subclasses.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from NodeBasedCellPopulation< DIM >.
Definition at line 202 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.
References EXPORT_TEMPLATE_CLASS_SAME_DIMS, and NodeBasedCellPopulation< DIM >::OutputCellPopulationParameters().
Referenced by NodeBasedCellPopulationWithBuskeUpdate< DIM >::serialize().
|
inlineprivate |
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.
archive | the archive |
version | the current version of this class |
Definition at line 68 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.
References EXPORT_TEMPLATE_CLASS_SAME_DIMS, NodeBasedCellPopulationWithBuskeUpdate< DIM >::NodeBasedCellPopulationWithBuskeUpdate(), NodeBasedCellPopulationWithBuskeUpdate< DIM >::OutputCellPopulationParameters(), NodeBasedCellPopulation< DIM >::rGetMesh(), and NodeBasedCellPopulationWithBuskeUpdate< DIM >::UpdateNodeLocations().
|
virtual |
Method to movet the cells according to the update from Buske et al (2011) (doi:10.1371/journal.pcbi.1001045).
dt | the time step |
Reimplemented from AbstractOffLatticeCellPopulation< ELEMENT_DIM, SPACE_DIM >.
Definition at line 57 of file NodeBasedCellPopulationWithBuskeUpdate.cpp.
References PetscMatTools::AddToElement(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), PetscTools::CreateAndSetVec(), PetscTools::Destroy(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), PetscMatTools::Finalise(), AbstractCentreBasedCellPopulation< DIM >::GetDampingConstant(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), NodeBasedCellPopulation< DIM >::GetNeighbouringNodeIndices(), NodeBasedCellPopulation< DIM >::GetNode(), NodeBasedCellPopulation< DIM >::GetNumNodes(), Node< SPACE_DIM >::GetRadius(), OdeLinearSystemSolver::rGetForceVector(), OdeLinearSystemSolver::rGetLhsMatrix(), Node< SPACE_DIM >::rGetLocation(), NodeBasedCellPopulation< DIM >::rGetMesh(), PetscVecTools::SetElement(), OdeLinearSystemSolver::SetInitialConditionVector(), NodeBasedCellPopulation< DIM >::SetNode(), NodesOnlyMesh< SPACE_DIM >::SolveNodeMapping(), and OdeLinearSystemSolver::SolveOneTimeStep().
Referenced by NodeBasedCellPopulationWithBuskeUpdate< DIM >::serialize().
|
friend |
Needed for serialization.
Definition at line 57 of file NodeBasedCellPopulationWithBuskeUpdate.hpp.