Encyclopaedia Index

### M

M.... is a command which starts the top menu in DOS and UNIX versions. It has no effect in Windows as Satellite always starts in this mode.

### Macro-mixing versus micro-mixing

These terms are employed in explanations of the "Multi-Fluid Model of Turbulence".

### Magnif/Vecref

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

[Magnif/Vecref] changes the scaling of the vectors.

[Magnif] multiplies the current vector size by the magnification factor.

[Vecref] is used to specify the reference vector. The size of all vectors are modified accordingly.

### MAGNIFY

---- Autoplot Help ----

MA[GNIFY] [f]

The plot will be magnified by the factor 'f'. The cursor is used to locate the required centre of magnification. A factor of 0.0 will return to the original scaling. A factor of 1.0 can be used to move the centre of the plot. Any key can be used to place the cursor, except X which will abandon the magnification.

### MAGNIFY GRID

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

MA[gnify] G[rid] >factor<....sets the grid-magnification factor. Following the execution of this command, the graphics cursor will appear and should be positioned at the desired centre of the magnified image. Pressing any key except <Return> will cause a redraw of the plot.

NOTE that magnifications are not cumulative; to return to original size, use MAG GRID 1. Note also that changing the viewpoint or up vector for a magnified grid will result in the magnification being reset to 1.

MAGNIFY GRID can be used within USE files in order to perform a non-interactive grid magnification. The grid is magnified by the specified factor, about the point (X,Y), where coordinates are given in PHOTON Internal Coordinates (PICS). For example, UMAG GR 5 1000. 1000. will magnify the picture by a factor of 5 about the point (1000.,1000.).

NOTE that to return to normal size, the command MAG GR 1 can still be used.

### MAIN

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

The SATELLITE and EARTH programs both contain user-accessible MAIN programs that are structurally similar to one another, and which are accessible so that the user can reset array dimensions when necessary for large problems. When this is done, the MAIN programs must be recompiled, and the programs relinked. Details about these MAIN programs are provided in the Encyclopaedia. See MAIN.F and SATLIT

### MAIN.F

MAIN.F, a Fortran file forming part of the EARTH module, which resides in sub-directory d-earth.

