diff --git a/applications/utilities/mesh/manipulation/topoSet/topoSetDict b/applications/utilities/mesh/manipulation/topoSet/topoSetDict index 4a9a1a9b41..ff487c6e64 100644 --- a/applications/utilities/mesh/manipulation/topoSet/topoSetDict +++ b/applications/utilities/mesh/manipulation/topoSet/topoSetDict @@ -15,6 +15,290 @@ FoamFile // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// List of actions. Each action is a dictionary with e.g. +// // name of set +// name c0; +// +// // type: pointSet/faceSet/cellSet/faceZoneSet/cellZoneSet +// type cellSet; +// +// // action to perform on set. Two types: +// // - require no source : clear/invert +// // - require source : new/add/delete/subset +// action new; +// +// The source entry varies according to the type of set: +// +// cellSet +// ~~~~~~~ +// +// // Select by explicitly providing cell labels +// source labelToCell; +// { +// value (12 13 56); // labels of cells +// } +// +// // Copy elements from cellSet +// source cellToCell; +// { +// set c1; +// } +// +// // Cells in cell zone +// source zoneToCell; +// { +// name ".*Zone"; // Name of cellZone, regular expressions allowed +// } +// +// // Cells on master or slave side of faceZone +// source faceZoneToCell; +// { +// name ".*Zone"; // Name of faceZone, regular expressions allowed +// option master; // master/slave +// } +// +// // Select based on faceSet +// source faceToCell; +// { +// set f0; // Name of faceSet +// +// //option neighbour; // cell with neighbour in faceSet +// //option owner; // ,, owner +// option any; // cell with any face in faceSet +// //option all; // cell with all faces in faceSet +// } +// +// // Select based on pointSet +// source pointToCell; +// { +// set p0; +// option any; // cell with any point in pointSet +// //option all; // cell with all points in pointSet +// } +// +// // Select based on cellShape +// source shapeToCell; +// { +// type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex +// } +// +// // Cells with cell centre within box +// source boxToCell; +// { +// box (0 0 0) (1 1 1); +// } +// +// // Cells with cell centre within box +// // Is skewed, rotated box. Given as origin and three spanning vectors. +// source rotatedBoxToCell; +// { +// origin (0.2 0.2 -10); +// i (0.2 0.2 0); +// j (-0.2 0.2 0); +// k (10 10 10); +// } +// +// // Cells with centre within cylinder +// source cylinderToCell; +// { +// p1 (0.2 0.2 -10); // start point on cylinder axis +// p2 (0.2 0.2 0); // end point on cylinder axis +// radius 5.0; +// } +// +// // Cells with centre within sphere +// source sphereToCell; +// { +// centre (0.2 0.2 -10); +// radius 5.0; +// } +// +// // Cells with cellCentre nearest to coordinates +// source nearestToCell; +// { +// points ((0 0 0) (1 1 1)(2 2 2)); +// } +// +// // Select based on surface +// source surfaceToCell; +// { +// file "www.avl.com-geometry.stl"; +// outsidePoints ((-99 -99 -59)); // definition of outside +// includeCut false; // cells cut by surface +// includeInside false; // cells not on outside of surf +// includeOutside false; // cells on outside of surf +// nearDistance -1; // cells with centre near surf +// // (set to -1 if not used) +// curvature 0.9; // cells within nearDistance +// // and near surf curvature +// // (set to -100 if not used) +// } +// +// // values of field within certain range +// source fieldToCell; +// { +// fieldName U; // Note: uses mag(U) since volVectorField +// min 0.1; +// max 0.5; +// } +// +// // Mesh region (non-face connected part of (subset of)mesh) +// source regionToCell; +// { +// set c0; // name of cellSet giving mesh subset +// insidePoint (1 2 3); // point inside region to select +// } +// +// +// +// faceSet +// ~~~~~~~ +// +// // Copy elements from faceSet +// source faceToFace; +// { +// set f1; +// } +// +// // Select based on cellSet +// source cellToFace; +// { +// set c0; +// option all; // All faces of cells +// //option both; // Only faces whose owner&neighbour are in cellSet +// } +// +// // Select based on pointSet +// source pointToFace; +// { +// set p0; +// option any; // Faces using any point in pointSet +// //option all // Faces with all points in pointSet +// } +// +// // Select by explicitly providing face labels +// source labelToFace; +// { +// value (12 13 56); // labels of faces +// } +// +// // All faces of patch +// source patchToFace; +// { +// name ".*Wall"; // Name of patch, regular expressions allowed +// } +// +// // All faces of faceZone +// source zoneToFace; +// { +// name ".*Zone1"; // Name of faceZone, regular expressions allowed +// } +// +// // Faces with face centre within box +// source boxToFace; +// { +// box (0 0 0) (1 1 1); +// } +// +// // Faces with normal to within certain angle aligned with vector. +// source normalToFace; +// { +// normal (0 0 1); // Vector +// cos 0.01; // Tolerance (max cos of angle) +// } +// +// +// +// pointSet +// ~~~~~~~ +// +// // Copy elements from pointSet +// source pointToPoint; +// { +// set p1; +// } +// +// // Select based on cellSet +// source cellToPoint; +// { +// set c0; +// option all; // all points of cell +// } +// +// // Select based on faceSet +// source faceToPoint; +// { +// set f0; // name of faceSet +// option all; // all points of face +// } +// +// // Select by explicitly providing point labels +// source labelToPoint; +// { +// value (12 13 56); // labels of points +// } +// +// // All points in pointzone +// source zoneToPoint; +// { +// name ".*Zone"; // name of pointZone, regular expressions allowed +// } +// +// // Points nearest to coordinates +// source nearestToPoint; +// { +// points ((0 0 0) (1 1 1)); +// } +// +// // Points with coordinate within box +// source boxToPoint; +// { +// box (0 0 0) (1 1 1); +// } +// +// // Select based on surface +// source surfaceToPoint; +// { +// file "www.avl.com-geometry.stl"; +// nearDistance 0.1; // points near to surface +// includeInside false; // points on inside of surface +// // (requires closed surface with consistent +// // normals) +// includeOutside false; // ,, outside ,, +// } +// +// +// +// +// cellZoneSet +// ~~~~~~~~~~~ +// (mirrors operations on a cellSet into a cellZone) +// +// // Select based on cellSet +// source setToCellZone; +// { +// set c0; // name of cellSet +// } +// +// +// +// faceZoneSet +// ~~~~~~~~~~~ +// // Select based on faceSet without orientation +// source setToFaceZone; +// { +// set f0; // name of faceSet +// } +// +// // Select based on faceSet, using cellSet to determine orientation +// source setsToFaceZone; +// { +// faceSet f0; // name of faceSet +// cellSet c0; // name of cellSet of slave side +// } + + + actions ( { @@ -24,7 +308,7 @@ actions source labelToCell; sourceDict { - value (12 13 56); // labels of cells + value (12 13 56); } } @@ -41,7 +325,7 @@ actions source labelToCell; sourceDict { - value (1 2 3); // labels of cells + value (1 2 3); } } );