Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#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.
ELEMENT_DIM | Dimension of the elements. |
SPACE_DIM | Dimension of the space. If not specified, it defaults to ELEMENT_DIM. |
Definition at line 53 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 EXCEPTION, 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< 2 >, GeneralisedLinearSpringForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, and GeneralisedLinearSpringForce< ELEMENT_DIM, ELEMENT_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.
|
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 >, DifferentialAdhesionGeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >, GeneralisedLinearSpringForce< 2 >, GeneralisedLinearSpringForce< DIM >, GeneralisedLinearSpringForce< ELEMENT_DIM, ELEMENT_DIM >, RepulsionForce< DIM >, CryptProjectionForce, and LinearSpringWithVariableSpringConstantsForce< DIM >.
Definition at line 128 of file AbstractTwoBodyInteractionForce.cpp.
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 66 of file AbstractTwoBodyInteractionForce.hpp.
References AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::mUseCutOffLength.
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.
|
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.
Needed for serialization.
Definition at line 58 of file AbstractTwoBodyInteractionForce.hpp.
|
protected |
Mechanics cut off length.
Definition at line 79 of file AbstractTwoBodyInteractionForce.hpp.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::serialize().
|
protected |
Whether to have zero force if the cells are far enough apart.
Definition at line 76 of file AbstractTwoBodyInteractionForce.hpp.
Referenced by CryptProjectionForce::CalculateForceBetweenNodes(), and AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::serialize().