mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
In early versions of OpenFOAM the scalar limits were simple macro replacements and the
names were capitalized to indicate this. The scalar limits are now static
constants which is a huge improvement on the use of macros and for consistency
the names have been changed to camel-case to indicate this and improve
readability of the code:
GREAT -> great
ROOTGREAT -> rootGreat
VGREAT -> vGreat
ROOTVGREAT -> rootVGreat
SMALL -> small
ROOTSMALL -> rootSmall
VSMALL -> vSmall
ROOTVSMALL -> rootVSmall
The original capitalized are still currently supported but their use is
deprecated.
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