Commit 8c19497e authored by Michael Turner's avatar Michael Turner

Merge remote-tracking branch 'origin/master' into perf/ExtractTracePhys2D

parents e33213c3 7c21046a
......@@ -50,6 +50,12 @@ v5.0.0
**Documentation**:
- Added the developer-guide repository as a submodule (!751)
v4.4.2
------
**Library**
- Fix evaluation of points (e.g. HistoryPoints, Interpolation to pts) close to
the interface of two elements (!836)
v4.4.1
------
**Library**
......
......@@ -350,7 +350,16 @@ void Interpolator::Interpolate(
// Obtain Element and LocalCoordinate to interpolate
int elmtid = m_expInField[0]->GetExpIndex(Scoords, Lcoords,
NekConstants::kNekZeroTol);
NekConstants::kGeomFactorsTol);
// we use kGeomFactorsTol as tolerance, while StdPhysEvaluate has
// kNekZeroTol hardcoded, so we need to limit Lcoords to not produce
// a ton of warnings
for(int j = 0; j < nInDim; ++j)
{
Lcoords[j] = std::max(Lcoords[j], -1.0);
Lcoords[j] = std::min(Lcoords[j], 1.0);
}
if (elmtid >= 0)
{
......@@ -431,7 +440,16 @@ void Interpolator::Interpolate(
// Obtain Element and LocalCoordinate to interpolate
int elmtid = m_expInField[0]->GetExpIndex(coords, Lcoords,
NekConstants::kNekZeroTol);
NekConstants::kGeomFactorsTol);
// we use kGeomFactorsTol as tolerance, while StdPhysEvaluate has
// kNekZeroTol hardcoded, so we need to limit Lcoords to not produce
// a ton of warnings
for(int j = 0; j < nInDim; ++j)
{
Lcoords[j] = std::max(Lcoords[j], -1.0);
Lcoords[j] = std::min(Lcoords[j], 1.0);
}
if (elmtid >= 0)
{
......
......@@ -226,12 +226,18 @@ void FilterHistoryPoints::v_Initialise(
if (m_isHomogeneous1D)
{
idList[i] = pFields[0]->GetPlane(0)->GetExpIndex(gloCoord,locCoords,
NekConstants::kNekZeroTol);
NekConstants::kGeomFactorsTol);
}
else
{
idList[i] = pFields[0]->GetExpIndex(gloCoord,locCoords,
NekConstants::kNekZeroTol);
NekConstants::kGeomFactorsTol);
}
for(int j = 0; j < 3; ++j)
{
locCoords[j] = std::max(locCoords[j], -1.0);
locCoords[j] = std::min(locCoords[j], 1.0);
}
// Save Local coordinates for later
......
......@@ -308,7 +308,7 @@ namespace Nektar
}
}
v_GetLocCoords(gloCoord, locCoord);
resid = v_GetLocCoords(gloCoord, locCoord);
if (locCoord[0] >= -(1+tol) && locCoord[0] <= 1+tol
&& locCoord[1] >= -(1+tol) && locCoord[1] <= 1+tol
......@@ -325,12 +325,12 @@ namespace Nektar
{
if(locCoord[i] <-(1+tol))
{
locCoord[i] = -(1+tol);
locCoord[i] = -1;
}
if(locCoord[i] > (1+tol))
{
locCoord[i] = 1+tol;
locCoord[i] = 1;
}
}
......
......@@ -204,12 +204,12 @@ namespace Nektar
{
if(locCoord[i] <-(1+tol))
{
locCoord[i] = -(1+tol);
locCoord[i] = -1;
}
if(locCoord[i] > (1+tol))
{
locCoord[i] = 1+tol;
locCoord[i] = 1;
}
}
......
......@@ -167,12 +167,12 @@ namespace Nektar
{
if(locCoord[i] <-(1+tol))
{
locCoord[i] = -(1+tol);
locCoord[i] = -1;
}
if(locCoord[i] > (1+tol))
{
locCoord[i] = 1+tol;
locCoord[i] = 1;
}
}
......
......@@ -92,8 +92,8 @@ namespace Nektar
NekDouble val;
DNekMatSharedPtr I = m_base[0]->GetI(Lcoord);
ASSERTL2(Lcoord[0] >= -1,"Lcoord[0] < -1");
ASSERTL2(Lcoord[0] <= 1,"Lcoord[0] > 1");
ASSERTL2(Lcoord[0] >= -1 - NekConstants::kNekZeroTol,"Lcoord[0] < -1");
ASSERTL2(Lcoord[0] <= 1 + NekConstants::kNekZeroTol,"Lcoord[0] > 1");
val = Blas::Ddot(nquad, I->GetPtr(), 1, physvals, 1);
......
......@@ -145,12 +145,12 @@ namespace Nektar
Array<OneD, NekDouble> eta = Array<OneD, NekDouble>(3);
Array<OneD, DNekMatSharedPtr> I(3);
WARNINGL2(coords[0] >= -1,"coord[0] < -1");
WARNINGL2(coords[0] <= 1,"coord[0] > 1");
WARNINGL2(coords[1] >= -1,"coord[1] < -1");
WARNINGL2(coords[1] <= 1,"coord[1] > 1");
WARNINGL2(coords[2] >= -1,"coord[2] < -1");
WARNINGL2(coords[2] <= 1,"coord[2] > 1");
WARNINGL2(coords[0] >= -1 - NekConstants::kNekZeroTol,"coord[0] < -1");
WARNINGL2(coords[0] <= 1 + NekConstants::kNekZeroTol,"coord[0] > 1");
WARNINGL2(coords[1] >= -1 - NekConstants::kNekZeroTol,"coord[1] < -1");
WARNINGL2(coords[1] <= 1 + NekConstants::kNekZeroTol,"coord[1] > 1");
WARNINGL2(coords[2] >= -1 - NekConstants::kNekZeroTol,"coord[2] < -1");
WARNINGL2(coords[2] <= 1 + NekConstants::kNekZeroTol,"coord[2] > 1");
// Obtain local collapsed corodinate from
// cartesian coordinate.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment