From dafa5fa6ca80b34c87a147df2f502d0ef3709611 Mon Sep 17 00:00:00 2001 From: mattisnowman <matthias@rauter.it> Date: Sun, 2 Oct 2022 14:34:16 +0200 Subject: [PATCH] BUG: Fixed some indexing errors in gridfileWrite functionObject --- src/avalanche/functionObjects/gridfileWrite.C | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/avalanche/functionObjects/gridfileWrite.C b/src/avalanche/functionObjects/gridfileWrite.C index f3c6fa8..13d37db 100644 --- a/src/avalanche/functionObjects/gridfileWrite.C +++ b/src/avalanche/functionObjects/gridfileWrite.C @@ -126,7 +126,7 @@ bool Foam::functionObjects::gridfileWrite::findNNByCellNeighbors() scalar x(this->xllcenter_+i*this->dx_); scalar y(this->yllcenter_+j*this->dy_); - searchIndex = -1; + searchIndex = 0; //start at the cell index of neighboring raster cell, assuming the next is close if (i > 0) @@ -139,10 +139,8 @@ bool Foam::functionObjects::gridfileWrite::findNNByCellNeighbors() if (nearestNeighbor_[i*nrows_+j-1] > -1) searchIndex = nearestNeighbor_[i*nrows_+j-1]; } - if (searchIndex < 0) - searchIndex = 0; - label old_SearchIndex = -1; + label old_SearchIndex = -2; scalar dmin = pow(c[searchIndex].x()-x,2)+ pow(c[searchIndex].y()-y,2); @@ -167,7 +165,7 @@ bool Foam::functionObjects::gridfileWrite::findNNByCellNeighbors() //check if the point is within the cell label checkedSI = checkPointInCellandNeighborsIterativly(searchIndex, faceFaceAddr, x, y, 2); - if (checkedSI > 0) + if (checkedSI > -1) { nearestNeighbor_[gridIndex] = checkedSI; foundNewValues = true; @@ -279,7 +277,7 @@ void Foam::functionObjects::gridfileWrite::writeField(const areaScalarField& f, raster.vRef()[nrows_-j-1][i] = f[nearestNeighbor_[i*nrows_+j]]; if (secondOrderInterpolations_) { - raster.vRef()[nrows_-j-1][i] += gradf[nearestNeighbor_[i*nrows_+j]]&(pointsOnSurface_[i*nrows_+j]); + raster.vRef()[nrows_-j-1][i] += (pointsOnSurface_[i*nrows_+j])&gradf[nearestNeighbor_[i*nrows_+j]]; } } } -- GitLab