getFieldScalar.H
Go to the documentation of this file.
1 
3 {
4  return Z_UNDEF;
5 }
6 
7 IOobject fieldObjectPtr
8 (
9  fieldNames[var2field[nVar]],
10  runTime.timeName(),
11  mesh,
12  IOobject::NO_READ
13 );
14 
15 if (!fieldObjectPtr.headerOk())
16 {
17  return Z_UNDEF;
18 }
19 
20 IOobject fieldObject
21 (
22  fieldNames[var2field[nVar]],
23  runTime.timeName(),
24  mesh,
25  IOobject::MUST_READ,
26  IOobject::NO_WRITE
27 );
28 
30 (
32  mesh
33 );
34 
35 const cellShapeList& cellShapes = meshPtr->cellShapes();
36 
37 // hexa's
38 if (which_type == Z_HEX08)
39 {
40  const cellModel& hex = *(cellModeller::lookup("hex"));
41  //const cellModel& wedge = *(cellModeller::lookup("wedge"));
42 
43  label counter = 1;
44  for (label celli=0; celli<nCells; celli++)
45  {
46  const cellShape& cellShape = cellShapes[celli];
47  const cellModel& cellModel = cellShape.model();
48 
49  if (cellModel == hex) // || (cellModel == wedge))
50  {
51  var_array[counter++] = scalarField[celli];
52  }
53  }
54 }
55 
56 // penta's
57 if (which_type == Z_PEN06)
58 {
59  const cellModel& prism = *(cellModeller::lookup("prism"));
60 
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();
66 
67  if (cellModel == prism)
68  {
69  var_array[counter++] = scalarField[n];
70  }
71  }
72 }
73 
74 // pyramids's
75 if (which_type == Z_PYR05)
76 {
77  const cellModel& pyr = *(cellModeller::lookup("pyr"));
78 
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++] = scalarField[n];
88  }
89  }
90 }
91 
92 // tet's
93 if (which_type == Z_TET04)
94 {
95  const cellModel& tet = *(cellModeller::lookup("tet"));
96 
97  label counter = 1;
98  for (label n=0; n<nCells; n++)
99  {
100  const cellShape& cellShape = cellShapes[n];
101  const cellModel& cellModel = cellShape.model();
102 
103  if (cellModel == tet)
104  {
105  var_array[counter++] = scalarField[n];
106  }
107  }
108 }
109 
110 if (which_type == Z_NFACED)
111 {
112  const cellList& cells = meshPtr->cells();
113 
114  label counter = 1;
115  for (label n=0; n<nCells; n++)
116  {
117  const labelList& points = cellShapes[n];
118  label nFacesInCell = cells[n].size();
119 
120  if ((nFacesInCell == 6) && (points.size() == 8))
121  {}
122  else if ((nFacesInCell == 4) && (points.size() == 4))
123  {}
124  else if (nFacesInCell == 5)
125  {
126  if (points.size() == 6)
127  {}
128  else if (points.size() == 5)
129  {}
130  else
131  {
132  var_array[counter++] = scalarField[n];
133  }
134  }
135  else
136  {
137  var_array[counter++] = scalarField[n];
138  }
139  }
140 
141 }
static int Num_variables
Definition: globalFoam.H:20
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Definition: label.H:59
IOstream & hex(IOstream &io)
Definition: IOstream.H:564
static fvMesh * meshPtr
Definition: globalFoam.H:52
IOobject fieldObject(fieldNames[var2field[nVar]], runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE)
static List< word > fieldNames
Definition: globalFoam.H:46
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:52
stressControl lookup("compactNormalStress") >> compactNormalStress
List< cellShape > cellShapeList
List of cellShapes and PtrList of List of cellShape.
Definition: cellShapeList.H:43
dynamicFvMesh & mesh
static label nSprayVariables
Definition: globalFoam.H:24
const cellShapeList & cells
const pointField & points
List< label > labelList
A List of labels.
Definition: labelList.H:56
volScalarField scalarField(fieldObject, mesh)
label n
IOobject fieldObjectPtr(fieldNames[var2field[nVar]], runTime.timeName(), mesh, IOobject::NO_READ)
List< cell > cellList
list of cells
Definition: cellList.H:42
static label var2field[maxNames]
Definition: globalFoam.H:49