Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <DifferentialAdhesionGeneralisedLinearSpringForce.hpp>

+ Inheritance diagram for DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

 DifferentialAdhesionGeneralisedLinearSpringForce ()
 
double VariableSpringConstantMultiplicationFactor (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, bool isCloserThanRestLength)
 
double GetHomotypicLabelledSpringConstantMultiplier ()
 
void SetHomotypicLabelledSpringConstantMultiplier (double labelledSpringConstantMultiplier)
 
double GetHeterotypicSpringConstantMultiplier ()
 
void SetHeterotypicSpringConstantMultiplier (double heterotypicSpringConstantMultiplier)
 
void OutputForceParameters (out_stream &rParamsFile)
 
- Public Member Functions inherited from GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >
 GeneralisedLinearSpringForce ()
 
virtual ~GeneralisedLinearSpringForce ()
 
c_vector< double, SPACE_DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
 
double GetMeinekeSpringStiffness ()
 
double GetMeinekeDivisionRestingSpringLength ()
 
double GetMeinekeSpringGrowthDuration ()
 
void SetMeinekeSpringStiffness (double springStiffness)
 
void SetMeinekeDivisionRestingSpringLength (double divisionRestingSpringLength)
 
void SetMeinekeSpringGrowthDuration (double springGrowthDuration)
 
- Public Member Functions inherited from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >
 AbstractTwoBodyInteractionForce ()
 
bool GetUseCutOffLength ()
 
void SetCutOffLength (double cutOffLength)
 
double GetCutOffLength ()
 
void AddForceContribution (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)
 
virtual void WriteDataToVisualizerSetupFile (out_stream &pVizSetupFile)
 
- Public Member Functions inherited from AbstractForce< ELEMENT_DIM, SPACE_DIM >
 AbstractForce ()
 
virtual ~AbstractForce ()
 
void OutputForceInfo (out_stream &rParamsFile)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

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

Private Attributes

double mHomotypicLabelledSpringConstantMultiplier
 
double mHeterotypicSpringConstantMultiplier
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >
double mMeinekeSpringStiffness
 
double mMeinekeDivisionRestingSpringLength
 
double mMeinekeSpringGrowthDuration
 
- Protected Attributes inherited from AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >
bool mUseCutOffLength
 
double mMechanicsCutOffLength
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >

A class for a simple two-body differential adhesion force law between labelled and unlabelled cells (as defined by the CellLabel cell property).

Designed for use in node and mesh-based simulations.

Todo:

#2266 - throw exceptions if using other cell population objects?

#2266 - override CalculateForceBetweenNodes() to use a default rest length of 1.0 for all springs?

Definition at line 52 of file DifferentialAdhesionGeneralisedLinearSpringForce.hpp.

Constructor & Destructor Documentation

◆ DifferentialAdhesionGeneralisedLinearSpringForce()

Member Function Documentation

◆ GetHeterotypicSpringConstantMultiplier()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GetHeterotypicSpringConstantMultiplier ( )

◆ GetHomotypicLabelledSpringConstantMultiplier()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::GetHomotypicLabelledSpringConstantMultiplier ( )

◆ OutputForceParameters()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputForceParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Reimplemented from GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >.

Definition at line 116 of file DifferentialAdhesionGeneralisedLinearSpringForce.cpp.

References GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().

◆ serialize()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

◆ SetHeterotypicSpringConstantMultiplier()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::SetHeterotypicSpringConstantMultiplier ( double  heterotypicSpringConstantMultiplier)

Set mHeterotypicSpringConstantMultiplier.

Parameters
heterotypicSpringConstantMultiplierthe new value of mHeterotypicSpringConstantMultiplier

Definition at line 109 of file DifferentialAdhesionGeneralisedLinearSpringForce.cpp.

◆ SetHomotypicLabelledSpringConstantMultiplier()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::SetHomotypicLabelledSpringConstantMultiplier ( double  labelledSpringConstantMultiplier)

Set mHomotypicLabelledSpringConstantMultiplier.

Parameters
labelledSpringConstantMultiplierthe new value of mHomotypicLabelledSpringConstantMultiplier

Definition at line 96 of file DifferentialAdhesionGeneralisedLinearSpringForce.cpp.

◆ VariableSpringConstantMultiplicationFactor()

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::VariableSpringConstantMultiplicationFactor ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &  rCellPopulation,
bool  isCloserThanRestLength 
)
virtual

Overridden VariableSpringConstantMultiplicationFactor() method.

This method takes account of the distinct spring constants present for homotypic (labelled-labelled and unlabelled-unlabelled) and heterotypic (labelled-unlabelled) interactions between neighbouring cells.

Parameters
nodeAGlobalIndexindex of one neighbouring node
nodeBGlobalIndexindex of the other neighbouring node
rCellPopulationthe cell population
isCloserThanRestLengthwhether the neighbouring nodes lie closer than the rest length of their connecting spring
Returns
the multiplication factor.

Reimplemented from GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >.

Definition at line 48 of file DifferentialAdhesionGeneralisedLinearSpringForce.cpp.

References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex().

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 80 of file DifferentialAdhesionGeneralisedLinearSpringForce.hpp.

Member Data Documentation

◆ mHeterotypicSpringConstantMultiplier

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
double DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mHeterotypicSpringConstantMultiplier
private

A scalar determining the relative spring constant for heterotypic (labelled-unlabelled) interactions between neighbouring cells, used in the overridden method VariableSpringConstantMultiplicationFactor().

Defaults to 1.0 in the constructor.

Definition at line 77 of file DifferentialAdhesionGeneralisedLinearSpringForce.hpp.

Referenced by DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::serialize().

◆ mHomotypicLabelledSpringConstantMultiplier

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
double DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::mHomotypicLabelledSpringConstantMultiplier
private

A scalar determining the relative spring constant for homotypic interactions between neighbouring labelled cells, used in the overridden method VariableSpringConstantMultiplicationFactor().

Defaults to 1.0 in the constructor.

Note that for homotypic interactions between neighbouring unlabelled cells, we use the multiplier value 1.0 that is returned by the method VariableSpringConstantMultiplicationFactor() in the parent class GeneralisedLinearSpringForce.

Definition at line 68 of file DifferentialAdhesionGeneralisedLinearSpringForce.hpp.

Referenced by DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::serialize().


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