Encyclopaedia Index


---------------------------------------- Photon Help ----

[S/M] toggles between single and multiple redrawing mode. In the single redrawing mode, pressing [Redraw] causes the redraw of the current window only. In the multiple redrawing mode, pressing [Redraw] will result in redrawing all the windows currently opened.


----------- Logical; group 19 ---------

S2SR... is used to activate the model for surface-to-surface radiation.

See also Radiative heat transfer, GXS2SR and GX2DVF for further information.

Space-Averaged and Detailed-Geometry CFD

There are two varieties of CFD: Space-Averaged and Detailed-Geometry. The former is employed whenever the physically-important geometric details of the situation to be simulated are too small-scale to be represented realistically even by the finest grid that can be afforded. The shell-and-tube heat exchanger is a well-known example; so numerous are the tubes within the shell that to have one per cell would be more than most computers could manage; and even such a grid would still generate totally unrealistic solutions. Therefore the influence of the tubes on the within-shell flow is far better represented by way of volumetric (flow-direction-dependent) friction and heat-transfer coefficients.

There is nothing novel about this practice. It has been employed, implicitly, even in the pre-CFD commercial heat-exchanger-design packages.

These volumetric coefficients are computed by way of formulae, expressive of local-space-averaged velocities, densities, viscosities and thermal conductivities. And whence are these formulae derived? From experimental data, generalized by expression in terms of dimensionless criteria; and impaired by the hopeful but unsubstantiated presumption that Nature’s laws fit the product-of-criteria format. And are they correct? That is in all cases doubtful; and, the greater the number of relevant parameters, the deeper must be the doubt.

There is however another potential source of the formulae, namely Detailed-Geometry CFD. In the shell-and-tube-heat-exchanger example, this implies:

  1. performing a sufficiently-fine-grid study on a few-tube element of the tube bank;
  2. applying as boundary conditions the local average velocities from the SACFD study;
  3. computing the detailed local fluid and heat flow;
  4. interpreting the results in terms of space-averaged friction and heat-transfer coefficients;
  5. exporting these back to the next SACFD calculation.
The advantage of this Connected Multi-Run mode of operation is that the DGCFD component is more true to reality than is the use of the extrapolations from long-ago experiments. Thus DGCFD can take into account the detailed geometry of finned tubes for example; and also the variation of fluid properties with temperature. Heat-exchanger designers cannot of course be expected themselves to organize the necessary data exchanges between the two sets of calculations, which take place on two entirely different grids. They need an easy-to-use SimScene to do it for them. Such a package is now (March 2015) being created.


------ Real flag; value=-10260.0; group -

SAME....value name recognized in the fourth argument of COVAL, to be used to indicate that the "value" is to be the prevailing magnitude of the variable for each cell of the PATCH. An example is:

COVAL(name,H1,ONLYMS,SAME) which ensures that, since the inflowing mass brings in the same enthalpy as already prevails at the cell, there is no inflow source of H1 added.

This device can also be used to apply PATCH-wise false-time- step under-relaxation. To do so use type PHASEM, and set the coefficient to the reciprocal of the required false time step.

ONLYMS,SAME should NEVER BE USED FOR VELOCITIES, because doing so can lead to divergence, when inadvertent inflow occurs during the approach to the solution, at an aperture which should provide only outflow.

In the absence of any other information about what momentum per unit mass any inflowing material SHOULD have, it is best to insert 0.0 as the value.


------- Real PIL variable; default = 0.0

SARAH stands for Self-Adjusting Relaxation AlgoritHm.

Much in the same way that EARTH can calculate normalising factors for residuals when ( SELREF=T) based on sums of fluxes, it can also calculate average time-scales for each variable.

It does this if SARAH is given a value greater than zero

The actual false time step used for each variable is then:

Dtf = SARAH * Internally_calculated_value.

Suitable values of SARAH lie in the range 10.0 - 0.001.

The value of SARAH can be changed during an EARTH run by way of the graphical monitor.


A non-zero value of SARAH is not guaranteed to improve the rate of convergence in all circumstances. Like all self-adaptive devices, it may 'over-shoot', making excessive changes in the effort to increase speed.

It is best used cautiously, that is to say coupled with monitoring of the actual progress of the solution.

If a non-zero value of SARAH appears not to be assisting in a particular case, it is best set to zero.


This file, normally to be found in /phoenics/d_satell, conveys information about the natures and whereabouts of files which are required for the correct running of the satellite.

(see CONFIG)


Fortran COMMON file, containing variables used by both the SATELLITE and EARTH modules.

It resides in \phoenics\d_includ\


Fortran COMMON file, containing variables used by both the SATELLITE and EARTH modules.

It resides in \phoenics\d_includ\


---- Command; interactive ----------- -

SATRUN....command for use in any group, to execute all groups in the named SATLIT subroutine. For example, SATRUN(SATLIT) executes all user-inserted FORTRAN sequences present in subroutine SATLIT.

This command is normally used in the interactive mode when it is desired to re-run the SATLIT subroutine because of changes made, since SATLIT was first executed directly after the Q1 file was read and prior to the interactive session.


------------------------------------- Photon Help ----

SA[ve] [file] [TITLE] .... the SAVE command saves the current picture to a plot file. The file name must be specified the first time SAVE is used; thereafter plots will be added to that file unless a new file name is given. Entering the old file name will over write the original file.

The keyword TITLE will cause PHOTON to prompt for a picture title, which will be saved, and which can be used in the replay program to identify pictures.

saveXbegin and saveXend

where X is an integer number between 1 and 25, inclusive.

