From 0b83cebd1254cf7ba0ab19c01d66ab8de221be9e Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Wed, 23 Nov 2016 10:41:37 +0000 Subject: [PATCH] BUG: wave model active absorption loop should be over all patch faces --- .../code/waveModel/waveModel/waveModel.C | 27 +++++++++---------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/integration/OpenCFD/code/waveModel/waveModel/waveModel.C b/integration/OpenCFD/code/waveModel/waveModel/waveModel.C index 876d7c2097..820b5ca30f 100644 --- a/integration/OpenCFD/code/waveModel/waveModel/waveModel.C +++ b/integration/OpenCFD/code/waveModel/waveModel/waveModel.C @@ -370,24 +370,21 @@ void Foam::waveModel::correct(const scalar t) { 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]) - { - scalar UCorr = - (calculatedLevel[paddlei] - activeLevel[paddlei]) - *sqrt(mag(g_)/activeLevel[paddlei]); - - U_[facei].x() += UCorr; - } - else - { - U_[facei] = vector::zero; - } + U_[facei].x() += UCorr; + } + else + { + U_[facei].x() = 0; } } }