OpenFOAM-4.x-lab/src/conversion/meshReader
Henry Weller 5e6a7ea282 Completed update ...ErrorIn -> ...ErrorInFunction
Avoids the clutter and maintenance effort associated with providing the
function signature string.
2015-11-11 09:03:39 +00:00
..
starcd Completed update ...ErrorIn -> ...ErrorInFunction 2015-11-11 09:03:39 +00:00
calcPointCells.C Completed update ...ErrorIn -> ...ErrorInFunction 2015-11-11 09:03:39 +00:00
createPolyBoundary.C Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00
createPolyCells.C Completed update ...ErrorIn -> ...ErrorInFunction 2015-11-11 09:03:39 +00:00
meshReader.C Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00
meshReader.H Corrected capitalization of Doxygen documentation comments 2015-02-14 13:10:15 +00:00
meshReaderAux.C Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00
README Add the OpenFOAM source tree 2014-12-10 22:40:10 +00:00

With pro-STAR version v4, the input formats have changed radically.
  * Easier to parse space-delimited input formats
  * No arbitrary or integral couples
  * No trimmed or degenerate cells
  * Support for polyhedral cells
  * Boundaries are directly connected to cell and faces

Since the boundaries are now connected directly to the faces,
we now must be concerned with cell face notation otherwise we perform the
incorrect lookup.
Fortunately, there are only 4 primitive shapes to be concerned with.

Hexa:
   Foam                  pro-STAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   Face 0 (0 4 7 3)  ->  F5: (0 4 7 3)
   Face 1 (1 2 6 5)  ->  F6: (1 2 6 5)
   Face 2 (0 1 5 4)  ->  F3: (0 1 5 4)
   Face 3 (3 7 6 2)  ->  F4: (2 3 7 6)
   Face 4 (0 3 2 1)  ->  F1: (0 3 2 1)
   Face 5 (4 5 6 7)  ->  F2: (4 5 6 7)


Prism:
   Foam                  pro-STAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   Face 0 (0 2 1)    ->  F1: (0 2 1)
   Face 1 (3 4 5)    ->  F2: (3 4 5)
   Face 2 (0 3 5 2)  ->  F5: (0 3 5 2)
   Face 3 (1 2 5 4)  ->  F6: (1 2 5 4)
   Face 4 (0 1 4 3)  ->  F3: (0 1 4 3)


Tetra:
   Foam                  pro-STAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   Face 0 (1 2 3)    ->  F6: (1 2 3)
   Face 1 (0 3 2)    ->  F5: (0 3 2)
   Face 2 (0 1 3)    ->  F3: (0 1 3)
   Face 3 (0 2 1)    ->  F1: (0 2 1)


Pyramid:
   Foam                  pro-STAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   Face 0 (0 3 2 1)  ->  F1: (0 3 2 1)
   Face 1 (0 4 3)    ->  F5: (0 4 3)
   Face 2 (3 4 2)    ->  F4: (2 3 4)
   Face 3 (1 2 4)    ->  F6: (1 2 4)
   Face 4 (0 1 4)    ->  F3: (0 1 4)

Noting that several faces are skipped over in the pro-STAR definitions,
simply introducing a new cell modeller will be a problem.
Instead, subtract 1 from the pro-STAR faces and use lookup tables.


Here are the pro-STAR macro snippets used for creating the primitive cells:

! hexa
v 10 0 0 0
v 11 1 0 0
v 12 1 1 0
v 13 0 1 0
v 14 0 0 1
v 15 1 0 1
v 16 1 1 1
v 17 0 1 1
c hexa 10 11 12 13 14 15 16 17

! prism
v 20 0 0 0
v 21 1 0 0
v 22 1 1 0
v 23 0 0 1
v 24 1 0 1
v 25 1 1 1
c prism 20 21 22 23 24 25

! tet
v 30 0 0 0
v 31 1 0 0
v 32 1 1 0
v 33 0.75 0.75 1
c tetra 30 31 32 33

! pyramid
v 40 0 0 0
v 41 1 0 0
v 42 1 1 0
v 43 0 1 0
v 44 0.5 0.5 1
c pyra 40 41 42 43 44

! list faces
flist all