1 /*--------------------------------*- C++ -*----------------------------------*\
3 | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
4 | \\ / O peration | Version: 2.0.0 |
5 | \\ / A nd | Web: www.OpenFOAM.org |
6 | \\/ M anipulation | |
7 \*---------------------------------------------------------------------------*/
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 // List of actions. Each action is a dictionary with e.g.
21 // // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
24 // // action to perform on set. Two types:
25 // // - require no source : clear/invert
26 // // - require source : new/add/delete/subset
29 // The source entry varies according to the type of set:
34 // // Select by explicitly providing cell labels
35 // source labelToCell;
38 // value (12 13 56); // labels of cells
41 // // Copy elements from cellSet
48 // // Cells in cell zone
52 // name ".*Zone"; // Name of cellZone, regular expressions allowed
55 // // Cells on master or slave side of faceZone
56 // source faceZoneToCell;
59 // name ".*Zone"; // Name of faceZone, regular expressions allowed
60 // option master; // master/slave
63 // // Select based on faceSet
67 // set f0; // Name of faceSet
69 // //option neighbour; // cell with neighbour in faceSet
70 // //option owner; // ,, owner
71 // option any; // cell with any face in faceSet
72 // //option all; // cell with all faces in faceSet
75 // // Select based on pointSet
76 // source pointToCell;
80 // option any; // cell with any point in pointSet
81 // //option all; // cell with all points in pointSet
84 // // Select based on cellShape
85 // source shapeToCell;
88 // type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex
91 // // Cells with cell centre within box
95 // box (0 0 0) (1 1 1);
98 // // Cells with cell centre within box
99 // // Is skewed, rotated box. Given as origin and three spanning vectors.
100 // source rotatedBoxToCell;
103 // origin (0.2 0.2 -10);
109 // // Cells with centre within cylinder
110 // source cylinderToCell;
113 // p1 (0.2 0.2 -10); // start point on cylinder axis
114 // p2 (0.2 0.2 0); // end point on cylinder axis
118 // // Cells with centre within sphere
119 // source sphereToCell;
122 // centre (0.2 0.2 -10);
126 // // Cells with cellCentre nearest to coordinates
127 // source nearestToCell;
130 // points ((0 0 0) (1 1 1)(2 2 2));
133 // // Select based on surface
134 // source surfaceToCell;
137 // file "www.avl.com-geometry.stl";
138 // outsidePoints ((-99 -99 -59)); // definition of outside
139 // includeCut false; // cells cut by surface
140 // includeInside false; // cells not on outside of surf
141 // includeOutside false; // cells on outside of surf
142 // nearDistance -1; // cells with centre near surf
143 // // (set to -1 if not used)
144 // curvature 0.9; // cells within nearDistance
145 // // and near surf curvature
146 // // (set to -100 if not used)
149 // // values of field within certain range
150 // source fieldToCell;
153 // fieldName U; // Note: uses mag(U) since volVectorField
158 // // Mesh region (non-face connected part of (subset of)mesh)
159 // source regionToCell;
162 // set c0; // name of cellSet giving mesh subset
163 // insidePoint (1 2 3); // point inside region to select
171 // // Copy elements from faceSet
172 // source faceToFace;
178 // // Select based on cellSet
179 // source cellToFace;
183 // option all; // All faces of cells
184 // //option both; // Only faces whose owner&neighbour are in cellSet
187 // // Select based on pointSet
188 // source pointToFace;
192 // option any; // Faces using any point in pointSet
193 // //option all // Faces with all points in pointSet
196 // // Select by explicitly providing face labels
197 // source labelToFace;
200 // value (12 13 56); // labels of faces
203 // // All faces of patch
204 // source patchToFace;
207 // name ".*Wall"; // Name of patch, regular expressions allowed
210 // // All faces of faceZone
211 // source zoneToFace;
214 // name ".*Zone1"; // Name of faceZone, regular expressions allowed
217 // // Faces with face centre within box
221 // box (0 0 0) (1 1 1);
224 // // Faces with normal to within certain angle aligned with vector.
225 // source normalToFace;
228 // normal (0 0 1); // Vector
229 // cos 0.01; // Tolerance (max cos of angle)
237 // // Copy elements from pointSet
238 // source pointToPoint;
244 // // Select based on cellSet
245 // source cellToPoint;
249 // option all; // all points of cell
252 // // Select based on faceSet
253 // source faceToPoint;
256 // set f0; // name of faceSet
257 // option all; // all points of face
260 // // Select by explicitly providing point labels
261 // source labelToPoint;
264 // value (12 13 56); // labels of points
267 // // All points in pointzone
268 // source zoneToPoint;
271 // name ".*Zone"; // name of pointZone, regular expressions allowed
274 // // Points nearest to coordinates
275 // source nearestToPoint;
278 // points ((0 0 0) (1 1 1));
281 // // Points with coordinate within box
282 // source boxToPoint;
285 // box (0 0 0) (1 1 1);
288 // // Select based on surface
289 // source surfaceToPoint;
292 // file "www.avl.com-geometry.stl";
293 // nearDistance 0.1; // points near to surface
294 // includeInside false; // points on inside of surface
295 // // (requires closed surface with consistent
297 // includeOutside false; // ,, outside ,,
305 // (mirrors operations on a cellSet into a cellZone)
307 // // Select based on cellSet
308 // source setToCellZone;
311 // set c0; // name of cellSet
318 // // Select based on faceSet without orientation
319 // source setToFaceZone;
322 // set f0; // name of faceSet
325 // // Select based on faceSet, using cellSet to determine orientation
326 // source setsToFaceZone;
329 // faceSet f0; // name of faceSet
330 // cellSet c0; // name of cellSet of slave side
335 // Example:pick up internal faces on outside of cellSet
336 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
338 // Load initial cellSet
350 // Get all faces in cellSet
363 // Determine inverse cellSet
380 // Keep in f0 all faces in c1
394 // ************************************************************************* //