getFieldTensor.H
Go to the documentation of this file.
2 {
3  return Z_UNDEF;
4 }
5 
6 
7 typeIOobject<volTensorField> 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 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  #include "tensorConversion.H"
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  #include "tensorConversion.H"
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  #include "tensorConversion.H"
88  }
89  }
90 }
91 
92 
93 // penta's
94 if (which_type == Z_TET04)
95 {
96  const cellModel& tet = *(cellModeller::lookup("tet"));
97 
98  label counter = 1;
99 
100  for (label n=0; n<nCells; n++)
101  {
102  const cellShape& cellShape = cellShapes[n];
103  const cellModel& cellModel = cellShape.model();
104 
105  if (cellModel == tet)
106  {
107  #include "tensorConversion.H"
108  }
109  }
110 }
111 
112 if (which_type == Z_NFACED)
113 {
114  const cellList& cells = meshPtr->cells();
115 
116  label counter = 1;
117  for (label n=0; n<nCells; n++)
118  {
119  const labelList& points = cellShapes[n];
120  label nFacesInCell = cells[n].size();
121 
122  if ((nFacesInCell == 6) && (points.size() == 8))
123  {}
124  else if ((nFacesInCell == 4) && (points.size() == 4))
125  {}
126  else if (nFacesInCell == 5)
127  {
128  if (points.size() == 6)
129  {}
130  else if (points.size() == 5)
131  {}
132  else
133  {
134  #include "tensorConversion.H"
135  }
136  }
137  else
138  {
139  #include "tensorConversion.H"
140  }
141  }
142 }
static int Num_variables
Definition: globalFoam.H:20
FvWallInfoData< WallInfo, label > label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
IOstream & hex(IOstream &io)
Definition: IOstream.H:561
GeometricField< tensor, fvPatchField, volMesh > volTensorField
Definition: volFieldsFwd.H:63
static fvMesh * meshPtr
Definition: globalFoam.H:52
volTensorField tf(fieldObject, mesh)
fvMesh & mesh
static List< word > fieldNames
Definition: globalFoam.H:46
typeIOobject< volTensorField > fieldObjectPtr(fieldNames[var2field[nVar]], runTime.timeName(), mesh, IOobject::NO_READ)
stressControl lookup("compactNormalStress") >> compactNormalStress
List< cellShape > cellShapeList
List of cellShapes and PtrList of List of cellShape.
Definition: cellShapeList.H:43
static label nSprayVariables
Definition: globalFoam.H:24
const cellShapeList & cells
const pointField & points
IOobject fieldObject(fieldNames[var2field[nVar]], runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE)
List< label > labelList
A List of labels.
Definition: labelList.H:56
label n
List< cell > cellList
list of cells
Definition: cellList.H:42
static label var2field[maxNames]
Definition: globalFoam.H:49