CELL and CELL-FACE characteristics

Contents
  1. Introduction
  2. The contents of the cell volume
  3. Characterising the cell faces
  4. Logical functions for determining cell or cell-face character

1. Introduction

The computational cells used by PHOENICS typically possess:
  1. eight vertices;
  2. twelve edges; and
  3. six faces;
and so comprise a hexahedral volume.

The volume may be occupied by:

  1. a single material;
  2. two fully-intermingled materials, when the two-phase option is in use; or
  3. two or more non-intermingled materials, when PARSOL, HOL or SEM are in use.

The present encyclopaedia item concerns cases a and b only.

Two aspects are considered, namely:

  1. how the contents of the volume are described; and
  2. how faces which adjoin cells of differing content can be classified.

The importance of the classification is that it enables cell-to-cell convection and diffusion to be correctly formulated.

2. The contents of the cell volume

Two cases should be distinguished, namely:
  1. when the PHOENICS variable PRPS is not stored; and
  2. when the said variable is stored.

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

3. Characterising the cell faces

3.1 The area porosity

Just as VPOR represents the 'free' volume fraction, so EPOR, NPOR and HPOR represent the 'free' fractions of the East, North and High cell-face areas.

Here 'free' signifies 'effective for convection and diffusion'.

3.2 In terms of what lies on either side

Whether or not the free-area fractions differ from their default, namely unity, convection and diffusion across the faces are influenced by whether:
  1. the cells on both sides are occupied by fluid, in which case both convection and diffusion may take place; or

  2. at least one of the cells is occupied by solid, in which case only diffusion can take place;

    moreover,

  3. the cell face lies on the north, high or low boundary of the domain, or or on the east or west boundary of the domain, with XCYCLE false,in which case neither diffusion nor convection can occur.

4. Logical functions for determining cell or cell-face character

Programmers wishing to characterise a cell can thus do so by inspecting its PRPS value; and

If they wish to characterise a cell face in respect of convection or diffusion, they can therefore do so by asking:

  1. is it on a boundary? and/or
  2. what are the PRPS values of the cells on each side?

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: