The volume may be occupied by:
The present encyclopaedia item concerns cases a and b only.
Two aspects are considered, namely:
The importance of the classification is that it enables cell-to-cell convection and diffusion to be correctly formulated.
In the first case, the material(s) present within the cell have no name; but they are characterised by the settings, in Group 9 of the Q1 file, of the PIL variables RHO1, RHO2, ENUL, PRNDTL(TEM1), etc.
However, there may also be set and stored the whole-field variable VPOR, i.e. the 'volume' porosity, which represents the fraction of the volume of the cell that is occupied by the material(s).
In a two-phase-flow simulation, the proportions of the free volume which are occupied by each phase are measured by the volume fractions, R1 and R2, which normally sum to unity.
The unoccupied fraction of the cell volume plays no part in the flow simulation.
In the second case, the (single) material in the cell is specified by the value of PRPS which the user has assigned to the cell, its significance in terms of flow-related properties being that recorded in the PROPS file.
Here it should be noted that two PRPS values are of special significance, namely:
Also important is the value of the variable SOLPRP. This does not itself represent and specific material. Instead, it is a 'logical boundary', in that the PROPS file is so arranged that all fluids have PRPS values which are less than SOLPRP, whereas all solids have values which are greater than or equal to SOLPRP.
Values of these three quantities are set in the PROPS file, which currently (version 3.5) carries the following three lines:
SOLPRP 100.0 PORPRP 198.0 VACPRP 199.0
Here 'free' signifies 'effective for convection and diffusion'.
moreover,
If they wish to characterise a cell face in respect of convection or diffusion, they can therefore do so by asking:
However, in order to assist them to do so and to embody the answers to the questions in their Fortran coding, PHOENICS provides two sets of logical functions.
The first set comprises slab-wise oriented functions which use the cell address (designated as IJ below) relative to the current slab.
The second set includes whole-field logical functions which need the absolute cell address (designated as IJK below).
There are functions of two different types in each set:
First consider the slab-wise oriented logical functions. There are three volume-related functions:
The face-related functions form several groups. Each group comprises six functions (one function for each cell face). The available groups and functions are listed below:
Functions to test for a presence of phase boundary at the cell face are:
NF(IJ) returns TRUE if north face of a cell is
phase boundary;
SF(IJ) returns TRUE if south face of a cell is phase
boundary;
EF(IJ) returns TRUE if east face of a cell is phase
boundary;
WF(IJ) returns TRUE if west face of a cell is phase
boundary;
HF(IJ) returns TRUE if high face of a cell is phase
boundary;
LF(IJ) returns TRUE if low face of a cell is phase
boundary.
The second group comprises functions to test for the presence of 'domain' boundary. For example, 'domain' boundary in north direction is defined whether by condition IY=NY, or if the north-neighbor is blocked by VACPRP material. The functions are:
NBO(IJ) returns TRUE if North face of a cell is
boundary;
SBO(IJ) returns TRUE if South face of a cell is
boundary;
EBO(IJ) returns TRUE if East face of a cell is
boundary;
WBO(IJ) returns TRUE if West face of a cell is
boundary;
HBO(IJ) returns TRUE if High face of a cell is
boundary;
LBO(IJ) returns TRUE if Low face of a cell is
boundary.
The third group includes functions to test for the presence of zero face porosity defined for the appropriate face:
NF0(IJ) returns TRUE if north face of a cell is
blocked;
SF0(IJ) returns TRUE if south face of a cell is
blocked;
EF0(IJ) returns TRUE if east face of a cell is
blocked;
WF0(IJ) returns TRUE if west face of a cell is
blocked;
HF0(IJ) returns TRUE if high face of a cell is
blocked;
LF0(IJ) returns TRUE if low face of a cell is blocked.
The last group provides test for the presence of WALL type patch defined at the appropriate cell face:
NWP(IJ) returns TRUE if WALL patch is present at
north face;
SWP(IJ) returns TRUE if WALL patch is present at south
face;
EWP(IJ) returns TRUE if WALL patch is present at east
face;
WWP(IJ) returns TRUE if WALL patch is present at west
face;
HWP(IJ) returns TRUE if WALL patch is present at high
face;
LWP(IJ) returns TRUE if WALL patch is present at low
face.
Now consider the whole-field-oriented logical functions. There is one volume type function:
LSOLID(IJK) returns TRUE if IJK-cell is occupied by a solid.
The face type whole-field oriented functions are as follows:
LPBN(IJK,IDIR) returns TRUE if IDIR-face of IJK-cell is the phase boundary;
LFPR0(IJK,IDIR) returns TRUE if IDIR-face of IJK-cell is blocked by zero value of face porosity;
LBND(IJK,IDIR) returns TRUE if IDIR-face of IJK-cell is the boundary of a solution domain;
LSLDIR(IJK,IDIR) returns TRUE if IDIR-face of IJK-cell is blocked by any of the aforementioned ways.
In the foregoing, the integer parameter IDIR is defined as follows: