Chaste  Release::2018.1
TargetAreaLinearGrowthModifier< DIM > Class Template Reference

#include <TargetAreaLinearGrowthModifier.hpp>

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

Public Member Functions

 TargetAreaLinearGrowthModifier ()
 
virtual ~TargetAreaLinearGrowthModifier ()
 
void UpdateTargetAreaOfCell (const CellPtr pCell)
 
double GetAgeToStartGrowing ()
 
void SetAgeToStartGrowing (double ageToStartGrowing)
 
double GetGrowthRate ()
 
void SetGrowthRate (double growthRate)
 
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 mAgeToStartGrowing
 
double mGrowthRate
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AbstractTargetAreaModifier< DIM >
double mReferenceTargetArea
 

Detailed Description

template<unsigned DIM>
class TargetAreaLinearGrowthModifier< DIM >

A target area modifier class in which the target area of a cell grows linearly, starting from mReferenceTargetArea, over a prescribed duration.

If used with a phase-based cell-cycle model (such as FixedG1GenerationalCellCycleModel), the target area of a cell doubles from the value mReferenceTargetArea over the course of the cell's G2 phase. This rule is based on the description of cell growth and division proposed by Farhadifar et al (The influence of cell mechanics, cell-cell interactions, and proliferation on epithelial packing, Current Biology 17(24):2095-2104, 2007, http://dx.doi.org/10.1016/j.cub.2007.11.049).

If used with a non-phase-based cell-cycle model, the target area of a cell increases linearly at a rate mGrowthRate as soon as the cell's age exceeds mAgeToStartGrowing.

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

If mAgeToStartGrowing is set by the user, then mGrowthRate must also be set; note that in this case, these values are used to prescribe target area growth as described earlier, regardless of whether a phase-based cell-cycle model is present.

Definition at line 68 of file TargetAreaLinearGrowthModifier.hpp.

Constructor & Destructor Documentation

Default constructor.

Definition at line 42 of file TargetAreaLinearGrowthModifier.cpp.

template<unsigned DIM>
TargetAreaLinearGrowthModifier< DIM >::~TargetAreaLinearGrowthModifier ( )
virtual

Destructor.

Definition at line 50 of file TargetAreaLinearGrowthModifier.cpp.

Member Function Documentation

template<unsigned DIM>
double TargetAreaLinearGrowthModifier< DIM >::GetAgeToStartGrowing ( )
Returns
mAgeToStartGrowing.

Definition at line 134 of file TargetAreaLinearGrowthModifier.cpp.

template<unsigned DIM>
double TargetAreaLinearGrowthModifier< DIM >::GetGrowthRate ( )
Returns
mGrowthRate

Definition at line 147 of file TargetAreaLinearGrowthModifier.cpp.

template<unsigned DIM>
void TargetAreaLinearGrowthModifier< 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 160 of file TargetAreaLinearGrowthModifier.cpp.

References AbstractTargetAreaModifier< DIM >::OutputSimulationModifierParameters().

template<unsigned DIM>
template<class Archive >
void TargetAreaLinearGrowthModifier< 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 80 of file TargetAreaLinearGrowthModifier.hpp.

References TargetAreaLinearGrowthModifier< DIM >::mAgeToStartGrowing, and TargetAreaLinearGrowthModifier< DIM >::mGrowthRate.

template<unsigned DIM>
void TargetAreaLinearGrowthModifier< DIM >::SetAgeToStartGrowing ( double  ageToStartGrowing)

Set mAgeToStartGrowing.

Parameters
ageToStartGrowingthe new value of mAgeToStartGrowing

Definition at line 140 of file TargetAreaLinearGrowthModifier.cpp.

template<unsigned DIM>
void TargetAreaLinearGrowthModifier< DIM >::SetGrowthRate ( double  growthRate)

Set mGrowthRate.

Parameters
growthRatethe new value of mGrowthRate

Definition at line 153 of file TargetAreaLinearGrowthModifier.cpp.

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

Helper method to update the target area property of an individual cell.

Parameters
pCellpointer to a cell
Todo:
: which cells are apoptotic? if they get apoptotic during G2-phase then this line has to be changed

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 55 of file TargetAreaLinearGrowthModifier.cpp.

References DOUBLE_UNSET, EXCEPTION, AbstractPhaseBasedCellCycleModel::GetG1Duration(), AbstractPhaseBasedCellCycleModel::GetG2Duration(), AbstractPhaseBasedCellCycleModel::GetMDuration(), AbstractPhaseBasedCellCycleModel::GetSDuration(), SimulationTime::GetTime(), and SimulationTime::Instance().

Friends And Related Function Documentation

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

Needed for serialization.

Definition at line 71 of file TargetAreaLinearGrowthModifier.hpp.

Member Data Documentation

template<unsigned DIM>
double TargetAreaLinearGrowthModifier< DIM >::mAgeToStartGrowing
private

The age of a proliferating cell at which its target area should start growing. Defaults to DOUBLE_UNSET. If this variable is set using SetAgeToStartGrowing(), then it is used regardless of whether a phase-based cell-cycle model is used.

Definition at line 92 of file TargetAreaLinearGrowthModifier.hpp.

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

template<unsigned DIM>
double TargetAreaLinearGrowthModifier< DIM >::mGrowthRate
private

The growth rate of a proliferating cell's target area, when it is growing. Defaults to DOUBLE_UNSET. This variable must be set if mAgeToStartGrowing is set, otherwise an exception is thrown.

Definition at line 99 of file TargetAreaLinearGrowthModifier.hpp.

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


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