Go to the documentation of this file.
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;
virtual void setLevel(const scalar t, const scalar tCoeff, scalarField &level) const
dimensionedScalar cosh(const dimensionedScalar &ds)
static constexpr const zero Zero
scalarList X0(nSpecie, Zero)
dimensionedScalar sin(const dimensionedScalar &ds)
volScalarField H(IOobject("H", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), mesh, dimensionedScalar(dimLength, Zero))
autoPtr< surfaceVectorField > Uf
addToRunTimeSelectionTable(waveModel, shallowWaterAbsorption, patch)
dimensionedScalar exp(const dimensionedScalar &ds)
virtual bool readDict(const dictionary &overrideDict)
InfoProxy< IOobject > info() const
dimensionedScalar pow4(const dimensionedScalar &ds)
virtual void setVelocity(const scalar t, const scalar tCoeff, const scalarField &level)
const dimensionedScalar b
Generic templated field type.
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionedScalar h
A patch is a list of labels that address the faces in the global face list.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
dimensionedScalar pow5(const dimensionedScalar &ds)
OBJstream os(runTime.globalPath()/outputName)
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
Vector< scalar > vector
A scalar version of the templated Vector.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Boussinesq(const dictionary &dict, const fvMesh &mesh, const polyPatch &patch, const bool readFields=true)
virtual bool readDict(const dictionary &overrideDict)
defineTypeNameAndDebug(waveAbsorptionModel, 0)
dimensionedScalar cos(const dimensionedScalar &ds)