Input-data items for PHOENICS are organized in 25 groups, as can be seen by inspecting the many Q1 files which appear in the PHOENICS Input-File Library.
The same group-wise organization of data and functions is employed in the open-source coding of GROUND and GREX3.
Preliminary descriptions will now be given of each group in turn, in order to facilitate understanding of the style and rationale of the groupings, to see which please click below.
For other significances of the word GROUP in Autoplot, click below.
For the use of GROUPs in the VR-Editor, click here.
PHOENICS is arranged so as to make it possible to set up and execute a series of computer runs, a facility that is often exploited when 'parametric studies' are required. Each run then needs to be identified by a number; and it is usually convenient to give each run its own title. GROUP 1 is the place for such labelling operations.
Declarations such as REAL(...), CHAR(....), ARRAY(....,...), for variables which they user intends to use, are also best made here. However, so long as the declaration statement s appear in the Q1 file ABOVE the point of their first use, they can appear in any group.
Commands: | ARRAY , BOOLEAN, CHAR , CLEAR , INTEGER, LOAD , REAL , SATRUN , TEXT . |
Logicals: | None . |
Integers: | LIBREF. |
Reals: | None . |
Characters: | TITLE . |
PHOENICS can simulate both steady-state and transient phenomena. For the former, no entry is required in GROUP 2; otherwise, data items relating to time dependence must be supplied here.
Commands: | GRDPWR , REGEXT, SUBGRD. |
Logicals: | STEADY. |
Integers: | IREGT, LSTEP, NREGT . |
Reals: | TFIRST, TLAST . |
Real Arrays: | TFRAC . |
Characters: | None . |
PHOENICS can represent phenomena in 1, 2 or 3 space dimensions. Provision is therefore made for setting up 'grids' in three directions, designated x, y and z; and each is dealt with separately. x, y and z are all distances in the standard settings, measured in metres; however, x may be caused, by setting XCYCLE=T, to represent an angular coordinate; and similar changes can be effected, with more difficulty, for y and z.
GROUP 3. x-direction grid specification.
Commands: | GRDPWR, REGEXT, SUBGRD. |
Logicals: | CARTES. |
Integers: | IREGX, NREGX, NX . |
Reals: | AZXU , XULAST. |
Real Arrays: | XFRAC . |
Characters: | None . |
Commands: | GRDPWR, REGEXT, SUBGRD. |
Logicals: | None. |
Integers: | IREGY, NREGY, NY . |
Reals: | AZYV , RINNER, SNALFA, YVLAST. |
Real Arrays: | YFRAC . |
Characters: | None . |
Commands: | GRDPWR, REGEXT, SUBGRD. |
Logicals: | PARAB . |
Integers: | IREGZ, NREGZ, NZ . |
Reals: | AZDZ , ZWADD , ZWLAST. |
Real Arrays: | ZFRAC . |
Characters: | None . |
BFC=T, if body-fitted coordinates are required, is set here. If it is, further commands such as GSET(....) usually follow, for specifying the grid.
Commands: | DOMAIN, FIXDOM, GRDCHK, GSET , MAGIC , READCO, SEEPTS, SETLIN, SETPT , VIEW , XCYIZ . |
Logicals: | BFC , LIJ , LIK , LJK , MOVBFC, NOGRID, NONORT, RSTGEO, SAVGEO, SETBFC, SLIDE , SLIDH , SLIDL , SLIDN , SLIDS , SLIDW , UGEOM , UUP , VUP , WUP . |
Integers: | IMON , JMON , KMON , LITXC , LITYC , LITZC , MSWP , NCRT . |
Reals: | ANGMIN, FIXCOR, RELXC , RELYC , RELZC . |
Characters: | NAMXYZ. |
Real arrays: | XC , YC , ZC |
PHOENICS has been set up so that it can solve differential equations for up to 50 dependent variables simultaneously with especial ease; but more can also be dealt with.
What variables are to be solved is settled in GROUP 7; also, to some extent, HOW they are to be solved.
If variables are to be given storage space but not actually solved, as is often convenient for important auxiliary variables, this information is also conveyed here.
Commands: | RADIAT, SOLUTN, SOLVE , STORE , |
Logicals: | ONEPHS. |
Integers: | DEN1 , DEN2 , EPOR , HPOR , IMB1 , IMB2 , INTFRC, INTMDT, ISOLBK, IVARBK, LEN1 , LEN2 , NPHI , NPOR , PCOR , TEMP1 , TEMP2 , VISL , VIST , VPOR . |
Reals: | None . |
Characters: | NAME . |
Character flag: | PRPS , TEM1 , UCRT , U2CR , VCRT , V2CR , WCRT , W2CR . |
The typical differential equation which PHOENICS solves has terms corresponding to transient, convection, diffusion and source-sink effects; but not all the variables of a given problem exhibit all the effects.
GROUP 8 allows distinctions to be made between the variables in these respects. This facility can also be exploited as an economy measure, when some effects which are present are so small as to be negligible; for then they can be omitted entirely, with consequent saving of computation time.
Should users wish to intervene, through GROUND, in the procedures for setting up and solving the flow-simulating equations, they can do so by setting certain 'switches' in GROUP 8 of SATELLITE, and then providing corresponding coding sequences in GROUP 8 of GROUND.
Commands: | TERMS . |
Logicals: | ADDDIF, DENPCO, DONACC, EQDVDP, GALA , NEWRH1, NEWENL, NEWENT, NEWRH2, UCORR , UDIFF , UDIFNE, UCONNE, UCONV , UCORCO, USOLVE, USOURC. |
Integers: | ISOLX, ISOLY , ISOLZ. |
Reals: | DIFCUT, HUNIT , RLOLIM, RUPLIM, U1AD , U2AD , V1AD , V2AD , W1AD , W2AD , ZDIFAC. |
Characters: | None . |
It is necessary to inform PHOENICS about the physical properties of the medium in which the flow to be simulated actually occurs; and, since the computer code is equipped for the simulation of two-phase (ie two-interpenetrating-media) phenomena, two sets of property data may require to be specified. The properties in question may be thermodynamic (eg density), transport (eg viscosity), or inter-phase (eg saturation enthalpy).
Commands: | TURMOD. |
Logicals: | None . |
Integers: | None . |
Reals: | DRH1DP, DRH2DP, EL1 , EL1A , EL1B , EL1C , EL2 , EL2A , EL2B , EL2C , ENUL , ENULA , ENULB , ENULC , ENUT , ENUTA , ENUTB , ENUTC , PRESS0, PHNH1A, PHNH1B, PHNH1C, PRLC1A, PRLC1B, PRLC1C, PRLC2A, PRLC2B, PRLC2C, PRLC3C, PRLC4A, PRLC4B, PRLC4C, PRLH1A, PRLH1B, PRLH1C, RHO1 , RHO1A , RHO1B , RHO1C , RHO2 , RHO2A , RHO2B , RHO2C , TEMP0 , TMP1 , TMP1A , TMP1B , TMP1C , TMP2 , TMP2A , TMP2B , TMP2C . |
Real Arrays: | PHINT , PRNDTL, PRT . |
Characters: | None . |
A special group, number 10, has been set aside for those property- data items which relate to the interactions between phases which are both present in the same location and at the same time. The interactions may involve heat transfer, mass transfer and momentum transfer; and information may also need to be supplied about the thermodynamic-equilibrium and chemical-kinetic natures of the interactions.
Commands: | None . |
Logicals: | None . |
Integers: | None . |
Reals: | CFIPS , CFIPA , CFIPB , CFIPC , CFIPD , CINH1A, CINH1B, CINH1C, CINH2A, CINH2B, CINH2C, CMDOT , CMDTA , CMDTB , CMDTC , CMDTD , HEATBL. |
Real Arrays: | CINT . |
Characters: | None . |
When PHOENICS is solving a problem involving time-dependence, the problem specification usually starts with a statement about what values of all the dependent variables pertain, to all the points in the space in question, at the first instant to be considered. These 'initial values' can be supplied among the data items of GROUP 11.
Even in problems of steady-state character, because PHOENICS proceeds in an iterative manner, initial values must be supplied. These are the 'first guesses', rather than problem-specifying data; and their values should not ordinarily influence the final solution. However, they are supplied in precisely the same way as are the initial values of true time-dependent phenomena.
Among the variables which may be initialized in this way are the so-called 'porosities', which indicate what fractions of the areas and volumes of the computational cells are actually accessible to the fluid. These are not ordinarily dependent variables of differential equations; but they may be stored and handled within PHOENICS as though they were.
Commands: | CONPOR. INIT ,PATCH , RESTRT, |
Logicals: | INIADD, PICKUP. |
Integers: | FSWEEP, IURINI. |
Reals: | None . |
Real Arrays: | FIINIT. |
Real flag: | INIVAL, LINVLX, LINVLY, LINVLZ, READFI . |
Characters: | NAMFI . |
Character flag: | SOLIDS, SKIP (see group 13). |
Commands: PATCH
GROUP 12 features.
The following patch names (in which ? stands for any character) cause the terms indicated for the variable in question, in the region occupied by the patch, to be multiplied by the third (CO) argument of the corresponding COVAL.
GP12CON? all convection terms
GP12SOR? all built-in sources
GP12CNE? the east-face convections
GP12CNN? the north-face convections
GP12CNH? the high-face convections
GP12DFE? the east-face diffusions
GP12DFN? the north-face diffusions
GP12DFH? the high-face diffusions
The fourth (VAL) argument has no significance assigned to it so far.
These facilities are especially useful when PHOENICS is to be used for fluid-flow analysis in one part of a domain and for stresses-in-solids analysis in another.
Examples can be found in the "active-demo" series under the heading "stress analysis in solids".
What makes one flow phenomenon differ from another is partly the properties of the medium, partly the initial conditions and partly the boundary conditions (which, despite their name, may be located inside the flow domain). PHOENICS is therefore supplied, in the sections appropriate to data-input GROUP 13, with an extensive set of procedures which permit the relevant information to be supplied.
All such boundary and internal conditions are treated, in PHOENICS, as sources and sinks; therefore the same data-input procedures are employed whenever any source/sink information is to be transmitted. GROUP 13 may thus also be used for representing generation terms in a turbulence-energy equation, or for introducing novel formulations for chemical-reaction rates.
Commands: | COVAL , INLET , OUTLET, PATCH , WALL , VALUE . |
Logicals: | DARCY , XCYCLE. |
Integers: | IURVAL. |
Reals: | CORIOL, DARCON, WALLA , WALLB . |
Real flag: | CELL , EAST , EWALL , FIXFLU, FIXP , FIXVAL, FREEE , FREEH , FREEN , FREEVL, GRND , GRND1 , GRND2 , ... , GRND10, HIGH , HWALL , INFLO , LOW , LWALL , NORTH , NWALL , ONLYMS, OPPVAL, OUTFLO, PHASEM, RGRAD , SAME , SOUTH , SWALL , VOLUME, WEST , WWALL . |
Characters: | None . |
Character flag: | SKIP |
PHOENICS can simulate fluid-flow phenomena of the kind known as 'parabolic', for example the development of a boundary layer on an airfoil. Some of these phenomena require, for their complete simulation, the specification of the way in which the fluid pressure varies with downstream (ie z-direction) distance. GROUP 14 has been provided as the repository of information of this kind.
Commands: | None . |
Logicals: | None . |
Integers: | IPARAB. |
Reals: | AZPH , PBAR . |
Characters: | None . |
PHOENICS solves its equations by guess-and-correct procedures, which, provided that they are indeed converging, cause the imbalances in the finite-domain equations to become smaller and smaller.
There is no limit to the number of cycles of successive adjustments that PHOENICS can perform; but there is a limit to how many are worth performing. It is for the user to provide PHOENICS with information about the latter limit; and GROUP 15 is the place where this provision should be made.
Commands: | None . |
Logicals: | None. |
Integers: | ISWC1 , ISWR1 , ISWR2 , ITHC1 , LITC , LITFLX, LITHYD, LSWEEP. |
Reals: | None . |
Real arrays: | RESREF. |
Characters: | None . |
There are iterations of two main kinds in PHOENICS: the 'outer iterations' or 'sweeps' , which are the concern of GROUP 15; and the 'inner iterations', for which the limiting information is supplied in GROUP 16. The former are concerned with eliminating imbalances deriving from the non-linearities, while the latter are associated with the fact that PHOENICS uses iterative procedures for solving even the linear equations which arise (in large numbers) at various points in the solution procedure.
Commands: | None . |
Logicals: | None . |
Integers: | None . |
Integer arrays: | LITER . |
Reals: | None . |
Real arrays: | ENDIT . |
Characters: | None . |
In order to ensure convergence, iterative solution procedures for non-linear sets may require the judicious introduction of 'under- relaxation' practices. For linear equations, on the other hand, over-relaxation may cause convergence to be attained more rapidly.
PHOENICS possesses several features which allow under- and over- relaxation to be practised, and in a rather discriminating way. GROUP 17 is the place at which these devices are normally activated.
Commands: | RELAX . |
Logicals: | None . |
Integers: | KELIN . |
Integer flag: | FALSDT, LINRLX . |
Reals: | OVRRLX. |
Characters: | None . |
During the course of a sequence of outer-iteration cycles, values of dependent variables may wander rather far from both their initial values and from the values which are finally found to satisfy all the equations, ie from the solution. At times, this 'wandering' may become excessive; and, if no limits are placed on it, the result may be that 'divergence' occurs; no solution of the equations is then arrived at.
The latter outcome can however often be prevented if PHOENICS is informed about the upper and lower limits, relevant to each dependent variable separately, which the said variables should not exceed. These limits may be set by the user, possibly on physical grounds (which preclude negative densities, for example), or perhaps to express other insights or desires which he possesses. GROUP 18 provides the necessary opportunities.
Commands: | None . |
Logicals: | None . |
Integers: | None . |
Reals: | None . |
Real arrays: | VARMAX, VARMIN. |
Characters: | None . |
PHOENICS users can, if they wish, modify or add to the GROUND sub- routines which are attached to the EARTH module; and spare variables such as RSG's (Reals connecting Satellite and Ground), LSG's (Logicals connecting Satellite and Ground), ISG's (Integers...) and CSG's (Characters ....) are provided to enable them to transmit information from the SATELLITE to the coding which they have introduced.
These are usually set in Group 19.
Commands: | None . |
Logicals: | ASLP , DUDX , DUDY , DUDZ , DVDX , DVDY , DVDZ , DWDX , DWDY , DWDZ , GENK , HOL , LSG1 , LSG2 , LSG4 , LSG5 , LSG6 , LSG7 , LSG8 , LSG9 , LSG10 , QUIK , READQ1, RSTM , SURF , USEGRD, USEGRX. |
Logical arrays: | LG . |
Integers: | ISG1 , ISG2 , ... , ISG18 , IZW1 , NFUSER. |
Integer arrays: | IG . |
Reals: | AZW1 , BZW1 , CZW1 , DZW1 , RSG1 , RSG2 , ... , RSG30 . |
Real arrays: | RG . |
Real flag: | ZMOVE . |
Characters: | CSG1 , CSG2 , ... , CSG10, NAMSAT, NAMGRD. |
Character arrays: | CG . |
Preliminary-, variable-, spot-value- and field- print-out; plot control and dumps for restarts
Quite apart from the ability to accept special print-out instructions via arrangements made through GROUP 19, PHOENICS possesses extensive controls for its already-built-in print-out procedures. The controls are distributed between the last five data-input groups.
GROUP 23 is the repository of information about which types of print-out are elicited for which stored variable; and, finally, GROUP 24 concerns that special kind of information 'dump' which permits continuation of an EARTH computation which has been paused, either with or without changed arrangements for print-out.
GROUP 20 controls the extent to which EARTH prints out data-input summaries before execution begins. GROUP 21 accepts information about the extent and frequency of the print-out of dependent- variable fields, while GROUP 22 does the same for the print-out of the single-point values which are used for monitoring the course of the solution process.
Commands: | None . |
Logicals: | DISTIL, ECHO , NULLPR. |
Integers: | None . |
Reals: | DSTTOL. |
Real arrays: | EX . |
Characters: | None . |
Commands: | OUTPUT. |
Logicals: | INIFLD, SUBWGR, WALPRN. |
Integers: | ISWDPF, ISWDPL, ITZDPF, ITZDPL, IURPRN. |
Reals: | None . |
Characters: | None . |
Commands: | None |
Logicals: | None |
Integers: | IXMON , IYMON , IZMON , NPRMNT, NPRMON, TSTSWP, USTEER, UWATCH. |
Reals: | None |
Characters: | None |
Commands: | PATCH , PLOT . |
Logicals: | XZPR , YZPR . |
Integers: | ICHR , IPLTF , IPLTL , IPROF , ISTPRF, ISTPRL, ISWPRF, ISWPRL, ITABL , IXPRL , IXPRF , IYPRF , IYPRL , IZPRF , IZPRL , NCOLCO, NCOLPF, NPLT , NPRINT, NROWCO, NTPRIN, NTZPRF, NUMCLS, NXPRIN, NYPRIN, NZPRIN, |
Reals: | ABSIZ , ORSIZ . |
Real flag : | CONTUR, PROFIL. |
Characters: | None . |
Character flag: | SKIP ( see group 13 ).. |
Commands: | None . |
Logicals: | AUTOPS, NOWIPE, SAVE. |
Reals: | None . |
Characters: | NSAVE . |
Commands: | None . |
Logicals: | DEBUG , DBCMPR, DBCMP2, DBGAM , DBGEOM, DBADJS, DBCOMP, DBINDX, DBFLUX, DBMAIN, DBSOL1, DBSOL2, DBSOL3, DBOUT , DBEMU , DBRHO , DBEXP , DBSODA, DBONLY, DBSHFT, DBT , DBL , DBCMPE, DBCMPN, DBCMPH, DBCONV, DBMDOT, DBCFIP, DBPRBL, DBEDGE, DBGRND, FLAG , MONITR, SEARCH, DBCONT, TEST , TSTGNK, DBGMAG, DBEGWF. |
Logical arrays: | DBGPHI. |
Integers: | IZDB1 , IZDB2 , ITHDB1, ITHDB2, ISWDB1, ISWDB2, ISTDB1, ISTDB2, INCHCK, IREGDB, NFMAX , IDBF0 , IDBGRD, IDBCMN. |
Integer arrays: | None . |
Reals: | BGCHCK, SMCHCK. |
Real arrays: | None . |
Characters: | NHDBSP, NDBF0 , NDBCMN. |
Character arrays: | None . |
The GROUP MAKE command enables you to group together specified items of text and keys. You can then move them about the screen as a block with the GROUP MOVE command.
The GROUP MOVE command enables you to move specified items of text and keys about the screen as a block.
You use the cursor to locate a reference point, which is taken to be the origin of the first element in a group. This point is marked on the screen by '_'.
Groups can then be added to by means of GROUP ADD, and deleted one-by-one or cleared completely by means of GROUP DELETE and GROUP CLEAR. The contents of currently existing groups can be displayed with SHOW GROUP.
The data used in PHOENICS are arranged in 24 groups. (See PHENC entry: GROUPS).
The order of appearance of the data items in these groups has been found to conform well with the thought processes which lead to the rational formulation of a flow-simulating computation. However, PHOENICS does not force users to proceed in the order indicated, but will accept data inputs of any kind at any time.
---- Autoplot Help ----
GRO[UP] A[DD] [i]
This command allows new TEXT and/or KEY items to be added to the existing i'th GROUP.
See also HELP on :
GROUP MAKE, GROUP MOVE, GROUP LIST, GROUP CLEAR, GROUP DELETE---- Autoplot Help ----
GRO[UP] CL[EAR]
This command clears all GROUP associations currently active.
See also HELP on : GROUP MAKE, GROUP ADD, GROUP MOVE, GROUP LIST, GROUP DELETE
---- Autoplot Help ----
GRO[UP] DE[LETE]
This command deletes the last GROUP to be made.
See also HELP on : GROUP MAKE, GROUP ADD, GROUP MOVE, GROUP LIST, GROUP CLEAR
In many practical applications, users are faced with the task of producing a large number of similar plots, representing for example the results of a parametric study. In such a case, each plot will be basically the same, except for the values of the data.
Once the first plot has been labelled, it is usually possible to use the same labels for the subsequent plots, perhaps replacing only one text item in order to indicate the case in question. The problem arises when a new data set causes the plots to overlap the labelling which may be made up of text and key elements carefully placed so as not to overlap the original data.
---- Autoplot Help ----
GRO[UP] L[IST]
This command generates a list of the contents of the currently active groups.
See also HELP on : GROUP MAKE, GROUP ADD, GROUP MOVE, GROUP CLEAR, GROUP DELETE
---- Autoplot Help ----
GRO[UP] MA[KE]
This command allows any number of TEXT and/or KEY items to be grouped. The group can then
be moved about the screen as a single unit. Up to 10 groups are allowed. Each GROUP MAKE
command makes a new group.
See also HELP on : GROUP ADD, GROUP MOVE, GROUP LIST, GROUP CLEAR, GROUP DELETE
---- Autoplot Help ----
GRO[UP] MO[VE] [i]
This command allows GROUP i to be moved to a new position on the screen. The reference
point of the group will be marked with '_'. Move the cursor to the desired location of the
reference point, then press any key to place the group. 'C' may be used for repeated
moves.
See also HELP on : GROUP MAKE, GROUP ADD, GROUP LIST, GROUP CLEAR, GROUP DELETE