/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.3.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // 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/remove // // clear : clears set or zone // // invert : select all currently non-selected elements // // remove : removes set or zone // // - require source : new/add/delete/subset // // new : create new set or zone from source // // add : add source to contents // // delete : deletes source from contents // // subset : keeps elements both in contents and source // action new; // // The source entry varies according to the type of set: // // cellSet // ~~~~~~~ // // // Select by explicitly providing cell labels // source labelToCell; // sourceInfo // { // value (12 13 56); // labels of cells // } // // // Copy elements from cellSet // source cellToCell; // sourceInfo // { // set c1; // } // // // Cells in cell zone // source zoneToCell; // sourceInfo // { // name ".*Zone"; // Name of cellZone, regular expressions allowed // } // // // Cells on master or slave side of faceZone // source faceZoneToCell; // sourceInfo // { // name ".*Zone"; // Name of faceZone, regular expressions allowed // option master; // master/slave // } // // // Select based on faceSet // source faceToCell; // sourceInfo // { // 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; // sourceInfo // { // set p0; // option any; // cell with any point in pointSet // //option edge; // cell with an edge with both points in pointSet // } // // // Select based on cellShape // source shapeToCell; // sourceInfo // { // type hex; // hex/wedge/prism/pyr/tet/tetWedge/splitHex // } // // // Cells with cell centre within box ('box') or multiple boxes ('boxes') // source boxToCell; // sourceInfo // { // box (0 0 0) (1 1 1); // //boxes ((0 0 0) (1 1 1) (10 10 10)(11 11 11)); // } // // // Cells with cell centre within box // // Is skewed, rotated box. Given as origin and three spanning vectors. // source rotatedBoxToCell; // sourceInfo // { // 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; // sourceInfo // { // 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; // sourceInfo // { // centre (0.2 0.2 -10); // radius 5.0; // } // // // Cells with cellCentre nearest to coordinates // source nearestToCell; // sourceInfo // { // points ((0 0 0) (1 1 1)(2 2 2)); // } // // // Select based on surface // source surfaceToCell; // sourceInfo // { // file "www.avl.com-geometry.stl"; // useSurfaceOrientation false; // use closed surface inside/outside // // test (ignores includeCut, // // outsidePoints) // 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; // sourceInfo // { // 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; // sourceInfo // { // set c0; // optional name of cellSet giving mesh subset // insidePoints ((1 2 3)); // points inside region to select // nErode 0; // optional number of layers to erode // // selection // } // // // Cells underneath plane such that volume is reached. E.g. for use // // in setFields to set the level given a wanted volume. // source targetVolumeToCell; // sourceInfo // { // volume 2e-05; // normal (0 1 0); // usually in direction of gravity // } // // // // cellZoneSet // ~~~~~~~~~~~ // (mirrors operations on a cellSet into a cellZone) // // // Select based on cellSet // source setToCellZone; // sourceInfo // { // set c0; // name of cellSet // } // actions ( // Example:pick up internal faces on outside of cellSet // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Load initial cellSet { name c0; type cellSet; action new; source boxToCell; sourceInfo { // FYI Overall domain bounding box (0 0 0) (0.2 0.05 0.5) // initial point (0.0501 0.02501 0.101) box (0.04501 0.01501 0.0951) (0.05501 0.03501 0.1051); } } /* FYI: (0.05 0.025 0.15) // above injection point (0.05 0.025 0.05) // below injection point (0.1 0.025 0.1) // right of injection point */ { name probeZone1; type cellSet; action new; source boxToCell; sourceInfo { box (0.04501 0.01901 0.14501) (0.05401 0.03001 0.1551); } } { name probeZone2; type cellSet; action new; source boxToCell; sourceInfo { box (0.04501 0.01901 0.045001) (0.05401 0.03001 0.055051); } } { name probeZone3; type cellSet; action new; source boxToCell; sourceInfo { box (0.095501 0.01901 0.09501) (0.105401 0.03001 0.10551); } } { name probeZone1; type cellZoneSet; action new; source setToCellZone; sourceInfo { set probeZone1; } } { name probeZone2; type cellZoneSet; action new; source setToCellZone; sourceInfo { set probeZone2; } } { name probeZone3; type cellZoneSet; action new; source setToCellZone; sourceInfo { set probeZone3; } } ); // ************************************************************************* //