Chaste Release::3.1
|
#include <GeneralisedLinearSpringForce.hpp>
A force law employed by Meineke et al (2001) in their off-lattice model of the intestinal crypt (doi:10.1046/j.0960-7722.2001.00216.x).
Each pair of neighbouring nodes are assumed to be connected by a linear spring. The force of node is given by
Here is the spring constant for the spring between nodes and , is its natural length at time , is their relative displacement and a hat ( ) denotes a unit vector.
Length is scaled by natural length. Time is in hours.
Definition at line 65 of file GeneralisedLinearSpringForce.hpp.
GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GeneralisedLinearSpringForce | ( | ) |
Constructor.
Definition at line 39 of file GeneralisedLinearSpringForce.cpp.
References GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mMeinekeSpringStiffness.
GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::~GeneralisedLinearSpringForce | ( | ) | [virtual] |
Destructor.
Definition at line 61 of file GeneralisedLinearSpringForce.cpp.
c_vector< double, SPACE_DIM > GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes | ( | unsigned | nodeAGlobalIndex, |
unsigned | nodeBGlobalIndex, | ||
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & | rCellPopulation | ||
) | [virtual] |
Overridden CalculateForceBetweenNodes() method.
Calculates the force between two nodes.
Note that this assumes they are connected and is called by rCalculateVelocitiesOfEachNode()
nodeAGlobalIndex | index of one neighbouring node |
nodeBGlobalIndex | index of the other neighbouring node |
rCellPopulation | the cell population |
Implements AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >.
Definition at line 66 of file GeneralisedLinearSpringForce.cpp.
References AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), SimulationTime::GetTimeStep(), SimulationTime::Instance(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsMarkedSpring(), and AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring().
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GetMeinekeDivisionRestingSpringLength | ( | ) |
Definition at line 241 of file GeneralisedLinearSpringForce.cpp.
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GetMeinekeSpringGrowthDuration | ( | ) |
Definition at line 246 of file GeneralisedLinearSpringForce.cpp.
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GetMeinekeSpringStiffness | ( | ) |
Definition at line 236 of file GeneralisedLinearSpringForce.cpp.
void GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters | ( | out_stream & | rParamsFile | ) | [virtual] |
Overridden OutputForceParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in RepulsionForce< DIM >, CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.
Definition at line 276 of file GeneralisedLinearSpringForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().
Referenced by LinearSpringWithVariableSpringConstantsForce< DIM >::OutputForceParameters(), and RepulsionForce< DIM >::OutputForceParameters().
void GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::serialize | ( | Archive & | archive, |
const unsigned int | version | ||
) | [inline, private] |
Archive the object and its member variables.
archive | the archive |
version | the current version of this class |
Reimplemented from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in RepulsionForce< DIM >, CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.
Definition at line 80 of file GeneralisedLinearSpringForce.hpp.
void GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::SetMeinekeDivisionRestingSpringLength | ( | double | divisionRestingSpringLength | ) |
Set mMeinekeDivisionRestingSpringLength.
divisionRestingSpringLength | the new value of mMeinekeDivisionRestingSpringLength |
Definition at line 259 of file GeneralisedLinearSpringForce.cpp.
void GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::SetMeinekeSpringGrowthDuration | ( | double | springGrowthDuration | ) |
Set mMeinekeSpringGrowthDuration.
springGrowthDuration | the new value of mMeinekeSpringGrowthDuration |
Definition at line 268 of file GeneralisedLinearSpringForce.cpp.
void GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::SetMeinekeSpringStiffness | ( | double | springStiffness | ) |
Set mMeinekeSpringStiffness.
springStiffness | the new value of mMeinekeSpringStiffness |
Definition at line 252 of file GeneralisedLinearSpringForce.cpp.
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::VariableSpringConstantMultiplicationFactor | ( | unsigned | nodeAGlobalIndex, |
unsigned | nodeBGlobalIndex, | ||
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & | rCellPopulation, | ||
bool | isCloserThanRestLength | ||
) | [virtual] |
Return a multiplication factor for the spring constant, which returns a default value of 1.
This method is overridden in a subclass.
nodeAGlobalIndex | index of one neighbouring node |
nodeBGlobalIndex | index of the other neighbouring node |
rCellPopulation | the cell population |
isCloserThanRestLength | whether the neighbouring nodes lie closer than the rest length of their connecting spring |
Definition at line 52 of file GeneralisedLinearSpringForce.cpp.
Referenced by LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in RepulsionForce< DIM >, CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.
Definition at line 72 of file GeneralisedLinearSpringForce.hpp.
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mMeinekeDivisionRestingSpringLength [protected] |
Initial resting spring length after cell division. Has units of cell size at equilibrium rest length
The value of this parameter should be larger than mDivisionSeparation, because of pressure from neighbouring springs.
Definition at line 106 of file GeneralisedLinearSpringForce.hpp.
Referenced by GeneralisedLinearSpringForce< 2 >::serialize().
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mMeinekeSpringGrowthDuration [protected] |
The time it takes for the springs rest length to increase from mMeinekeDivisionRestingSpringLength to its natural length.
The value of this parameter is usually the same as the M Phase of the cell cycle and defaults to 1.
Definition at line 114 of file GeneralisedLinearSpringForce.hpp.
Referenced by GeneralisedLinearSpringForce< 2 >::serialize().
double GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mMeinekeSpringStiffness [protected] |
Spring stiffness.
Represented by the parameter mu in the model by Meineke et al (2001) in their off-lattice model of the intestinal crypt (doi:10.1046/j.0960-7722.2001.00216.x).
Definition at line 97 of file GeneralisedLinearSpringForce.hpp.
Referenced by GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GeneralisedLinearSpringForce(), and GeneralisedLinearSpringForce< 2 >::serialize().