#include <AbstractTwoBodyInteractionForce.hpp>
Inherits AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Inherited by GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >.
Public Member Functions | |
AbstractTwoBodyInteractionForce () | |
bool | GetUseCutOffLength () |
void | SetCutOffLength (double cutOffLength) |
double | GetCutOffLength () |
virtual c_vector< double, SPACE_DIM > | CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)=0 |
void | AddForceContribution (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation) |
virtual void | OutputForceParameters (out_stream &rParamsFile) |
Protected Attributes | |
bool | mUseCutOffLength |
double | mMechanicsCutOffLength |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | boost::serialization::access |
An abstract class for two-body force laws.
Definition at line 46 of file AbstractTwoBodyInteractionForce.hpp.
AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AbstractTwoBodyInteractionForce | ( | ) | [inline] |
Constructor.
Definition at line 40 of file AbstractTwoBodyInteractionForce.cpp.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution | ( | AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & | rCellPopulation | ) | [inline, virtual] |
Overridden AddForceContribution() method.
rCellPopulation | reference to the cell population |
Implements AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Definition at line 68 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), EXCEPTION, AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd().
virtual c_vector<double, SPACE_DIM> AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes | ( | unsigned | nodeAGlobalIndex, | |
unsigned | nodeBGlobalIndex, | |||
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & | rCellPopulation | |||
) | [pure virtual] |
Calculates the force between two nodes.
Note that this assumes they are connected and is called by rCalculateVelocitiesOfEachNode()
nodeAGlobalIndex | index of one neighbouring node | |
nodeBGlobalIndex | index of the other neighbouring node | |
rCellPopulation | the cell population |
Implemented in GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >.
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution().
double AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetCutOffLength | ( | ) | [inline] |
Get the cutoff length.
Definition at line 62 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength.
Referenced by GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes().
bool AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetUseCutOffLength | ( | ) | [inline] |
Whether the force is using a cut of length.
Definition at line 48 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters | ( | out_stream & | rParamsFile | ) | [inline, virtual] |
Overridden OutputForceParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in BuskeAdhesiveForce< DIM >, BuskeElasticForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, RepulsionForce< DIM >, CryptProjectionForce, LinearSpringWithVariableSpringConstantsForce< DIM >, GeneralisedLinearSpringForce< DIM >, and GeneralisedLinearSpringForce< 2 >.
Definition at line 129 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::serialize | ( | Archive & | archive, | |
const unsigned int | version | |||
) | [inline, private] |
Archive the object and its member variables.
archive | the archive | |
version | the current version of this class |
Reimplemented from AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in BuskeAdhesiveForce< DIM >, BuskeElasticForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, RepulsionForce< DIM >, CryptProjectionForce, LinearSpringWithVariableSpringConstantsForce< DIM >, GeneralisedLinearSpringForce< DIM >, and GeneralisedLinearSpringForce< 2 >.
Definition at line 59 of file AbstractTwoBodyInteractionForce.hpp.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::SetCutOffLength | ( | double | cutOffLength | ) | [inline] |
Use a cutoff point, ie specify zero force if two cells are greater than the cutoff distance apart.
cutOffLength | the cutoff to use |
Definition at line 54 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
friend class boost::serialization::access [friend] |
Needed for serialization.
Reimplemented from AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in BuskeAdhesiveForce< DIM >, BuskeElasticForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, RepulsionForce< DIM >, CryptProjectionForce, LinearSpringWithVariableSpringConstantsForce< DIM >, GeneralisedLinearSpringForce< DIM >, and GeneralisedLinearSpringForce< 2 >.
Definition at line 51 of file AbstractTwoBodyInteractionForce.hpp.
double AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength [protected] |
Mechanics cut off length.
Definition at line 72 of file AbstractTwoBodyInteractionForce.hpp.
Referenced by AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetCutOffLength(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM >::serialize(), and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::SetCutOffLength().
bool AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength [protected] |
Whether to have zero force if the cells are far enough apart.
Definition at line 69 of file AbstractTwoBodyInteractionForce.hpp.
Referenced by GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetUseCutOffLength(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM >::serialize(), and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::SetCutOffLength().