From PHOENICS-2 onwards, this user-accessible file contains only,subroutine MAIN. Earlier versions contained also GROSTA (now discontinued and GROUND (now in a separate file).

Access is provided solely for the purpose of re-dimensioning, advice on which is provided in comments forming part of the listing. Of especial importance is that pertaining to the need to maintain consistency between the dimensions in the MAIN of EARTH, the MAIN of SATELLITE (See PHENC entry: SATLIT), and GROUND.

The most common reason for modifying MAIN is to re-dimension the F-array; for it is this blank common array that EARTH uses for the storage of all fields and working stores. (See F-ARRAY).

After the modifications have been made, MAIN must be re-compiled and the EARTH module re-linked.

### MAKE subroutine

See PHENC entry: F-array of EARTH

Group-13 patches of which the names begin with % activate at source-calculation time, calls to the user-accessible subroutine GXMASK, to be found in file GXMASK.FOR, where explanations of its use will be found.

Group-11 patches, i.e. those concerned with the provision of initial values, also make use of GXMASK, when their names start with %, \$, & or #, the last three of these being concerned with masks shaped like upper-case letters.

The Core Input-Library case 198 provides an example of the use of the letter-masking feature, of which one picture is shown here.

The letters C H A M appear in red, because the volumes which they cover have been fixed to 400 degrees Celsius.

The contours appearing within the letters are WDIS, the distance from solid surfaces.

### MASS1

MASS1 is an integer index, usable in subroutines called from GROUND, for accessing the 2D array of values, pertaining to the current IZ-slab, of:
the mass of phase-1 in each cell (i.e the product of phase-1 volume fraction, phase-1 density, and the volume of the cell). If the flow is single phase (ONEPHS=T) then MASS1 refers to the mass of fluid in the cells.

### MASS2

MASS2 is an integer index, usable in subroutines called from GROUND, for accessing the 2D array of values, pertaining to the current IZ-slab, of:
the mass of phase-2 in each cell (i.e the product of phase-2 volume fraction, phase-2 density, and the volume of the cell). If the flow is single phase (ONEPHS=T) then MASS2 has no significance.

### Match a grid mesh

(see GSET(M,...))

### MATFLG=T

MATFLG=T is flag in a Q1 file which indicates that material-property data follow.

##### Note that, despite appearances, MATFLG is not a PIL variable; so the MATFLG=T flag is active when it starts in the third or farther column, not in the first or second.

See PHENC entry: PROPS

### MAXABS

Insertion of #MAXABS (or #maxabs) in a Q1 file has the effect of ensuring that the whole-domain maximum absolute corrections of each solved-for variable are plotted on the left-hand-side of EARTH's graphical-monitor output.

These are often more informative than the 'spot-values' which are otherwise plotted.

MAXABS is actually a PIL character variable, declared in the always-loaded core-library case 014 as equal to 053.

#maxabs therefore proves to be a means of setting isg52=2, preferable only because easy to remember.

### MAXMIN

Insertion of #MAXMIN (or #maxmin) in a Q1 file has the effect of ensuring that the whole-domain maximum values of each solved-for variable are plotted on the left-hand side of EARTH's graphical-monitor output, while their minimum values are plotted on the right-hand side.

These are often more informative than the 'spot-values' which are otherwise plotted.

MAXMIN is actually a PIL character variable, declared in the always-loaded core-library case 014 as equal to \$052.

#maxabs therefore proves to be a means of setting isg52=1, preferable only because easy to remember.

### MBFGE

MBFGE is an acronym for Multi-Block grids and Fine Grid Embedding

See the PHENC entry.

### MCONT

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

MCO[NT] command

MCONT <block number> <parameters as for CONTOURS command>

The MCONT command is used to display contours of the specified variable over a plane (or part of a plane) within an individual block of a multi-block case. The MCONT command is similar to the CONTOURS command but it takes as its first parameter the block number that it is to work from.

The block number should range between 1 and the number of multi-blocks present.
Note that the other contour commands such as CONTOUR CLEAR, CONTOUR DELETE, CONTOUR OFF, CONTOUR ON and the various SET CONTOUR commands can also be applied to contours produced using the MCONT command.

If the SHOW CONTOURS command is used to list out the contours that have been displayed, the contours produced with the MCONT command will appear in the list, but the I/J/K/X/Y/Z values displayed for them will be the values in terms of the overall domain rather than in terms of each multi-block.

MCONT 1 P1 X 2 FI
Displays filled contours of the variable P1 on the second X ( or I ) plane of the first multi-block. Note that it will prompt for the subdivision size before plotting.

MCONT 2 P1 Y 4 X 1 5 Z 1 3
Displays contours of the variable P1 on the fourth Y (or J) plane of the second multi-block. This will prompt for the range and number of intervals over which the contours should be plotted.

MCONT 2 P1 Y 3 SH
Displays shaded contours of the variable P1 on the third Y (or J) plane of the second multi block. This will prompt for the range and number of intervals over which the contours will be plotted.

### Memory allocation

Memory allocation in all versions of PHOENICS since 3.6 has been dynamic. Click here for details.

### MENCON

This file, residing in subdirectory d_satell, informs SATELLITE of the whereabouts of menu, tutorial and library files. Typical entries are:

tutorial_key> tutorial name ........ first part of path name of relevant mensav and q1 files

LIB: library_key> library_name ...... path name of relevant file

### MENSAV

An optional file used in earlier versions which records the key- strokes during a menu session, so that the session can later be reproduced (for instance, for a demonstration or following a system crash).

### MENSAV

The syntax is : MENSAV(aa,bb,x1,x2,x3,x4)

Command used to transmit information between Q1 and MENU.

In earlier versions,prior to 2.2 the MENSAV command is also used to activate menu log and menu replay with the MENSAV file.

This is an option in the SATELLITE top menu for logging the keystrokes and cursor movements during a menu session or replaying a menu session or running a tutorial for a menu.

It has been used by CHAM for the creation of the on-line tutorials; but it is available to users also.

In log mode, two files are created: xxxxq1, to keep the initial setting and xxxxms, to record the key strokes and cursor movements. A pause can be added by pressing '~' when a menu panel is displayed. You have a chance to enter a line of message which goes into the xxxxms file between a pair of strings '\$\$\$\$\$'. The message line in the xxxxms file can later be split into more lines by hand editing to form a piece of text which appears on screen in replay mode.

In menu-replay mode, a pause may be effected either by displaying the text block between a pair of '\$\$\$\$\$' or by a pressing on the keyboard. When a pause is effected, pressing any key other than the Escape key will continue the replay; pressing the Escape key will terminate the replay run and give control back to the user.

A menu may have up to 20 tutorials to show different aspects and functionalities of the menu. The tutorials can be activated either through the SATELLITE top menu or by using the M command in Q1 or in interactive mode. Tutorials work in the same way as in the replay mode.

MENUs provide means whereby can set up flow simulations without having to memorise the PIL commands. Instead users make selections of input data in response to opportunities presented on the screen; and the Satellite thereafter writes the Q1 file for them.

Menus can be constructed by users for themselves by use of the PIL commands: MESG, and READVDU. Examples, with explanations, can be viewed by clicking here.

The menu system therefore can serve as a PIL-teaching device, for those who wish to learn the language; its prime purpose however is to provide a convenient data-input procedure.

PHOENICS can be provided with any number of different menus; each menu is made up of a set of files, composed of advanced PIL-commands arranged to suit the particular requirements of the menu creator.

Supplied with the present version of PHOENICS is a general Menu; this can be accessed still from the SATELLITE top menu. It is used for setting BFC cases.

### MESG command

MESG, the PIL command to transmit text to the VDU.

The command MESG outputs a character string to the VDU screen; thus the line

MESG(Hello there

in the Q1 file will cause

Hello there

to be written to the next line of the screen. Any text appearing after the opening bracket is treated as part of the output string. No closing bracket is required.

Related commands are:-

MESGA, which leaves a blank line above the text string,
MESGB, which leaves a blank line below, and
MESGM, which puts blank lines above and below the string.

Colons must be used in the output string to indicate when it is the values of the variables which are to be printed. Thus, the line:

NX=3; MESG(The current value of NX is :NX: .

will print the following on the screen;

The current value of NX is 3 .

Primitive formatting is also available in MESG. If the output string is enclosed in quote marks, the number of character spaces to be occupied can be specified. Up to 4 pairs of text and text width entries can be put in one MESG. For example:

MESG('Hello',10,'there',7,'folks',5,'!' results in:

Hello <5 spaces> there <2 spaces> folks!

### MESGA

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

This command performs a MESG with a blank line above.

### MESGB

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

This command performs a MESG with a blank line below.

### MESGM

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

This command performs a MESG with a blank line above and below.

(see Grid)

### MGRID

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

MGR[ID] <block number> <parameters as for GRID command>

The MGRID command is used to display a grid within an individual block of a multi-block case. For single block cases the GRIDS command should be used instead. If the GRIDS command is used for multi-block cases, strange output may result. The MGRID command is similar to the GRIDS command but it takes as its first parameter the block number that it is to work from.

The block number should range between 1 and the number of multi-blocks present.

Note that the other GRID commands, such as GRID CENTRE, GRID CLEAR, GRID DELETE, GRID OFF and GRID ON can also be applied to grids produced using the MGRID command. If the SHOW GRIDS command is used to list out the grids that have been displayed, the grids produced with the MGRIDS command will appear in the list, but the I/J/K/X/Y/Z values displayed for them will be the values in terms of the overall domain rather than in terms of each multi-block.

examples:

MGRID 1 X 2 Displays the second X ( or I ) grid within the first multi-block.

MGRID 2 Y 4 X 1 5 Z 1 3 Displays the fourth Y ( or J ) grid within the second multi-block, but restricted to the subregions 1-5 in X and 1-3 in Z.
Note that the subregions are specified relative to the multi-block specified, so the range of acceptable values for the sub-region restrictions start from one, with the upper limit dependant on the grid size of the multi-block.

MGRID 2 OUT Y 3 COL 5 Displays the outline of the third Y ( or J ) grid within the second multi block using colour five.

### MIRROR

------------------------------------ PHOTON HELP ----

[MIRROR] activates the mirror sub-menu that allows production of a plot mirrored in a plane normal to the axis specified, which may be x, y or z. The mirrored grid outline will appear in the monitor window at the next [redraw]. All plot elements will be mirrored.

Note that it is not possible to view ONLY the reflected plane .

### MIXF

a stored or solved-for variable employed in connection with the representation of combustion by means of the SCRS (i.e. Simple Chemically-Reacting System) model.

It represents the mass fraction in the local mixture of material which has entered with the (usually single) fuel-bearing stream, regardless of the extent to which it may have been burned.

Note however that this definition is not always quite strictly observed as for example explained here

### MIXLEN

A synonym for GRND2, which is a pointer in gxmxlen.

### MIXLENJET

A synonym for GRND6, which is a pointer in gxmxlen.

### MIXLN1

Integer used in GXMXLEN to denote mixing length-scale of the first-phase fluid.

### MIXLN2

Integer used in GXMXLEN to denote mixing length-scale of the second-phase fluid.

### Monitoring the progress of the solution

#### The Purpose

PHOENICS simulates flow phenomena by an iterative process, during the course of which the values of the field variables (pressure, temperature, etc) approach steady values, and the errors in the equations diminish.

In order that this progress can be monitored (i.e. watched critically), PHOENICS has from the earliest days enabled users to print and plot:

1. the values of all variables at a particular location in the domain of study; and
2. the sums of the absolute errors for each variable over the whole domain,

The particular location is chosen by the PIL indices IXMON, IYMON and IZMON (if this is positive); and the values of the variables there are called the monitor-point values or 'spot-values'.

The sums of the absolute errors are known as the 'residuals'.

#### What appears in the Result File

Library case 492 will be used as an example. Its complete RESULT file is to be seen here

#### What appears on the VDU screen

1. A graphical display of spot-values and residuals appears during a run of the PHOENICS solver if:
• the variable TSTSWP has a negative integer value;
• the PIL variable NULLPR is not F (i.e. false).

In the VR-Editor, on Main Menu, Output, the 'Monitor Display mode' should be set to 'Graphics', and 'Monitor graph style' to 'default'.

2. If however the PIL variable IXMON has been set to a negative value, it is the maximum correction and absolute sums of sources of the solved-for variables which appear, as shown here

In the VR-Editor, on Main Menu, Output, 'Monitor graph style' should be set to 'Max abs cor'.

3. If however the PIL variable IZMON has been set to a negative value, it is the maximum and minimum values of the solved-for variables which appear, as shown here

In the VR-Editor, on Main Menu, Output, 'Monitor graph style' should be set to 'Min/Max val'.

4. The 5th and 6th arguments of OUTPUT control whether the monitor values for a variable are shown on screen. Both must be set to Y for this to happen.

5. On systems (eg WINDOWS) for which the PHOENICS graphical driver allows an interruption, the EARTH run can be stopped to alter the relaxation factors or to terminate the run. In addition the total number of iterations (per step for transient) (set as LSWEEP in Q1) can be changed. If LSWEEP is increased above the value set in Q1 or VR-Editor, the extra sweeps will not be saved in the convergence monitor information printed in RESULT.

The monitor mode can be switched between the three modes described above from the interrupt screen.

6. At the end of the EARTH run, the monitoring graphs can be plotted on any attached hard-copy device which is served by the PHOENICS graphics system.

### MONITOR-VALUE VARIABLES

(MNV's)

MNV's are the "spot values" and "residuals" printed, on commands included in the input to the SATELLITE, after selected numbers of sweeps or iterations.

### MONITR

---- PIL logical; default=F; group 25 --- -

When MONITR=T, in the Q1 file, lines are appended to the EARDAT file which are somewhat easier to understand than those, above them, which are read solely by EARTH. However, for complete understanding, it is necessary to cross-reference each item with the contents of the SATEAR (i.e. satellite-to-earth) file which are thereby being set.

### MONOCHROME

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

MO[nochrome].... is a REPLAY command which toggles the colour processing mode. By default, all colours are displayed as specified in the SAVE file. MONOCHROME forces REPLAY only to plot in the default colour. This can be useful if a colour plot is to be replayed to a plotter.

### MOVBFC

---- PIL logical ; default=F; group 6 --- -

MOVBFC....when = T, elicits a call from GREX3 to subroutine GXBFGR for the recalculation of a BFC grid at the start of a new time step. Also, when storage has been provided in Q1 by STORE for CONI, CONJ or CONK, it computes the grid-movement contribution to the convection fluxes (for phase 1 only). Library case 966 illustrates the use of this feature.

### Move

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

[Move] relocates the existing text on the screen. Use the cursor to pick the text to be relocated then give the new location with the cursor.

Moves the object in the current graphic window with the mouse. The grid outlines will be shown following the movement of the mouse.

### MSG

MSG TEXT STRING

when placed in a PHOTON or AUTOPLOT "use" file, causes

TEXT STRING

to appear at the top left corner of the VDU screen

### MSWP

------ PIL integer; default=1; group 6 ----

MSWP.... specifies the number of solution sweeps for the coordinates XC, YC, ZC, when MAGIC(L) is in use.

### MULTIPLY /MULTIPLY X /MULTIPLY Y

---- Autoplot Help ----

MU[LTIPLY] [X or Y] [a] [i] [j]

Will multiply x- or y- coordinate of data elements i - j by amount a. If a, i or j are unspecified, the program will prompt. The plot can be rescaled using the SCALE command.

See also HELP on : DIVIDE X, DIVIDE Y, SHIFT X, SHIFT Y, SCALE

### Multi-run

It is possible to cause PHOENICS to make many runs without user intervention by way of entries in the Q1 file alone. This method was used in the early days of PHOENICS but is now deprecated.

Subsequently, it became more common to employ operating-system scripts.

More recently, the VR Editor was equipped with a means of making parameterised multi-runs. This is now the recommended method. All three methods will now be described.

### Multi-runs controlled by VR Editor

The VR Editor has a multi-run facility, which is described here.

There is also a tutorial exemplifying the process here.

The user is advised to use this method before attempting either of the other methods described below.

### Multi-runs controlled by scripts

#### Multi-run from the same working folder

There are two DOS batch files which facilitate the running of multiple PHOENICS cases in the same working folder.

The first file is called multi.bat, which is a master batch file that runs 5 CFD cases from the same working folder.

The second file is called savecase.bat, which saves everything from the completed run as a new case in the working folder.

The sequence of commands in multi.bat is:

```call \phoenics\d_utils\phoepath.bat
echo ** start of cycle 1
copy run1.q1 q1
call runsat f
call runear
call savecase cyc1
echo ** start of cycle 2
copy run2.q1 q1
call runsat f
call runear
call savecase cyc2
echo ** start of cycle 3
copy run3.q1 q1
call runsat f
call runear
call savecase cyc3
echo ** start of cycle 4
copy run4.q1 q1
call runsat f
call runear
call savecase cyc4
echo ** start of cycle 5
copy run5.q1 q1
call runsat f
call runear
call savecase cyc5
echo ** end of multi run
```

The phoepath.bat in multi.bat sets all the environment variables so that the 'run' batch files can find the executables. 'runsat f' runs the preprocessor in 'silent mode'. 'runear' runs the solver.

The call to savecase.bat makes copies of the phi and other files produced and used by each run.

The sequence of commands in savecase.bat is:

```if exist q1         copy q1         %1.q1
if exist q1ear      copy q1ear      %1.q1e
if exist phi        copy phi        %1.phi
if exist phida      copy phida      %1.pda
if exist result     copy result     %1.res
if exist patgeo     copy patgeo     %1.pat
if exist xyz        copy xyz        %1.xyz
if exist ghis       copy ghis       %1.his
if exist pbcl.dat   copy pbcl.dat   %1.pbc
if exist phipbc     copy phipbc     %1.cut
if exist gxmoni.gif copy gxmoni.gif %1.gif
```

These two batch files must be created in whatever way the user feels comfortable. An easy way is to copy then paste the contents listed above into Notepad then save with the appropriate name. They should be placed in the working directory, or in any folder on the user's PATH. In the first instance, it is recommended that these scripts are tested by using stripped-down versions of the full q1 file.

#### Multi-run from the different working folders

For the sake of example, let us say that there are 3 sub-folders in the folder \phoenics\d_priv1, and that these folders are called "folder1", "folder2" and "folder3". In each of these folders, there is a q1 input file called run1.q1.

To run these 3 cases in batch mode, place the batch files: master.bat, single.bat and savecase.bat in the folder \phoenics\d_priv1. By typing "master" in the parent folder, the 3 cases should run to completion in each sub folder, storing the results therein.

The sequence of commands in master.bat is:

```call \phoenics\d_utils\phoepath.bat
cd \phoenics\d_priv1\folder1
call ..\single
cd ..\folder2
call ..\single
cd ..\folder3
call ..\single
```

The sequence of commands in single.bat is:

```echo ** start of single run
copy run1.q1 q1
call runsat f
call runear
call ..\savecase case1
echo ** end of single run
```

The sequence of commands in savecase.bat is as given above.

### Multi-runs controlled by the Q1 (this method is not recommended)

PHOENICS operates in multi-run mode when;
• the first active line of the Q1 file is, for example:

TALK=F;RUN(n1, n2)

where n1 and n2 are two numbers, of which n2 is the larger, and

• additionally, the Q1 file contains a suitable number of STOPs.

For example, here are the first few lines of a multi-run Q1, which forms part of CHAM's quality-assurance test battery.

```TALK=f;RUN( 1,39)
IQALIB=-1
EX(TEMP)=5.000E-01;EX(BLOK)=4.472
DISTIL=T;NULLPR=T;TSTSWP=0
STOP

EX(TEMP)=5.000E-01;EX(BLOK)=4.472
STOP

EX(TEMP)=5.000E-01;EX(BLOK)=4.472
STOP
```
Encountering such a Q1, the SATELLITE interprets each set of PIL statements in turn, and writes the corresponding lines into a single EARDAT file.

When the EARTH module is activated, it reads the EARDAT file, finds out from its top line how many runs are to be executed, and then proceeds to execute them in sequence.

The results are written to a single RESULT file, which therefore may be very long. [This is why, the 39-run-long test-battery example just shown contains the settings DISTIL=T and NULLPR=T.]

The PHI (or PHIDA) file which is created by the multi-run, however, contains only the information which was produced by the last run of the series. If, therefore, it is desired to preserve the PHIs of individual runs for later inspection, each must be given an individual name by insertion, above the STOP, of the line:

NSAVE=individual_name

### MVECT

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

MVE[CT] command

MVECT <block number> <parameters as for VECTORS command>

The MVECT command is used to display vector information over a plane (or part of a plane) within an individual block of a multi-block case. The MVECT command is similar to the VECTORS command but it takes as its first parameter the block number that it is to work from.
The block number should range between 1 and the number of multi-blocks present.
When displaying vectors with a multi-block case, it is recommended to turn vector averaging off. This can be done with the SET VECTOR AVERAGE OFF command.

Note that the other VECTOR commands, such as VECTOR CLEAR, VECTOR DELETE, VECTOR OFF, VECTOR ON and the various SET VECTOR commands can also be applied to vectors produced with the MVECT command.

If the SHOW VECTORS command is used to list out the vectors that have been displayed, the vectors produced with the MVECT command will appear in the list, but the I/J/K/X/Y/Z values displayed for them will be the values in terms of the overall domain rather than in terms of each multi-block.

examples: MVECT 1 X 2 SH

displays shaded (coloured according to magnitude) vectors in the second X ( or I ) plane of the first multi-block.

MVECT 2 Y 4 X 1 5 Z 1 3

Displays the fourth Y ( or J ) plane of vectors within the second multi-block, but restricted to the subregions 1-5 in X and 1-3 in Z.

Note that the subregions are specified relative to the multi-block specified, so the range of acceptable values for the sub-region restrictions start from one, with the upper limit dependant on the grid size of the multi-block.

MVECT 2 Y 4 COL 5

Displays the fourth Y ( or J ) plane of vectors within the second multi block. They are displayed using colour 5.