Chaste Commit::ca8ccdedf819b6e02855bc0e8e6f50bdecbc5208
NormallyDistributedTargetAreaModifier< DIM > Class Template Reference

#include <NormallyDistributedTargetAreaModifier.hpp>

+ Inheritance diagram for NormallyDistributedTargetAreaModifier< DIM >:
+ Collaboration diagram for NormallyDistributedTargetAreaModifier< DIM >:

Public Member Functions

 NormallyDistributedTargetAreaModifier ()
 
virtual ~NormallyDistributedTargetAreaModifier ()
 
virtual void UpdateTargetAreaOfCell (const CellPtr pCell)
 
double GetGrowthDuration ()
 
void SetGrowthDuration (double growthDuration)
 
void OutputSimulationModifierParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from AbstractTargetAreaModifier< DIM >
 AbstractTargetAreaModifier ()
 
virtual ~AbstractTargetAreaModifier ()
 
virtual void UpdateAtEndOfTimeStep (AbstractCellPopulation< DIM, DIM > &rCellPopulation)
 
virtual void SetupSolve (AbstractCellPopulation< DIM, DIM > &rCellPopulation, std::string outputDirectory)
 
double GetReferenceTargetArea ()
 
void SetReferenceTargetArea (double referenceTargetArea)
 
void UpdateTargetAreas (AbstractCellPopulation< DIM, DIM > &rCellPopulation)
 
- Public Member Functions inherited from AbstractCellBasedSimulationModifier< DIM, DIM >
 AbstractCellBasedSimulationModifier ()
 
virtual ~AbstractCellBasedSimulationModifier ()
 
virtual void UpdateAtEndOfTimeStep (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)=0
 
virtual void UpdateAtEndOfOutputTimeStep (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
 
virtual void SetupSolve (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, std::string outputDirectory)=0
 
virtual void UpdateAtEndOfSolve (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
 
void OutputSimulationModifierInfo (out_stream &rParamsFile)
 
- 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)
 

Private Attributes

double mGrowthDuration
 
std::vector< doublemNormalRandomNumbers
 

Friends

class boost::serialization::access
 
class TestNormallyDistributedTargetAreaModifier
 

Additional Inherited Members

- Protected Attributes inherited from AbstractTargetAreaModifier< DIM >
double mReferenceTargetArea
 

Detailed Description

template<unsigned DIM>
class NormallyDistributedTargetAreaModifier< DIM >

A target area modifier class in which the target area of a cell grows linearly, up to mReferenceTargetArea * n, over a prescribed duration, where n is picked from a normal distribution.

If used with a phase-based cell-cycle model (such as FixedG1GenerationalCellCycleModel), the target area of a cell increases linearly from the value 0.5*mReferenceTargetArea*n up to mReferenceTargetArea over the course of the cell's G1 phase.

If used with a non-phase-based cell-cycle model, the target area of a cell increases linearly from the value 0.5*mReferenceTargetArea*n up to mReferenceTargetArea*n while the cell's age is less than mGrowthDuration.

Here mReferenceTargetArea and mGrowthDuration are settable member variables. The default value of mReferenceTargetArea is 1.0 and the default value of mGrowthDuration is DOUBLE_UNSET.

Note that if mGrowthDuration is set by the user, then this value is are used to prescribe target area growth as described earlier, regardless of whether a phase-based cell-cycle model is present.

Definition at line 63 of file NormallyDistributedTargetAreaModifier.hpp.

Constructor & Destructor Documentation

◆ NormallyDistributedTargetAreaModifier()

◆ ~NormallyDistributedTargetAreaModifier()

Member Function Documentation

◆ GetGrowthDuration()

template<unsigned DIM>
double NormallyDistributedTargetAreaModifier< DIM >::GetGrowthDuration ( )

◆ OutputSimulationModifierParameters()

template<unsigned DIM>
void NormallyDistributedTargetAreaModifier< DIM >::OutputSimulationModifierParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputSimulationModifierParameters() method. Output any simulation modifier parameters to file.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from AbstractTargetAreaModifier< DIM >.

Definition at line 153 of file NormallyDistributedTargetAreaModifier.cpp.

References AbstractTargetAreaModifier< DIM >::OutputSimulationModifierParameters().

◆ serialize()

template<unsigned DIM>
template<class Archive >
void NormallyDistributedTargetAreaModifier< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.

Parameters
archiveThe boost archive.
versionThe current version of this class.

Definition at line 75 of file NormallyDistributedTargetAreaModifier.hpp.

References NormallyDistributedTargetAreaModifier< DIM >::mGrowthDuration.

◆ SetGrowthDuration()

template<unsigned DIM>
void NormallyDistributedTargetAreaModifier< DIM >::SetGrowthDuration ( double  growthDuration)

Set mGrowthDuration.

Parameters
growthDurationthe new value of mGrowthDuration

Definition at line 146 of file NormallyDistributedTargetAreaModifier.cpp.

◆ UpdateTargetAreaOfCell()

template<unsigned DIM>
void NormallyDistributedTargetAreaModifier< DIM >::UpdateTargetAreaOfCell ( const CellPtr  pCell)
virtual

Overridden UpdateTargetAreaOfCell() method.

Parameters
pCellpointer to the cell

At division, daughter cells inherit the cell data array from the mother cell. Here, we assign the target area that we want daughter cells to have to cells that we know to divide in this time step.

Todo:
This is a little hack that we might want to clean up in the future.

Implements AbstractTargetAreaModifier< DIM >.

Definition at line 56 of file NormallyDistributedTargetAreaModifier.cpp.

References DOUBLE_UNSET, EXCEPTION, AbstractPhaseBasedCellCycleModel::GetG1Duration(), SimulationTime::GetTime(), AbstractPhaseBasedCellCycleModel::GetTransitCellG1Duration(), SimulationTime::Instance(), RandomNumberGenerator::Instance(), and RandomNumberGenerator::NormalRandomDeviate().

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Needed for serialization.

Definition at line 66 of file NormallyDistributedTargetAreaModifier.hpp.

◆ TestNormallyDistributedTargetAreaModifier

template<unsigned DIM>
friend class TestNormallyDistributedTargetAreaModifier
friend

Definition at line 81 of file NormallyDistributedTargetAreaModifier.hpp.

Member Data Documentation

◆ mGrowthDuration

template<unsigned DIM>
double NormallyDistributedTargetAreaModifier< DIM >::mGrowthDuration
private

The duration that a cell's target area to increase from 0.5*mReferenceTargetArea to mReferenceTargetArea at the start of its cell cycle. Defaults to DOUBLE_UNSET. If this variable is set using SetGrowthDuration(), then it is used regardless of whether a phase-based cell-cycle model is used.

Definition at line 89 of file NormallyDistributedTargetAreaModifier.hpp.

Referenced by NormallyDistributedTargetAreaModifier< DIM >::serialize().

◆ mNormalRandomNumbers

template<unsigned DIM>
std::vector<double> NormallyDistributedTargetAreaModifier< DIM >::mNormalRandomNumbers
private

A vector to keep track of the normal random deviation in cell area. Each random number will be associated with a cell id.

Definition at line 95 of file NormallyDistributedTargetAreaModifier.hpp.


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