Chaste
Release::2017.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 (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation) |
virtual void | OutputForceParameters (out_stream &rParamsFile) |
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 |
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.
|
virtual |
Overridden AddForceContribution() method.
rCellPopulation | reference to the cell population |
Implements AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Definition at line 67 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::CalculateForceBetweenNodes(), EXCEPTION, Node< SPACE_DIM >::GetIndex(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetNodePairs(), MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsBegin(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::SpringsEnd().
|
pure virtual |
Calculates the force between two nodes.
Note that this assumes they are connected and is called by rCalculateVelocitiesOfEachNode().
As this method is pure virtual, it must be overridden in subclasses.
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 | ( | ) |
Get the cutoff length.
Definition at line 61 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 | ( | ) |
Whether the force is using a cut of length.
Definition at line 47 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
|
virtual |
Overridden OutputForceParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Reimplemented in LinearSpringWithVariableSpringConstantsForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, GeneralisedLinearSpringForce< DIM >, GeneralisedLinearSpringForce< 2 >, CryptProjectionForce, DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, BuskeElasticForce< DIM >, BuskeAdhesiveForce< DIM >, and RepulsionForce< DIM >.
Definition at line 128 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength, AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength, and AbstractForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().
Referenced by BuskeAdhesiveForce< DIM >::OutputForceParameters(), BuskeElasticForce< DIM >::OutputForceParameters(), and GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >::OutputForceParameters().
|
inlineprivate |
Archive the object and its member variables.
archive | the archive |
version | the current version of this class |
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.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
|
virtual |
Overridden WriteDataToVisualizerSetupFile() method. Write any data necessary to a visualization setup file. Used by AbstractCellBasedSimulation::WriteVisualizerSetupFile().
pVizSetupFile | a visualization setup file |
Reimplemented from AbstractForce< ELEMENT_DIM, SPACE_DIM >.
Definition at line 138 of file AbstractTwoBodyInteractionForce.cpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength.
|
friend |
Needed for serialization.
Definition at line 51 of file AbstractTwoBodyInteractionForce.hpp.
|
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(), AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::SetCutOffLength(), and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::WriteDataToVisualizerSetupFile().
|
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().