searchableSurfaces: document header files

This commit is contained in:
Chris Greenshields
2022-07-09 17:21:28 +01:00
parent 65f7962bcf
commit 58fee9c3e4
10 changed files with 236 additions and 34 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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