GeneralisedLinearSpringForce< DIM > Class Template Reference

#include <GeneralisedLinearSpringForce.hpp>

Inherits AbstractTwoBodyInteractionForce< DIM >.

Inherited by LinearSpringWithVariableSpringConstantsForce< DIM >, and RepulsionForce< DIM >.

Collaboration diagram for GeneralisedLinearSpringForce< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 GeneralisedLinearSpringForce ()
 ~GeneralisedLinearSpringForce ()
virtual double VariableSpringConstantMultiplicationFactor (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< DIM > &rCellPopulation, bool isCloserThanRestLength)
c_vector< double, DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< DIM > &rCellPopulation)
double GetMeinekeSpringStiffness ()
double GetMeinekeDivisionRestingSpringLength ()
double GetMeinekeSpringGrowthDuration ()
void SetMeinekeSpringStiffness (double springStiffness)
void SetMeinekeDivisionRestingSpringLength (double divisionRestingSpringLength)
void SetMeinekeSpringGrowthDuration (double springGrowthDuration)
virtual void OutputForceParameters (out_stream &rParamsFile)

Protected Attributes

double mMeinekeSpringStiffness
double mMeinekeDivisionRestingSpringLength
double mMeinekeSpringGrowthDuration

Private Member Functions

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

Friends

class TestForces
class boost::serialization::access

Detailed Description

template<unsigned DIM>
class GeneralisedLinearSpringForce< DIM >

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 $i$ is given by

\[ \mathbf{F}_{i}(t) = \sum_{j} \mu_{i,j} ( || \mathbf{r}_{i,j} || - s_{i,j}(t) ) \hat{\mathbf{r}}_{i,j}. \]

Here $\mu_{i,j}$ is the spring constant for the spring between nodes $i$ and $j$, $s_{i,j}(t)$ is its natural length at time $t$, $\mathbf{r}_{i,j}$ is their relative displacement and a hat ($\hat{}$) denotes a unit vector.

Length is scaled by natural length. Time is in hours.

Definition at line 58 of file GeneralisedLinearSpringForce.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
GeneralisedLinearSpringForce< DIM >::GeneralisedLinearSpringForce (  )  [inline]
template<unsigned DIM>
GeneralisedLinearSpringForce< DIM >::~GeneralisedLinearSpringForce (  )  [inline]

Destructor.

Definition at line 54 of file GeneralisedLinearSpringForce.cpp.


Member Function Documentation

template<unsigned DIM>
c_vector< double, DIM > GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< DIM > &  rCellPopulation 
) [inline, virtual]
template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::GetMeinekeDivisionRestingSpringLength (  )  [inline]
Returns:
mMeinekeDivisionRestingSpringLength

Definition at line 209 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeDivisionRestingSpringLength.

template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::GetMeinekeSpringGrowthDuration (  )  [inline]
Returns:
mMeinekeSpringGrowthDuration

Definition at line 214 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeSpringGrowthDuration.

template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::GetMeinekeSpringStiffness (  )  [inline]
template<unsigned DIM>
void GeneralisedLinearSpringForce< DIM >::OutputForceParameters ( out_stream &  rParamsFile  )  [inline, virtual]
template<unsigned DIM>
template<class Archive >
void GeneralisedLinearSpringForce< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the object and its member variables.

Parameters:
archive the archive
version the current version of this class

Reimplemented from AbstractTwoBodyInteractionForce< DIM >.

Reimplemented in RepulsionForce< DIM >, CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 73 of file GeneralisedLinearSpringForce.hpp.

template<unsigned DIM>
void GeneralisedLinearSpringForce< DIM >::SetMeinekeDivisionRestingSpringLength ( double  divisionRestingSpringLength  )  [inline]

Set mMeinekeDivisionRestingSpringLength.

Parameters:
divisionRestingSpringLength the new value of mMeinekeDivisionRestingSpringLength

Definition at line 227 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeDivisionRestingSpringLength.

template<unsigned DIM>
void GeneralisedLinearSpringForce< DIM >::SetMeinekeSpringGrowthDuration ( double  springGrowthDuration  )  [inline]

Set mMeinekeSpringGrowthDuration.

Parameters:
springGrowthDuration the new value of mMeinekeSpringGrowthDuration

Definition at line 236 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeSpringGrowthDuration.

template<unsigned DIM>
void GeneralisedLinearSpringForce< DIM >::SetMeinekeSpringStiffness ( double  springStiffness  )  [inline]

Set mMeinekeSpringStiffness.

Parameters:
springStiffness the new value of mMeinekeSpringStiffness

Definition at line 220 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeSpringStiffness.

template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::VariableSpringConstantMultiplicationFactor ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< DIM > &  rCellPopulation,
bool  isCloserThanRestLength 
) [inline, virtual]

Return a multiplication factor for the spring constant, which returns a default value of 1.

This method is overridden in a subclass.

Parameters:
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
Returns:
the multiplication factor.

Reimplemented in LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 45 of file GeneralisedLinearSpringForce.cpp.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes().


Friends And Related Function Documentation

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

Member Data Documentation

template<unsigned DIM>
double GeneralisedLinearSpringForce< 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 99 of file GeneralisedLinearSpringForce.hpp.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), GeneralisedLinearSpringForce< DIM >::GetMeinekeDivisionRestingSpringLength(), GeneralisedLinearSpringForce< DIM >::OutputForceParameters(), GeneralisedLinearSpringForce< 2 >::serialize(), and GeneralisedLinearSpringForce< DIM >::SetMeinekeDivisionRestingSpringLength().

template<unsigned DIM>
double GeneralisedLinearSpringForce< 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 107 of file GeneralisedLinearSpringForce.hpp.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), GeneralisedLinearSpringForce< DIM >::GetMeinekeSpringGrowthDuration(), GeneralisedLinearSpringForce< DIM >::OutputForceParameters(), GeneralisedLinearSpringForce< 2 >::serialize(), and GeneralisedLinearSpringForce< DIM >::SetMeinekeSpringGrowthDuration().

template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::mMeinekeSpringStiffness [protected]

The documentation for this class was generated from the following files:
Generated on Thu Dec 22 13:05:23 2011 for Chaste by  doxygen 1.6.3