Chaste
Release::3.4
|
#include <CryptProjectionForce.hpp>
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
void | UpdateNode3dLocationMap (AbstractCellPopulation< 2 > &rCellPopulation) |
c_vector< double, 2 > | CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< 2 > &rCellPopulation) |
Private Attributes | |
double | mA |
double | mB |
bool | mIncludeWntChemotaxis |
double | mWntChemotaxisStrength |
std::map< unsigned, c_vector < double, 3 > > | mNode3dLocationMap |
Friends | |
class | TestCryptProjectionForce |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from GeneralisedLinearSpringForce< 2 > | |
double | mMeinekeSpringStiffness |
double | mMeinekeDivisionRestingSpringLength |
double | mMeinekeSpringGrowthDuration |
Protected Attributes inherited from AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM > | |
bool | mUseCutOffLength |
double | mMechanicsCutOffLength |
A force law for use in crypt projection simulations.
Definition at line 47 of file CryptProjectionForce.hpp.
CryptProjectionForce::CryptProjectionForce | ( | ) |
Constructor.
Definition at line 41 of file CryptProjectionForce.cpp.
References WntConcentration< DIM >::GetCryptProjectionParameterA(), WntConcentration< DIM >::GetCryptProjectionParameterB(), WntConcentration< DIM >::Instance(), mA, and mB.
CryptProjectionForce::~CryptProjectionForce | ( | ) |
Destructor.
Definition at line 50 of file CryptProjectionForce.cpp.
void CryptProjectionForce::AddForceContribution | ( | AbstractCellPopulation< 2 > & | rCellPopulation | ) |
Overridden AddForceContribution method.
rCellPopulation | reference to the cell population |
Definition at line 251 of file CryptProjectionForce.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), CalculateForceBetweenNodes(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), EXCEPTION, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), WntConcentration< DIM >::GetWntGradient(), WntConcentration< DIM >::Instance(), mIncludeWntChemotaxis, mWntChemotaxisStrength, MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd(), and UpdateNode3dLocationMap().
double CryptProjectionForce::CalculateCryptSurfaceDerivativeAtPoint | ( | const c_vector< double, 2 > & | rNodeLocation | ) |
Calculates the derivative df/dr of the crypt surface function z=f(r) at a point whose 2D position is a distance r from the centre of the cell_population, which we assume to be at (0,0).
rNodeLocation | the 2D location of a node |
Definition at line 111 of file CryptProjectionForce.cpp.
Referenced by CalculateForceBetweenNodes().
double CryptProjectionForce::CalculateCryptSurfaceHeightAtPoint | ( | const c_vector< double, 2 > & | rNodeLocation | ) |
Calculates the height of the crypt surface given by z = f(r) = a*r^b at a point whose 2D position is a distance r from the centre of the cell population. This assumes that the cell population is centred at the origin.
rNodeLocation |
Definition at line 106 of file CryptProjectionForce.cpp.
Referenced by UpdateNode3dLocationMap().
|
private |
Calculates the force between two nodes.
Note that this assumes they are connected and is called by rCalculateVelocitiesOfEachNode()
nodeAGlobalIndex | the index of the first node |
nodeBGlobalIndex | the index of the second node |
rCellPopulation | the cell population |
Definition at line 116 of file CryptProjectionForce.cpp.
References CalculateCryptSurfaceDerivativeAtPoint(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::CreateCellPair(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetCellUsingLocationIndex(), GeneralisedLinearSpringForce< 2 >::GetMeinekeSpringStiffness(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNode(), SimulationTime::GetTimeStep(), SimulationTime::Instance(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::IsMarkedSpring(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM >::mMechanicsCutOffLength, GeneralisedLinearSpringForce< 2 >::mMeinekeDivisionRestingSpringLength, GeneralisedLinearSpringForce< 2 >::mMeinekeSpringGrowthDuration, mNode3dLocationMap, AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM >::mUseCutOffLength, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::UnmarkSpring(), and GeneralisedLinearSpringForce< 2 >::VariableSpringConstantMultiplicationFactor().
Referenced by AddForceContribution().
double CryptProjectionForce::GetA | ( | ) | const |
double CryptProjectionForce::GetB | ( | ) | const |
double CryptProjectionForce::GetWntChemotaxisStrength | ( | ) |
Definition at line 96 of file CryptProjectionForce.cpp.
References mWntChemotaxisStrength.
|
virtual |
Overridden OutputForceParameters() method.
rParamsFile | the file stream to which the parameters are output |
Reimplemented from GeneralisedLinearSpringForce< 2 >.
Definition at line 296 of file CryptProjectionForce.cpp.
References mA, mB, mIncludeWntChemotaxis, mWntChemotaxisStrength, and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().
|
inlineprivate |
Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.
archive | The boost archive. |
version | The current version of this class. |
Definition at line 62 of file CryptProjectionForce.hpp.
References mA, mB, mIncludeWntChemotaxis, and mWntChemotaxisStrength.
void CryptProjectionForce::SetWntChemotaxis | ( | bool | includeWntChemotaxis | ) |
Set mIncludeWntChemotaxis.
includeWntChemotaxis | whether to include Wnt-dependent chemotaxis |
Definition at line 101 of file CryptProjectionForce.cpp.
References mIncludeWntChemotaxis.
void CryptProjectionForce::SetWntChemotaxisStrength | ( | double | wntChemotaxisStrength | ) |
Set mWntChemotaxisStrength.
wntChemotaxisStrength | the new value of mWntChemotaxisStrength |
Definition at line 91 of file CryptProjectionForce.cpp.
References mWntChemotaxisStrength.
|
private |
Fix up the mappings between node indices and 3D locations.
rCellPopulation | the cell population |
Definition at line 54 of file CryptProjectionForce.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), CalculateCryptSurfaceHeightAtPoint(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre(), and mNode3dLocationMap.
Referenced by AddForceContribution().
|
private |
The value of the constant a in the definition of the crypt surface z = f(r) = a*r^b.
Definition at line 75 of file CryptProjectionForce.hpp.
Referenced by CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), CryptProjectionForce(), GetA(), OutputForceParameters(), and serialize().
|
private |
The value of the constant b in the definition of the crypt surface z = f(r) = a*r^b.
Definition at line 81 of file CryptProjectionForce.hpp.
Referenced by CalculateCryptSurfaceDerivativeAtPoint(), CalculateCryptSurfaceHeightAtPoint(), CryptProjectionForce(), GetB(), OutputForceParameters(), and serialize().
|
private |
Whether to include Wnt-dependent chemotaxis for stem cells.
Definition at line 86 of file CryptProjectionForce.hpp.
Referenced by AddForceContribution(), OutputForceParameters(), serialize(), and SetWntChemotaxis().
Map node indices to 3D locations on the crypt surface.
Definition at line 96 of file CryptProjectionForce.hpp.
Referenced by CalculateForceBetweenNodes(), and UpdateNode3dLocationMap().
|
private |
Strength of Wnt-based chemotactic force.
Definition at line 91 of file CryptProjectionForce.hpp.
Referenced by AddForceContribution(), GetWntChemotaxisStrength(), OutputForceParameters(), serialize(), and SetWntChemotaxisStrength().