BUG: meshSearch: force early construction of face diagonals

This commit is contained in:
mattijs
2012-02-07 12:45:13 +00:00
parent 0dbdea4781
commit e36da730fe
4 changed files with 20 additions and 5 deletions

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -508,7 +508,13 @@ Foam::meshSearch::meshSearch
: :
mesh_(mesh), mesh_(mesh),
cellDecompMode_(cellDecompMode) cellDecompMode_(cellDecompMode)
{} {
if (cellDecompMode_ == polyMesh::FACEDIAGTETS)
{
// Force construction of face diagonals
(void)mesh.tetBasePtIs();
}
}
// Construct with a custom bounding box // Construct with a custom bounding box
@ -523,6 +529,12 @@ Foam::meshSearch::meshSearch
cellDecompMode_(cellDecompMode) cellDecompMode_(cellDecompMode)
{ {
overallBbPtr_.reset(new treeBoundBox(bb)); overallBbPtr_.reset(new treeBoundBox(bb));
if (cellDecompMode_ == polyMesh::FACEDIAGTETS)
{
// Force construction of face diagonals
(void)mesh.tetBasePtIs();
}
} }

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2011 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -42,6 +42,7 @@ namespace Foam
void Foam::patchProbes::findElements(const fvMesh& mesh) void Foam::patchProbes::findElements(const fvMesh& mesh)
{ {
(void)mesh.tetBasePtIs();
const polyBoundaryMesh& bm = mesh.boundaryMesh(); const polyBoundaryMesh& bm = mesh.boundaryMesh();

View File

@ -51,9 +51,11 @@ void Foam::cloudSet::calcSamples
DynamicList<scalar>& samplingCurveDist DynamicList<scalar>& samplingCurveDist
) const ) const
{ {
const meshSearch& queryMesh = searchEngine();
forAll(sampleCoords_, sampleI) forAll(sampleCoords_, sampleI)
{ {
label cellI = searchEngine().findCell(sampleCoords_[sampleI]); label cellI = queryMesh.findCell(sampleCoords_[sampleI]);
if (cellI != -1) if (cellI != -1)
{ {

View File

@ -114,7 +114,7 @@ void Foam::patchCloudSet::calcSamples
10, // leafsize 10, // leafsize
3.0 // duplicity 3.0 // duplicity
); );
(void)mesh().tetBasePtIs();
// All the info for nearest. Construct to miss // All the info for nearest. Construct to miss