69 angle0_(
dict.
get<scalar>(
"angle0")),
70 amplitude_(
dict.
get<scalar>(
"amplitude")),
71 omega_(
dict.
get<scalar>(
"omega"))
73 if (!
dict.found(
"value"))
84 p0_ =
p.localPoints();
92 const angularOscillatingVelocityPointPatchVectorField& ptf,
94 const DimensionedField<vector, pointMesh>& iF,
95 const pointPatchFieldMapper& mapper
98 fixedValuePointPatchField<
vector>(ptf,
p, iF, mapper),
100 origin_(ptf.origin_),
101 angle0_(ptf.angle0_),
102 amplitude_(ptf.amplitude_),
117 origin_(ptf.origin_),
118 angle0_(ptf.angle0_),
119 amplitude_(ptf.amplitude_),
145 refCast<const angularOscillatingVelocityPointPatchVectorField>(ptf);
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());
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
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const pointPatch & patch() const noexcept
Return the patch.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Foam::angularOscillatingVelocityPointPatchVectorField.
Foam::pointPatchFieldMapper.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Lookup type of boundary radiation properties.
Macros for easy insertion into run-time selection tables.
friend Ostream & operator(Ostream &, const Field< vector > &)
dimensionedScalar cos(const dimensionedScalar &ds)
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 autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
bool updated() const noexcept
True if the boundary condition has already been updated.
virtual void autoMap(const pointPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
dimensionedScalar sin(const dimensionedScalar &ds)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
virtual void rmap(const pointPatchField< vector > &, const labelList &)
Reverse map the given pointPatchField onto this pointPatchField.
OBJstream os(runTime.globalPath()/outputName)
pointPatchField< vector > pointPatchVectorField
void autoMap(const FieldMapper &map, const bool applyFlip=true)
Map from self.
virtual void write(Ostream &) const
Write.
void rmap(const UList< Type > &mapF, const labelUList &mapAddressing)
1 to 1 reverse-map from the given field
Basic pointPatch represents a set of points from the mesh.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
makePointPatchTypeField(pointPatchVectorField, solidBodyMotionDisplacementPointPatchVectorField)
Field< vector > vectorField
Specialisation of Field<T> for vector.
virtual void write(Ostream &) const
Write.
virtual void rmap(const pointPatchField< Type > &, const labelList &)
Reverse map the given PointPatchField onto.
const DimensionedField< vector, pointMesh > & internalField() const noexcept
Return dimensioned internal field reference.
static constexpr const zero Zero
Global zero (0)