INT: streamFunction wave model updates

This commit is contained in:
Andrew Heather 2017-12-22 17:06:42 +00:00
parent 700e17bdb4
commit b85a38dc41
4 changed files with 50 additions and 56 deletions

View File

@ -66,7 +66,8 @@ Foam::scalar Foam::waveModels::streamFunction::eta
scalar strfnAux = 0.0;
forAll(Ejs_, iterSF)
{
strfnAux += Ejs_[iterSF]*cos((iterSF + 1)
strfnAux +=
Ejs_[iterSF]*cos((iterSF + 1)
*(kx*x + ky*y - omega*t + phase));
}
@ -95,14 +96,16 @@ Foam::vector Foam::waveModels::streamFunction::Uf
forAll(Bjs_, iterSF2)
{
u += (iterSF2 + 1)*Bjs_[iterSF2] *cosh((iterSF2 + 1)*k*z)
u +=
(iterSF2 + 1)*Bjs_[iterSF2]*cosh((iterSF2 + 1)*k*z)
/cosh((iterSF2 + 1)*k*h)*cos((iterSF2 + 1)*phaseTot);
w += (iterSF2 + 1)*Bjs_[iterSF2]*sinh((iterSF2 + 1)*k*z)
w +=
(iterSF2 + 1)*Bjs_[iterSF2]*sinh((iterSF2 + 1)*k*z)
/cosh((iterSF2 + 1)*k*h)*sin((iterSF2 + 1)*phaseTot);
}
u = waveLengthSF_/T - uMean_ + sqrt(mag(g_)/k)*u;
u = waveLength_/T - uMean_ + sqrt(mag(g_)/k)*u;
w = sqrt(mag(g_)/k)*w;
scalar v = u*sin(waveAngle_);
@ -122,7 +125,7 @@ void Foam::waveModels::streamFunction::setLevel
) const
{
const scalar waveOmega = mathematical::twoPi/wavePeriod_;
const scalar waveK = mathematical::twoPi/waveLengthSF_;
const scalar waveK = mathematical::twoPi/waveLength_;
const scalar waveKx = waveK*cos(waveAngle_);
const scalar waveKy = waveK*sin(waveAngle_);
@ -155,7 +158,7 @@ void Foam::waveModels::streamFunction::setVelocity
)
{
const scalar waveOmega = mathematical::twoPi/wavePeriod_;
const scalar waveK = mathematical::twoPi/waveLengthSF_;
const scalar waveK = mathematical::twoPi/waveLength_;
const scalar waveKx = waveK*cos(waveAngle_);
const scalar waveKy = waveK*sin(waveAngle_);
@ -205,9 +208,8 @@ Foam::waveModels::streamFunction::streamFunction
:
regularWaveModel(dict, mesh, patch, false),
uMean_(0),
waveLengthSF_(0),
Bjs_( List<scalar> (1, -1.0) ),
Ejs_( List<scalar> (1, -1.0) )
Bjs_(),
Ejs_()
{
if (readFields)
{
@ -228,10 +230,10 @@ bool Foam::waveModels::streamFunction::readDict(const dictionary& overrideDict)
{
if (regularWaveModel::readDict(overrideDict))
{
lookup("uMean") >> uMean_;
lookup("waveLengthSF") >> waveLengthSF_;
lookup("Bjs") >> Bjs_;
lookup("Ejs") >> Ejs_;
overrideDict.lookup("uMean") >> uMean_;
overrideDict.lookup("waveLength") >> waveLength_;
overrideDict.lookup("Bjs") >> Bjs_;
overrideDict.lookup("Ejs") >> Ejs_;
return true;
}
@ -245,9 +247,10 @@ void Foam::waveModels::streamFunction::info(Ostream& os) const
regularWaveModel::info(os);
os << " uMean : " << uMean_ << nl
<< " wave Length streamFunction : " << waveLengthSF_ << nl
<< " Stream function wavelength : " << waveLength_ << nl
<< " Bj coefficients : " << Bjs_ << nl
<< " Ej coefficients : " << Ejs_ << nl;
}
// ************************************************************************* //

View File

@ -51,8 +51,6 @@ class streamFunction
{
private:
// Private Member Functions
//- Wave height
@ -92,9 +90,6 @@ protected:
//- Mean fluid speed in frame of reference (stream function)
scalar uMean_;
//-Stream waveLength
scalar waveLengthSF_;
//- Stream Function Bj coefficients
scalarList Bjs_;

View File

@ -1,4 +1,4 @@
/*---------------------------------------------------------------------------*\
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus |
@ -35,10 +35,9 @@ inlet
uMean 2.0825;
waveLengthSF 6.2832;
waveLength 6.2832;
Bjs
10
(
8.6669014e-002
2.4849799e-002
@ -53,7 +52,6 @@ inlet
);
Ejs
10
(
5.6009609e-002
3.1638171e-002
@ -80,5 +78,3 @@ outlet
// ************************************************************************* //