Write set to VTK readable files
| 70 | |
| 71 | // Write set to VTK readable files |
| 72 | void writeVTK |
| 73 | ( |
| 74 | const polyMesh& mesh, |
| 75 | const topoSet& currentSet, |
| 76 | const fileName& vtkName |
| 77 | ) |
| 78 | { |
| 79 | if (isA<faceSet>(currentSet)) |
| 80 | { |
| 81 | // Faces of set with OpenFOAM faceID as value |
| 82 | |
| 83 | faceList setFaces(currentSet.size()); |
| 84 | labelList faceValues(currentSet.size()); |
| 85 | label setFacei = 0; |
| 86 | |
| 87 | forAllConstIter(topoSet, currentSet, iter) |
| 88 | { |
| 89 | setFaces[setFacei] = mesh.faces()[iter.key()]; |
| 90 | faceValues[setFacei] = iter.key(); |
| 91 | setFacei++; |
| 92 | } |
| 93 | |
| 94 | primitiveFacePatch fp(setFaces, mesh.points()); |
| 95 | |
| 96 | writePatch |
| 97 | ( |
| 98 | true, |
| 99 | currentSet.name(), |
| 100 | fp, |
| 101 | "faceID", |
| 102 | faceValues, |
| 103 | mesh.time().path()/vtkName |
| 104 | ); |
| 105 | } |
| 106 | else if (isA<cellSet>(currentSet)) |
| 107 | { |
| 108 | // External faces of cellset with OpenFOAM cellID as value |
| 109 | |
| 110 | Map<label> cellFaces(currentSet.size()); |
| 111 | |
| 112 | forAllConstIter(cellSet, currentSet, iter) |
| 113 | { |
| 114 | label celli = iter.key(); |
| 115 | |
| 116 | const cell& cFaces = mesh.cells()[celli]; |
| 117 | |
| 118 | forAll(cFaces, i) |
| 119 | { |
| 120 | label facei = cFaces[i]; |
| 121 | |
| 122 | if (mesh.isInternalFace(facei)) |
| 123 | { |
| 124 | label otherCelli = mesh.faceOwner()[facei]; |
| 125 | |
| 126 | if (otherCelli == celli) |
| 127 | { |
| 128 | otherCelli = mesh.faceNeighbour()[facei]; |
| 129 | } |
no test coverage detected