These markers should be placed in Q1 files, starting in the third or higher column, to indicate, respectively, the beginnings and ends of blocks of lines which must be preserved, i.e. not over-written, by the VR-Editor.

Why they were introduced is explained in documentation concerned with the 'protected mode'. of SATELLITE operation.

Important note

Although these markers were first introduced as 'protectors', they have, for Q1s which contain the setting, CPVNAM=VDI, assumed an additional role as 'activators'.

By this is meant that without them, they will not be acted upon by the satellite either in TALK=T or TALK=F mode.

Lines which require activation and protection in this way include:


---- Logical; default=F; group 6 ---- -

SAVGEO....when set T signifies that the BFC geometry is to be saved to a file for use in subsequent runs. Since the geometry creation calculation is time-consuming, this option is recommended on those computers that enjoy fast disc I/O. Note that the file created can be VERY large.

See also RSTGEO.

Volume of Fluid and Scalar Equation Method

When the inter-fluid surface separating two fluids exhibits overturning, the HOL method is not applicable. For these cases, PHOENICS has been equipped with alternative methods.

In these methods, a scalar property is used to distinguish between the fluids. In the Scalar Equation Method (SEM), the transport equation is integrated using special interpolation techniques (namely, the Van Leer scheme) to reduce numerical diffusion; and physical diffusion is switched off.

The details of the preferred Volume Of Fluid (VOF) method are described here and here. The treatment of the temperature equation for VOF is described here. The extension of VOF to allow for three fluid phases is described here. A further extension to allow VOF to operate in a pseudo-steady manner is described here.

VOF and SEM are provided in user accessible source code; specifically the relevant Fortran files are:

Input-file Library cases embodying VOF are: Input-file Library cases embodying SEM are: VOF or SEM may be activated via PIL commands or from PHOENICS-VR, Main Menu, Models.

They deduce the position of the interfaces from the solution of a conservation equation for a scalar "fluid-marker" variable, SURN. For 3-phase VOF, an additional scalar fluid marker SRN2 is solved.

The governing hydrodynamic equations are solved together with the transport equation for the scalar-marker variable(s).

The marker variable is used to update the local fluid physical properties, such as density and viscosity, by setting the properties at each computational cell to those of the appropriate mixture fluid according to the value of the scalar marker variable.

VOF and SEM are applicable to:

To cause PHOENICS to employ VOF or SEM, the user should make the following settings in Q1 (these settings are made automatically when a free surface model is activated in the Menu from the Main Menu - Models panel):

  1. Solve for the two variables SURN and VFOL, by SOLVE(SURN,VFOL), and store the density and specify the fluid in each cell by STORE(DEN1,PRPS). For 3-phase VOF, SOLVE(SRN2,VFL2) is also required
    SURN stores the scalar-marker variable, the value of which is zero or unity in cells completely filled with the lighter or heavier fluid respectively. SRN2 is the equivalent for the third phase.
    VFOL stores the value of SURN at the old time-step and provides information on the inflow volumetric fluxes. Note that STORE(VFOL) will suffice if there is no inflow of fluid to the domain, as is the case, for example, for a sealed container. VFL2 is the equivalent for the third phase.
  2. Activate the solution procedure based on volume continuity by setting GALA=T.
  3. Instruct that the solution of SURN and VFOL shall be completely performed in the GX-routine GXSURF, by setting:


    For 3-phase VOF,


    are also required.

  4. Specify the index selecting the heavier fluid in PROPS through IPRPSA, and the light fluid through IPRPSB. For 3-phase VOF the index specifying the third phase is IPRPSC.
  5. Specify the initial conditions through PATCH and INIT statements for SURN (and SRN2), DEN1 and PRPS to determine the initial position of the interface.
    The latter also needs to be specified in order to give the properties of the two fluids by way of PROPS.
  6. Specify the value of SURN / SRN2 below which the cell will be regarded as being full of the lighter fluid through RLOLIM and the value of SURN above which the cell will be regarded as being full of the heavier fluid through RUPLIM. These two parameters are used to sharpen the property interface. Typical values might be RLOLIM=0.001 and RUPLIM=0.999.
  7. Specify a PATCH to reinstate the transient source terms into the equation for SURN which was deactivated by the TERMS command through PATCH statements:

    COVAL(name,SURN,GRND,GRND) and
    COVAL(name,SRN2,GRND,GRND) for 3-phase VOF.

  8. Specify any inflow conditions through the normal PATCH and COVAL statements. For variable SURN / SRN2 the inflow conditions must be set in the form of a net volume flux, as the product of the inflow SURN / SRN2 value and inflow velocity. In addition a COVAL statement for VFOL / VFL2 must be specified in which the VALue is 1.0/rhoin where rhoin is the incoming fluid density:
  9. Specify SURF=T to activate the GX-routine GXSURF from within GREX3.
  10. Select the free-surface model by setting ISURFA as follows:
    2VOF - HRIC
    3VOF - MHRIC
    4VOF - STACS
    5VOF - THINC

    The only difference in the Q1 settings between VOF and SEM is the value ascribed to ISURFA.

To run VOF in pseudo-steady mode, with scalars and hydrodynamics solved using one time step, and the SURN/SRN2 equations solved with a local time-step, add:


to Q1 to activate local time-stepping. The local time-step used for SURN/SRN2 can be saved by adding STORE(DFL).

To use a constant local time step, add


where DTf is the fixed local time step for SURN/SRN2.

See the entries for Height-of-Liquid Method for information on an alternative procedure for free surfaces.

The treatment of surface tension effects is described here.


------------- Command; group 8 ----------- SCHEME

