GeneralisedLinearSpringForce< DIM > Class Template Reference

#include <GeneralisedLinearSpringForce.hpp>

Inherits AbstractTwoBodyInteractionForce< DIM >.

Inherited by LinearSpringWithVariableSpringConstantsForce< 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, AbstractTissue< DIM > &rTissue, bool isCloserThanRestLength)
c_vector< double, DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractTissue< DIM > &rTissue)

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]

Constructor.

Definition at line 33 of file GeneralisedLinearSpringForce.cpp.

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

Destructor.

Definition at line 48 of file GeneralisedLinearSpringForce.cpp.


Member Function Documentation

template<unsigned DIM>
c_vector< double, DIM > GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractTissue< DIM > &  rTissue 
) [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 LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 72 of file GeneralisedLinearSpringForce.hpp.

template<unsigned DIM>
double GeneralisedLinearSpringForce< DIM >::VariableSpringConstantMultiplicationFactor ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractTissue< DIM > &  rTissue,
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
rTissue the tissue
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 39 of file GeneralisedLinearSpringForce.cpp.

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


Friends And Related Function Documentation

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

Needed for serialization.

Reimplemented from AbstractTwoBodyInteractionForce< DIM >.

Reimplemented in LinearSpringWithVariableSpringConstantsForce< DIM >.

Definition at line 64 of file GeneralisedLinearSpringForce.hpp.


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

Generated by  doxygen 1.6.2