Skip to content
Snippets Groups Projects
Commit ff19bedb authored by mattijs's avatar mattijs
Browse files

BUG: SPDP mode: guaranteeing initial value. Fixes #1590.

In differing precisions the PrecisionAdaptor will copy
the input array element by element and this can trigger
NaN detection.
parent 49e63378
No related branches found
No related tags found
No related merge requests found
......@@ -82,15 +82,18 @@ void Foam::primitiveMesh::makeCellCentresAndVols
{
typedef Vector<solveScalar> solveVector;
// Clear the fields for accumulation. Note1: we're doing this before
// any precision conversion since this might complain about illegal numbers.
// Note2: zero is a special value which is perfectly converted into zero
// in the new precision
cellCtrs_s = Zero;
cellVols_s = 0.0;
PrecisionAdaptor<solveVector, vector> tcellCtrs(cellCtrs_s);
Field<solveVector>& cellCtrs = tcellCtrs.ref();
PrecisionAdaptor<solveScalar, scalar> tcellVols(cellVols_s);
Field<solveScalar>& cellVols = tcellVols.ref();
// Clear the fields for accumulation
cellCtrs = Zero;
cellVols = 0.0;
const labelList& own = faceOwner();
const labelList& nei = faceNeighbour();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment