35namespace tetherPotentials
59 restrainedHarmonicSpringCoeffs_
61 tetherPotentialProperties.subDict(typeName +
"Coeffs")
65 restrainedHarmonicSpringCoeffs_.get<scalar>(
"springConstant")
69 restrainedHarmonicSpringCoeffs_.get<scalar>(
"rR")
81 return 0.5 * springConstant_ *
magSqr(r);
85 return 0.5 * springConstant_ * rR_ * rR_
86 + springConstant_ * rR_ * (magR - rR_);
97 return -springConstant_ * r;
101 return -springConstant_ * rR_ * r / magR;
113 restrainedHarmonicSpringCoeffs_ =
116 restrainedHarmonicSpringCoeffs_.
readEntry(
"springConstant", springConstant_);
117 restrainedHarmonicSpringCoeffs_.
readEntry(
"rR", rR_);
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
virtual bool read()
Re-read model coefficients if they have changed.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
Base class for film (stress-based) force models.
const dictionary & tetherPotentialProperties() const
scalar energy(const vector r) const
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)