STYLE: topoSetDict: improved comment
[OpenFOAM-2.0.x.git] / applications / utilities / mesh / manipulation / topoSet / topoSetDict
blob24c4e7b3f2a377c82726f8e37a75f8042be4beb1
1 /*--------------------------------*- C++ -*----------------------------------*\
2 | =========                 |                                                 |
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 \*---------------------------------------------------------------------------*/
8 FoamFile
10     version     2.0;
11     format      ascii;
12     class       dictionary;
13     object      topoSetDict;
15 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
17 // List of actions. Each action is a dictionary with e.g.
18 //     // name of set
19 //     name    c0;
21 //     // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet
22 //     type    cellSet;
24 //     // action to perform on set. Two types:
25 //     // - require no source : clear/invert
26 //     // - require source    : new/add/delete/subset
27 //     action  new;
29 // The source entry varies according to the type of set:
31 // cellSet
32 // ~~~~~~~
34 //    // Select by explicitly providing cell labels
35 //    source labelToCell;
36 //    sourceInfo
37 //    {
38 //        value (12 13 56);   // labels of cells
39 //    }
41 //    // Copy elements from cellSet
42 //    source cellToCell;
43 //    sourceInfo
44 //    {
45 //        set c1;
46 //    }
48 //    // Cells in cell zone
49 //    source zoneToCell;
50 //    sourceInfo
51 //    {
52 //        name ".*Zone";      // Name of cellZone, regular expressions allowed
53 //    }
55 //    // Cells on master or slave side of faceZone
56 //    source faceZoneToCell;
57 //    sourceInfo
58 //    {
59 //        name ".*Zone";      // Name of faceZone, regular expressions allowed
60 //        option master;      // master/slave
61 //    }
63 //    // Select based on faceSet
64 //    source faceToCell;
65 //    sourceInfo
66 //    {
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
73 //    }
75 //    // Select based on pointSet
76 //    source pointToCell;
77 //    sourceInfo
78 //    {
79 //        set p0;
80 //        option any;         // cell with any point in pointSet
81 //        //option all;       // cell with all points in pointSet
82 //    }
84 //    // Select based on cellShape
85 //    source shapeToCell;
86 //    sourceInfo
87 //    {
88 //        type hex;           // hex/wedge/prism/pyr/tet/tetWedge/splitHex
89 //    }
91 //    // Cells with cell centre within box
92 //    source boxToCell;
93 //    sourceInfo
94 //    {
95 //       box   (0 0 0) (1 1 1);
96 //    }
98 //    // Cells with cell centre within box
99 //    // Is skewed, rotated box. Given as origin and three spanning vectors.
100 //    source rotatedBoxToCell;
101 //    sourceInfo
102 //    {
103 //       origin   (0.2 0.2 -10);
104 //       i        (0.2 0.2 0);
105 //       j        (-0.2 0.2 0);
106 //       k        (10 10 10);
107 //    }
109 //    // Cells with centre within cylinder
110 //    source cylinderToCell;
111 //    sourceInfo
112 //    {
113 //       p1       (0.2 0.2 -10); // start point on cylinder axis
114 //       p2       (0.2 0.2 0);   // end point on cylinder axis
115 //       radius   5.0;
116 //    }
118 //    // Cells with centre within sphere
119 //    source sphereToCell;
120 //    sourceInfo
121 //    {
122 //       centre   (0.2 0.2 -10);
123 //       radius   5.0;
124 //    }
126 //    // Cells with cellCentre nearest to coordinates
127 //    source nearestToCell;
128 //    sourceInfo
129 //    {
130 //       points ((0 0 0) (1 1 1)(2 2 2));
131 //    }
133 //    // Select based on surface
134 //    source surfaceToCell;
135 //    sourceInfo
136 //    {
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)
147 //    }
149 //    // values of field within certain range
150 //    source fieldToCell;
151 //    sourceInfo
152 //    {
153 //        fieldName   U;      // Note: uses mag(U) since volVectorField
154 //        min         0.1;
155 //        max         0.5;
156 //    }
158 //    // Mesh region (non-face connected part of (subset of)mesh)
159 //    source regionToCell;
160 //    sourceInfo
161 //    {
162 //        set         c0;         // name of cellSet giving mesh subset
163 //        insidePoint (1 2 3);    // point inside region to select
164 //    }
168 // faceSet
169 // ~~~~~~~
171 //    // Copy elements from faceSet
172 //    source faceToFace;
173 //    sourceInfo
174 //    {
175 //        set f1;
176 //    }
178 //    // Select based on cellSet
179 //    source cellToFace;
180 //    sourceInfo
181 //    {
182 //        set c0;
183 //        option all;         // All faces of cells
184 //        //option both;      // Only faces whose owner&neighbour are in cellSet
185 //    }
187 //    // Select based on pointSet
188 //    source pointToFace;
189 //    sourceInfo
190 //    {
191 //        set p0;
192 //        option any;         // Faces using any point in pointSet
193 //        //option all        // Faces with all points in pointSet
194 //    }
196 //    //  Select by explicitly providing face labels
197 //    source labelToFace;
198 //    sourceInfo
199 //    {
200 //        value (12 13 56);   // labels of faces
201 //    }
203 //    // All faces of patch
204 //    source patchToFace;
205 //    sourceInfo
206 //    {
207 //        name ".*Wall";      // Name of patch, regular expressions allowed
208 //    }
210 //    // All faces of faceZone
211 //    source zoneToFace;
212 //    sourceInfo
213 //    {
214 //        name ".*Zone1";     // Name of faceZone, regular expressions allowed
215 //    }
217 //    // Faces with face centre within box
218 //    source boxToFace;
219 //    sourceInfo
220 //    {
221 //        box  (0 0 0) (1 1 1);
222 //    }
224 //    // Faces with normal to within certain angle aligned with vector.
225 //    source normalToFace;
226 //    sourceInfo
227 //    {
228 //        normal (0 0 1);     // Vector
229 //        cos     0.01;       // Tolerance (max cos of angle)
230 //    }
234 // pointSet
235 // ~~~~~~~
237 //    // Copy elements from pointSet
238 //    source pointToPoint;
239 //    sourceInfo
240 //    {
241 //        set p1;
242 //    }
244 //    // Select based on cellSet
245 //    source cellToPoint;
246 //    sourceInfo
247 //    {
248 //        set c0;
249 //        option all;         // all points of cell
250 //    }
252 //    // Select based on faceSet
253 //    source faceToPoint;
254 //    sourceInfo
255 //    {
256 //        set f0;             // name of faceSet
257 //        option all;         // all points of face
258 //    }
260 //    // Select by explicitly providing point labels
261 //    source labelToPoint;
262 //    sourceInfo
263 //    {
264 //        value (12 13 56);   // labels of points
265 //    }
267 //    // All points in pointzone
268 //    source zoneToPoint;
269 //    sourceInfo
270 //    {
271 //        name ".*Zone";      // name of pointZone, regular expressions allowed
272 //    }
274 //    // Points nearest to coordinates
275 //    source nearestToPoint;
276 //    sourceInfo
277 //    {
278 //       points ((0 0 0) (1 1 1));
279 //    }
281 //    // Points with coordinate within box
282 //    source boxToPoint;
283 //    sourceInfo
284 //    {
285 //       box   (0 0 0) (1 1 1);
286 //    }
288 //    // Select based on surface
289 //    source surfaceToPoint;
290 //    sourceInfo
291 //    {
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
296 //                                //  normals)
297 //        includeOutside  false;  //   ,,    outside  ,,
298 //    }
303 // cellZoneSet
304 // ~~~~~~~~~~~
305 // (mirrors operations on a cellSet into a cellZone)
307 //    // Select based on cellSet
308 //    source setToCellZone;
309 //    sourceInfo
310 //    {
311 //        set c0;           // name of cellSet
312 //    }
316 // faceZoneSet
317 // ~~~~~~~~~~~
318 //    // Select based on faceSet without orientation
319 //    source setToFaceZone;
320 //    sourceInfo
321 //    {
322 //        set f0;           // name of faceSet
323 //    }
325 //    // Select based on faceSet, using cellSet to determine orientation
326 //    source setsToFaceZone;
327 //    sourceInfo
328 //    {
329 //        faceSet f0;       // name of faceSet
330 //        cellSet c0;       // name of cellSet of slave side
331 //    }
333 actions
335     // Example:pick up internal faces on outside of cellSet
336     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
338     // Load initial cellSet
339     {
340         name    c0;
341         type    cellSet;
342         action  new;
343         source labelToCell;
344         sourceInfo
345         {
346             value (12 13 56);
347         }
348     }
350     // Get all faces in cellSet
351     {
352         name    f0;
353         type    faceSet;
354         action  new;
355         source  cellToFace;
356         sourceInfo
357         {
358             set     c0;
359             option  all;
360         }
361     }
363     // Determine inverse cellSet
364     {
365         name    c1;
366         type    cellSet;
367         action  new;
368         source  cellToCell;
369         sourceInfo
370         {
371             set c0;
372         }
373     }
374     {
375         name    c1;
376         type    cellSet;
377         action  invert;
378     }
380     // Keep in f0 all faces in c1
381     {
382         name    f0;
383         type    faceSet;
384         action  subset;
385         source  cellToFace;
386         sourceInfo
387         {
388             set     c1;
389             option  all;
390         }
391     }
394 // ************************************************************************* //