Chaste Release::3.1
AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractTwoBodyInteractionForce.hpp>

Inheritance diagram for AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >:

List of all members.

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

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >

An abstract class for two-body force laws.

Definition at line 46 of file AbstractTwoBodyInteractionForce.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::AbstractTwoBodyInteractionForce ( )

Constructor.

Definition at line 39 of file AbstractTwoBodyInteractionForce.cpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
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.

Parameters:
rForcesreference to vector of forces on nodes
rCellPopulationreference to the cell population

Todo:
this could be tidied by using the rGetNodePairs for all populatioins and moving the below calculation into the MutableMesh.

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().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
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()

Parameters:
nodeAGlobalIndexindex of one neighbouring node
nodeBGlobalIndexindex of the other neighbouring node
rCellPopulationthe cell population
Returns:
The force exerted on Node A by Node B.

Implemented in GeneralisedLinearSpringForce< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
double AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetCutOffLength ( )

Get the cutoff length.

Returns:
mCutOffLenght

Definition at line 61 of file AbstractTwoBodyInteractionForce.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::GetUseCutOffLength ( )

Whether the force is using a cut of length.

Returns:
mUseCutOffLength

Definition at line 47 of file AbstractTwoBodyInteractionForce.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
template<class Archive >
void AbstractTwoBodyInteractionForce< ELEMENT_DIM, SPACE_DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
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.

Parameters:
cutOffLengththe cutoff to use

Definition at line 53 of file AbstractTwoBodyInteractionForce.cpp.


Friends And Related Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
friend class boost::serialization::access [friend]

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
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().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
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().


The documentation for this class was generated from the following files: