Chaste Release::3.1
|
#include <AbstractTwoBodyInteractionForce.hpp>
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 (std::vector< c_vector< double, SPACE_DIM > > &rForces, 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 | ( | ) |
Constructor.
Definition at line 39 of file AbstractTwoBodyInteractionForce.cpp.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AddForceContribution | ( | std::vector< c_vector< double, SPACE_DIM > > & | rForces, |
AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > & | rCellPopulation | ||
) | [virtual] |
Overridden AddForceContribution() method.
rForces | reference to vector of forces on nodes |
rCellPopulation | reference to the cell population |
Implements AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Definition at line 67 of file AbstractTwoBodyInteractionForce.cpp.
References EXCEPTION, Node< SPACE_DIM >::GetIndex(), 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 >.
double AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetCutOffLength | ( | ) |
Get the cutoff length.
Definition at line 61 of file AbstractTwoBodyInteractionForce.cpp.
bool AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetUseCutOffLength | ( | ) |
Whether the force is using a cut of length.
Definition at line 47 of file AbstractTwoBodyInteractionForce.cpp.
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters | ( | out_stream & | rParamsFile | ) | [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 128 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().
Referenced by GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters(), BuskeElasticForce< DIM >::OutputForceParameters(), and BuskeAdhesiveForce< DIM >::OutputForceParameters().
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 | ) |
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 53 of file AbstractTwoBodyInteractionForce.cpp.
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, ELEMENT_DIM >::serialize().
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 AbstractTwoBodyInteractionForce< ELEMENT_DIM, ELEMENT_DIM >::serialize().