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_ =
102 tetherPotentialProperties.
subDict(typeName +
"Coeffs");
104 pitchForkRingCoeffs_.
lookup(
"mu") >> mu_;
105 pitchForkRingCoeffs_.
lookup(
"alpha") >> alpha_;
106 pitchForkRingCoeffs_.
lookup(
"rOrbit") >> rOrbit_;
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
Vector< scalar > vector
A scalar version of the templated Vector.
Macros for easy insertion into run-time selection tables.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
pitchForkRing(const word &name, const dictionary &tetherPotentialProperties)
Construct from components.
scalar energy(const vector r) const
virtual bool read(const dictionary &tetherPotentialProperties)=0
Read tetherPotential dictionary.
A class for handling words, derived from string.
defineTypeNameAndDebug(harmonicSpring, 0)
vector force(const vector r) const
addToRunTimeSelectionTable(tetherPotential, harmonicSpring, dictionary)
bool read(const dictionary &tetherPotentialProperties)
Read dictionary.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.