Chaste Commit::ca8ccdedf819b6e02855bc0e8e6f50bdecbc5208
AbstractImmersedBoundaryForce< DIM > Class Template Referenceabstract

#include <AbstractImmersedBoundaryForce.hpp>

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

Public Member Functions

 AbstractImmersedBoundaryForce ()
 
virtual ~AbstractImmersedBoundaryForce ()
 
virtual void AddImmersedBoundaryForceContribution (std::vector< std::pair< Node< DIM > *, Node< DIM > * > > &rNodePairs, ImmersedBoundaryCellPopulation< DIM > &rCellPopulation)=0
 
virtual void OutputImmersedBoundaryForceParameters (out_stream &rParamsFile)=0
 
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
 

Protected Member Functions

void AddNormalNoiseToNodes (ImmersedBoundaryCellPopulation< DIM > &rCellPopulation)
 

Protected Attributes

bool mAdditiveNormalNoise
 
double mNormalNoiseMean
 
double mNormalNoiseStdDev
 

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

An abstract immersed boundary force class, for use in immersed boundary cell-based simulations.

NOTE: while this class shares similarities with AbstractForce, it is not passed to a simulation object, but instead to an ImmersedBoundarySimulationModifier as all actual immersed boundary logic is handled by the modifer, rather than the typical simulation infrastructure.

Definition at line 56 of file AbstractImmersedBoundaryForce.hpp.

Constructor & Destructor Documentation

◆ AbstractImmersedBoundaryForce()

Default constructor.

Definition at line 41 of file AbstractImmersedBoundaryForce.cpp.

◆ ~AbstractImmersedBoundaryForce()

Destructor.

Definition at line 49 of file AbstractImmersedBoundaryForce.cpp.

Member Function Documentation

◆ AddImmersedBoundaryForceContribution()

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

Calculates the force on each immersed boundary node. As this method is pure virtual, it must be overridden in subclasses.

Parameters
rNodePairsreference to a vector set of node pairs between which to contribute the force
rCellPopulationan immersed boundary cell population

Implemented in ImmersedBoundaryKinematicFeedbackForce< DIM >, ImmersedBoundaryLinearDifferentialAdhesionForce< DIM >, ImmersedBoundaryLinearInteractionForce< DIM >, ImmersedBoundaryLinearMembraneForce< DIM >, ImmersedBoundaryMorseInteractionForce< DIM >, and ImmersedBoundaryMorseMembraneForce< DIM >.

◆ AddNormalNoiseToNodes()

template<unsigned DIM>
void AbstractImmersedBoundaryForce< DIM >::AddNormalNoiseToNodes ( ImmersedBoundaryCellPopulation< DIM > &  rCellPopulation)
protected

Add the random noise to nodes, if mAdditiveNormalNoise is set. This method handles randomization of the forces in such a way as to ensure no net change to forces across the whole domain.

Parameters
rCellPopulationan immersed boundary cell population

Definition at line 54 of file AbstractImmersedBoundaryForce.cpp.

References Node< SPACE_DIM >::AddAppliedForceContribution(), ImmersedBoundaryCellPopulation< DIM >::GetElement(), ImmersedBoundaryCellPopulation< DIM >::GetLamina(), ImmersedBoundaryCellPopulation< DIM >::GetNumElements(), ImmersedBoundaryCellPopulation< DIM >::GetNumLaminas(), RandomNumberGenerator::Instance(), RandomNumberGenerator::NormalRandomDeviate(), and Node< SPACE_DIM >::rGetAppliedForce().

◆ GetAdditiveNormalNoise()

template<unsigned DIM>
bool AbstractImmersedBoundaryForce< DIM >::GetAdditiveNormalNoise ( ) const
Returns
mAdditiveNormalNoise

Definition at line 147 of file AbstractImmersedBoundaryForce.cpp.

◆ GetNormalNoiseMean()

template<unsigned DIM>
double AbstractImmersedBoundaryForce< DIM >::GetNormalNoiseMean ( ) const
Returns
mNormalNoiseMean

Definition at line 160 of file AbstractImmersedBoundaryForce.cpp.

◆ GetNormalNoiseStdDev()

template<unsigned DIM>
double AbstractImmersedBoundaryForce< DIM >::GetNormalNoiseStdDev ( ) const
Returns
mNormalNoiseStdDev

Definition at line 173 of file AbstractImmersedBoundaryForce.cpp.

◆ OutputImmersedBoundaryForceParameters()

◆ serialize()

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

Serialize the object.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 70 of file AbstractImmersedBoundaryForce.hpp.

References AbstractImmersedBoundaryForce< DIM >::mAdditiveNormalNoise, AbstractImmersedBoundaryForce< DIM >::mNormalNoiseMean, and AbstractImmersedBoundaryForce< DIM >::mNormalNoiseStdDev.

◆ SetAdditiveNormalNoise()

template<unsigned DIM>
void AbstractImmersedBoundaryForce< DIM >::SetAdditiveNormalNoise ( bool  additiveNormalNoise)

Enable or disable additive normal noise

Parameters
additiveNormalNoisewhether to include multiplicative normal noise

Definition at line 153 of file AbstractImmersedBoundaryForce.cpp.

◆ SetNormalNoiseMean()

template<unsigned DIM>
void AbstractImmersedBoundaryForce< DIM >::SetNormalNoiseMean ( double  normalNoiseMean)

Set the mean value of the normal noise

Parameters
normalNoiseMeanthe new value of mNormalNoiseMean

Definition at line 166 of file AbstractImmersedBoundaryForce.cpp.

◆ SetNormalNoiseStdDev()

template<unsigned DIM>
void AbstractImmersedBoundaryForce< DIM >::SetNormalNoiseStdDev ( double  normalNoiseStdDev)

Set the standard deviation of the normal noise

Parameters
normalNoiseStdDevthe new value of mNormalNoiseStdDev

Definition at line 179 of file AbstractImmersedBoundaryForce.cpp.

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Needed for serialization.

Definition at line 61 of file AbstractImmersedBoundaryForce.hpp.

Member Data Documentation

◆ mAdditiveNormalNoise

template<unsigned DIM>
bool AbstractImmersedBoundaryForce< DIM >::mAdditiveNormalNoise
protected

Whether to apply multiplicative normal noise to the calculated force.

Definition at line 90 of file AbstractImmersedBoundaryForce.hpp.

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

◆ mNormalNoiseMean

template<unsigned DIM>
double AbstractImmersedBoundaryForce< DIM >::mNormalNoiseMean
protected

The mean of the Normal distribution from which random noise variations are drawn. Default value is 1.0

Definition at line 96 of file AbstractImmersedBoundaryForce.hpp.

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

◆ mNormalNoiseStdDev

template<unsigned DIM>
double AbstractImmersedBoundaryForce< DIM >::mNormalNoiseStdDev
protected

The standard deviation of the Normal distribution from which random noise variations are drawn. Default value is 0.0

Definition at line 102 of file AbstractImmersedBoundaryForce.hpp.

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


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