51 Foam::scalar Foam::waveModels::Boussinesq::eta
64 scalar aux =
sqrt(3.0*
H/(4.0*
h))/
h;
65 scalar Xa = -
C*t + ts -
X0 +
x*
cos(theta) +
y*
sin(theta);
87 scalar Xa = -
C*t + ts -
X0 +
x*
cos(theta) +
y*
sin(theta);
88 scalar expTerm =
exp(2*a*Xa);
89 scalar
b = 8*a*
h*expTerm;
96 2*a*
b*(
exp(4*a*Xa) - 4*expTerm + 1)
100 -4*
sqr(a)*
b*(
exp(6*a*Xa) - 11*
exp(4*a*Xa) + 11*expTerm - 1)
120 scalar eta = this->eta(
H,
h,
x,
y, theta, t,
X0);
128 +
sqr(
h)/(3.0*eta)*(1.0 - 3.0/2.0*
sqr(z/
h))*Deta[1]
134 (1.0 - eta/(2.0*
h))*Deta[0]
135 +
sqr(
h)/3.0*(1.0 - 1.0/2.0*
sqr(z/
h))*Deta[2]
138 scalar v = u*
sin(waveAngle_);
139 u *=
cos(waveAngle_);
168 level[paddlei] = waterDepthRef_ + tCoeff*eta;
188 setPaddlePropeties(level, facei, fraction, z);
192 const label paddlei = faceToPaddle_[facei];
206 U_[facei] = fraction*
Uf*tCoeff;
const vector & g_
Gravity.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual void setLevel(const scalar t, const scalar tCoeff, scalarField &level) const
Set the water level.
dimensionedScalar pow5(const dimensionedScalar &ds)
Macros for easy insertion into run-time selection tables.
#define forAll(list, i)
Loop across all elements in list.
defineTypeNameAndDebug(waveAbsorptionModel, 0)
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedScalar exp(const dimensionedScalar &ds)
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject *> &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
autoPtr< surfaceVectorField > Uf
InfoProxy< IOobject > info() const noexcept
Return info proxy, for printing information to a stream.
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 setVelocity(const scalar t, const scalar tCoeff, const scalarField &level)
Calculate the wave model velocity.
OBJstream os(runTime.globalPath()/outputName)
virtual bool readDict(const dictionary &overrideDict)
Read from dictionary.
const dimensionedScalar h
Planck constant.
scalarList X0(nSpecie, Zero)
dimensionedScalar pow3(const dimensionedScalar &ds)
Boussinesq(const dictionary &dict, const fvMesh &mesh, const polyPatch &patch, const bool readFields=true)
Constructor.
Mesh data needed to do the Finite Volume discretisation.
dimensionedScalar pow4(const dimensionedScalar &ds)
const std::string patch
OpenFOAM patch number as a std::string.
addToRunTimeSelectionTable(waveModel, shallowWaterAbsorption, patch)
dimensionedScalar cosh(const dimensionedScalar &ds)
A patch is a list of labels that address the faces in the global face list.
volScalarField H(IOobject("H", runTime.timeName(), mesh.thisDb(), IOobject::NO_READ, IOobject::AUTO_WRITE), mesh, dimensionedScalar(dimLength, Zero))
virtual bool readDict(const dictionary &overrideDict)
Read from dictionary.
static constexpr const zero Zero
Global zero (0)