LinearSpringWithVariableSpringConstantsForce< DIM > Class Template Reference

#include <LinearSpringWithVariableSpringConstantsForce.hpp>

Inherits GeneralisedLinearSpringForce< DIM >.

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

List of all members.

Public Member Functions

 LinearSpringWithVariableSpringConstantsForce ()
 ~LinearSpringWithVariableSpringConstantsForce ()
void SetEdgeBasedSpringConstant (bool useEdgeBasedSpringConstant)
void SetMutantSprings (bool useMutantSprings, double mutantMutantMultiplier=2, double normalMutantMultiplier=1.5)
void SetBetaCateninSprings (bool useBCatSprings)
void SetApoptoticSprings (bool useApoptoticSprings)
double VariableSpringConstantMultiplicationFactor (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractTissue< DIM > &rTissue, bool isCloserThanRestLength)
void AddForceContribution (std::vector< c_vector< double, DIM > > &rForces, AbstractTissue< DIM > &rTissue)

Protected Attributes

bool mUseEdgeBasedSpringConstant
bool mUseMutantSprings
double mMutantMutantMultiplier
double mNormalMutantMultiplier
bool mUseBCatSprings
bool mUseApoptoticSprings

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 LinearSpringWithVariableSpringConstantsForce< DIM >

A subclass of GeneralisedLinearSpringForce with variable spring constants.

Definition at line 44 of file LinearSpringWithVariableSpringConstantsForce.hpp.


Constructor & Destructor Documentation

Constructor.

Definition at line 36 of file LinearSpringWithVariableSpringConstantsForce.cpp.

Destructor.

Definition at line 48 of file LinearSpringWithVariableSpringConstantsForce.cpp.


Member Function Documentation

template<unsigned DIM>
void LinearSpringWithVariableSpringConstantsForce< DIM >::AddForceContribution ( std::vector< c_vector< double, DIM > > &  rForces,
AbstractTissue< DIM > &  rTissue 
) [inline, virtual]

Overridden AddForceContribution method.

Parameters:
rForces reference to vector of forces on nodes
rTissue reference to the tissue

Reimplemented from AbstractTwoBodyInteractionForce< DIM >.

Definition at line 202 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References GeneralisedLinearSpringForce< DIM >::CalculateForceBetweenNodes(), MeshBasedTissue< DIM >::SpringsBegin(), and MeshBasedTissue< DIM >::SpringsEnd().

template<unsigned DIM>
template<class Archive >
void LinearSpringWithVariableSpringConstantsForce< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]
template<unsigned DIM>
void LinearSpringWithVariableSpringConstantsForce< DIM >::SetApoptoticSprings ( bool  useApoptoticSprings  )  [inline]

Set spring stiffness to be dependent on whether cells are apoptotic

Parameters:
useApoptoticSprings whether to have apoptosis-dependent spring stiffness

Definition at line 74 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References LinearSpringWithVariableSpringConstantsForce< DIM >::mUseApoptoticSprings.

template<unsigned DIM>
void LinearSpringWithVariableSpringConstantsForce< DIM >::SetBetaCateninSprings ( bool  useBCatSprings  )  [inline]

Use the amount of beta-catenin on an edge to find spring constant.

Parameters:
useBCatSprings whether to use beta-catenin-dependent spring stiffness

Definition at line 68 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References LinearSpringWithVariableSpringConstantsForce< DIM >::mUseBCatSprings.

template<unsigned DIM>
void LinearSpringWithVariableSpringConstantsForce< DIM >::SetEdgeBasedSpringConstant ( bool  useEdgeBasedSpringConstant  )  [inline]

Set whether to use an edge-based spring constant.

Parameters:
useEdgeBasedSpringConstant whether to use an edge-based spring constant

Definition at line 53 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References LinearSpringWithVariableSpringConstantsForce< DIM >::mUseEdgeBasedSpringConstant.

template<unsigned DIM>
void LinearSpringWithVariableSpringConstantsForce< DIM >::SetMutantSprings ( bool  useMutantSprings,
double  mutantMutantMultiplier = 2,
double  normalMutantMultiplier = 1.5 
) [inline]

Use different spring strengths depending on two cells: Normal-normal, Normal-mutant, mutant-mutant

Parameters:
useMutantSprings whether to use mutant springs
mutantMutantMultiplier the multiplier for springs connecting two mutant cells
normalMutantMultiplier the multiplier for springs connecting a mutant cell with a normal cell

Definition at line 60 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References LinearSpringWithVariableSpringConstantsForce< DIM >::mMutantMutantMultiplier, LinearSpringWithVariableSpringConstantsForce< DIM >::mNormalMutantMultiplier, and LinearSpringWithVariableSpringConstantsForce< DIM >::mUseMutantSprings.

template<unsigned DIM>
double LinearSpringWithVariableSpringConstantsForce< DIM >::VariableSpringConstantMultiplicationFactor ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractTissue< DIM > &  rTissue,
bool  isCloserThanRestLength 
) [inline, virtual]

Return a multiplication factor for the spring constant, which may depend on whether the given pair of neighbouring cells are e.g. undergoing apoptosis, have mutations, or experience variable levels of beta catenin.

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 from GeneralisedLinearSpringForce< DIM >.

Definition at line 80 of file LinearSpringWithVariableSpringConstantsForce.cpp.

References TissueConfig::GetApoptoticSpringCompressionStiffness(), TissueConfig::GetApoptoticSpringTensionStiffness(), TissueConfig::GetBetaCatSpringScaler(), TissueCell::GetCellCycleModel(), TissueCell::GetCellProliferativeType(), VoronoiTessellation< DIM >::GetEdgeLength(), VoronoiTessellation< DIM >::GetFacePerimeter(), AbstractVanLeeuwen2009WntSwatCellCycleModel::GetMembraneBoundBetaCateninLevel(), TissueCell::GetMutationState(), TissueConfig::GetSpringStiffness(), AbstractTissue< DIM >::HasMesh(), TissueConfig::Instance(), LinearSpringWithVariableSpringConstantsForce< DIM >::mMutantMutantMultiplier, LinearSpringWithVariableSpringConstantsForce< DIM >::mNormalMutantMultiplier, LinearSpringWithVariableSpringConstantsForce< DIM >::mUseApoptoticSprings, LinearSpringWithVariableSpringConstantsForce< DIM >::mUseBCatSprings, LinearSpringWithVariableSpringConstantsForce< DIM >::mUseEdgeBasedSpringConstant, LinearSpringWithVariableSpringConstantsForce< DIM >::mUseMutantSprings, and AbstractTissue< DIM >::rGetCellUsingLocationIndex().


Friends And Related Function Documentation

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

Needed for serialization.

Reimplemented from GeneralisedLinearSpringForce< DIM >.

Definition at line 51 of file LinearSpringWithVariableSpringConstantsForce.hpp.


Member Data Documentation

template<unsigned DIM>
bool LinearSpringWithVariableSpringConstantsForce< DIM >::mUseApoptoticSprings [protected]
template<unsigned DIM>
bool LinearSpringWithVariableSpringConstantsForce< DIM >::mUseBCatSprings [protected]
template<unsigned DIM>
bool LinearSpringWithVariableSpringConstantsForce< DIM >::mUseMutantSprings [protected]

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

Generated by  doxygen 1.6.2