3 label bcIndex = bcIDs[bci];
6 // Decompose moving faces into piston and valves using the idface array
9 if (kivaVersion == kiva3v)
13 max(idface[quadFace[0]], idface[quadFace[1]]),
14 max(idface[quadFace[2]], idface[quadFace[3]])
25 // Decompose fixed wall faces into cylinder-head and liner using
26 // the fv array and split of the y=0 faces as a symmetry plane
32 || fv[quadFace[1]] == 6
33 || fv[quadFace[2]] == 6
34 || fv[quadFace[3]] == 6
37 bcIndex = CYLINDERHEAD;
42 mag(points[quadFace[0]].y()) < SMALL
43 && mag(points[quadFace[1]].y()) < SMALL
44 && mag(points[quadFace[2]].y()) < SMALL
45 && mag(points[quadFace[3]].y()) < SMALL
48 bcIndex = SYMMETRYPLANE;
52 // Make the back part of the periodic boundary the second region
60 if (regionIndex >= pFaces[bcIndex].size())
62 pFaces[bcIndex].setSize(regionIndex + 1);
65 quadFace[0] = pointMap[quadFace[0]];
66 quadFace[1] = pointMap[quadFace[1]];
67 quadFace[2] = pointMap[quadFace[2]];
68 quadFace[3] = pointMap[quadFace[3]];
73 if (quadFace[i] != quadFace[(i+1)%4])
75 triFace[(ti++)%3] = quadFace[i];
81 pFaces[bcIndex][regionIndex].append(quadFace);
85 pFaces[bcIndex][regionIndex].append(triFace);
87 // else the face has collapsed to an edge or point
91 FatalErrorIn(args.executable())
92 << "bc not defined for active cell = " << i