Chaste Commit::8b5d759ac2eb95e67ae57699734101efccb0a0a9
ImmersedBoundaryMorseMembraneForce< DIM > Class Template Reference

#include <ImmersedBoundaryMorseMembraneForce.hpp>

+ Inheritance diagram for ImmersedBoundaryMorseMembraneForce< DIM >:
+ Collaboration diagram for ImmersedBoundaryMorseMembraneForce< DIM >:

Public Member Functions

 ImmersedBoundaryMorseMembraneForce ()
 
virtual ~ImmersedBoundaryMorseMembraneForce ()
 
void AddImmersedBoundaryForceContribution (std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, ImmersedBoundaryCellPopulation< DIM > &rCellPopulation)
 
void OutputImmersedBoundaryForceParameters (out_stream &rParamsFile)
 
double GetElementWellDepth () const
 
void SetElementWellDepth (double elementWellDepth)
 
double GetElementRestLength () const
 
void SetElementRestLength (double elementRestLength)
 
double GetLaminaWellDepth () const
 
void SetLaminaWellDepth (double laminaWellDepth)
 
double GetLaminaRestLength () const
 
void SetLaminaRestLength (double laminaRestLength)
 
double GetWellWidth () const
 
void SetWellWidth (double wellWidth)
 
- Public Member Functions inherited from AbstractImmersedBoundaryForce< DIM >
 AbstractImmersedBoundaryForce ()
 
virtual ~AbstractImmersedBoundaryForce ()
 
bool GetAdditiveNormalNoise () const
 
void SetAdditiveNormalNoise (bool additiveNormalNoise)
 
double GetNormalNoiseMean () const
 
void SetNormalNoiseMean (double normalNoiseMean)
 
double GetNormalNoiseStdDev () const
 
void SetNormalNoiseStdDev (double normalNoiseStdDev)
 
- Public Member Functions inherited from Identifiable
virtual ~Identifiable ()
 
std::string GetIdentifier () const
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 
template<unsigned ELEMENT_DIM>
void CalculateForcesOnElement (ImmersedBoundaryElement< ELEMENT_DIM, DIM > &rElement, ImmersedBoundaryCellPopulation< DIM > &rCellPopulation, double intrinsicSpacingSquared)
 

Private Attributes

double mElementWellDepth
 
double mElementRestLength
 
double mLaminaWellDepth
 
double mLaminaRestLength
 
double mWellWidth
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Protected Member Functions inherited from AbstractImmersedBoundaryForce< DIM >
void AddNormalNoiseToNodes (ImmersedBoundaryCellPopulation< DIM > &rCellPopulation)
 
- Protected Attributes inherited from AbstractImmersedBoundaryForce< DIM >
bool mAdditiveNormalNoise
 
double mNormalNoiseMean
 
double mNormalNoiseStdDev
 

Detailed Description

template<unsigned DIM>
class ImmersedBoundaryMorseMembraneForce< DIM >

