Initial commit for version 2.0.x patch release
[OpenFOAM-2.0.x.git] / applications / utilities / mesh / manipulation / topoSet / topoSetDict
blob6cfb7ef38c3258eb59f6cee2c76cd9643dad4417
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.com                      |
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 //    {
37 //        value (12 13 56);   // labels of cells
38 //    }
40 //    // Copy elements from cellSet
41 //    source cellToCell;
42 //    {
43 //        set c1;
44 //    }
46 //    // Cells in cell zone
47 //    source zoneToCell;
48 //    {
49 //        name ".*Zone";      // Name of cellZone, regular expressions allowed
50 //    }
52 //    // Cells on master or slave side of faceZone
53 //    source faceZoneToCell;
54 //    {
55 //        name ".*Zone";      // Name of faceZone, regular expressions allowed
56 //        option master;      // master/slave
57 //    }
59 //    // Select based on faceSet
60 //    source faceToCell;
61 //    {
62 //        set f0;             // Name of faceSet
64 //        //option neighbour; // cell with neighbour in faceSet
65 //        //option owner;     //  ,,       owner
66 //        option any;         // cell with any face in faceSet
67 //        //option all;       // cell with all faces in faceSet
68 //    }
70 //    // Select based on pointSet
71 //    source pointToCell;
72 //    {
73 //        set p0;
74 //        option any;         // cell with any point in pointSet
75 //        //option all;       // cell with all points in pointSet
76 //    }
78 //    // Select based on cellShape
79 //    source shapeToCell;
80 //    {
81 //        type hex;           // hex/wedge/prism/pyr/tet/tetWedge/splitHex
82 //    }
84 //    // Cells with cell centre within box
85 //    source boxToCell;
86 //    {
87 //       box   (0 0 0) (1 1 1);
88 //    }
90 //    // Cells with cell centre within box
91 //    // Is skewed, rotated box. Given as origin and three spanning vectors.
92 //    source rotatedBoxToCell;
93 //    {
94 //       origin   (0.2 0.2 -10);
95 //       i        (0.2 0.2 0);
96 //       j        (-0.2 0.2 0);
97 //       k        (10 10 10);
98 //    }
100 //    // Cells with centre within cylinder
101 //    source cylinderToCell;
102 //    {
103 //       p1       (0.2 0.2 -10); // start point on cylinder axis
104 //       p2       (0.2 0.2 0);   // end point on cylinder axis
105 //       radius   5.0;
106 //    }
108 //    // Cells with centre within sphere
109 //    source sphereToCell;
110 //    {
111 //       centre   (0.2 0.2 -10);
112 //       radius   5.0;
113 //    }
115 //    // Cells with cellCentre nearest to coordinates
116 //    source nearestToCell;
117 //    {
118 //       points ((0 0 0) (1 1 1)(2 2 2));
119 //    }
121 //    // Select based on surface
122 //    source surfaceToCell;
123 //    {
124 //        file            "www.avl.com-geometry.stl";
125 //        outsidePoints   ((-99 -99 -59));    // definition of outside
126 //        includeCut      false;              // cells cut by surface
127 //        includeInside   false;              // cells not on outside of surf
128 //        includeOutside  false;              // cells on outside of surf
129 //        nearDistance    -1;                 // cells with centre near surf
130 //                                            // (set to -1 if not used)
131 //        curvature       0.9;                // cells within nearDistance
132 //                                            // and near surf curvature
133 //                                            // (set to -100 if not used)
134 //    }
136 //    // values of field within certain range
137 //    source fieldToCell;
138 //    {
139 //        fieldName   U;      // Note: uses mag(U) since volVectorField
140 //        min         0.1;
141 //        max         0.5;
142 //    }
144 //    // Mesh region (non-face connected part of (subset of)mesh)
145 //    source regionToCell;
146 //    {
147 //        set         c0;         // name of cellSet giving mesh subset
148 //        insidePoint (1 2 3);    // point inside region to select
149 //    }
153 // faceSet
154 // ~~~~~~~
156 //    // Copy elements from faceSet
157 //    source faceToFace;
158 //    {
159 //        set f1;
160 //    }
162 //    // Select based on cellSet
163 //    source cellToFace;
164 //    {
165 //        set c0;
166 //        option all;         // All faces of cells
167 //        //option both;      // Only faces whose owner&neighbour are in cellSet
168 //    }
170 //    // Select based on pointSet
171 //    source pointToFace;
172 //    {
173 //        set p0;
174 //        option any;         // Faces using any point in pointSet
175 //        //option all        // Faces with all points in pointSet
176 //    }
178 //    //  Select by explicitly providing face labels
179 //    source labelToFace;
180 //    {
181 //        value (12 13 56);   // labels of faces
182 //    }
184 //    // All faces of patch
185 //    source patchToFace;
186 //    {
187 //        name ".*Wall";      // Name of patch, regular expressions allowed
188 //    }
190 //    // All faces of faceZone
191 //    source zoneToFace;
192 //    {
193 //        name ".*Zone1";     // Name of faceZone, regular expressions allowed
194 //    }
196 //    // Faces with face centre within box
197 //    source boxToFace;
198 //    {
199 //        box  (0 0 0) (1 1 1);
200 //    }
202 //    // Faces with normal to within certain angle aligned with vector.
203 //    source normalToFace;
204 //    {
205 //        normal (0 0 1);     // Vector
206 //        cos     0.01;       // Tolerance (max cos of angle)
207 //    }
211 // pointSet
212 // ~~~~~~~
214 //    // Copy elements from pointSet
215 //    source pointToPoint;
216 //    {
217 //        set p1;
218 //    }
220 //    // Select based on cellSet
221 //    source cellToPoint;
222 //    {
223 //        set c0;
224 //        option all;         // all points of cell
225 //    }
227 //    // Select based on faceSet
228 //    source faceToPoint;
229 //    {
230 //        set f0;             // name of faceSet
231 //        option all;         // all points of face
232 //    }
234 //    // Select by explicitly providing point labels
235 //    source labelToPoint;
236 //    {
237 //        value (12 13 56);   // labels of points
238 //    }
240 //    // All points in pointzone
241 //    source zoneToPoint;
242 //    {
243 //        name ".*Zone";      // name of pointZone, regular expressions allowed
244 //    }
246 //    // Points nearest to coordinates
247 //    source nearestToPoint;
248 //    {
249 //       points ((0 0 0) (1 1 1));
250 //    }
252 //    // Points with coordinate within box
253 //    source boxToPoint;
254 //    {
255 //       box   (0 0 0) (1 1 1);
256 //    }
258 //    // Select based on surface
259 //    source surfaceToPoint;
260 //    {
261 //        file            "www.avl.com-geometry.stl";
262 //        nearDistance    0.1;    // points near to surface
263 //        includeInside   false;  // points on inside of surface
264 //                                // (requires closed surface with consistent
265 //                                //  normals)
266 //        includeOutside  false;  //   ,,    outside  ,,
267 //    }
272 // cellZoneSet
273 // ~~~~~~~~~~~
274 // (mirrors operations on a cellSet into a cellZone)
276 //    // Select based on cellSet
277 //    source setToCellZone;
278 //    {
279 //        set c0;           // name of cellSet
280 //    }
284 // faceZoneSet
285 // ~~~~~~~~~~~
286 //    // Select based on faceSet without orientation
287 //    source setToFaceZone;
288 //    {
289 //        set f0;           // name of faceSet
290 //    }
292 //    // Select based on faceSet, using cellSet to determine orientation
293 //    source setsToFaceZone;
294 //    {
295 //        faceSet f0;       // name of faceSet
296 //        cellSet c0;       // name of cellSet of slave side
297 //    }
299 actions
301     // Example:pick up internal faces on outside of cellSet
302     // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
304     // Load initial cellSet
305     {
306         name    c0;
307         type    cellSet;
308         action  new;
309         source labelToCell;
310         sourceInfo
311         {
312             value (12 13 56);
313         }
314     }
316     // Get all faces in cellSet
317     {
318         name    f0;
319         type    faceSet;
320         action  new;
321         source  cellToFace;
322         sourceInfo
323         {
324             set     c0;
325             option  all;
326         }
327     }
329     // Determine inverse cellSet
330     {
331         name    c1;
332         type    cellSet;
333         action  new;
334         source  cellToCell;
335         sourceInfo
336         {
337             set c0;
338         }
339     }
340     {
341         name    c1;
342         type    cellSet;
343         action  invert;
344     }
346     // Keep in f0 all faces in c1
347     {
348         name    f0;
349         type    faceSet;
350         action  subset;
351         source  cellToFace;
352         sourceInfo
353         {
354             set     c1;
355             option  all;
356         }
357     }
360 // ************************************************************************* //