initial commit for version 1.5.x patch release
[OpenFOAM-1.5.x.git] / applications / utilities / postProcessing / graphics / ensightFoamReader / getFieldVector.H
blobb1fafd78c3cf248ab888fcb419677dd0a051a94a
1 if (nVar >= Num_variables - nSprayVariables)
3     return Z_UNDEF;
7 IOobject fieldObjectPtr
9     fieldNames[var2field[nVar]],
10     runTime.timeName(),
11     mesh,
12     IOobject::NO_READ
15 if (!fieldObjectPtr.headerOk())
17     return Z_UNDEF;
20 IOobject fieldObject
22     fieldNames[var2field[nVar]],
23     runTime.timeName(),
24     mesh,
25     IOobject::MUST_READ,
26     IOobject::NO_WRITE
29 volVectorField vectorField
31     fieldObject,
32     mesh
35 const cellShapeList& cellShapes = meshPtr->cellShapes();
37 // hexa's
38 if (which_type == Z_HEX08)
40     const cellModel& hex = *(cellModeller::lookup("hex"));
41     //const cellModel& wedge = *(cellModeller::lookup("wedge"));
43     label counter = 1;
44     for (label n=0; n<nCells; n++)
45     {
46         const cellShape& cellShape = cellShapes[n];
47         const cellModel& cellModel = cellShape.model();
48         
49         if (cellModel == hex) // || (cellModel == wedge))
50         {
51             var_array[counter++] = vectorField[n][component];
52         }
53     }
56 // penta's
57 if (which_type == Z_PEN06)
59     const cellModel& prism = *(cellModeller::lookup("prism"));
61     label counter = 1;    
62     for (label n=0; n<nCells; n++)
63     {
64         const cellShape& cellShape = cellShapes[n];
65         const cellModel& cellModel = cellShape.model();
67         if (cellModel == prism)
68         {
69             var_array[counter++] = vectorField[n][component];
70         }
71     }
74 // pyramids's
75 if (which_type == Z_PYR05)
77     const cellModel& pyr = *(cellModeller::lookup("pyr"));
79     label counter = 1;    
80     for (label n=0; n<nCells; n++)
81     {
82         const cellShape& cellShape = cellShapes[n];
83         const cellModel& cellModel = cellShape.model();
84         
85         if (cellModel == pyr)
86         {
87             var_array[counter++] = vectorField[n][component];
88         }
89     }
93 // tet's
94 if (which_type == Z_TET04)
96     const cellModel& tet = *(cellModeller::lookup("tet"));
98     label counter = 1;    
99     for (label n=0; n<nCells; n++)
100     {
101         const cellShape& cellShape = cellShapes[n];
102         const cellModel& cellModel = cellShape.model();
104         if (cellModel == tet)
105         {
106             var_array[counter++] = vectorField[n][component];
107         }
108     }
111 if (which_type == Z_NFACED)
113     const cellList& cells = meshPtr->cells();
115     label counter = 1;
116     for (label n=0; n<nCells; n++)
117     {
118         const labelList& points = cellShapes[n];
119         label nFacesInCell = cells[n].size();
121         if ((nFacesInCell == 6) && (points.size() == 8))
122         {}
123         else if ((nFacesInCell == 4) && (points.size() == 4))
124         {}
125         else if (nFacesInCell == 5)
126         {
127             if (points.size() == 6)
128             {}
129             else if (points.size() == 5)
130             {}
131             else
132             {
133                 var_array[counter++] = vectorField[n][component];
134             }
135         }
136         else
137         {
138             var_array[counter++] = vectorField[n][component];
139         }
140     }