Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
|
#include <AbstractImmersedBoundaryForce.hpp>
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 |
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.
AbstractImmersedBoundaryForce< DIM >::AbstractImmersedBoundaryForce | ( | ) |
Default constructor.
Definition at line 41 of file AbstractImmersedBoundaryForce.cpp.
|
virtual |
Destructor.
Definition at line 49 of file AbstractImmersedBoundaryForce.cpp.
|
pure virtual |
Calculates the force on each immersed boundary node. As this method is pure virtual, it must be overridden in subclasses.
rNodePairs | reference to a vector set of node pairs between which to contribute the force |
rCellPopulation | an immersed boundary cell population |
Implemented in ImmersedBoundaryKinematicFeedbackForce< DIM >, ImmersedBoundaryLinearDifferentialAdhesionForce< DIM >, ImmersedBoundaryLinearInteractionForce< DIM >, ImmersedBoundaryLinearMembraneForce< DIM >, ImmersedBoundaryMorseInteractionForce< DIM >, and ImmersedBoundaryMorseMembraneForce< DIM >.
|
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.
rCellPopulation | an 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().
bool AbstractImmersedBoundaryForce< DIM >::GetAdditiveNormalNoise | ( | ) | const |
Definition at line 147 of file AbstractImmersedBoundaryForce.cpp.
double AbstractImmersedBoundaryForce< DIM >::GetNormalNoiseMean | ( | ) | const |
Definition at line 160 of file AbstractImmersedBoundaryForce.cpp.
double AbstractImmersedBoundaryForce< DIM >::GetNormalNoiseStdDev | ( | ) | const |
Definition at line 173 of file AbstractImmersedBoundaryForce.cpp.
|
pure virtual |
Outputs force parameters to file. As this method is pure virtual, it must be overridden in subclasses.
rParamsFile | the file stream to which the parameters are output |
Implemented in ImmersedBoundaryKinematicFeedbackForce< DIM >, ImmersedBoundaryLinearDifferentialAdhesionForce< DIM >, ImmersedBoundaryLinearInteractionForce< DIM >, ImmersedBoundaryLinearMembraneForce< DIM >, ImmersedBoundaryMorseInteractionForce< DIM >, and ImmersedBoundaryMorseMembraneForce< DIM >.
Definition at line 186 of file AbstractImmersedBoundaryForce.cpp.
Referenced by ImmersedBoundaryKinematicFeedbackForce< DIM >::OutputImmersedBoundaryForceParameters(), ImmersedBoundaryLinearDifferentialAdhesionForce< DIM >::OutputImmersedBoundaryForceParameters(), ImmersedBoundaryLinearInteractionForce< DIM >::OutputImmersedBoundaryForceParameters(), ImmersedBoundaryLinearMembraneForce< DIM >::OutputImmersedBoundaryForceParameters(), ImmersedBoundaryMorseInteractionForce< DIM >::OutputImmersedBoundaryForceParameters(), and ImmersedBoundaryMorseMembraneForce< DIM >::OutputImmersedBoundaryForceParameters().
|
inlineprivate |
Serialize the object.
archive | the archive |
version | the current version of this class |
Definition at line 70 of file AbstractImmersedBoundaryForce.hpp.
References AbstractImmersedBoundaryForce< DIM >::mAdditiveNormalNoise, AbstractImmersedBoundaryForce< DIM >::mNormalNoiseMean, and AbstractImmersedBoundaryForce< DIM >::mNormalNoiseStdDev.
void AbstractImmersedBoundaryForce< DIM >::SetAdditiveNormalNoise | ( | bool | additiveNormalNoise | ) |
Enable or disable additive normal noise
additiveNormalNoise | whether to include multiplicative normal noise |
Definition at line 153 of file AbstractImmersedBoundaryForce.cpp.
void AbstractImmersedBoundaryForce< DIM >::SetNormalNoiseMean | ( | double | normalNoiseMean | ) |
Set the mean value of the normal noise
normalNoiseMean | the new value of mNormalNoiseMean |
Definition at line 166 of file AbstractImmersedBoundaryForce.cpp.
void AbstractImmersedBoundaryForce< DIM >::SetNormalNoiseStdDev | ( | double | normalNoiseStdDev | ) |
Set the standard deviation of the normal noise
normalNoiseStdDev | the new value of mNormalNoiseStdDev |
Definition at line 179 of file AbstractImmersedBoundaryForce.cpp.
|
friend |
Needed for serialization.
Definition at line 61 of file AbstractImmersedBoundaryForce.hpp.
|
protected |
Whether to apply multiplicative normal noise to the calculated force.
Definition at line 90 of file AbstractImmersedBoundaryForce.hpp.
Referenced by AbstractImmersedBoundaryForce< DIM >::serialize().
|
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().
|
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().