mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: surface: various updates to the surface utilities
surfaceBooleanFeatures: use CGAL for intersection surfaceCheck: write surface zoning as vtk file surfaceInflate: new utility to offset surface surfacePatch: replacement for surfaceAutoPatch. Also does cutting of surfaces.
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
\\/ M anipulation | Copyright (C) 2015 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -31,21 +31,17 @@ Description
|
||||
|
||||
Note
|
||||
- best decomposition option is hierarchGeomDecomp since
|
||||
guarantees square decompositions.
|
||||
guarantees square decompositions.
|
||||
- triangles might be present on multiple processors.
|
||||
- merging uses geometric tolerance so take care with writing precision.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "treeBoundBox.H"
|
||||
#include "FixedList.H"
|
||||
#include "argList.H"
|
||||
#include "Time.H"
|
||||
#include "polyMesh.H"
|
||||
#include "distributedTriSurfaceMesh.H"
|
||||
#include "mapDistribute.H"
|
||||
#include "triSurfaceFields.H"
|
||||
#include "Pair.H"
|
||||
|
||||
using namespace Foam;
|
||||
|
||||
@ -172,7 +168,7 @@ int main(int argc, char *argv[])
|
||||
"triSurface", // local
|
||||
runTime, // registry
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
IOobject::AUTO_WRITE
|
||||
);
|
||||
|
||||
const fileName actualPath(io.filePath());
|
||||
@ -215,6 +211,7 @@ int main(int argc, char *argv[])
|
||||
Info<< "Writing dummy bounds dictionary to " << ioDict.name()
|
||||
<< nl << endl;
|
||||
|
||||
// Force writing in ascii
|
||||
ioDict.regIOobject::writeObject
|
||||
(
|
||||
IOstream::ASCII,
|
||||
@ -239,23 +236,18 @@ int main(int argc, char *argv[])
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
surfMesh.searchableSurface::name(), // name
|
||||
surfMesh.searchableSurface::instance(), // instance
|
||||
"faceCentres", // name
|
||||
surfMesh.searchableSurface::time().timeName(), // instance
|
||||
surfMesh.searchableSurface::local(), // local
|
||||
surfMesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::AUTO_WRITE
|
||||
),
|
||||
surfMesh,
|
||||
dimLength
|
||||
dimLength,
|
||||
s.faceCentres()
|
||||
)
|
||||
);
|
||||
triSurfaceVectorField& fc = fcPtr();
|
||||
|
||||
forAll(fc, triI)
|
||||
{
|
||||
fc[triI] = s[triI].centre(s.points());
|
||||
}
|
||||
|
||||
// Steal pointer and store object on surfMesh
|
||||
fcPtr.ptr()->store();
|
||||
@ -290,7 +282,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
Info<< "Writing surface." << nl << endl;
|
||||
surfMesh.searchableSurface::write();
|
||||
surfMesh.objectRegistry::write();
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user