Merge commit 'd3b269b7c6ffa0cd68845adfecdfb849316dba71' into nextRelease
[foam-extend-3.2.git] / src / engine / engineTopoChangerMesh / twoStrokeEngine / addPistonLayer.H
blob7e33995b4c335eb5d79b4e06d067b43ad5ad96f4
1 if (piston().patchID().active())
3     // Add faces for piston layering
4     // Note: because of operation of layer addition/removal
5     // (reduce function in layer addition/removal thickness)
6     // the layering modifier needs to be present on all processors
7     // even if the patch size is zero
8     // HJ, 7/Mar/2011
10     faceSet pistonFaceSet(*this, piston().pistonFaceSetName());
12     boolList flipPistonFaces(pistonFaceSet.toc().size(), false);
13     label nSet = pistonFaceSet.toc().size();
14     label nFlip = 0;
16     forAll (flipPistonFaces, facei)
17     {
18         scalar scalProd =
19             (faceAreas()[pistonFaceSet.toc()[facei]] & vector(0, 0, 1));
21         if (scalProd < 0)
22         {
23             flipPistonFaces[facei] = true;
24             nFlip++;
25         }
26     }
28     Info << "nSet = " << nSet << endl;
29     Info << "nFlip = " << nFlip << endl;
31     fz[nFaceZones] =
32     (
33         new faceZone
34         (
35             "pistonLayerFaces",
36             pistonFaceSet.toc(),
37             flipPistonFaces,
38             nFaceZones,
39             faceZones()
40         )
41     );
43     nFaceZones++;
45     cellSet movingPistonCells(*this, piston().pistonCellSetName());
47     Info<< "Adding piston cell set" << endl;
48     cz[nCellZones] =
49     (
50         new cellZone
51         (
52             "pistonCells",
53             movingPistonCells.toc(),
54             nCellZones,
55             cellZones()
56         )
57     );
59     nCellZones++;