SCHEME... is used to select a higher-order (HO) convection discretisation scheme for a SOLVEd-for variable. The default scheme for all variables is the hybrid-differencing scheme (HDS), for which the value of DIFCUT is 0.5. The upwind-differencing scheme (UDS) is activated for all variables by setting DIFCUT=0.

The HO schemes may be used for any variable in both single- and two-phase calculations, with the exception of the volume fractions R1, R2 and RS and the temperature variables TEM1 and TEM2.

A particular scheme is assigned to one or more dependent variables by the SCHEME command, the syntax of which is:

SCHEME(scheme_name, variable_name 1, variable_name 2, ...etc.)

For example,


selects QUICK for U1 and V1, SMART for H1,C1 and C2, and UDS for any SOLVEd variables which do not appear in a SCHEME command.

The complete list of scheme names is:

    LUS            FROMM          CUS            QUICK          CDS
    SMART          KOREN          VANL1          HQUICK         OSPRE
    VANL2          VANALB         MINMOD         SUPBEE         UMIST
    HCUS           CHARM



---- Autoplot Help ----


Clear the screen and delete all levels, text and keys. The data elements remain in memory, but the association with line type and colour is lost. Data elements can be restored using the PLOT, BLB or DOT commands.



------------------------------------- Photon Help ----

SC[reen]....clears the display, but does not delete any data elements.

See also : CLEAR


is an abbreviation for Simple Chemically-Reacting system, a much-used model of combustion.

It is described in a very old lecture, interesting mainly to historians of CFD, here, and more comprehensively here

SCRS is also a PIL command which is issued for the activation of the extended SCRS (i.e. ESCRS) gaseous combustion model.

This model makes provision for 5 different idealised reacting systems, which involve either 1 or 2 reaction steps, which may proceed by way of either the infinite-rate-chemistry or finite-rate-chemistry assumptions.

The ESCRS allows for specific heats, and therefore and heats of reaction also, to vary with temperature, the appropriate data being taken from the CHEMKIN thermodynamic data base.



---- Logical; default=F; group 25 --- -

SEARCH....indicates that a single element (IDBF0) of a common block (identified by IDBCMN) is to be printed each time any other debug appears.

This debug utility is used for searching for overwrites of values in COMMONs, and is normally used with FLAG=T for locating the subroutine in which the overwrite occurs.

A finer bound on the overwrite location can be obtained once the subroutine in which it occurs is known, by activating the debug parameter for the subroutine in question.

The following settings provide a search on element 2001 of the F-array:


in the principal subroutines visited over the range

The next PIL sequence tracks the contents of element 8 (ie W2) of the array that contains the under-relaxation data:
DEBUG=T;IDBCMN=18;IDBF0=8; in the subroutines that set up the finite-domain equations indicated by:


Second-phase cartesian velocity resolute

(see U2CR, V2CR, W2CR)

Second-phase fluid, mixing length scale of

(see EL2)


SEE is a PIL command which elicits printing of current data settings, group by group.

SEE n starts the display at Group n

SEE C displays the user-declared character variables.

SEE I displays the user-declared integer variables.

SEE L displays the user-declared logical variables.

SEE R displays the user-declared real variables.


SEELIB is a PIL command which prints on the screen the contents of the PHOENICS input-file library.

SEELIB n , or in the case of an option library SEELIB(On) where O is the letter appropriate to the option, brings case n to the screen.


---- Command; interactive ----------- -

SEEPTS....command which permits the user to display at the VDU the values of the cartesian coordinates XC, YC, ZC of all the points of a BFC grid within the sub-domain defined by the six arguments of SEEPTS, viz. SEEPTS(I first, I last, J first, J last, K first, K last).

This command is used primarily in conjunction with SETPT and VIEW, as an aid to making localized improvements to the grid.

For further details of this BFC nomenclature, see BODY-F; also see GROUP 6 for a list of BFC commands.


---------------------------------- S Photon Help ----

[Segment] is the name of the current GEOMETRY segment. The default is 'SEGM(level)' where level is the nesting level.


SELREF; self-selection of reference residuals RESREF, the iteration-cut-off threshold for the residuals of a solved-for variable, is selected internally in PHOENICS when the PIL variable SELREF (the default) is set = T.

See also the entry for RESFAC.


---- Autoplot Help ----


Sends the current picture to a plotting device if one is available

See also HELP on : DUMP, SAVE


-------------------------------------- Photon Help ----

SE[NDP].... Redraws the current picture on a plotter or into a plot-file. If more than one plot device is configured in the Graphics Interface, a plot device can be selected from a menu of the available devices. If a file-name is required, PHOTON will prompt for it.

See also : DUMP, SAVE


-------------------------------------- Photon Help ----

SE[NDP].... Redraws the current REPLAY display on a plotter or into a plot-file. If more than one plot device is configured in the Graphics Interface, a plot device can be selected from a menu of the available devices. If a file-name is required, REPLAY will prompt for it.

Sequential file

A type of data file used by PHOENICS in which the information is accessed sequentially, rather than directly (cf. direct-access file). Sequential formatted files are slower to access than direct-access files, but they have the advantage of being portable across machines of different makes.


is a PIL variable which, when set true, activates a call to the open-source sub-routine GXBFGR (in file GXBFGR.HTM), where Fortran coding may be found, or placed by the user, which calculates the values of XC, YC and ZC, the cartesian coordinates of the grid-cell corners.


--------------------------------- Photon Help ----

