42 oscillatingLinearMotion,
51Foam::solidBodyMotionFunctions::oscillatingLinearMotion::oscillatingLinearMotion
88Foam::solidBodyMotionFunctions::oscillatingLinearMotion::transformation()
const
90 const scalar t = time_.value();
92 const vector amplitude(amplitudePtr_->value(t));
93 const scalar omega = omegaPtr_->value(t);
95 scalar phaseShift = 0;
98 phaseShift = phaseShiftPtr_->value(t);
102 if (verticalShiftPtr_)
104 verticalShift = verticalShiftPtr_->value(t);
109 amplitude*
sin(omega*(t + phaseShift)) + verticalShift
121bool Foam::solidBodyMotionFunctions::oscillatingLinearMotion::read
133 Function1<scalar>::New(
"omega", SBMFCoeffs_, &time_)
149 Function1<vector>::New(
"amplitude", SBMFCoeffs_, &time_)
152 verticalShiftPtr_.reset
#define R(A, B, C, D, E, F, K, M)
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
static autoPtr< Function1< Type > > NewIfPresent(const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr)
An optional selector, with fallback redirection.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Quaternion class used to perform rotations in 3D space.
Septernion class used to perform translations and rotations in 3D space.
Base class for defining solid-body motions.
virtual bool read(const dictionary &SBMFCoeffs)=0
Update properties from given dictionary.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A class for handling words, derived from Foam::string.
static const word null
An empty word.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define DebugInFunction
Report an information message using Foam::Info.
Namespace for solid-body motions.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
bool read(const char *buf, int32_t &val)
Same as readInt32.
dimensionedScalar sin(const dimensionedScalar &ds)
Ostream & endl(Ostream &os)
Add newline and flush stream.
static constexpr const zero Zero
Global zero (0).