With PROSTAR 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:
   OpenFOAM              PROSTAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   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:
   OpenFOAM              PROSTAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   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:
   OpenFOAM              PROSTAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   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:
   OpenFOAM              PROSTAR
   ~~~~~~~~~~~~~~        ~~~~~~~~~~~
   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 PROSTAR definitions,
simply introducing a new cell modeller will be a problem.
Instead, subtract 1 from the PROSTAR faces and use lookup tables.


Here are the PROSTAR 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