[Shade/Colr] activates a colour bar showing all the available colours. You can choose a preferable colour by pointing the cursor at the particular colour and clicking the mouse button. There are three colours (RED-GREEN-BLUE) for shading. The subsequent plot with [Do] will be coloured accordingly.

Shear stress equation in RSTM

(see TR305)


---- Autoplot Help ----

SH[IFT] [X or Y] [a] [i] [j]
A constant increment a is added to the x- or y- coordinates of data elements i - j. If these are omitted,the program will prompt



(Replay Menu) -------------------------------------- Photon Help ----

SH[ift].... is a REPLAY command which sets the position of the next frame. It is used with SCALE in order to draw frames with specified positions and sizes on the display.

Issuing the SHIFT command causes the graphics cursor to be displayed; when the position has been selected, an alphanumeric key should be pressed to fix the position. This position is used as the bottom left-hand corner of subsequent frames, until reset via a SHIFT or RESET command.

This command can be used in USE files, where interaction with the user is not possible. However, the format of a SHIFT command in a USE file is:


<X-position> <Y-position>

where the X and Y coordinates are given in PHOTON units.

The WHERE command can be used to return screen positions in a form suitable to be used by SHIFT, when SHIFT is employed in a USE file.



--------- Real; group 13 ----------- -

SHSOA... is used in a version of the two-fluid turbulence model to specify the strength of the shear source. See the help and encyclopaedia entries on TURBUL and TURMOD, and GXSHSO for further information.


These are methods (also called algorithms) used in PHOENICS for the solution of the systems of algebraic equations for velocity components and pressure.

SIMPLE stands for Semi-Implicit Method for Pressure-Linked Equations. It was first published by Patankar and Spalding (1973).

The method used in PHOENICS is SIMPLEST (SIMPLE ShorTened), which is a derivative of SIMPLE.

These algorithms are described here,


(Test Menu) --------------------------------------- Photon Help ----

[Size] changes the size of the characters in an existing text string. PHOTON will show all four character sizes near the bottom of the window. Select the desired size with the cursor. PHOTON will then request the text string to be resized.

See also:- SIZE in the menu below.


(Contour Menu) --------------------------------------- Photon Help ----

Cells are filled with polygons of a specified size.


(Stream Set Menu)--------------------------------------- Photon Help ----

The time step size for each step of streamline tracking. The smaller the time step size the more accurate the streamlines will be.


(Contour Menu) ----------- Size/Number Photon Help ----

The number shown here depends on the contour mode.

You can change the settings as required.

See also: [ Set]


------ Character flag; groups 11, 13 and 23 -

SKIP....is recognized in the SATELLITE and EARTH as a special PATCH name, which causes the PATCH in question to be skipped, i,e. it is a means of deactivating a PATCH.

For example, the instructions:
PATCH(AREA1,EAST,1,1,1,1,1,1,1,1); AREA1=SKIP
would cause the PATCH arguments to be stored but would inhibit the otherwise-implied actions.

In order to reactivate the PATCH, rename the PATCH-name back, viz. SKIP=AREA1;

alternatively, in Q1 simply remove the statement which sets AREA1 to SKIP by means of the system editor.

When it is desired to deactivate several PATCHes, which may later need to be revived, proceed by renaming each PATCH name to SKIP1, SKIP2, ....SKIPn so as to retain their separate identities, eg.


If it is desired to re-activate PATCH IXEQNX, this is achieved by re-naming the PATCH named SKIP2 to IXEQNX by the instruction SKIP2=IXEQNX .

Slab-wise variables


SWVs are variables which, although they may have significance for all the cells in a 3D grid, are stored only in arrays of dimension NX*NY. As the equation-solving operation moves through the grid in the z-direction, the values pertaining to the previously-visited slab are over-written by the values pertaining to the currently- accessed slab.

The majority of variables with integer names used inside PHOENICS are of this kind. Examples are all those beginning with LXY in COMMON /LB/ of GRDLOC.

The special auxiliary variables described above may, as already mentioned, be either FFVs or SWV's. They are the latter by default, ie if no specific action is taken in the SATELLITE in order to create full-field storage for them.

Of course, when the grid does not extend in the z-direction, ie when NZ equals 1, full-field variables are also in a certain sense SWVs.

The variables in the X-wise, Y-wise and Z-wise categories have only one distinct value for each and every value of the coordinate in question. The lengths of the F-array segments which they occupy are therefore NX, NY and NZ respectively.

Examples are:-

Because of the slab-by-slab nature of the PHOENICS storage and equation-solving arrangements, there are more ZWV's than there are XWV's and YWV's.

The variables in question are those which appear in the COMMON block /LB/ of GRDLOC in Appendix 2 as:


'Slabs' are arrays of cells having the same value of the low-to-high coordinate z. Many of the mathematical operations conducted by PHOENICS operate over a single slab; and many cycles of adjustments can be performed for one slab before PHOENICS transfers its attention to the next slab. These adjustment cycles are referred to as 'slabwise solutions'.

Slabs, hydrodynamic iterations of

(see LITHYD)

Slabs, number of iterations during a sweep of

(see LITC)

Slabwise iterations

(see LITHYD)


------------------------------------- -

Ground logical.

SLBSOL....is set .TRUE. by EARTH when the NX*NY linear equations of the current variable (INDVAR) at the current slab are to be solved. It is set .FALSE. by EARTH when the NX*NY*NZ linear equations of the current variable (INDVAR) are to be solved over the whole field.



Storing the variable SLPU, SLPV and/or SLPW ensures that the differences between first- and second-phase velocities are computed and stored at the end of iterations on a slab. They can be used for the plotting of slip-velocity vectors in PHOTON.

