Chaste Commit::f2ff7ee04e70ac9d06c57344df8d017dbb12b97b
CryptProjectionForce Class Reference

#include <CryptProjectionForce.hpp>

+ Inheritance diagram for CryptProjectionForce:
+ Collaboration diagram for CryptProjectionForce:

Public Member Functions

 CryptProjectionForce ()
 
 ~CryptProjectionForce ()
 
double GetA () const
 
double GetB () const
 
double GetWntChemotaxisStrength ()
 
void SetWntChemotaxisStrength (double wntChemotaxisStrength)
 
void SetWntChemotaxis (bool includeWntChemotaxis)
 
double CalculateCryptSurfaceHeightAtPoint (const c_vector< double, 2 > &rNodeLocation)
 
double CalculateCryptSurfaceDerivativeAtPoint (const c_vector< double, 2 > &rNodeLocation)
 
void AddForceContribution (AbstractCellPopulation< 2 > &rCellPopulation)
 
void OutputForceParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from GeneralisedLinearSpringForce< 2 >
 GeneralisedLinearSpringForce ()
 
virtual ~GeneralisedLinearSpringForce ()
 
virtual double VariableSpringConstantMultiplicationFactor (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM > &rCellPopulation, bool isCloserThanRestLength)
 
c_vector< double, ELEMENT_DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, ELEMENT_DIM > &rCellPopulation)
 
double GetMeinekeSpringStiffness ()
 
double GetMeinekeDivisionRestingSpringLength ()
 
double GetMeinekeSpringGrowthDuration ()
 
void SetMeinekeSpringStiffness (double springStiffness)
 
void SetMeinekeDivisionRestingSpringLength (double divisionRestingSpringLength)
 
void SetMeinekeSpringGrowthDuration (double springGrowthDuration)
 
- Public Member Functions inherited from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >
 AbstractTwoBodyInteractionForce ()
 
bool GetUseCutOffLength ()
 
void SetCutOffLength (double cutOffLength)
 
double GetCutOffLength ()
 
void AddForceContribution (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
 
virtual void WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile)
 
- Public Member Functions inherited from AbstractForce< ELEMENT_DIM, SPACE_DIM >
 AbstractForce ()
 
virtual ~AbstractForce ()
 
void OutputForceInfo (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)
 
void UpdateNode3dLocationMap (AbstractCellPopulation< 2 > &rCellPopulation)
 
c_vector< double, 2 > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< 2 > &rCellPopulation)
 

Private Attributes

double mA
 
double mB
 
bool mIncludeWntChemotaxis
 
double mWntChemotaxisStrength
 
std::map< unsigned, c_vector< double, 3 > > mNode3dLocationMap
 

Friends

class TestCryptProjectionForce
 
class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from GeneralisedLinearSpringForce< 2 >
double mMeinekeSpringStiffness
 
double mMeinekeDivisionRestingSpringLength
 
double mMeinekeSpringGrowthDuration
 
- Protected Attributes inherited from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >
bool mUseCutOffLength
 
double mMechanicsCutOffLength
 

Detailed Description

A force law for use in crypt projection simulations.

Definition at line 47 of file CryptProjectionForce.hpp.

Constructor & Destructor Documentation

◆ CryptProjectionForce()

◆ ~CryptProjectionForce()

CryptProjectionForce::~CryptProjectionForce ( )

Destructor.

Definition at line 52 of file CryptProjectionForce.cpp.

Member Function Documentation

◆ AddForceContribution()

◆ CalculateCryptSurfaceDerivativeAtPoint()

double CryptProjectionForce::CalculateCryptSurfaceDerivativeAtPoint ( const c_vector< double, 2 > &  rNodeLocation)

Calculates the derivative df/dr of the crypt surface function z=f(r) at a point whose 2D position is a distance r from the centre of the cell_population, which we assume to be at (0,0).

Parameters
rNodeLocationthe 2D location of a node
Returns
the gradient

Definition at line 113 of file CryptProjectionForce.cpp.

References mA, and mB.

Referenced by CalculateForceBetweenNodes().

◆ CalculateCryptSurfaceHeightAtPoint()

double CryptProjectionForce::CalculateCryptSurfaceHeightAtPoint ( const c_vector< double, 2 > &  rNodeLocation)

Calculates the height of the crypt surface given by z = f(r) = a*r^b at a point whose 2D position is a distance r from the centre of the cell population. This assumes that the cell population is centred at the origin.

