Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <ImmersedBoundaryMorseMembraneForce.hpp>
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 |
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.
ImmersedBoundaryMorseMembraneForce< DIM >::ImmersedBoundaryMorseMembraneForce | ( | ) |
Constructor
Definition at line 39 of file ImmersedBoundaryMorseMembraneForce.cpp.
|
virtual |
Destructor
Definition at line 50 of file ImmersedBoundaryMorseMembraneForce.cpp.
|
virtual |
Overridden AddImmersedBoundaryForceContribution() method. Calculates basic elasticity in the membrane of each immersed boundary as a result of interactions.
rNodePairs | reference to a vector set of node pairs between which to contribute the force |
rCellPopulation | reference to the cell population |
Implements AbstractImmersedBoundaryForce< DIM >.
Definition at line 55 of file ImmersedBoundaryMorseMembraneForce.cpp.
References ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin(), ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd(), ImmersedBoundaryCellPopulation< DIM >::GetIntrinsicSpacing(), ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetLaminaIteratorBegin(), ImmersedBoundaryMesh< ELEMENT_DIM, SPACE_DIM >::GetLaminaIteratorEnd(), and ImmersedBoundaryCellPopulation< DIM >::rGetMesh().
|
private |
Helper method for AddImmersedBoundaryForceContribution. Calculates forces, and can accept either an element or a lamina
ELEMENT_DIM | either DIM or DIM-1 depending on whether receiving an element or a lamina |
rElement | the element or lamina add forces to |
rCellPopulation | the immersed boundary cell population |
intrinsicSpacingSquared | the 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().
double ImmersedBoundaryMorseMembraneForce< DIM >::GetElementRestLength | ( | ) | const |
Definition at line 190 of file ImmersedBoundaryMorseMembraneForce.cpp.
double ImmersedBoundaryMorseMembraneForce< DIM >::GetElementWellDepth | ( | ) | const |
Definition at line 177 of file ImmersedBoundaryMorseMembraneForce.cpp.
double ImmersedBoundaryMorseMembraneForce< DIM >::GetLaminaRestLength | ( | ) | const |
Definition at line 216 of file ImmersedBoundaryMorseMembraneForce.cpp.
double ImmersedBoundaryMorseMembraneForce< DIM >::GetLaminaWellDepth | ( | ) | const |
Definition at line 203 of file ImmersedBoundaryMorseMembraneForce.cpp.
double ImmersedBoundaryMorseMembraneForce< DIM >::GetWellWidth | ( | ) | const |
Definition at line 229 of file ImmersedBoundaryMorseMembraneForce.cpp.
|
virtual |
Overridden OutputImmersedBoundaryForceParameters() method.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractImmersedBoundaryForce< DIM >.
Definition at line 163 of file ImmersedBoundaryMorseMembraneForce.cpp.
References AbstractImmersedBoundaryForce< DIM >::OutputImmersedBoundaryForceParameters().
|
inlineprivate |
Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.
archive | The boost archive. |
version | The 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.
void ImmersedBoundaryMorseMembraneForce< DIM >::SetElementRestLength | ( | double | elementRestLength | ) |
Set mElementRestLength/
elementRestLength | the new value of mElementRestLength |
Definition at line 196 of file ImmersedBoundaryMorseMembraneForce.cpp.
void ImmersedBoundaryMorseMembraneForce< DIM >::SetElementWellDepth | ( | double | elementWellDepth | ) |
Set mElementWellDepth.
elementWellDepth | the new value of mElementWellDepth |
Definition at line 183 of file ImmersedBoundaryMorseMembraneForce.cpp.
void ImmersedBoundaryMorseMembraneForce< DIM >::SetLaminaRestLength | ( | double | laminaRestLength | ) |
Set mLaminaRestLength/
laminaRestLength | the new value of mLaminaRestLength |
Definition at line 222 of file ImmersedBoundaryMorseMembraneForce.cpp.
void ImmersedBoundaryMorseMembraneForce< DIM >::SetLaminaWellDepth | ( | double | laminaWellDepth | ) |
Set mLaminaWellDepth.
laminaWellDepth | the new value of mLaminaWellDepth |
Definition at line 209 of file ImmersedBoundaryMorseMembraneForce.cpp.
void ImmersedBoundaryMorseMembraneForce< DIM >::SetWellWidth | ( | double | wellWidth | ) |
Set mWellWidth.
wellWidth | the new value of mWellWidth |
Definition at line 235 of file ImmersedBoundaryMorseMembraneForce.cpp.
|
friend |
Definition at line 56 of file ImmersedBoundaryMorseMembraneForce.hpp.
|
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().
|
private |
The basic interaction strength. Initialised to 1e6 in constructor.
Definition at line 78 of file ImmersedBoundaryMorseMembraneForce.hpp.
Referenced by ImmersedBoundaryMorseMembraneForce< DIM >::serialize().
|
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().
|
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().
|
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().