Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
ImmersedBoundaryLinearMembraneForce< DIM > Class Template Reference

#include <ImmersedBoundaryLinearMembraneForce.hpp>

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

Public Member Functions

 ImmersedBoundaryLinearMembraneForce ()
 
virtual ~ImmersedBoundaryLinearMembraneForce ()
 
void AddImmersedBoundaryForceContribution (std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, ImmersedBoundaryCellPopulation< DIM > &rCellPopulation)
 
void OutputImmersedBoundaryForceParameters (out_stream &rParamsFile)
 
double GetElementSpringConst () const
 
void SetElementSpringConst (double elementSpringConst)
 
double GetElementRestLength () const
 
void SetElementRestLength (double elementRestLength)
 
double GetLaminaSpringConst () const
 
void SetLaminaSpringConst (double laminaSpringConst)
 
double GetLaminaRestLength () const
 
void SetLaminaRestLength (double laminaRestLength)
 
- 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 mElementSpringConst
 
double mElementRestLength
 
double mLaminaSpringConst
 
double mLaminaRestLength
 

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 ImmersedBoundaryLinearMembraneForce< DIM >

A force class for use in immersed boundary simulations. This force implements elastic links between adjacent nodes in each immersed boundary.

Definition at line 50 of file ImmersedBoundaryLinearMembraneForce.hpp.

Constructor & Destructor Documentation

◆ ImmersedBoundaryLinearMembraneForce()

◆ ~ImmersedBoundaryLinearMembraneForce()

Destructor

Definition at line 49 of file ImmersedBoundaryLinearMembraneForce.cpp.

Member Function Documentation

◆ AddImmersedBoundaryForceContribution()

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

◆ CalculateForcesOnElement()

template<unsigned DIM>
template<unsigned ELEMENT_DIM>
void ImmersedBoundaryLinearMembraneForce< 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 intrinsic node spacing

Definition at line 85 of file ImmersedBoundaryLinearMembraneForce.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 ImmersedBoundaryLinearMembraneForce< DIM >::GetElementRestLength ( ) const
Returns
mElementRestLength

Definition at line 185 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ GetElementSpringConst()

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< DIM >::GetElementSpringConst ( ) const
Returns
mElementSpringConst

Definition at line 172 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ GetLaminaRestLength()

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

Definition at line 211 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ GetLaminaSpringConst()

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< DIM >::GetLaminaSpringConst ( ) const
Returns
mLaminaSpringConst

Definition at line 198 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ OutputImmersedBoundaryForceParameters()

template<unsigned DIM>
void ImmersedBoundaryLinearMembraneForce< 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 159 of file ImmersedBoundaryLinearMembraneForce.cpp.

References AbstractImmersedBoundaryForce< DIM >::OutputImmersedBoundaryForceParameters().

◆ serialize()

template<unsigned DIM>
template<class Archive >
void ImmersedBoundaryLinearMembraneForce< 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 62 of file ImmersedBoundaryLinearMembraneForce.hpp.

References ImmersedBoundaryLinearMembraneForce< DIM >::mElementRestLength, ImmersedBoundaryLinearMembraneForce< DIM >::mElementSpringConst, ImmersedBoundaryLinearMembraneForce< DIM >::mLaminaRestLength, and ImmersedBoundaryLinearMembraneForce< DIM >::mLaminaSpringConst.

◆ SetElementRestLength()

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

Set mElementRestLength

Parameters
elementRestLengththe new value of mElementRestLength

Definition at line 191 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ SetElementSpringConst()

template<unsigned DIM>
void ImmersedBoundaryLinearMembraneForce< DIM >::SetElementSpringConst ( double  elementSpringConst)

Set mElementSpringConst.

Parameters
elementSpringConstthe new value of mElementSpringConst

Definition at line 178 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ SetLaminaRestLength()

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

Set mLaminaRestLength.

Parameters
laminaRestLengththe new value of mLaminaRestLength

Definition at line 217 of file ImmersedBoundaryLinearMembraneForce.cpp.

◆ SetLaminaSpringConst()

template<unsigned DIM>
void ImmersedBoundaryLinearMembraneForce< DIM >::SetLaminaSpringConst ( double  laminaSpringConst)

Set mLaminaSpringConst.

Parameters
laminaSpringConstthe new value of mLaminaSpringConst

Definition at line 204 of file ImmersedBoundaryLinearMembraneForce.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Definition at line 53 of file ImmersedBoundaryLinearMembraneForce.hpp.

Member Data Documentation

◆ mElementRestLength

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< 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 81 of file ImmersedBoundaryLinearMembraneForce.hpp.

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

◆ mElementSpringConst

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< DIM >::mElementSpringConst
private

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

Definition at line 75 of file ImmersedBoundaryLinearMembraneForce.hpp.

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

◆ mLaminaRestLength

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< 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 93 of file ImmersedBoundaryLinearMembraneForce.hpp.

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

◆ mLaminaSpringConst

template<unsigned DIM>
double ImmersedBoundaryLinearMembraneForce< DIM >::mLaminaSpringConst
private

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

Definition at line 87 of file ImmersedBoundaryLinearMembraneForce.hpp.

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


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