A force class for use in immersed boundary simulations. This force implements Morse-potential-like links between adjacent nodes in each immersed boundary (https://en.wikipedia.org/wiki/Morse_potential). The well width is a constant interaction strength, the rest length is an equilibrium bond distance, and the well width is a parameter governing the profile of the curve.

Definition at line 53 of file ImmersedBoundaryMorseMembraneForce.hpp.

Constructor & Destructor Documentation

◆ ImmersedBoundaryMorseMembraneForce()

◆ ~ImmersedBoundaryMorseMembraneForce()

Destructor

Definition at line 50 of file ImmersedBoundaryMorseMembraneForce.cpp.

Member Function Documentation

◆ AddImmersedBoundaryForceContribution()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::AddImmersedBoundaryForceContribution ( std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &  rNodePairs,
ImmersedBoundaryCellPopulation< DIM > &  rCellPopulation 
)
virtual

◆ CalculateForcesOnElement()

template<unsigned DIM>
template<unsigned ELEMENT_DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::CalculateForcesOnElement ( ImmersedBoundaryElement< ELEMENT_DIM, DIM > &  rElement,
ImmersedBoundaryCellPopulation< DIM > &  rCellPopulation,
double  intrinsicSpacingSquared 
)
private

Helper method for AddImmersedBoundaryForceContribution. Calculates forces, and can accept either an element or a lamina

Template Parameters
ELEMENT_DIMeither DIM or DIM-1 depending on whether receiving an element or a lamina
Parameters
rElementthe element or lamina add forces to
rCellPopulationthe immersed boundary cell population
intrinsicSpacingSquaredthe square of the intrinsic spacing

Definition at line 86 of file ImmersedBoundaryMorseMembraneForce.cpp.

References ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetAverageNodeSpacingOfElement(), ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetAverageNodeSpacingOfLamina(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetIndex(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNodeLocation(), AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), and ImmersedBoundaryCellPopulation< DIM >::rGetMesh().

◆ GetElementRestLength()

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::GetElementRestLength ( ) const
Returns
mElementRestLength

Definition at line 190 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ GetElementWellDepth()

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::GetElementWellDepth ( ) const
Returns
mElementWellDepth

Definition at line 177 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ GetLaminaRestLength()

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::GetLaminaRestLength ( ) const
Returns
mLaminaRestLength

Definition at line 216 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ GetLaminaWellDepth()

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::GetLaminaWellDepth ( ) const
Returns
mLaminaWellDepth

Definition at line 203 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ GetWellWidth()

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::GetWellWidth ( ) const
Returns
mWellWidth

Definition at line 229 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ OutputImmersedBoundaryForceParameters()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::OutputImmersedBoundaryForceParameters ( out_stream &  rParamsFile)
virtual

Overridden OutputImmersedBoundaryForceParameters() method.

Parameters
rParamsFilethe file stream to which the parameters are output

Implements AbstractImmersedBoundaryForce< DIM >.

Definition at line 163 of file ImmersedBoundaryMorseMembraneForce.cpp.

References AbstractImmersedBoundaryForce< DIM >::OutputImmersedBoundaryForceParameters().

◆ serialize()

template<unsigned DIM>
template<class Archive >
void ImmersedBoundaryMorseMembraneForce< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.

Parameters
archiveThe boost archive.
versionThe current version of this class.

Definition at line 65 of file ImmersedBoundaryMorseMembraneForce.hpp.

References ImmersedBoundaryMorseMembraneForce< DIM >::mElementRestLength, ImmersedBoundaryMorseMembraneForce< DIM >::mElementWellDepth, ImmersedBoundaryMorseMembraneForce< DIM >::mLaminaRestLength, ImmersedBoundaryMorseMembraneForce< DIM >::mLaminaWellDepth, and ImmersedBoundaryMorseMembraneForce< DIM >::mWellWidth.

◆ SetElementRestLength()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::SetElementRestLength ( double  elementRestLength)

Set mElementRestLength/

Parameters
elementRestLengththe new value of mElementRestLength

Definition at line 196 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ SetElementWellDepth()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::SetElementWellDepth ( double  elementWellDepth)

Set mElementWellDepth.

Parameters
elementWellDepththe new value of mElementWellDepth

Definition at line 183 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ SetLaminaRestLength()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::SetLaminaRestLength ( double  laminaRestLength)

Set mLaminaRestLength/

Parameters
laminaRestLengththe new value of mLaminaRestLength

Definition at line 222 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ SetLaminaWellDepth()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::SetLaminaWellDepth ( double  laminaWellDepth)

Set mLaminaWellDepth.

Parameters
laminaWellDepththe new value of mLaminaWellDepth

Definition at line 209 of file ImmersedBoundaryMorseMembraneForce.cpp.

◆ SetWellWidth()

template<unsigned DIM>
void ImmersedBoundaryMorseMembraneForce< DIM >::SetWellWidth ( double  wellWidth)

Set mWellWidth.

Parameters
wellWidththe new value of mWellWidth

Definition at line 235 of file ImmersedBoundaryMorseMembraneForce.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Definition at line 56 of file ImmersedBoundaryMorseMembraneForce.hpp.

Member Data Documentation

◆ mElementRestLength

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::mElementRestLength
private

The rest length associated with each element as a fraction of the average node spacing. Initialised to 0.5 in constructor.

Definition at line 84 of file ImmersedBoundaryMorseMembraneForce.hpp.

Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().

◆ mElementWellDepth

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::mElementWellDepth
private

The basic interaction strength. Initialised to 1e6 in constructor.

Definition at line 78 of file ImmersedBoundaryMorseMembraneForce.hpp.

Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().

◆ mLaminaRestLength

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::mLaminaRestLength
private

The rest length associated with each lamina as a fraction of the average node spacing. Initialised to 0.5 in constructor.

Definition at line 96 of file ImmersedBoundaryMorseMembraneForce.hpp.

Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().

◆ mLaminaWellDepth

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::mLaminaWellDepth
private

The spring constant associated with each lamina. Initialised to 1e6 in constructor.

Definition at line 90 of file ImmersedBoundaryMorseMembraneForce.hpp.

Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().

◆ mWellWidth

template<unsigned DIM>
double ImmersedBoundaryMorseMembraneForce< DIM >::mWellWidth
private

The well width as a fraction of the average node spacing in either an element or lamina. Initialised to 0.25 in constructor.

Definition at line 102 of file ImmersedBoundaryMorseMembraneForce.hpp.

Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().


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