mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: wave model active absorption loop should be over all patch faces
This commit is contained in:
@ -370,24 +370,21 @@ void Foam::waveModel::correct(const scalar t)
|
|||||||
{
|
{
|
||||||
const scalarField activeLevel(this->waterLevel());
|
const scalarField activeLevel(this->waterLevel());
|
||||||
|
|
||||||
if (patch_.size())
|
forAll(U_, facei)
|
||||||
{
|
{
|
||||||
forAll(activeLevel, facei)
|
const label paddlei = faceToPaddle_[facei];
|
||||||
|
|
||||||
|
if (zMin_[facei] < activeLevel[paddlei])
|
||||||
{
|
{
|
||||||
const label paddlei = faceToPaddle_[facei];
|
scalar UCorr =
|
||||||
|
(calculatedLevel[paddlei] - activeLevel[paddlei])
|
||||||
|
*sqrt(mag(g_)/activeLevel[paddlei]);
|
||||||
|
|
||||||
if (zMin_[facei] < activeLevel[paddlei])
|
U_[facei].x() += UCorr;
|
||||||
{
|
}
|
||||||
scalar UCorr =
|
else
|
||||||
(calculatedLevel[paddlei] - activeLevel[paddlei])
|
{
|
||||||
*sqrt(mag(g_)/activeLevel[paddlei]);
|
U_[facei].x() = 0;
|
||||||
|
|
||||||
U_[facei].x() += UCorr;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
U_[facei] = vector::zero;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user