ENH: New wave model integration updates for McCowan and Grimshaw models

This commit is contained in:
Andrew Heather
2017-06-02 10:23:32 +01:00
parent 0f230ba35b
commit b538a9128c
48 changed files with 384 additions and 504 deletions

View File

@ -2,8 +2,8 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015 IH-Cantabria \\/ M anipulation | Copyright (C) 2017 IH-Cantabria
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -52,12 +52,11 @@ Foam::scalar Foam::waveModels::Grimshaw::alfa
) const ) const
{ {
scalar eps = H/h; scalar eps = H/h;
scalar alfa = sqrt(0.75*eps)*(1.0 - (5.0/8.0)*eps + (71.0/128.0)*eps*eps);
return alfa; return sqrt(0.75*eps)*(1.0 - 0.625*eps + (71.0/128.0)*eps*eps);
} }
//- Wave height
Foam::scalar Foam::waveModels::Grimshaw::eta Foam::scalar Foam::waveModels::Grimshaw::eta
( (
const scalar H, const scalar H,
@ -69,22 +68,32 @@ Foam::scalar Foam::waveModels::Grimshaw::eta
const scalar X0 const scalar X0
) const ) const
{ {
scalar eps = H/h; const scalar eps = H/h;
scalar C = sqrt(mag(g_)*h)*sqrt(1.0+eps-(1.0/20.0)*eps*eps-(3.0/70.0)*eps*eps*eps); const scalar eps2 = eps*eps;
const scalar eps3 = eps*eps2;
scalar ts = 3.5*h/sqrt(H/h); const scalar C = sqrt(mag(g_)*h)*sqrt(1.0 + eps - 0.05*eps2 - (3.0/70.0)*eps3);
scalar xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
scalar alfa = this->alfa(H, h); const scalar ts = 3.5*h/sqrt(H/h);
const scalar xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
const scalar alfa = this->alfa(H, h);
scalar s = (1.0)/(cosh(alfa*(xa/h))); const scalar s = (1.0)/(cosh(alfa*(xa/h)));
scalar q = tanh(alfa*(xa/h)); const scalar s2 = s*s;
const scalar q = tanh(alfa*(xa/h));
const scalar q2 = q*q;
return h*(eps*s*s - 0.75*eps*eps*s*s*q*q + eps*eps*eps*((5.0/8.0)*s*s*q*q - (101.0/80.0)*s*s*s*s*q*q)); return
h
*(
eps*s2
- 0.75*eps2*s2*q2
+ eps3*(0.625*s2*q2 - 1.2625*s2*s2*q2)
);
} }
//- Wave velocity
Foam::vector Foam::waveModels::Grimshaw::U Foam::vector Foam::waveModels::Grimshaw::Uf
( (
const scalar H, const scalar H,
const scalar h, const scalar h,
@ -96,34 +105,46 @@ Foam::vector Foam::waveModels::Grimshaw::U
const scalar z const scalar z
) const ) const
{ {
scalar eps = H/h; const scalar eps = H/h;
scalar C = sqrt(mag(g_)*h)*sqrt(1.0+eps-(1.0/20.0)*eps*eps-(3.0/70.0)*eps*eps*eps); const scalar eps2 = eps*eps;
scalar ts = 3.5*h/sqrt(H/h); const scalar eps3 = eps*eps2;
scalar xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
scalar alfa = this->alfa(H, h);
scalar s = (1.0)/(cosh(alfa*(xa/h))); const scalar C = sqrt(mag(g_)*h)*sqrt(1.0 + eps - 0.05*eps2 - (3.0/70.0)*eps3);
scalar outa = eps*s*s - eps*eps*(-(1.0/4.0)*s*s + s*s*s*s + ((z/h)*(z/h))*((3.0/2.0)*s*s - (9.0/4.0)*s*s*s*s)); const scalar ts = 3.5*h/sqrt(eps);
scalar outb = (19.0/40.0)*s*s + (1.0/5.0)*s*s*s*s - (6.0/5.0)*s*s*s*s*s*s; const scalar xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
scalar outc = ((z/h)*(z/h)) * ( -(3.0/2.0)*s*s - (15.0/4.0)*s*s*s*s + (15.0/2.0)*s*s*s*s*s*s); const scalar alfa = this->alfa(H, h);
scalar outd = ((z/h)*(z/h)*(z/h)*(z/h)) * ((-3.0/8.0)*s*s + (45.0/16.0)*s*s*s*s - (45.0/16.0)*s*s*s*s*s*s);
scalar u = sqrt(mag(g_)*h)*(outa - eps*eps*eps*(outb+outc+outd)); const scalar s = (1.0)/(cosh(alfa*(xa/h)));
const scalar s2 = s*s;
const scalar s4 = s2*s2;
const scalar s6 = s2*s4;
outa = eps*s*s - eps*eps*((3.0/8.0)*s*s + 2.0*s*s*s*s + ((z/h)*(z/h))*(0.5*s*s - (3.0/2.0)*s*s*s*s)); const scalar zbyh = z/h;
outb = (49.0/640.0)*s*s - (17.0/20.0)*s*s*s*s - (18.0/5.0)*s*s*s*s*s*s; const scalar zbyh2 = zbyh*zbyh;
outc = ((z/h)*(z/h)) * ((-13.0/16.0)*s*s -(25.0/16.0)*s*s*s*s + (15.0/2.0)*s*s*s*s*s*s); const scalar zbyh4 = zbyh2*zbyh2;
outd = ((z/h)*(z/h)*(z/h)*(z/h)) * ((-3.0/40.0)*s*s -(9.0/8.0)*s*s*s*s - (27.0/16.0)*s*s*s*s*s*s);
scalar w = sqrt(mag(g_)*h)*(outa - eps*eps*eps*(outb+outc+outd)); scalar outa = eps*s2 - eps2*(-0.25*s2 + s4 + zbyh2*(1.5*s2 - 2.25*s4));
scalar outb = 0.475*s2 + 0.2*s4 - 1.2*s6;
scalar outc = zbyh2*(-1.5*s2 - 3.75*s4 + 7.5*s6);
scalar outd = zbyh4*(-0.375*s2 + (45.0/16.0)*s4 - (45.0/16.0)*s6);
scalar v = u*sin(waveAngle_); scalar u = sqrt(mag(g_)*h)*(outa - eps3*(outb + outc + outd));
outa = eps*s2 - eps2*(0.375*s2 + 2*s4 + zbyh2*(0.5*s2 - 1.5*s4));
outb = (49.0/640.0)*s2 - 0.85*s4 - 3.6*s6;
outc = zbyh2*((-13.0/16.0)*s2 -(25.0/16.0)*s4 + 7.5*s6);
outd = zbyh4*(-0.075*s2 -1.125*s4 - (27.0/16.0)*s6);
const scalar w = sqrt(mag(g_)*h)*(outa - eps3*(outb + outc + outd));
const scalar v = u*sin(waveAngle_);
u *= cos(waveAngle_); u *= cos(waveAngle_);
return vector(u, v, w); return vector(u, v, w);
} }
void Foam::waveModels::Grimshaw::setLevel void Foam::waveModels::Grimshaw::setLevel
( (
const scalar t, const scalar t,
@ -164,7 +185,7 @@ Foam::waveModels::Grimshaw::Grimshaw
{ {
if (readFields) if (readFields)
{ {
read(dict); readDict(dict);
} }
} }
@ -177,9 +198,9 @@ Foam::waveModels::Grimshaw::~Grimshaw()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::waveModels::Grimshaw::read(const dictionary& overrideDict) bool Foam::waveModels::Grimshaw::readDict(const dictionary& overrideDict)
{ {
if (solitaryWaveModel::read(overrideDict)) if (solitaryWaveModel::readDict(overrideDict))
{ {
return true; return true;
} }
@ -187,12 +208,12 @@ bool Foam::waveModels::Grimshaw::read(const dictionary& overrideDict)
return false; return false;
} }
void Foam::waveModels::Grimshaw::setVelocity void Foam::waveModels::Grimshaw::setVelocity
( (
const scalar t, const scalar t,
const scalar tCoeff, const scalar tCoeff,
const scalarField& level, const scalarField& level
const scalar tg
) )
{ {
forAll(U_, facei) forAll(U_, facei)
@ -207,12 +228,9 @@ void Foam::waveModels::Grimshaw::setVelocity
if (fraction > 0) if (fraction > 0)
{ {
if ( (tg<0) || (t >= tg) )
{
const label paddlei = faceToPaddle_[facei]; const label paddlei = faceToPaddle_[facei];
const vector Uf = U const vector Uf = this->Uf
( (
waveHeight_, waveHeight_,
waterDepthRef_, waterDepthRef_,
@ -224,54 +242,11 @@ void Foam::waveModels::Grimshaw::setVelocity
z z
); );
U_[facei] = fraction*Uf*tCoeff + fraction*UCurrent_; U_[facei] = fraction*Uf*tCoeff;
}
else if ( tg>=t )
{
U_[facei] = fraction*UCurrent_;
}
} }
} }
} }
void Foam::waveModels::Grimshaw::setVelocityAbsorption
(
const scalarField& calculatedLevel,
const scalarField& activeLevel
)
{
forAll(U_, facei)
{
const label paddlei = faceToPaddle_[facei];
scalar activeLevelMBL=activeLevel[paddlei];
scalar zMin = zMin_[facei];
//------ not needed anymore in new release
if (fabs(zMinGb_)>1.0e-3)
{
zMin = zMin - zMinGb_;
}
//------
if (zMin < activeLevelMBL)
{
scalar UCorr =
(calculatedLevel[paddlei] - activeLevel[paddlei])
*sqrt(mag(g_)/activeLevel[paddlei]);
U_[facei].x() += UCorr;
}
else
{
U_[facei].x() = 0;
}
}
}
void Foam::waveModels::Grimshaw::info(Ostream& os) const void Foam::waveModels::Grimshaw::info(Ostream& os) const
{ {

View File

@ -2,8 +2,8 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015 IH-Cantabria \\/ M anipulation | Copyright (C) 2017 IH-Cantabria
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -73,7 +73,7 @@ protected:
) const; ) const;
//- Wave velocity //- Wave velocity
virtual vector U virtual vector Uf
( (
const scalar H, const scalar H,
const scalar h, const scalar h,
@ -98,22 +98,9 @@ protected:
( (
const scalar t, const scalar t,
const scalar tCoeff, const scalar tCoeff,
const scalarField& level, const scalarField& level
const scalar tg
); );
// Add current absorption to velocity
virtual void setCurrent
(
const scalarField& levelMBO
);
//- Calculate the wave model velocity absorption
virtual void setVelocityAbsorption
(
const scalarField& calculatedLevel,
const scalarField& activeLevel
);
public: public:
@ -136,7 +123,7 @@ public:
// Public Member Functions // Public Member Functions
//- Read from dictionary //- Read from dictionary
virtual bool read(const dictionary& overrideDict); virtual bool readDict(const dictionary& overrideDict);
//- Info //- Info
virtual void info(Ostream& os) const; virtual void info(Ostream& os) const;

View File

@ -2,8 +2,8 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015 IH-Cantabria \\/ M anipulation | Copyright (C) 2017 IH-Cantabria
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -56,7 +56,7 @@ Foam::scalar Foam::waveModels::McCowan::eta
const scalar X0 const scalar X0
) const ) const
{ {
vector vec = this->mn(H,h); vector vec = this->mn(H, h);
scalar mm = vec[0]; scalar mm = vec[0];
scalar nn = vec[1]; scalar nn = vec[1];
@ -65,29 +65,29 @@ Foam::scalar Foam::waveModels::McCowan::eta
scalar Xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta); scalar Xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
scalar xin = 0.5*H; scalar xin = 0.5*H;
scalar etas = newtonRapsonF2(xin,H,h,Xa,mm,nn); scalar etas = newtonRapsonF2(xin, H, h, Xa, mm, nn);
return etas; return etas;
} }
Foam::vector Foam::waveModels::McCowan::mn Foam::vector Foam::waveModels::McCowan::mn
( (
const scalar H, const scalar H,
const scalar h const scalar h
) const ) const
{ {
//m // m
scalar xin = 1.0; scalar xin = 1;
scalar m = newtonRapsonF1(xin,H,h); scalar m = newtonRapsonF1(xin, H, h);
//n // n
scalar c1=sin(m+(1.0+((2.0*H)/(3.0*h)))); scalar c1 = sin(m + (1.0 + (2.0*H/(3.0*h))));
scalar n = (2.0/3.0)*pow(c1,2); scalar n = (2.0/3.0)*sqr(c1);
scalar aux=n; return vector(m, n, n);
return vector(m, n, aux);
} }
Foam::scalar Foam::waveModels::McCowan::newtonRapsonF1 Foam::scalar Foam::waveModels::McCowan::newtonRapsonF1
( (
const scalar x0, const scalar x0,
@ -95,58 +95,55 @@ Foam::scalar Foam::waveModels::McCowan::newtonRapsonF1
const scalar h const scalar h
) const ) const
{ {
scalar N=10000; label N = 10000;
scalar eps=1.e-5; scalar eps = 1.e-5;
scalar maxval = 10000.0; scalar maxval = 10000.0;
scalar xn=0; label iter = 1;
scalar x=0; scalar x = x0;
scalar c1=0; scalar residual = 0;
scalar c2=0; while (iter <= N)
scalar c3=0;
scalar fx=0;
scalar fprime=0;
scalar fxn=0;
scalar fxx=0;
//define value for divergence
scalar xx=x0;
while (N>0)
{ {
//f // f
c1=sin(xx+(1.0+((2.0*H)/(3.0*h)))); scalar a = x + 1.0 + 2.0*H/(3.0*h);
fx = (2.0/3.0)*pow(c1,2) - (xx*H)/(h*tan(0.5*xx*(1.0+(H/h)))); scalar b = 0.5*x*(1.0 + H/h);
scalar c = 0.5*x*(1.0 + h/H);
scalar c1 = sin(a);
scalar fx = (2.0/3.0)*sqr(c1) - x*H/(h*tan(b));
//fprime residual = mag(fx);
c2=1/tan(0.5*xx*(h/H + 1.0));
c3=1/sin(0.5*xx*(H/h + 1.0));
fprime=(4.0/3.0)*sin((2.0*H)/(3.0*h) + xx + 1.0)*cos((2.0*H)/(3.0*h) + xx + 1.0)-(h*c2)/H - (0.5*h*xx*(H/h + 1.0)*pow(c3,2))/h;
xn = xx-fx/fprime;
c1=sin(xn+(1.0+((2.0*H)/(3.0*h)))); if (residual < eps)
fxn = (2.0/3.0)*pow(c1,2) - (xn*H)/(h*tan(0.5*xn*(1.0+(H/h)))); {
if (fabs(fxn)<eps) return x;
{ }
x=xn; else if ((iter > 1) && (residual > maxval))
return x; {
} FatalErrorInFunction
<< "Newton-Raphson iterations diverging: "
<< "iterations = " << iter
<< ", residual = " << residual
<< exit(FatalError);
}
c1=sin(xx+(1.0+((2.0*H)/(3.0*h)))); // f-prime
fxx = (2.0/3.0)*pow(c1,2) - (xx*H)/(h*tan(0.5*xx*(1.0+(H/h)))); scalar c2 = 1.0/tan(c);
if (fabs(fxx)>maxval) scalar c3 = 1.0/sin(b);
{
FatalIOErrorInFunction(*this)
<< "fxx > maxval !!!"
<< exit(FatalIOError);
}
N = N - 1; scalar fprime = (4.0/3.0)*c1*cos(a) - c2*h/H - b*sqr(c3);
xx = xn;
x -= fx/fprime;
iter++;
} }
WarningInFunction
<< "Failed to converge in " << iter << " iterations. Residual = "
<< residual << nl << endl;
return x; return x;
} }
Foam::scalar Foam::waveModels::McCowan::newtonRapsonF2 Foam::scalar Foam::waveModels::McCowan::newtonRapsonF2
( (
const scalar x0, const scalar x0,
@ -157,56 +154,54 @@ Foam::scalar Foam::waveModels::McCowan::newtonRapsonF2
const scalar n const scalar n
) const ) const
{ {
scalar N=10000; label N = 10000;
scalar eps=1.e-5; scalar eps = 1.e-5;
scalar maxval = 10000.0; scalar maxval = 10000;
scalar xn=0; label iter = 1;
scalar x=0; scalar x = x0;
scalar c2=0; scalar residual = 0;
scalar c3=0; while (iter <= N)
scalar fx=0;
scalar fprime=0;
scalar fxn=0;
scalar fxx=0;
//define value for divergence
scalar xx=x0;
while (N>0)
{ {
//f // f
fx = xx-(h*(n/m)*((sin(m*(1.0+(xx/h))))/(cos(m*(1.0+(xx/h)))+cosh(m*(xa/h))))); scalar a = m*(1.0 + x/h);
scalar c1 = cos(a);
scalar c2 = sin(a);
//fprime scalar fx = x - (h*n/m*(c2/(c1 + cosh(m*xa/h))));
c2=sin((m*(h + x))/h);
c3=cosh((xa*m)/h) + cos((m*(h + x))/h);
fprime = 1 - (n*cos((m*(h + x))/h))/(cosh((xa*m)/h) + cos((m*(h + x))/h)) - (n*pow(c2,2))/(pow(c3,2));
xn = xx-fx/fprime; residual = mag(fx);
fxn = xn-(h*(n/m)*((sin(m*(1.0+(xn/h))))/(cos(m*(1.0+(xn/h)))+cosh(m*(xa/h))))); if (residual < eps)
if (fabs(fxn)<eps) {
{ return x;
x=xn; }
return x; else if ((iter > 1) && (residual > maxval))
} {
FatalErrorInFunction
<< "Newton-Raphson iterations diverging: "
<< "iterations = " << iter
<< ", residual = " << residual
<< exit(FatalError);
}
fxx = xx-(h*(n/m)*((sin(m*(1.0+(xx/h))))/(cos(m*(1.0+(xx/h)))+cosh(m*(xa/h))))); // f-prime
if (fabs(fxx)>maxval) scalar c3 = cosh(xa*m/h) + c1;
{ scalar fprime = 1 - n/c3*(c1 - sqr(c2)/c3);
FatalIOErrorInFunction(*this)
<< "fxx > maxval !!!"
<< exit(FatalIOError);
}
N = N - 1; x -= fx/fprime;
xx = xn; iter++;
} }
WarningInFunction
<< "Failed to converge in " << iter << " iterations. Residual = "
<< residual << nl << endl;
return x; return x;
} }
Foam::vector Foam::waveModels::McCowan::U
Foam::vector Foam::waveModels::McCowan::Uf
( (
const scalar H, const scalar H,
const scalar h, const scalar h,
@ -218,25 +213,24 @@ Foam::vector Foam::waveModels::McCowan::U
const scalar z const scalar z
) const ) const
{ {
vector vec = this->mn(H,h); const vector vec = this->mn(H, h);
scalar mm = vec[0]; const scalar mm = vec[0];
scalar nn = vec[1]; const scalar nn = vec[1];
scalar C = sqrt(((mag(g_)*h)/mm)*tan(mm)); const scalar C = sqrt((mag(g_)*h)/mm*tan(mm));
scalar ts = 3.5*h/sqrt(H/h); const scalar ts = 3.5*h/sqrt(H/h);
scalar Xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta); const scalar Xa = -C*t + ts - X0 + x*cos(theta) + y*sin(theta);
scalar outa = C*nn*(1.0+cos(mm*(z/h))*cosh(mm*(Xa/h))); scalar outa = C*nn*(1.0 + cos(mm*z/h)*cosh(mm*Xa/h));
scalar outb = (cos(mm*(z/h))+cosh(mm*(Xa/h))) * (cos(mm*(z/h))+cosh(mm*(Xa/h))); scalar outb = sqr(cos(mm*z/h) + cosh(mm*Xa/h));
scalar u = outa/outb; scalar u = outa/outb;
outa = C*nn*(sin(mm*(z/h))*sinh(mm*(Xa/h))); outa = C*nn*sin(mm*z/h)*sinh(mm*Xa/h);
outb = (cos(mm*(z/h))+cosh(mm*(Xa/h))) * (cos(mm*(z/h))+cosh(mm*(Xa/h)));
scalar w = outa/outb; const scalar w = outa/outb;
scalar v = u*sin(waveAngle_); const scalar v = u*sin(waveAngle_);
u *= cos(waveAngle_); u *= cos(waveAngle_);
return vector(u, v, w); return vector(u, v, w);
@ -283,7 +277,7 @@ Foam::waveModels::McCowan::McCowan
{ {
if (readFields) if (readFields)
{ {
read(dict); readDict(dict);
} }
} }
@ -296,9 +290,9 @@ Foam::waveModels::McCowan::~McCowan()
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::waveModels::McCowan::read(const dictionary& overrideDict) bool Foam::waveModels::McCowan::readDict(const dictionary& overrideDict)
{ {
if (solitaryWaveModel::read(overrideDict)) if (solitaryWaveModel::readDict(overrideDict))
{ {
return true; return true;
} }
@ -306,12 +300,12 @@ bool Foam::waveModels::McCowan::read(const dictionary& overrideDict)
return false; return false;
} }
void Foam::waveModels::McCowan::setVelocity void Foam::waveModels::McCowan::setVelocity
( (
const scalar t, const scalar t,
const scalar tCoeff, const scalar tCoeff,
const scalarField& level, const scalarField& level
const scalar tg
) )
{ {
forAll(U_, facei) forAll(U_, facei)
@ -326,12 +320,9 @@ void Foam::waveModels::McCowan::setVelocity
if (fraction > 0) if (fraction > 0)
{ {
if ( (tg<0) || (t >= tg) )
{
const label paddlei = faceToPaddle_[facei]; const label paddlei = faceToPaddle_[facei];
const vector Uf = U const vector Uf = this->Uf
( (
waveHeight_, waveHeight_,
waterDepthRef_, waterDepthRef_,
@ -343,61 +334,11 @@ void Foam::waveModels::McCowan::setVelocity
z z
); );
U_[facei] = fraction*Uf*tCoeff + fraction*UCurrent_; U_[facei] = fraction*Uf*tCoeff;
}
else if ( tg>=t )
{
U_[facei] = fraction*UCurrent_;
}
} }
} }
} }
void Foam::waveModels::McCowan::setVelocityAbsorption
(
const scalarField& calculatedLevel,
const scalarField& activeLevel
)
{
forAll(U_, facei)
{
const label paddlei = faceToPaddle_[facei];
scalar activeLevelMBL=activeLevel[paddlei];
scalar zMin = zMin_[facei];
//------ not needed anymore in new release
if (fabs(zMinGb_)>1.0e-3)
{
zMin = zMin - zMinGb_;
}
//------
if (zMin < activeLevelMBL)
{
scalar UCorr =
(calculatedLevel[paddlei] - activeLevel[paddlei])
*sqrt(mag(g_)/activeLevel[paddlei]);
U_[facei].x() += UCorr;
}
else
{
U_[facei].x() = 0;
}
}
}
void Foam::waveModels::McCowan::setCurrent
(
const scalarField& levelMBO
)
{
//No needed for generation
}
void Foam::waveModels::McCowan::info(Ostream& os) const void Foam::waveModels::McCowan::info(Ostream& os) const
{ {

View File

@ -2,8 +2,8 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016 OpenCFD Ltd. \\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
\\/ M anipulation | Copyright (C) 2015 IH-Cantabria \\/ M anipulation | Copyright (C) 2017 IH-Cantabria
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -89,7 +89,7 @@ protected:
) const; ) const;
//- Wave velocity //- Wave velocity
virtual vector U virtual vector Uf
( (
const scalar H, const scalar H,
const scalar h, const scalar h,
@ -114,22 +114,9 @@ protected:
( (
const scalar t, const scalar t,
const scalar tCoeff, const scalar tCoeff,
const scalarField& level, const scalarField& level
const scalar tg
); );
// Add current absorption to velocity
virtual void setCurrent
(
const scalarField& levelMBO
);
//- Calculate the wave model velocity absorption
virtual void setVelocityAbsorption
(
const scalarField& calculatedLevel,
const scalarField& activeLevel
);
public: public:
@ -152,7 +139,7 @@ public:
// Public Member Functions // Public Member Functions
//- Read from dictionary //- Read from dictionary
virtual bool read(const dictionary& overrideDict); virtual bool readDict(const dictionary& overrideDict);
//- Info //- Info
virtual void info(Ostream& os) const; virtual void info(Ostream& os) const;

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.x | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile
@ -54,90 +54,85 @@ maxDeltaT 0.01;
functions functions
{ {
//Sensores VOF
line line
{ {
type sets; type sets;
functionObjectLibs ("libsampling.so"); libs ("libsampling.so");
enabled true; enabled true;
outputControl writeTime; writeControl writeTime;
outputInterval 1;
interpolationScheme cellPoint; interpolationScheme cellPoint;
setFormat raw; setFormat raw;
sets sets
(
s1
{
type uniform;
axis distance;
start ( 0.865 0.275 0.0 );
end ( 0.865 0.275 0.5 );
nPoints 101;
}
s2
{
type uniform;
axis distance;
start ( 1.065 0.275 0.0 );
end ( 1.065 0.275 0.5 );
nPoints 101;
}
s3
{
type uniform;
axis distance;
start ( 4.1 0.275 0.0 );
end ( 4.1 0.275 0.5 );
nPoints 101;
}
s4
{
type uniform;
axis distance;
start ( 4.645 0.275 0.0 );
end ( 4.645 0.275 0.5 );
nPoints 101;
}
s5
{
type uniform;
axis distance;
start ( 5.2 0.275 0.0 );
end ( 5.2 0.275 0.5 );
nPoints 101;
}
s6
{
type uniform;
axis distance;
start ( 5.85 0.275 0.0 );
end ( 5.85 0.275 0.5 );
nPoints 101;
}
s7
{
type uniform;
axis distance;
start ( 6.15 0.275 0.0 );
end ( 6.15 0.275 0.5 );
nPoints 101;
}
);
fixedLocations false;
fields
( (
alpha.water s1
); {
} type uniform;
axis distance;
start ( 0.865 0.275 0.0 );
end ( 0.865 0.275 0.5 );
nPoints 101;
}
s2
{
type uniform;
axis distance;
start ( 1.065 0.275 0.0 );
end ( 1.065 0.275 0.5 );
nPoints 101;
}
s3
{
type uniform;
axis distance;
start ( 4.1 0.275 0.0 );
end ( 4.1 0.275 0.5 );
nPoints 101;
}
s4
{
type uniform;
axis distance;
start ( 4.645 0.275 0.0 );
end ( 4.645 0.275 0.5 );
nPoints 101;
}
s5
{
type uniform;
axis distance;
start ( 5.2 0.275 0.0 );
end ( 5.2 0.275 0.5 );
nPoints 101;
}
s6
{
type uniform;
axis distance;
start ( 5.85 0.275 0.0 );
end ( 5.85 0.275 0.5 );
nPoints 101;
}
s7
{
type uniform;
axis distance;
start ( 6.15 0.275 0.0 );
end ( 6.15 0.275 0.5 );
nPoints 101;
}
);
fixedLocations false;
fields (alpha.water);
}
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -25,7 +25,7 @@ solvers
cAlpha 1; cAlpha 1;
} }
pcorr "pcorr.*"
{ {
solver PCG; solver PCG;
preconditioner DIC; preconditioner DIC;

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,7 +1,7 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.7.x | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.5-dev | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.3 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 1.6 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile
@ -54,90 +54,85 @@ maxDeltaT 0.01;
functions functions
{ {
//Sensores VOF
line line
{ {
type sets; type sets;
functionObjectLibs ("libsampling.so"); libs ("libsampling.so");
enabled true; enabled true;
outputControl writeTime; writeControl writeTime;
outputInterval 1;
interpolationScheme cellPoint; interpolationScheme cellPoint;
setFormat raw; setFormat raw;
sets sets
(
s1
{
type uniform;
axis distance;
start ( 0.865 0.275 0.0 );
end ( 0.865 0.275 0.5 );
nPoints 101;
}
s2
{
type uniform;
axis distance;
start ( 1.065 0.275 0.0 );
end ( 1.065 0.275 0.5 );
nPoints 101;
}
s3
{
type uniform;
axis distance;
start ( 4.1 0.275 0.0 );
end ( 4.1 0.275 0.5 );
nPoints 101;
}
s4
{
type uniform;
axis distance;
start ( 4.645 0.275 0.0 );
end ( 4.645 0.275 0.5 );
nPoints 101;
}
s5
{
type uniform;
axis distance;
start ( 5.2 0.275 0.0 );
end ( 5.2 0.275 0.5 );
nPoints 101;
}
s6
{
type uniform;
axis distance;
start ( 5.85 0.275 0.0 );
end ( 5.85 0.275 0.5 );
nPoints 101;
}
s7
{
type uniform;
axis distance;
start ( 6.15 0.275 0.0 );
end ( 6.15 0.275 0.5 );
nPoints 101;
}
);
fixedLocations false;
fields
( (
alpha.water s1
); {
} type uniform;
axis distance;
start ( 0.865 0.275 0.0 );
end ( 0.865 0.275 0.5 );
nPoints 101;
}
s2
{
type uniform;
axis distance;
start ( 1.065 0.275 0.0 );
end ( 1.065 0.275 0.5 );
nPoints 101;
}
s3
{
type uniform;
axis distance;
start ( 4.1 0.275 0.0 );
end ( 4.1 0.275 0.5 );
nPoints 101;
}
s4
{
type uniform;
axis distance;
start ( 4.645 0.275 0.0 );
end ( 4.645 0.275 0.5 );
nPoints 101;
}
s5
{
type uniform;
axis distance;
start ( 5.2 0.275 0.0 );
end ( 5.2 0.275 0.5 );
nPoints 101;
}
s6
{
type uniform;
axis distance;
start ( 5.85 0.275 0.0 );
end ( 5.85 0.275 0.5 );
nPoints 101;
}
s7
{
type uniform;
axis distance;
start ( 6.15 0.275 0.0 );
end ( 6.15 0.275 0.5 );
nPoints 101;
}
);
fixedLocations false;
fields (alpha.water);
}
} }
// ************************************************************************* // // ************************************************************************* //

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -25,7 +25,7 @@ solvers
cAlpha 1; cAlpha 1;
} }
pcorr "pcorr.*"
{ {
solver PCG; solver PCG;
preconditioner DIC; preconditioner DIC;

View File

@ -1,8 +1,8 @@
/*--------------------------------*- C++ -*----------------------------------*\ /*--------------------------------*- C++ -*----------------------------------*\
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 | | \\ / O peration | Version: plus |
| \\ / A nd | Web: www.OpenFOAM.org | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.OpenFOAM.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile

View File

@ -2,7 +2,7 @@
| ========= | | | ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: plus | | \\ / O peration | Version: plus |
| \\ / A nd | Web: http://www.openfoam.com | | \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | | | \\/ M anipulation | |
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
FoamFile FoamFile