83#ifndef waveMakerPointPatchVectorField_H
84#define waveMakerPointPatchVectorField_H
213 virtual scalar
timeCoeff(
const scalar t)
const;
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A FixedValue boundary condition for pointField.
fixedValuePointPatchField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
Foam::pointPatchFieldMapper.
static autoPtr< pointPatchField< Type > > Clone(const DerivedPatchField &pf, Args &&... args)
Clone a patch field, optionally with internal field reference etc.
Basic pointPatch represents a set of points from the mesh.
Point motion boundary condition to generate waves based on either piston or flap motions.
virtual void initialiseGeometry()
Initialise.
scalarField zMin_
Minimum z (point) height per patch face / [m].
scalarField z_
Patch face centre z co-ordinates / [m].
static const Enum< motionTypes > motionTypeNames
Names for motion types.
TypeName("waveMaker")
Runtime type information.
tensor Rlg_
Rotation tensor from local to global system.
scalar zSpan_
Overall (point) span in z-direction / [m].
scalar wavePeriod_
Wave period.
motionTypes motionType_
Motion type.
scalar waveHeight_
Wave height.
tensor Rgl_
Rotation tensor from global to local system.
scalarField waterDepthRef_
Calculated water depth at the patch.
scalar rampTime_
Ramp time.
scalar zMinGb_
Global Minimum z (point) / [m].
scalarField yPaddle_
Paddle y co-ordinates / [m].
scalarField xPaddle_
Paddle x co-ordinates / [m].
vector gHat_
Vertical direction.
labelList pointToPaddle_
Addressing from point patch index to paddle index.
scalar secondOrder_
On/off second order calculation switch.
scalar initialDepth_
Initial water depth.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
scalarField zMax_
Maximum z (point) height per patch face / [m].
waveMakerPointPatchVectorField(const pointPatch &, const DimensionedField< vector, pointMesh > &)
Construct from patch and internal field.
virtual scalar timeCoeff(const scalar t) const
Return the time scaling coefficient.
virtual scalar waveLength(const scalar h, const scalar T)
Dispersion equation.
labelList faceToPaddle_
Addressing from patch face index to paddle index.
vector n_
Patch normal direction.
scalar waveAngle_
Wave angle.
scalarField y_
Patch face centre y co-ordinates / [m].
scalar wavePhase_
Wave phase.
scalar startTime_
Start time.
virtual autoPtr< pointPatchField< vector > > clone() const
Return a clone.
scalarField x_
Patch face centre x co-ordinates / [m].
scalar waveLength_
Wave length.
label nPaddle_
Number of wave paddles.
virtual autoPtr< pointPatchField< vector > > clone(const DimensionedField< vector, pointMesh > &iF) const
Construct and return a clone setting internal field reference.
const vector & g()
Return the gravitational acceleration.
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.