33 namespace tetherPotentials
59 tetherPotentialProperties.subDict(typeName +
"Coeffs")
61 mu_(pitchForkRingCoeffs_.template lookup<scalar>(
"mu")),
62 alpha_(pitchForkRingCoeffs_.template lookup<scalar>(
"alpha")),
63 rOrbit_(pitchForkRingCoeffs_.template lookup<scalar>(
"rOrbit"))
71 scalar
p =
sqrt(r.
x()*r.
x() + r.
y()*r.
y());
73 scalar pMinusRSqr =
sqr(
p - rOrbit_);
76 -0.5 * mu_ * pMinusRSqr
77 + 0.25 * pMinusRSqr * pMinusRSqr
78 + 0.5 * alpha_ * r.
z() * r.
z();
84 scalar
p =
sqrt(r.
x()*r.
x() + r.
y()*r.
y());
86 scalar pMinusR = (
p - rOrbit_);
90 (mu_ -
sqr(pMinusR)) * pMinusR * r.
x()/(
p + vSmall),
91 (mu_ -
sqr(pMinusR)) * pMinusR * r.
y()/(
p + vSmall),
101 pitchForkRingCoeffs_ =
104 pitchForkRingCoeffs_.
lookup(
"mu") >> mu_;
105 pitchForkRingCoeffs_.
lookup(
"alpha") >> alpha_;
106 pitchForkRingCoeffs_.
lookup(
"rOrbit") >> rOrbit_;
Macros for easy insertion into run-time selection tables.
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
virtual bool read(const dictionary &tetherPotentialProperties)=0
Read tetherPotential dictionary.
const dictionary & tetherPotentialProperties() const
scalar energy(const vector r) const
pitchForkRing(const word &name, const dictionary &tetherPotentialProperties)
Construct from components.
bool read(const dictionary &tetherPotentialProperties)
Read dictionary.
vector force(const vector r) const
A class for handling words, derived from string.
defineTypeNameAndDebug(harmonicSpring, 0)
addToRunTimeSelectionTable(tetherPotential, harmonicSpring, dictionary)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
word name(const bool)
Return a word representation of a bool.
Vector< scalar > vector
A scalar version of the templated Vector.
dimensionedScalar sqrt(const dimensionedScalar &ds)