The relevant sequence in GREX3 is:


Library case W582 provides an example.

Slope, angle of

(see SNALFA)


See PHENC Slip-velocity storage


See PHENC Slip-velocity storage


This character variable, which is an abbreviation of the word SOLVER, is used in GROUND coding to indicate which solver is to be used.

Current options are:

SLVR is equivalenced in the 'included' file, GRDLOC, to CSG3, which is the variable which must be used in the Q1 file.


See PHENC Slip-velocity storage

Smagorinsky subgrid-scale model

See PHOENICS encyclopaedia entry: Smagorinsky subgrid-scale model


---- Real; default=-1.E30; group 25 - -

SMCHCK....lower limit for F-array element INCHCK.


---- Real; default= 0.0; group 4 --- -

SNALFA....sine of the angle of slope of the y=0.0 boundary for use in parabolic calculations when a cylindrical-polar coordinate system is in use ( ie PARAB=T; CARTES=F ). When SNALFA is non-zero, the z-direction is measured along the surface of the body, the y-direction is measured normal to it, and x ( in radians ) is circumferential.


See PHENC entry:

Solution procedure for RSTM

(see TR305)

Solution sweeps, specifying number of

(see LSWEEP)


---- Command; group 7 --------------- -

SOLUTN....command for stating which variables are to be stored, solved, etc. The format of the command is:

The six questions answered by the Y's and N's are:

  1. Store the variable?
  2. Solve for the variable?
  3. Solve by whole-field method?
  4. Solve by point-by-point method?
  5. Use explicit formulation if transient?
  6. Use harmonic averaging of exchange coefficients?

The defaults are (...,N,N,N,N,N,N). The explicit? question is relevant only to time-dependent flows. The harmonic-averaging question relates to how the diffusion coefficients (or viscosities) are averaged in order to provide the values used in the finite- domain equations. When N is answered, arithmetic averaging is used.

See STORE for a way of storing and printing out the residuals and corrections of the solved-for variables.


----- Command; group 7 --------------- -

SOLVE....command for stating which variables are solved, thus: SOLVE(variable name 1,variable name 2,........)
The above command causes the following lower-level commands to be executed:

If the variable name is not one of the recognized ones (See VARIABLES to list these), the code will search from NPHI downwards until it finds an unused variable, ie one not stored; this will then be solved and named as requested.

See STORE for a way of storing and printing out the residuals and corrections of the solved-for variables.


--------- Command ------------------- -

This command prints on screen all currently solved variables.


Solver parameters for the Stone-type linear-equation solver. The speed of convergence of the default linear-equation solver of PHOENICS can be influenced by settings of the following PIL variables, each of which has its own Encyclopaedia entry:-


-------------- Advanced PIL command --- -

The syntax is : SORT(ARRAY,FUNC,IMAX)

This command sorts the array ARRAY according to the function specified in FUNC. The allowed functions are :

IMAX specifies the extent of the sorting.

For 2 & 3D arrays, there are additional arguments, as for LOCATE, which indicate which particular row, column or plane is to be sorted. All other elements are then sorted to match the specified one.

If removal of duplicates is specified, then IMAX returns the number of elements left after sorting. If a tolerance is used, it is set as an additional (last) argument. The element is removed if the absolute difference betrween two adjacent elements is less than or equal to the set tolreance. The tolerance can be any valid PIL real variable.

ARRAY can be any valid PIL real or integer array, and IMAX can be any valid PIL integer.


See also nett sources.

SOURCEs can be set in the following two ways:-

  1. Built-in sources are activated by putting Y as the second argument of the command TERMS for the variable in question. This is the default value except for TEM1 and TEM2. The built-in sources, are:
  2. All other sources have to be introduced by the user who defines through PATCH the section of the domain over which they act, and through COVAL the nature of the source.

Often, of course, GROUND-called functions will require to be activated by the setting of the "Coefficient" or the "VALue" of COVAL to GRND, GRND1, etc; but many settings are capable of being made more directly. For example, the "type" PHASEM provides a convenient way of introducing GRAVitational sources in cartesian coordinates.

Subroutine GREX is supplied with a set of often-needed source-term options. These options are accessed by PATCHes that have names that begin with the characters: BFC, BUOY, CHSO, CONM, IBFC, IPST, KESO, LATG, LESO, NE, OUTL, PROF, RADI, ROTA, SHSO, UPOL, VPOL.

Sources in finite-volume equations

(See USOURC logical, Group 8)

Sources, representing inflow boundaries

(see ONLYMS real flag, Group 13)

Sources, setting of, per unit free area or volume

(see FREEE , FREEH, FREEN, FREEVL flags, Group 13)

Sources, setting of, per unit east

(see EAST real flag, Group 13)

Sources, setting of, per unit high

(see HIGH real flag, Group 13)

Sources, setting of, per unit low

(see LOW real flag, Group 13)

Sources, setting of, per unit north

(see NORTH & NWALL flags, Group 13)

Sources, setting of,per unit south

(see SOUTH and SWALL real flags, Group 13)

Sources, setting of, per unit volume

(see VOLUME real flag, Group 13)

Sources, setting of, per unit west

(see WEST and WWALL real flags, Group 13)


----- Real flag; value= 5.0; group 13 -

SOUTH....is a PATCH type used for setting sources per unit south ( ie. smaller-y ) area by way of COVAL in group 13.

Spatial subdivisions in x-direction, specifying number of

(see NX)

Spatial subdivisions in Y-direction, specifying number of

(see NY)

Spatial subdivisions in Z-direction, specifying number of

(see NZ)


