AbstractTwoBodyInteractionForce< DIM > Class Template Reference

#include <AbstractTwoBodyInteractionForce.hpp>

Inheritance diagram for AbstractTwoBodyInteractionForce< DIM >:

Inheritance graph
[legend]
Collaboration diagram for AbstractTwoBodyInteractionForce< DIM >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractTwoBodyInteractionForce ()
bool GetUseCutOffLength ()
void SetCutOffLength (double cutOffLength)
double GetCutOffLength ()
virtual c_vector< double, DIM > CalculateForceBetweenNodes (unsigned nodeAGlobalIndex, unsigned nodeBGlobalIndex, AbstractCellPopulation< DIM > &rCellPopulation)=0
void AddForceContribution (std::vector< c_vector< double, DIM > > &rForces, AbstractCellPopulation< 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 DIM>
class AbstractTwoBodyInteractionForce< DIM >

An abstract class for two-body force laws.

Definition at line 38 of file AbstractTwoBodyInteractionForce.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
AbstractTwoBodyInteractionForce< DIM >::AbstractTwoBodyInteractionForce (  )  [inline]

Constructor.

Definition at line 33 of file AbstractTwoBodyInteractionForce.cpp.


Member Function Documentation

template<unsigned DIM>
template<class Archive>
void AbstractTwoBodyInteractionForce< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
) [inline, private]

Archive the object and its member variables.

Parameters:
archive the archive
version the current version of this class

Reimplemented from AbstractForce< DIM >.

Reimplemented in GeneralisedLinearSpringForce< DIM >, CryptProjectionForce, LinearSpringWithVariableSpringConstantsForce< DIM >, and GeneralisedLinearSpringForce< 2 >.

Definition at line 52 of file AbstractTwoBodyInteractionForce.hpp.

References AbstractTwoBodyInteractionForce< DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< DIM >::mUseCutOffLength.

template<unsigned DIM>
bool AbstractTwoBodyInteractionForce< DIM >::GetUseCutOffLength (  )  [inline]

Whether the force is using a cut of length

Returns:
mUseCutOffLength

Definition at line 41 of file AbstractTwoBodyInteractionForce.cpp.

References AbstractTwoBodyInteractionForce< DIM >::mUseCutOffLength.

template<unsigned DIM>
void AbstractTwoBodyInteractionForce< DIM >::SetCutOffLength ( double  cutOffLength  )  [inline]

Use a cutoff point, ie specify zero force if two cells are greater than the cutoff distance apart

Parameters:
cutOffLength the cutoff to use

Definition at line 47 of file AbstractTwoBodyInteractionForce.cpp.

References AbstractTwoBodyInteractionForce< DIM >::mMechanicsCutOffLength, and AbstractTwoBodyInteractionForce< DIM >::mUseCutOffLength.

template<unsigned DIM>
double AbstractTwoBodyInteractionForce< DIM >::GetCutOffLength (  )  [inline]

template<unsigned DIM>
virtual c_vector<double, DIM> AbstractTwoBodyInteractionForce< DIM >::CalculateForceBetweenNodes ( unsigned  nodeAGlobalIndex,
unsigned  nodeBGlobalIndex,
AbstractCellPopulation< DIM > &  rCellPopulation 
) [pure virtual]

Calculates the force between two nodes.

Note that this assumes they are connected and is called by rCalculateVelocitiesOfEachNode()

Parameters:
nodeAGlobalIndex index of one neighbouring node
nodeBGlobalIndex index of the other neighbouring node
rCellPopulation the cell population
Returns:
The force exerted on Node A by Node B.

Implemented in GeneralisedLinearSpringForce< DIM >, and GeneralisedLinearSpringForce< 2 >.

Referenced by AbstractTwoBodyInteractionForce< DIM >::AddForceContribution().

template<unsigned DIM>
void AbstractTwoBodyInteractionForce< DIM >::AddForceContribution ( std::vector< c_vector< double, DIM > > &  rForces,
AbstractCellPopulation< DIM > &  rCellPopulation 
) [inline, virtual]

template<unsigned DIM>
void AbstractTwoBodyInteractionForce< DIM >::OutputForceParameters ( out_stream &  rParamsFile  )  [inline, virtual]

Outputs force parameters to file

As this method is pure virtual, it must be overridden in subclasses.

Parameters:
rParamsFile the file stream to which the parameters are output

Implements AbstractForce< DIM >.

Reimplemented in GeneralisedLinearSpringForce< DIM >, CryptProjectionForce, LinearSpringWithVariableSpringConstantsForce< DIM >, and GeneralisedLinearSpringForce< 2 >.

Definition at line 135 of file AbstractTwoBodyInteractionForce.cpp.

References AbstractTwoBodyInteractionForce< DIM >::mMechanicsCutOffLength, AbstractTwoBodyInteractionForce< DIM >::mUseCutOffLength, and AbstractForce< DIM >::OutputForceParameters().

Referenced by GeneralisedLinearSpringForce< DIM >::OutputForceParameters().


Friends And Related Function Documentation

template<unsigned DIM>
friend class boost::serialization::access [friend]


Member Data Documentation

template<unsigned DIM>
bool AbstractTwoBodyInteractionForce< DIM >::mUseCutOffLength [protected]

template<unsigned DIM>
double AbstractTwoBodyInteractionForce< DIM >::mMechanicsCutOffLength [protected]


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

Generated on Mon Nov 1 12:35:57 2010 for Chaste by  doxygen 1.5.5