Merge branch 'master' into develop
This commit is contained in:
commit
c88e95436c
@ -1,5 +1,5 @@
|
|||||||
# About OpenFOAM
|
# About OpenFOAM
|
||||||
OpenFOAM is a free, open source CFD software [released and developed primarily by OpenCFD Ltd](http://www.openfoam.com) since 2004released and developed primarily by. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to acoustics, solid mechanics and electromagnetics. [More...](http://www.openfoam.com/documentation)
|
OpenFOAM is a free, open source CFD software [released and developed primarily by OpenCFD Ltd](http://www.openfoam.com) since 2004. It has a large user base across most areas of engineering and science, from both commercial and academic organisations. OpenFOAM has an extensive range of features to solve anything from complex fluid flows involving chemical reactions, turbulence and heat transfer, to acoustics, solid mechanics and electromagnetics. [More...](http://www.openfoam.com/documentation)
|
||||||
|
|
||||||
OpenFOAM+ is professionally released every six months to include customer sponsored developments and contributions from the community, including the OpenFOAM Foundation. Releases designated OpenFOAM+ contain several man years of client-sponsored developments of which much has been transferred to, but not released in the OpenFOAM Foundation branch.
|
OpenFOAM+ is professionally released every six months to include customer sponsored developments and contributions from the community, including the OpenFOAM Foundation. Releases designated OpenFOAM+ contain several man years of client-sponsored developments of which much has been transferred to, but not released in the OpenFOAM Foundation branch.
|
||||||
|
|
||||||
@ -23,4 +23,4 @@ Violations of the Trademark are continuously monitored, and will be duly prosecu
|
|||||||
- [OpenFOAM Community](http://www.openfoam.com/community/)
|
- [OpenFOAM Community](http://www.openfoam.com/community/)
|
||||||
- [Contacting OpenCFD](http://www.openfoam.com/contact/)
|
- [Contacting OpenCFD](http://www.openfoam.com/contact/)
|
||||||
|
|
||||||
Copyright 2016 OpenCFD Ltd
|
Copyright 2016-2017 OpenCFD Ltd
|
||||||
|
@ -111,6 +111,9 @@ void Foam::waveModel::initialiseGeometry()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set minimum z reference level
|
||||||
|
zMin0_ = gMin(zMin_);
|
||||||
|
|
||||||
// Local paddle-to-face addressing
|
// Local paddle-to-face addressing
|
||||||
faceToPaddle_.setSize(patch_.size(), -1);
|
faceToPaddle_.setSize(patch_.size(), -1);
|
||||||
forAll(faceToPaddle_, facei)
|
forAll(faceToPaddle_, facei)
|
||||||
@ -162,18 +165,21 @@ void Foam::waveModel::setAlpha(const scalarField& level)
|
|||||||
const label paddlei = faceToPaddle_[facei];
|
const label paddlei = faceToPaddle_[facei];
|
||||||
const scalar paddleCalc = level[paddlei];
|
const scalar paddleCalc = level[paddlei];
|
||||||
|
|
||||||
if (zMax_[facei] < paddleCalc)
|
const scalar zMin0 = zMin_[facei] - zMin0_;
|
||||||
|
const scalar zMax0 = zMax_[facei] - zMin0_;
|
||||||
|
|
||||||
|
if (zMax0 < paddleCalc)
|
||||||
{
|
{
|
||||||
alpha_[facei] = 1.0;
|
alpha_[facei] = 1.0;
|
||||||
}
|
}
|
||||||
else if (zMin_[facei] > paddleCalc)
|
else if (zMin0 > paddleCalc)
|
||||||
{
|
{
|
||||||
alpha_[facei] = 0.0;
|
alpha_[facei] = 0.0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scalar dz = paddleCalc - zMin_[facei];
|
scalar dz = paddleCalc - zMin0;
|
||||||
alpha_[facei] = dz/zSpan_;
|
alpha_[facei] = dz/(zMax0 - zMin0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -190,15 +196,15 @@ void Foam::waveModel::setPaddlePropeties
|
|||||||
const label paddlei = faceToPaddle_[facei];
|
const label paddlei = faceToPaddle_[facei];
|
||||||
const scalar paddleCalc = level[paddlei];
|
const scalar paddleCalc = level[paddlei];
|
||||||
const scalar paddleHeight = min(paddleCalc, waterDepthRef_);
|
const scalar paddleHeight = min(paddleCalc, waterDepthRef_);
|
||||||
const scalar zMin = zMin_[facei];
|
const scalar zMin = zMin_[facei] - zMin0_;
|
||||||
const scalar zMax = zMax_[facei];
|
const scalar zMax = zMax_[facei] - zMin0_;
|
||||||
|
|
||||||
fraction = 1;
|
fraction = 1;
|
||||||
z = 0;
|
z = 0;
|
||||||
|
|
||||||
if (zMax < paddleHeight)
|
if (zMax < paddleHeight)
|
||||||
{
|
{
|
||||||
z = z_[facei];
|
z = z_[facei] - zMin0_;
|
||||||
}
|
}
|
||||||
else if (zMin > paddleCalc)
|
else if (zMin > paddleCalc)
|
||||||
{
|
{
|
||||||
@ -211,8 +217,8 @@ void Foam::waveModel::setPaddlePropeties
|
|||||||
if ((zMax > paddleCalc) && (zMin < paddleCalc))
|
if ((zMax > paddleCalc) && (zMin < paddleCalc))
|
||||||
{
|
{
|
||||||
scalar dz = paddleCalc - zMin;
|
scalar dz = paddleCalc - zMin;
|
||||||
fraction = dz/zSpan_;
|
fraction = dz/(zMax - zMin);
|
||||||
z = z_[facei];
|
z = z_[facei] - zMin0_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -224,7 +230,7 @@ void Foam::waveModel::setPaddlePropeties
|
|||||||
else if ((zMax > paddleCalc) && (zMin < paddleCalc))
|
else if ((zMax > paddleCalc) && (zMin < paddleCalc))
|
||||||
{
|
{
|
||||||
scalar dz = paddleCalc - zMin;
|
scalar dz = paddleCalc - zMin;
|
||||||
fraction = dz/zSpan_;
|
fraction = dz/(zMax - zMin);
|
||||||
z = waterDepthRef_;
|
z = waterDepthRef_;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -382,7 +388,7 @@ void Foam::waveModel::correct(const scalar t)
|
|||||||
{
|
{
|
||||||
const label paddlei = faceToPaddle_[facei];
|
const label paddlei = faceToPaddle_[facei];
|
||||||
|
|
||||||
if (zMin_[facei] < activeLevel[paddlei])
|
if (zMin_[facei] - zMin0_ < activeLevel[paddlei])
|
||||||
{
|
{
|
||||||
scalar UCorr =
|
scalar UCorr =
|
||||||
(calculatedLevel[paddlei] - activeLevel[paddlei])
|
(calculatedLevel[paddlei] - activeLevel[paddlei])
|
||||||
|
@ -106,6 +106,9 @@ protected:
|
|||||||
//- Maximum z (point) height per patch face / [m]
|
//- Maximum z (point) height per patch face / [m]
|
||||||
scalarField zMax_;
|
scalarField zMax_;
|
||||||
|
|
||||||
|
//- Minimum z reference level / [m]
|
||||||
|
scalar zMin0_;
|
||||||
|
|
||||||
//- Reference water depth / [m]
|
//- Reference water depth / [m]
|
||||||
scalar waterDepthRef_;
|
scalar waterDepthRef_;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user