(View Menu) --------------------------------------- Photon Help ----

The image can be rotated in the view plane.

SPINTO, i.e. Simplified PINTO

This new (2009) successor to PINTO is a stand-alone module, the purpose and use of which are described here.

Its main use is to procure economies in computer time by performing a series of runs, starting with coarse grids and proceed, via re-starts, to the finest grid.


Spot values, sometimes called 'monitor-point values' or 'monitor values', are the values of solved-for or stored values which prevail at the particular cell in the grid for which the IX, IY and IZ indices are equal to IXMON, IYMON and IZMON. The latter are PIL variables, defaulted to 1, 1 and 1, which are given values in the Q1 file.

Spot values, and their variation during the course of a calculation, often appear in the left-hand panel of the computer screen while the solver execution is in progress.

They are also often tabulated in the result file, for example thus:

spot values vs sweep or iteration number
    IXMON=      3    IYMON=      5    IZMON=      5 TIMESTEP=      1
 Tabulation of abscissa and ordinates...
  ISWP       P1           U1           V1           W1           KE
     2   1.0000E-10   9.6690E-03   1.5028E+00   4.6989E+00   7.6247E+01
     7   3.4182E+02  -2.6747E-02   5.0778E+00   4.9967E-01   4.4095E+02
    12   2.4060E+02   6.6644E-05   3.4927E+00   7.1681E-01   5.8478E+02
    17   2.2581E+02   1.1057E-03   2.7867E+00   5.3504E-01   6.5296E+02
    22   2.8342E+02  -1.1215E-02   2.8863E+00   6.0520E-01   6.4140E+02
    27   2.5141E+02  -5.0609E-02   1.5522E+00  -1.6886E+00   4.9289E+02
    32   7.9481E+01  -1.1248E-01  -3.7547E-01  -7.4691E+00   3.0902E+02
    37  -3.0611E+01  -1.8565E-01   8.1451E-01  -1.0603E+01   1.9640E+02
    42  -7.3652E+01  -2.7743E-01   1.9974E+00  -1.1060E+01   1.4099E+02
It is also possible to use the printer to represent their variations with sweep number, as shown here.

   Variable    1 = P1     2 = U1     3 = V1     4 = W1     5 = KE
     Minval= -7.365E+01 -3.672E-01 -3.755E-01 -1.106E+01  7.625E+01
     Maxval=  3.418E+02  9.669E-03  5.078E+00  4.699E+00  6.530E+02
     Cellav=  3.589E+01 -2.288E-01  2.613E+00 -7.166E+00  2.271E+02
   Variable    6 = EP     7 = H1     8 = FUEL   9 = MIXF
     Minval=  3.736E+03  2.430E+06  1.057E-03  2.711E-02
     Maxval=  3.024E+05  3.094E+06  1.333E-02  5.482E-02
     Cellav=  7.103E+04  2.642E+06  3.983E-03  3.550E-02
 1.00 9..3.+..8.+6.7.+7...+....+....+....+....+....+....+
      .    2     2                                      .
 0.90 +  2 8       6                                    +
      .          8 2                                    .
 0.80 +  9 9       1                                    +
      .  4 4  9  9                                      .
 0.70 +  8 3  1  7 9  2 7                               +
      .  5    6                            3 3  3  3 3  3
 0.60 +       3  3 4               3  3 3               +
      .            8  9         3                       .
 0.50 7                 2     3                         +
      .               6    3                            .
 0.40 +       7       5    7                            +
      3    6       3  1 9                               .
 0.30 +                       7                         +
      8               8    2                            .
 0.20 1                 6       7                       +
      .  6 7               9       7  7                 .
 0.10 +                 8  6  9 6       7  7 7  7  7 7  7
      .                 4  8  8 9  9  6 6  6 6  6  6 6  6
 0.00 6..7.+....+....+3...+4..4+8..8+.9.9+.9.9+.9..9.9..9
      0   .1   .2   .3   .4   .5   .6   .7   .8   .9  1.0
 the abscissa is      ISWP.  min= 2.00E+00 max= 9.70E+01

(see GROUPS 20-24)

(see ITABL)


a PIL variable of character type, default = ' ', which determines what special-purpose program is in question.

Click here for more information

SPRAY-HEAD, a FLAIR object specifying a source of water droplets

See the description in the FLAIR User Guide.


-------------------------------------- -

STACK....the instruction stack is a FORTRAN CHARACTER*512 array, which is used to store the PIL instructions entered. If more lines are entered than can be accommodated in the array, the array is automatically extended. PIL lines longer than 512 characters occupy two lines in the stack.

The EDITOR can be used to amend the PIL instructions in the stack.

Stagnation Pressure

(see Total Pressure)


If a PATCH name begins *name, where name is the four-character name of a solved or stored variable other than TEM1, a corresponding COVAL for variable PHI will introduce a source of PHI equal to:


where CO is the third argument of the COVAL, VAL is the fourth argument of the COVAL, and NAME stands for the local value of the variable having the name which has been referred to.

If the referenced variable has a 2 or 3 character name, the name must be filled out with blank characters. eg:- NAME(P1)= P__1 .

An example is:


This provides a source equal to:


The feature is illustrated by library cases 413, 414 and 415.

For creation of a patch-wise source which depends upon some power of temperature, a different syntax applies. This is explained in the PHENC entry: RADIATION and FREE-CONVECTION BOUNDARY CONDITIONS.


(Grid Edit Menu) ------------------------------------- Photon Help ----

[Status] is used to show and switch the current GRID element ON/OFF.

See also: [ Grid No.]


