36#include "DifferentialAdhesionPathmanathanInteractionForce.hpp"
37#include "CellLabel.hpp"
39template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
42 mHomotypicLabelledSpringConstantMultiplier(1.0),
43 mHeterotypicSpringConstantMultiplier(1.0)
47template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
49 unsigned nodeAGlobalIndex,
50 unsigned nodeBGlobalIndex,
52 bool isCloserThanRestLength)
54 if (isCloserThanRestLength)
62 bool cell_A_is_labelled = p_cell_A->template HasCellProperty<CellLabel>();
65 bool cell_B_is_labelled = p_cell_B->template HasCellProperty<CellLabel>();
68 if (cell_A_is_labelled != cell_B_is_labelled)
70 return mHeterotypicSpringConstantMultiplier;
75 if (cell_A_is_labelled)
77 return mHomotypicLabelledSpringConstantMultiplier;
88template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
91 return mHomotypicLabelledSpringConstantMultiplier;
94template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
97 assert(labelledSpringConstantMultiplier > 0.0);
98 mHomotypicLabelledSpringConstantMultiplier = labelledSpringConstantMultiplier;
101template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
104 return mHeterotypicSpringConstantMultiplier;
107template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
110 assert(heterotypicSpringConstantMultiplier > 0.0);
111 mHeterotypicSpringConstantMultiplier = heterotypicSpringConstantMultiplier;
114template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
117 *rParamsFile <<
"\t\t\t<HomotypicLabelledSpringConstantMultiplier>" << mHomotypicLabelledSpringConstantMultiplier <<
"</HomotypicLabelledSpringConstantMultiplier>\n";
118 *rParamsFile <<
"\t\t\t<HeterotypicSpringConstantMultiplier>" << mHeterotypicSpringConstantMultiplier <<
"</HeterotypicSpringConstantMultiplier>\n";
#define EXPORT_TEMPLATE_CLASS_ALL_DIMS(CLASS)
virtual CellPtr GetCellUsingLocationIndex(unsigned index)
double GetHeterotypicSpringConstantMultiplier()
void SetHeterotypicSpringConstantMultiplier(double heterotypicSpringConstantMultiplier)
double VariableSpringConstantMultiplicationFactor(unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, bool isCloserThanRestLength)
double GetHomotypicLabelledSpringConstantMultiplier()
void OutputForceParameters(out_stream &rParamsFile)
DifferentialAdhesionPathmanathanInteractionForce()
void SetHomotypicLabelledSpringConstantMultiplier(double labelledSpringConstantMultiplier)
virtual void OutputForceParameters(out_stream &rParamsFile)