mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: meshRefinement: do all intersections with slightly extended vector for robustness
This commit is contained in:
@ -213,6 +213,14 @@ void Foam::meshRefinement::updateIntersections(const labelList& changedFaces)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do tests in one go
|
// Do tests in one go
|
||||||
labelList surfaceHit;
|
labelList surfaceHit;
|
||||||
{
|
{
|
||||||
@ -316,6 +324,14 @@ void Foam::meshRefinement::checkData()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do tests in one go
|
// Do tests in one go
|
||||||
labelList surfaceHit;
|
labelList surfaceHit;
|
||||||
{
|
{
|
||||||
@ -2247,6 +2263,14 @@ void Foam::meshRefinement::dumpIntersections(const fileName& prefix) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do tests in one go
|
// Do tests in one go
|
||||||
labelList surfaceHit;
|
labelList surfaceHit;
|
||||||
List<pointIndexHit> surfaceHitInfo;
|
List<pointIndexHit> surfaceHitInfo;
|
||||||
|
|||||||
@ -283,6 +283,13 @@ void Foam::meshRefinement::getBafflePatches
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do test for intersections
|
// Do test for intersections
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@ -2447,6 +2454,13 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do test for intersections
|
// Do test for intersections
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|||||||
@ -626,6 +626,13 @@ Foam::label Foam::meshRefinement::markSurfaceRefinement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Do test for higher intersections
|
// Do test for higher intersections
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
@ -835,6 +842,14 @@ Foam::label Foam::meshRefinement::markSurfaceCurvatureRefinement
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Extend segments a bit
|
||||||
|
{
|
||||||
|
const vectorField smallVec(Foam::sqrt(SMALL)*(end-start));
|
||||||
|
start += smallVec;
|
||||||
|
end -= smallVec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Test for all intersections (with surfaces of higher max level than
|
// Test for all intersections (with surfaces of higher max level than
|
||||||
// minLevel) and cache per cell the max surface level and the local normal
|
// minLevel) and cache per cell the max surface level and the local normal
|
||||||
// on that surface.
|
// on that surface.
|
||||||
|
|||||||
Reference in New Issue
Block a user