Parameters
rNodeLocation
Returns
the z component corresponding to rNodeLocation

Definition at line 108 of file CryptProjectionForce.cpp.

References mA, and mB.

Referenced by UpdateNode3dLocationMap().

◆ CalculateForceBetweenNodes()

c_vector< double, 2 > CryptProjectionForce::CalculateForceBetweenNodes ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< 2 > &  rCellPopulation 
)
private

◆ GetA()

double CryptProjectionForce::GetA ( ) const
Returns
mA.

Definition at line 83 of file CryptProjectionForce.cpp.

References mA.

◆ GetB()

double CryptProjectionForce::GetB ( ) const
Returns
mB.

Definition at line 88 of file CryptProjectionForce.cpp.

References mB.

◆ GetWntChemotaxisStrength()

double CryptProjectionForce::GetWntChemotaxisStrength ( )
Returns
mWntChemotaxisStrength

Definition at line 98 of file CryptProjectionForce.cpp.

References mWntChemotaxisStrength.

◆ OutputForceParameters()

void CryptProjectionForce::OutputForceParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputForceParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from GeneralisedLinearSpringForce< 2 >.

Definition at line 298 of file CryptProjectionForce.cpp.

References mA, mB, mIncludeWntChemotaxis, mWntChemotaxisStrength, and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().

◆ serialize()

template<class Archive >
void CryptProjectionForce::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 62 of file CryptProjectionForce.hpp.

References mA, mB, mIncludeWntChemotaxis, and mWntChemotaxisStrength.

◆ SetWntChemotaxis()

void CryptProjectionForce::SetWntChemotaxis ( bool  includeWntChemotaxis)

Set mIncludeWntChemotaxis.

Parameters
includeWntChemotaxiswhether to include Wnt-dependent chemotaxis

Definition at line 103 of file CryptProjectionForce.cpp.

References mIncludeWntChemotaxis.

◆ SetWntChemotaxisStrength()

void CryptProjectionForce::SetWntChemotaxisStrength ( double  wntChemotaxisStrength)

Set mWntChemotaxisStrength.

Parameters
wntChemotaxisStrengththe new value of mWntChemotaxisStrength

Definition at line 93 of file CryptProjectionForce.cpp.

References mWntChemotaxisStrength.

◆ UpdateNode3dLocationMap()

void CryptProjectionForce::UpdateNode3dLocationMap ( AbstractCellPopulation< 2 > &  rCellPopulation)
private

Friends And Related Symbol Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 53 of file CryptProjectionForce.hpp.

◆ TestCryptProjectionForce

friend class TestCryptProjectionForce
friend

Definition at line 49 of file CryptProjectionForce.hpp.

Member Data Documentation

◆ mA

double CryptProjectionForce::mA
private

The value of the constant a in the definition of the crypt surface z = f(r) = a*r^b.

Definition at line 75 of file CryptProjectionForce.hpp.

Referenced by CryptProjectionForce(), CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), GetA(), OutputForceParameters(), and serialize().

◆ mB

double CryptProjectionForce::mB
private

The value of the constant b in the definition of the crypt surface z = f(r) = a*r^b.

Definition at line 81 of file CryptProjectionForce.hpp.

Referenced by CryptProjectionForce(), CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), GetB(), OutputForceParameters(), and serialize().

◆ mIncludeWntChemotaxis

bool CryptProjectionForce::mIncludeWntChemotaxis
private

Whether to include Wnt-dependent chemotaxis for stem cells.

Definition at line 86 of file CryptProjectionForce.hpp.

Referenced by AddForceContribution(), OutputForceParameters(), serialize(), and SetWntChemotaxis().

◆ mNode3dLocationMap

std::map<unsigned, c_vector<double, 3> > CryptProjectionForce::mNode3dLocationMap
private

Map node indices to 3D locations on the crypt surface.

Definition at line 96 of file CryptProjectionForce.hpp.

Referenced by CalculateForceBetweenNodes(), and UpdateNode3dLocationMap().

◆ mWntChemotaxisStrength

double CryptProjectionForce::mWntChemotaxisStrength
private

Strength of Wnt-based chemotactic force.

Definition at line 91 of file CryptProjectionForce.hpp.

Referenced by AddForceContribution(), GetWntChemotaxisStrength(), OutputForceParameters(), serialize(), and SetWntChemotaxisStrength().


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