(Vector Edit Menu) ------------------------------------- Photon Help ----

[Status] is used to show and switch the current VECTOR element ON/OFF.

See also: [ Vector No]


(Contour Edit Menu) ------------------------------------- Photon Help ----

[Status] is used to show and switch the current CONTOUR element ON/OFF.


(Stream Edit Menu) ------------------------------------ Photon Help ----

[Status] shows and toggles the current STREAMLINES element ON/OFF.


------------------------------------- Photon Help ----

[Status] shows and toggles the current SURFACE element ON/OFF.


---- Logical; default=T; group 2 ---- -

STEADY....indicates, if set to T, that the simulated flow is independent of time. STEADY=F denotes that the process is transient, in which case the user must ensure that a time-step specification is set in GROUP 2, and that the last two arguments of the PATCH commands in GROUP 13 are appropriate.

The stoichiometric mixture fraction

is that value of the mixture fraction at which, in equilibrium, the combustible components of the fuel-bearing are fully oxidised, e.g. to carbon dioxide and water vapour.


PIL command which, before the introduction of the Virtual-Reality feature, terminated Satellite execution.

Preliminary note

In the following discussion a 'VR-run' is an execution of Satellite for which either:
  1. the Q1 file contains the setting: CPVNAM=VDI, or
  2. the satellite is operating in interactive-editor mode,
Correspondingly, a 'non-VR' run of the Satellite is one in which neither of the above are true.

(a) For non-VR runs

STOP is used in a Q1 file to signify the end of the run-defining data for a particular run. If there are n runs activated by RUN, there must be n STOPs also. Keyboard entry of STOP is not recognized.

Interactive sessions are terminated by END. This will evoke the question: Replace Q1 file by instruction stack? (Y/N) The answer Y saves the Q1 file for the next session.

Use ABORT, or simply A (upper- or lower-case) to 'kill' the session without further file creation.

See also the entry on DMPSTK for information on how the instruction stack is written out.

(b) For VR runs

When the satellite is being run in Virtual-Reality mode, whether TALK=T or TALK=F, it is possible, and may be desirable, for further PIL statements to be placed in the Q1 file below the STOP line.

These statements will be processed after all information about objects has been taken into memory but before the EARDAT file is written, They can therefore be used so as to over-write information introduced via a VR session.

However, none of the VR-specific statements beginning > DOM, > OBJ, etc will be processed.


--------------------------------------- Photon Help ----

ST[op]....terminates the plotting session, closes all open files and returns to the operating system.

See also : END


STOPJOB If, during execution, the user creates and saves a file called STOPJOB, execution stops after completion of final-sweep print-out. The relevant coding is in GREX3, Group 19.

This device may not work on all computer systems.


----- Command; group 7 --------------- -

STORE....command for stating which variables are stored, but not solved, thus:
STORE(variable name 1,variable name 2,........) The actual settings made are as indicated below. They can be modified by subsequent settings of SOLUTN and OUTPUT.

SOLUTN(variable name 1,Y,N,N,N,N,N)
OUTPUT(variable name 1,Y,N,N,N,N,N)
SOLUTN(variable name 2,Y,N,N,N,N,N)
OUTPUT(variable name 2,Y,N,N,N,N,N)

If the variable name is not one of the recognized ones (See VARIABLES for list), the code will search from NPHI downwards until it finds an unused variable ie one not stored which will then be stored and named as requested.


When a solved-for variable is given the name xxx% and the statement STORE(xxxR) appears in the Q1 file, the field of xxxR contains the values of the residuals of variable xxx% before entry to the linear- equation solver. These values can be printed in the result file, or viewed via PHOTON or AUTOPLOT, in the same way as other stored variables.

When a solved-for variable is given the name xxx% and the statement STORE(xxxC) appears in the Q1 file, the field of xxxC contains the values of the corrections to variable xxx% after exit from the linear-equation solver. These values can be printed in the result file, or viewed via PHOTON or AUTOPLOT, in the same way as other stored variables.

This method cannot be used with variables that have required 4 character names, such as TEM1.

A much better way of saving residuals and corrections not subject to this limitation is to use the InForm commands:

(STORED OF residual_name IS RESI(var))
(STORED OF correction_name IS CORR(var))

where var is the variable in question and residual_name and correction_name are (4 character) unique names for the residual and correction. An example might be:


which would put the residual for TEM1 into #T1R and the correction into #T1C. The significance of the '#' is that it tells Earth and Viewer not to wipe out values in solid cells with participating solids.

See also this entry on InForm.


Storing the variable SLPU, SLPV and/or SLPW now ensures that the differences between first- and second-phase velocities are computed and stored at the end of iterations on a slab. They can be used for the plotting of slip-velocity vectors in PHOTON.


--------- Command ------------------- -

This command prints on screen all currently stored variables.

Stored variable, naming of

(see NAME)

Stored variables, specifying print-out for

(see OUTPUT)

Storing variables

(see GROUP 7)


--------- Command ------------------- -

STOVAR....This command checks whether a named variable is stored or not. For instance if IT1 is a user declared PIL integer, STOVAR(TEMP,IT1) will pass to IT1 the index number for TEMP if TEMP is stored. If TEMP is not stored, the result of IT1 will be 0.


----------- Logical; group 25 --------- -

STRA... is used to activate the calculation of stresses and strains in solids. Its default value is F.

See the PHENC entry on STRESS and STRAIN in SOLIDS.


The magnitude of the mean rate of strain is defined by:

S = √(2 Sij Sij)= √(GEN1)

where Sij is the rate of strain tensor defined by

