diff --git a/src/meshTools/searchableSurface/distributedTriSurfaceMesh.C b/src/meshTools/searchableSurface/distributedTriSurfaceMesh.C index 870f7e8324bf3665463790e98c2dd72f704fa94d..501998cafcd1756e862f2d1cab65d473ac6ae819 100644 --- a/src/meshTools/searchableSurface/distributedTriSurfaceMesh.C +++ b/src/meshTools/searchableSurface/distributedTriSurfaceMesh.C @@ -1341,27 +1341,53 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh dict_(io, dict) { read(); + + if (debug) + { + Info<< "Constructed from triSurface:" << endl; + writeStats(Info); + } } Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh(const IOobject& io) : - triSurfaceMesh(io), + //triSurfaceMesh(io), + triSurfaceMesh + ( + IOobject + ( + io.name(), + io.time().findInstance(io.local(), word::null), + io.local(), + io.db(), + io.readOpt(), + io.writeOpt(), + io.registerObject() + ) + ), dict_ ( IOobject ( - searchableSurface::name() + "Dict", - searchableSurface::instance(), - searchableSurface::local(), - searchableSurface::db(), - searchableSurface::readOpt(), - searchableSurface::writeOpt(), - searchableSurface::registerObject() + triSurfaceMesh::name() + "Dict", + triSurfaceMesh::instance(), + triSurfaceMesh::local(), + triSurfaceMesh::db(), + triSurfaceMesh::readOpt(), + triSurfaceMesh::writeOpt(), + triSurfaceMesh::registerObject() ) ) { read(); + + if (debug) + { + Info<< "Read distributedTriSurface from " << io.objectPath() + << ':' << endl; + writeStats(Info); + } } @@ -1371,22 +1397,43 @@ Foam::distributedTriSurfaceMesh::distributedTriSurfaceMesh const dictionary& dict ) : - triSurfaceMesh(io, dict), + //triSurfaceMesh(io, dict), + triSurfaceMesh + ( + IOobject + ( + io.name(), + io.time().findInstance(io.local(), word::null), + io.local(), + io.db(), + io.readOpt(), + io.writeOpt(), + io.registerObject() + ), + dict + ), dict_ ( IOobject ( - searchableSurface::name() + "Dict", - searchableSurface::instance(), - searchableSurface::local(), - searchableSurface::db(), - searchableSurface::readOpt(), - searchableSurface::writeOpt(), - searchableSurface::registerObject() + triSurfaceMesh::name() + "Dict", + triSurfaceMesh::instance(), + triSurfaceMesh::local(), + triSurfaceMesh::db(), + triSurfaceMesh::readOpt(), + triSurfaceMesh::writeOpt(), + triSurfaceMesh::registerObject() ) ) { read(); + + if (debug) + { + Info<< "Read distributedTriSurface from " << io.objectPath() + << " and dictionary:" << endl; + writeStats(Info); + } } diff --git a/src/meshTools/searchableSurface/distributedTriSurfaceMesh.H b/src/meshTools/searchableSurface/distributedTriSurfaceMesh.H index 733cd24891e21befee9e9318fa301180bc3f8966..678f1199d4c96cf511e6642a3c29c34ea314c3ca 100644 --- a/src/meshTools/searchableSurface/distributedTriSurfaceMesh.H +++ b/src/meshTools/searchableSurface/distributedTriSurfaceMesh.H @@ -317,10 +317,11 @@ public: const dictionary& dict ); - //- Construct read + //- Construct read. Does findInstance to find io.local(). distributedTriSurfaceMesh(const IOobject& io); - //- Construct from dictionary (used by searchableSurface) + //- Construct from dictionary (used by searchableSurface). + // Does read. Does findInstance to find io.local(). distributedTriSurfaceMesh ( const IOobject& io, diff --git a/src/meshTools/searchableSurface/searchableSphere.C b/src/meshTools/searchableSurface/searchableSphere.C index ba5a1888cfb343f39605b49b8111083427d7562c..287ae6743c2bb508c0ef64322036fac617123dcd 100644 --- a/src/meshTools/searchableSurface/searchableSphere.C +++ b/src/meshTools/searchableSurface/searchableSphere.C @@ -53,7 +53,14 @@ Foam::pointIndexHit Foam::searchableSphere::findNearest if (nearestDistSqr > sqr(magN-radius_)) { - info.rawPoint() = centre_ + n/magN*radius_; + if (magN < ROOTVSMALL) + { + info.rawPoint() = centre_ + vector(1,0,0)/magN*radius_; + } + else + { + info.rawPoint() = centre_ + n/magN*radius_; + } info.setHit(); info.setIndex(0); } diff --git a/src/meshTools/searchableSurface/triSurfaceMesh.C b/src/meshTools/searchableSurface/triSurfaceMesh.C index 121762d7c4e219fc05f570535ab903d5eccaa87a..9958afd1b155167a1e08bc9f3926f94cad434532 100644 --- a/src/meshTools/searchableSurface/triSurfaceMesh.C +++ b/src/meshTools/searchableSurface/triSurfaceMesh.C @@ -228,19 +228,19 @@ Foam::triSurfaceMesh::triSurfaceMesh(const IOobject& io, const triSurface& s) Foam::triSurfaceMesh::triSurfaceMesh(const IOobject& io) : // Find instance for triSurfaceMesh - searchableSurface - ( - IOobject - ( - io.name(), - io.time().findInstance(io.local(), word::null), - io.local(), - io.db(), - io.readOpt(), - io.writeOpt(), - io.registerObject() - ) - ), + searchableSurface(io), + //( + // IOobject + // ( + // io.name(), + // io.time().findInstance(io.local(), word::null), + // io.local(), + // io.db(), + // io.readOpt(), + // io.writeOpt(), + // io.registerObject() + // ) + //), // Reused found instance in objectRegistry objectRegistry ( @@ -273,19 +273,19 @@ Foam::triSurfaceMesh::triSurfaceMesh const dictionary& dict ) : - searchableSurface - ( - IOobject - ( - io.name(), - io.time().findInstance(io.local(), word::null), - io.local(), - io.db(), - io.readOpt(), - io.writeOpt(), - io.registerObject() - ) - ), + searchableSurface(io), + //( + // IOobject + // ( + // io.name(), + // io.time().findInstance(io.local(), word::null), + // io.local(), + // io.db(), + // io.readOpt(), + // io.writeOpt(), + // io.registerObject() + // ) + //), // Reused found instance in objectRegistry objectRegistry ( diff --git a/src/meshTools/searchableSurface/triSurfaceMesh.H b/src/meshTools/searchableSurface/triSurfaceMesh.H index d7aa33cfca43059c1cf5154bd231408b07e37b2c..4f98f37064d90c023db0598ae23351d8af69b9ea 100644 --- a/src/meshTools/searchableSurface/triSurfaceMesh.H +++ b/src/meshTools/searchableSurface/triSurfaceMesh.H @@ -117,7 +117,6 @@ public: triSurfaceMesh(const IOobject& io); //- Construct from IO and dictionary (used by searchableSurface). - // Does timeInstance search. // Dictionary may contain a 'scale' entry (eg, 0.001: mm -> m) triSurfaceMesh (