diff --git a/src/meshTools/searchableSurfaces/closedTriSurfaceMesh/closedTriSurfaceMesh.H b/src/meshTools/searchableSurfaces/closedTriSurfaceMesh/closedTriSurfaceMesh.H index 47b7795577..054fd14a6c 100644 --- a/src/meshTools/searchableSurfaces/closedTriSurfaceMesh/closedTriSurfaceMesh.H +++ b/src/meshTools/searchableSurfaces/closedTriSurfaceMesh/closedTriSurfaceMesh.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,9 +25,29 @@ Class Foam::closedTriSurfaceMesh Description - A triSurfaceMesh where it is forced to check volumeTypes, used for surfaces - that are topologically non-manifold (small holes or multiple parts) but are - geometrically essentially closed + Like triSurface, a surface geometry formed of discrete facets, e.g. \ + triangles and/or quadrilaterals, defined in a file using formats such as + Wavefront OBJ, or stereolithography STL. A closedTriSurfaceMesh is a + geometry surface which is meant to be closed but contains some + imperfections, e.g. small holes or multiple parts, which mean it is not + strictly closed. + +Usage + \table + Property | Description | Required + file | Name of the geometry file | yes + scale | Scaling factor for surface | no + minQuality | Threshold triangle quality | no + \endtable + + Note: when calculating surface normal vectors, triangles are ignored with + quality < minQuality. + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type closedTriSurfaceMesh; + file "surfaceFile.obj"; + \endverbatim SourceFiles closedTriSurfaceMesh.C diff --git a/src/meshTools/searchableSurfaces/searchableBox/searchableBox.H b/src/meshTools/searchableSurfaces/searchableBox/searchableBox.H index 50d572298c..b45d346792 100644 --- a/src/meshTools/searchableSurfaces/searchableBox/searchableBox.H +++ b/src/meshTools/searchableSurfaces/searchableBox/searchableBox.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,22 @@ Class Foam::searchableBox Description - Searching on bounding box + Surface geometry with a rectangular box shape, aligned with the coordinate + axes, which can be used with snappyHexMesh. + +Usage + \table + Property | Description | Required + min | Minimum point of bounding box | yes + max | Maximum point of bounding box | yes + \endtable + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchableBox; + min (0 0 0); + max (10 10 10); + \endverbatim SourceFiles searchableBox.C diff --git a/src/meshTools/searchableSurfaces/searchableCylinder/searchableCylinder.H b/src/meshTools/searchableSurfaces/searchableCylinder/searchableCylinder.H index 58cc7da773..7c84f40976 100644 --- a/src/meshTools/searchableSurfaces/searchableCylinder/searchableCylinder.H +++ b/src/meshTools/searchableSurfaces/searchableCylinder/searchableCylinder.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,24 @@ Class Foam::searchableCylinder Description - Searching on cylinder + Surface geometry with a cylinder shape, which can be used with + snappyHexMesh. + +Usage + \table + Property | Description | Required + point1 | Point at one end of cylinder axis | yes + point2 | Point at other end of cylinder axis | yes + radius | Cylinder radius | yes + \endtable + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchableCylinder; + point1 (10 10 10); + point2 (20 10 10); + radius 5; + \endverbatim SourceFiles searchableCylinder.C diff --git a/src/meshTools/searchableSurfaces/searchableDisk/searchableDisk.H b/src/meshTools/searchableSurfaces/searchableDisk/searchableDisk.H index 8d27aa0235..7bc51332f7 100644 --- a/src/meshTools/searchableSurfaces/searchableDisk/searchableDisk.H +++ b/src/meshTools/searchableSurfaces/searchableDisk/searchableDisk.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,8 +25,24 @@ Class Foam::searchableDisk Description - Searching on circular disk given as origin, normal (gets normalised) - and radius + Surface geometry with a circular disk shape, which can be used with + snappyHexMesh. + +Usage + \table + Property | Description | Required + origin | Centre of the disk | yes + centre | Normal to the disk surface | yes + radius | Radius of the disk | yes + \endtable + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchableDisk; + origin (10 10 10); + normal (0 1 0); + radius 5; + \endverbatim SourceFiles searchableDisk.C diff --git a/src/meshTools/searchableSurfaces/searchableExtrudedCircle/searchableExtrudedCircle.H b/src/meshTools/searchableSurfaces/searchableExtrudedCircle/searchableExtrudedCircle.H index 8b5034658f..e27b6e4dc5 100644 --- a/src/meshTools/searchableSurfaces/searchableExtrudedCircle/searchableExtrudedCircle.H +++ b/src/meshTools/searchableSurfaces/searchableExtrudedCircle/searchableExtrudedCircle.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,24 @@ Class Foam::searchableExtrudedCircle Description - Searching on edgemesh with constant radius + Surface geometry with a tube shape, which can be used with + snappyHexMesh. The geometry is formed from a line geometry, described + by the edgeMesh (.eMesh) file format, to which a radius is applied + to form a tube. + +Usage + \table + Property | Description | Required + file | File describing the line (.eMesh) | yes + radius | Tube radius | yes + \endtable + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchableExtrudedCircle; + file "line.eMesh"; + radius 5; + \endverbatim SourceFiles searchableExtrudedCircle.C diff --git a/src/meshTools/searchableSurfaces/searchablePlane/searchablePlane.H b/src/meshTools/searchableSurfaces/searchablePlane/searchablePlane.H index e3ada86216..5330d6d1ce 100644 --- a/src/meshTools/searchableSurfaces/searchablePlane/searchablePlane.H +++ b/src/meshTools/searchableSurfaces/searchablePlane/searchablePlane.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,27 @@ Class Foam::searchablePlane Description - Searching on (infinite) plane. See plane.H + Surface geometry of an infinite plane, which can be used with + snappyHexMesh. + +Usage + \table + Property | Description | Required + planeType | Plane type, e.g. pointAndNormal | yes + point | Point location for pointAndNormal plane | yes + normal | Normal vector for pointAndNormal plane | yes + \endtable + + Note: there are also other options for planeType, including + 'planeEquation' and 'embeddedPoints'. + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchablePlane; + planeType pointAndNormal; + point (10 10 10); + normal (0 1 0); + \endverbatim SourceFiles searchablePlane.C diff --git a/src/meshTools/searchableSurfaces/searchablePlate/searchablePlate.H b/src/meshTools/searchableSurfaces/searchablePlate/searchablePlate.H index 8f2f4ea225..dae3f5204b 100644 --- a/src/meshTools/searchableSurfaces/searchablePlate/searchablePlate.H +++ b/src/meshTools/searchableSurfaces/searchablePlate/searchablePlate.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,15 +25,25 @@ Class Foam::searchablePlate Description - Searching on finite plate. Plate has to be aligned with coordinate - axes. - Plate defined as origin and span. One of the components of span has - to be 0 which defines the normal direction. E.g. + Surface geometry of a finite plane, aligned with the coordinate + axes, which can be used with snappyHexMesh. - span = (Sx Sy 0) // plate in x-y plane - origin = (Ox Oy Oz) +Usage + \table + Property | Description | Required + origin | Position of one corner of the plate | yes + span | The vector span of the plate | yes + \endtable - now plane is from (Ox Oy Oz) to (Ox+Sx Oy+Sy Oz) + Note: the span of the plate requires one zero component corresponding to the + normal direction of the plate. + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchablePlate; + origin (10 10 10); + span (20 0 10); + \endverbatim SourceFiles searchablePlate.C diff --git a/src/meshTools/searchableSurfaces/searchableSphere/searchableSphere.H b/src/meshTools/searchableSurfaces/searchableSphere/searchableSphere.H index 16f47ccbe0..0901b931b3 100644 --- a/src/meshTools/searchableSurfaces/searchableSphere/searchableSphere.H +++ b/src/meshTools/searchableSurfaces/searchableSphere/searchableSphere.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,22 @@ Class Foam::searchableSphere Description - Searching on sphere + Surface geometry with a sphere shape, which can be used with + snappyHexMesh. + +Usage + \table + Property | Description | Required + centre | Sphere centre | yes + radius | Sphere radius | yes + \endtable + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type searchableSphere; + centre (10 10 10); + radius 5; + \endverbatim SourceFiles searchableSphere.C diff --git a/src/meshTools/searchableSurfaces/searchableSurfaceCollection/searchableSurfaceCollection.H b/src/meshTools/searchableSurfaces/searchableSurfaceCollection/searchableSurfaceCollection.H index 14ddbdae9d..5a04678485 100644 --- a/src/meshTools/searchableSurfaces/searchableSurfaceCollection/searchableSurfaceCollection.H +++ b/src/meshTools/searchableSurfaces/searchableSurfaceCollection/searchableSurfaceCollection.H @@ -25,8 +25,67 @@ Class Foam::searchableSurfaceCollection Description - Set of transformed searchableSurfaces. Does not do boolean operations. - So when meshing might find parts 'inside'. + Makes a collection of surface geometries by copying from an existing + defined surface geometry. There are no boolean operations, e.g. + overlapping surfaces are not intersected. + +Usage + searchableSurfaceCollection requires a surface geometry to be defined + initially, e.g. \c buildingA in the example below. The collection then + defines copies of buildingA which each can be scaled using the mandatory + \c scale parameter and then rotated and translated by the mandatory + \c transform. In the example below, two geometries are included named + \c buildingB and \c buildingC which are both formed by a translation + of \c buildingA according to the \c origin paramater. No rotation is + applied (by setting e1 and e2 to the global x and y axis directions, + respectively). + + Example specification in snappyHexMeshDict/geometry: + + \verbatim + buildingA + { + type searchableBox; + min (100 100 0); + max (120 120 100); + } + + moreBuildings + { + type searchableSurfaceCollection; + + mergeSubRegions true; + + buildingB + { + surface buildingA; + scale (1 1 1); + transform + { + coordinateSystem + { + type cartesian; + coordinateRotation + { + type axesRotation; + e1 (1 0 0); + e2 (0 1 0); + } + origin (40 40 0); + } + } + } + + buildingC + { + $buildingB; + transform + { + coordinateSystem { origin (30 -40 0); } + } + } + } + \endverbatim SourceFiles searchableSurfaceCollection.C diff --git a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H index 1f14f5cb8d..d7da668b97 100644 --- a/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H +++ b/src/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2022 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,13 +25,26 @@ Class Foam::triSurfaceMesh Description - IOoject and searching on triSurface + A surface geometry formed of discrete facets, e.g. triangles and/or + quadrilaterals, defined in a file using formats such as Wavefront OBJ, or + stereolithography STL. - Note: when constructing from dictionary has optional parameters: - - scale : scaling factor. - - tolerance : relative tolerance for doing intersections - (see triangle::intersection) - - minQuality: discard triangles with low quality when getting normal +Usage + \table + Property | Description | Required + file | Name of the geometry file | yes + scale | Scaling factor for surface | no + minQuality | Threshold triangle quality | no + \endtable + + Note: when calculating surface normal vectors, triangles are ignored with + quality < minQuality. + + Example specification in snappyHexMeshDict/geometry: + \verbatim + type triSurfaceMesh; + file "surfaceFile.obj"; + \endverbatim SourceFiles triSurfaceMesh.C