GeneralisedLinearSpringForce< DIM > Class Template Reference

#include <GeneralisedLinearSpringForce.hpp>

Inheritance diagram for GeneralisedLinearSpringForce< DIM >:

Inheritance graph
[legend]
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 57 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 55 of file GeneralisedLinearSpringForce.cpp.


Member Function Documentation

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 CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 72 of file GeneralisedLinearSpringForce.hpp.

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 46 of file GeneralisedLinearSpringForce.cpp.

Referenced by GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), and LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor().

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 >::GetMeinekeSpringStiffness (  )  [inline]

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

Returns:
mMeinekeDivisionRestingSpringLength

Definition at line 217 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeDivisionRestingSpringLength.

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

Returns:
mMeinekeSpringGrowthDuration

Definition at line 222 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 229 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeSpringStiffness.

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

Set mMeinekeDivisionRestingSpringLength.

Parameters:
divisionRestingSpringLength the new value of mMeinekeDivisionRestingSpringLength

Definition at line 236 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 245 of file GeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< DIM >::mMeinekeSpringGrowthDuration.

template<unsigned DIM>
void GeneralisedLinearSpringForce< DIM >::OutputForceParameters ( out_stream &  rParamsFile  )  [inline, virtual]


Friends And Related Function Documentation

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

Needed for serialization.

Reimplemented from AbstractTwoBodyInteractionForce< DIM >.

Reimplemented in CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 64 of file GeneralisedLinearSpringForce.hpp.


Member Data Documentation

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

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 100 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 108 of file GeneralisedLinearSpringForce.hpp.

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


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

Generated on Tue May 31 14:33:27 2011 for Chaste by  doxygen 1.5.5