69 angle0_(
dict.get<scalar>(
"angle0")),
70 amplitude_(
dict.get<scalar>(
"amplitude")),
71 omega_(
dict.get<scalar>(
"omega"))
73 if (!
dict.found(
"value"))
80 p0_ = vectorField(
"p0", dict , p.size());
84 p0_ = p.localPoints();
100 origin_(ptf.origin_),
101 angle0_(ptf.angle0_),
102 amplitude_(ptf.amplitude_),
117 origin_(ptf.origin_),
118 angle0_(ptf.angle0_),
119 amplitude_(ptf.amplitude_),
149 p0_.rmap(aOVptf.p0_, addr);
161 const Time& t =
mesh.time();
162 const pointPatch&
p = this->
patch();
164 scalar angle = angle0_ + amplitude_*
sin(omega_*t.value());
168 vectorField::operator=
172 + p0Rel*(
cos(angle) - 1)
173 + (axisHat ^ p0Rel*
sin(angle))
174 + (axisHat & p0Rel)*(1 -
cos(angle))*axisHat
189 os.writeEntry(
"axis", axis_);
190 os.writeEntry(
"origin", origin_);
191 os.writeEntry(
"angle0", angle0_);
192 os.writeEntry(
"amplitude", amplitude_);
193 os.writeEntry(
"omega", omega_);
204 angularOscillatingVelocityPointPatchVectorField
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Mesh & mesh() const noexcept
Return const reference to mesh.
void autoMap(const FieldMapper &map, const bool applyFlip=true)
Map from self.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
void rmap(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 reverse-map from the given field
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
scalar deltaTValue() const noexcept
Return time step value.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
bool get(const label i) const
Foam::angularOscillatingVelocityPointPatchVectorField.
virtual void write(Ostream &) const
Write.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
angularOscillatingVelocityPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
Construct from patch and internal field.
virtual void rmap(const pointPatchField< vector > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const Type & value() const noexcept
Return const reference to value.
A FixedValue boundary condition for pointField.
fixedValuePointPatchField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
const pointPatch & patch() const noexcept
Return the patch.
bool updated() const noexcept
True if the boundary condition has already been updated.
Foam::pointPatchFieldMapper.
Abstract base class for point-mesh patch fields.
virtual void write(Ostream &os) const
Write.
const DimensionedField< vector, pointMesh > & internalField() const noexcept
Basic pointPatch represents a set of points from the mesh.
Mesh consisting of general polyhedral cells.
void writeValueEntry(Ostream &os) const
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
List< label > labelList
A List of labels.
dimensionedScalar sin(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Field< vector > vectorField
Specialisation of Field<T> for vector.
pointPatchField< vector > pointPatchVectorField
static constexpr const zero Zero
Global zero (0).
dimensionedScalar cos(const dimensionedScalar &ds)
#define makePointPatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete pointPatchField type and add to run-time tables Example, (pointPatchScalarField,...