Sij = 1/2(∂ui/∂xj+∂uj/∂xi)

and GEN1 is the PHOENICS variable name that stores the sum of the squares of the velocity gradients.

The strain rate magnitude S can be written to the RESULT and solution files by putting STORE(SRM1) in the Q1 file. Likewise, in two-phase applications, STORE(SRM2) elicits storage and output of the strain rate magnitude of the 2nd phase.

STRETChing of grids

------------------------ -

STRETChing of the nominal cartesian or polar grid can be effected in several ways of which the use of 'porosity' (see POROSI) is the first. Porosities may be set to values larger than 1.
Other variables which bring about stretching (or contraction) in one way or another are:- AZDZ, AZXU, AZYV, ZMOVE and ZWADD.

Finally, the body-fitted-coordinate option involves stretching.

See therefore BODY-F, and also MAGIC.


-------------------------------------- Photon Help ----

There are three options here:

Plain normal plain grids in the plotting region.
Outline only the outline of the plotting region will be drawn.
Hatch a hatched grid surface will be drawn.

Sub-domains, specification of

(see DOMAIN and FIXDOM commands, Group 6)

SUBGRID-SCALE turbulence model

See PHENC entry: Turbulence Models in PHOENICS


---- Logical; default=F; group 21 --- -

SUBWGR....set T causes the printed field of w velocities to be the total velocity minus the grid velocity. It permits visualization of the motion of the fluid relative to the moving grid defined by ZMOVE,in conjunction with which it may be used.

SUN, a PHOENICS-VR object type

A SUN object is used to specify the direct and diffuse solar radiative heat load on objects within the domain.

See the descriptions of its PHOENICS implementation in the open-source coding here
and of how to activate it via the VR Editor in the PHOENICS_VR Reference Guide, TR326

SUPPRESSing the making of pressure correction

The PIL setting RELAX(P1,LINRLX,0.0) prevents pressure corrections from being added to pressure, which therefore cannot change. The full velocity adjustments are still made however.


------ Logical; default=F; group 19 --- -

Set SURF=T to activate the Scalar Equation Method (SEM) for flows with inter-fluid boundaries.

See PHENC entry: scalar-equation method


When any of the free-surface models are active, surface tension effects can be included using the Continuum Surface Force method. This is described here. The extension to 3-phase VOF is described here.

The implementation is in the open source routine GXSURFTS.FOR.

In the VR Editor, surface tension is activated whenever a surface tension coefficient formulation is selected on the Main Menu / Free Surface / Settings panel.

If the case is being created outside the Editor using PIL, surface tension is activated by the following commands:


The formulation of the surface tension coefficient is set via the PIL variable ISRFTA, as follows:

For 3-phase VOF, ISRFTB controls the surface tension between fluids 1 & 3, and ISRFTC between fluids 2 & 3. The constants in the expressions are held in SRFTA2, SRFTB2 and SRFTC2, and SRFTA3, SRFTB3 and SRFTC3 respectively.

Two further parameters are used to control the surface tension force.

The first, UUDF (default 0.3) sets the width (in terms of SURN / SRN2 value) over which the tension force is applied.

The second sets the number of smoothing iterations applied to the SURN field before use. It is passed to GXSURFTS using the SPEDAT command:


with a default value of nsmooth of 2.

The smoothed SURN field can be seen by STOREing the variable SURT. For 3-phase VOF the smoothed value of the third phase can be seen by STOREing SRT3.


----- PIL Real; value= 0.0; group 19 -

SURFTA, SURFB, SURFTC....are constants used in the evaluation of the surface tension coefficient between fluids 1 & 2 to be used in the Continuum Surface Force model. See SURFACE TENSION for further information.

SRFTA2, SRFTB2, SRFTC2.... are constants used in the evaluation of the surface tension coefficient between fluids 1 & 3 to be used in the Continuum Surface Force model for 3-phase VOF. See SURFACE TENSION for further information.

SRFTA3, SRFTB3, SRFTC3.... are constants used in the evaluation of the surface tension coefficient between fluids 2 & 3 to be used in the Continuum Surface Force model for 3-phase VOF. See SURFACE TENSION for further information.


----- Real flag; value= 20.0; group 13 -

SWALL....is a PATCH type used in group 13 in conjunction with COVAL for representing the sources resulting from a wall at the south faces of the cells identified by PATCH. See WALL and WALLS for further information


---- Autoplot Help ----

SW[AP] [i] [j]

The x- any y- coordinates of data elements i - j will be reversed If i & j are omitted, all elements in memory will be affected. If one of the axes is logarithmic, then all elements must be swapped. Data elements entered subsequently will not be affected. A SCALE command will frequently be required to rescale the axes to match the new data.

See also HELP on : SCALE

Sweep frequency, specifying the

(see NCRT)

Sweep interval of field print-outs

(see NPRINT)

Sweep interval, print-out of

(see NPRMON)


(also see Iterations)

A 'sweep' is a set of slabwise operations, conducted in sequence from the lowest-z slab (on the left) to the highest (on the right). Because the equations for values at one slab ordinarily make reference to values at the next-higher-z slab, later adjustments made at the higher slab will invalidate, to some extent, the adjustments which have just been made at the lower one. For this reason, many sweeps must be made, in succession; and the process should be continued, ideally, until all equations are in such perfect balance that further adjustments are unnecessary.

Sweeps, first

(see ISWC1 and ISWR1)

Sweeps, index number of last

(see LSWEEP)

Sweeps, last

(see ISWR2)

Sweeps, termination of

(see RESREF)

Symmetry planes for RSTM

(see TR305)