Chaste  Release::2017.1
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, ELEMENT_DIM >
 AbstractTwoBodyInteractionForce ()
 
bool GetUseCutOffLength ()
 
void SetCutOffLength (double cutOffLength)
 
double GetCutOffLength ()
 
virtual c_vector< double, SPACE_DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)=0
 
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, ELEMENT_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 ( )

Destructor.

Definition at line 51 of file CryptProjectionForce.cpp.

Member Function Documentation

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 112 of file CryptProjectionForce.cpp.

References mA, and mB.

Referenced by CalculateForceBetweenNodes().

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 107 of file CryptProjectionForce.cpp.

References mA, and mB.

Referenced by UpdateNode3dLocationMap().

c_vector< double, 2 > CryptProjectionForce::CalculateForceBetweenNodes ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< 2 > &  rCellPopulation 
)
private
double CryptProjectionForce::GetA ( ) const
Returns
mA.

Definition at line 82 of file CryptProjectionForce.cpp.

References mA.

double CryptProjectionForce::GetB ( ) const
Returns
mB.

Definition at line 87 of file CryptProjectionForce.cpp.

References mB.

double CryptProjectionForce::GetWntChemotaxisStrength ( )
Returns
mWntChemotaxisStrength

Definition at line 97 of file CryptProjectionForce.cpp.

References mWntChemotaxisStrength.

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 297 of file CryptProjectionForce.cpp.

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

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.

void CryptProjectionForce::SetWntChemotaxis ( bool  includeWntChemotaxis)

Set mIncludeWntChemotaxis.

Parameters
includeWntChemotaxiswhether to include Wnt-dependent chemotaxis

Definition at line 102 of file CryptProjectionForce.cpp.

References mIncludeWntChemotaxis.

void CryptProjectionForce::SetWntChemotaxisStrength ( double  wntChemotaxisStrength)

Set mWntChemotaxisStrength.

Parameters
wntChemotaxisStrengththe new value of mWntChemotaxisStrength

Definition at line 92 of file CryptProjectionForce.cpp.

References mWntChemotaxisStrength.

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

Member Data Documentation

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 CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), CryptProjectionForce(), GetA(), OutputForceParameters(), and serialize().

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 CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), CryptProjectionForce(), GetB(), OutputForceParameters(), and serialize().

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().

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().

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: