Encyclopaedia Index
LABEL identifies the target for a PIL GOTO statement. The syntax is LABEL name, where name is a string of up to 68 characters.
See the entry on GOTO
for further information.
There is currently no help for this item
There is currently no help for this item
Its significance and us are explained in the PHENC entry: F-array of EARTH.
Its argument is the four-character string representing the NAME of the variable issued by the SATELLITE.
LBNAME is case-sensitive; so since some SATELLITE operations can replace
lower-case characters by upper-case ones, it is safest to use upper-case
characters only.
There is currently no help for this item
LEN1.... indicates which whole-field store will be used for the length
scale of phase 1 in response to the command STORE(EL1).
Such storage is necessary when it is desired to under-relax this scale.
Once stored, this field should be initialized in group 11.
LEN2.... indicates which whole-field store will be used for the length
scale of phase 2 in response to the command STORE(EL2). Such storage is
necessary when it is desired to under-relax this scale. Once stored, this
field should be initialized in group 11.
LE[VEL] [X or Y] [a] Draws a line of constant x or y with a value a. The program will prompt for unspecified quantities.
See also HELP on : LEVEL
CLEAR,
LEVEL DELETE
LE[VEL] CL[EAR] Clears all levels from memory. REDRAW for a 'clean' plot.
See also HELP on : LEVEL X, LEVEL
Y, LEVEL DELETE, REDRAW
LE[VEL] DE[LETE] Deletes last level entered. REDRAW for a 'clean' plot.
See also HELP on : LEVEL X, LEVEL
Y, LEVEL CLEAR, REDRAW
LE[VEL] K[EEP]
Levels will not be cleared from memory by a CLEAR command, but will be retained for the next plot.
See also HELP on : LEVEL X, LEVEL
Y, LEVEL CLEAR, LEVEL
DELETE
LG....is an array for transferring to subroutine GROUND any logical
data that the user may need there.
LIBREF....is the reference number of the Input Library case currently LOADed in the instruction stack. When the instruction LOAD(case-number) is executed, the case is loaded into the instruction stack, and
LIJ....when =T, specifies that MAGIC(L)
will solve for the cartesian coordinates XC and YC with ZC fixed, on the
planes constant K indicated by the currently-active DOMAIN.
LIK....when =T, specifies that MAGIC(L) will solve for the cartesian
coordinates XC and ZC with YC fixed, on the planes constant J indicated
by the currently-active DOMAIN.
[Line] draws a straight line in the current domain. The two points are
typed in from the input window.
LINRLX.... should be entered as the second argument of RELAX when the
linear mode of under-relaxation is to be used.
LINVLX....is a PATCH type used for initialization of field variables in group 11. This type permits the specification of a linear variation in the X direction of field variables identified via INIT. The 3rd argument of INIT specifies the x-wise gradient, and 4th argument of INIT specifies the value required in the first IX location of the PATCH.
Do not use LINVLX when BFC=T; instead use PATCH name IBFC ( see PATCH for further details ).
See INIT, LINVLY
and LINVLZ for further information.
LINVLY....does for the y direction what LINVLX does for the x direction.
See LINVLX for details.
LINVLz....does for the z direction what LINVLX does for the x direction.
See LINVLX for details.
LI[st].... is a REPLAY command to scan the currently open SAVE file, and list the title of each frame. If no title was specified at the time the frame was saved, the message 'no title' is output. The FILE command must have been used to open a SAVE file before LIST can be used.
LITC....is the number of iterations at a slab during a sweep of the solution cycle encompassing the variables with indices from 12 upwards. This loop is within the loop of which LITHYD is the counter limit, but unlike the LITHYD loop it does not extend to the solution of the velocities and the slab-wise pressure corrections.
Values in excess of 1 may be useful if several such variables interact
strongly, as in the case of chemical reaction. Unless the user has good
reason for doing otherwise he is advised to leave LITC at its default value.
LITER(phi) is the maximum number of iterations which are to be performed by the linear-equation solver for the variable phi,
For one-dimensional operations (eg at "slabs" for which NX=1 or NY=1, or for the whole field when only NZ is greater then 1), the linear equations are solved directly; so that, whatever the original setting, LITER is taken as 1.
In order see how the solver reduces the residuals of the equations more the larger is LITER,set LITER(phi) to minus the number wanted as a signal that a plot of the residuals should be shown on the VDU.
This print-out comes at an iteration frequency of TSTSWP.
Information about the progress of the linear-equation solvers can also be directed to the main output ( ie. to the file RESULT ), by means of the third argument of OUTPUT.
However, in most CFD problems the coefficients in the equation are influenced by changes in other solved-for variables. Therefore it may be economical to set a low value of LITER, in order that the coefficientsmat be updated more frequently.
The only general rule that can be propounded is that there is usually an optimum value which can be didvovered, however only by experiment.
talk=f;run(1,9) load(274) lsweep=500 liter(p1) = 1 stop load(274) lsweep=500 liter(p1) = 2 stop load(274) lsweep=500 liter(p1) = 5 stop load(274) lsweep=500 liter(p1) = 10 stop load(274) lsweep=500 liter(p1) = 15 stop load(274) lsweep=500 liter(p1) = 20 stop load(274) lsweep=500 liter(p1) = 30 uwatch=t stop load(274) lsweep=500 liter(p1) = 50 stop load(274) lsweep=500 liter(p1) = 100 stopThe following shows the results.
liter(p1) | run time | number of sweeps |
1 | 49 | 467 |
2 | 32 | 295 |
5 | 30 | 280 |
10 | 27 | 242 |
15 | 28 | 256 |
20 | 27 | 236 |
30 | 31 | 267 |
50 | 33 | 280 |
100 | 36 | 303 |
Inspection shows that the optimal value of LITER(p1) is between 10 and 20 for this case.
For problems with larger cell numbers, the optimal value is likely to be larger.
LITFLX....maximum number of iterations on convection-flux-, volume-fraction- and interphase-mass-transfer-calculations. It is for use in two-phase calculations only.
The calculation of the quantities mentioned is the first work done at
a slab. LITFLX values greater than unity permit the establishment of a
self-consistent set of mass fluxes and volume fractions for subsequent
use at the slab: this can sometimes promote convergence.
However, two further points should be mentioned. First, slabwise iterations can be employed for elliptic problems (ie LITHYD may be set to exceed 1); and convergence may indeed be accelerated by this practice if the flow direction is entirely from low z to high z, especially when the domain is long and thin, and the w component of velocity is always positive.
Secondly, if NZ equals unity, so that only one slab is in question,
it is almost immaterial whether LSWEEP or LITHYD is used to control the
amount of computational work which is done; but it is probably simpler
to set LITHYD to unity and rely only on LSWEEP.
LITHYD....maximum number of hydrodynamic iterations at a slab. This iteration loop covers all solved variables, and includes the solution of the slab pressure-correction equation ( when the N appears as the fourth argument of SOLUTN for P1 ).
For parabolic calculations ( PARAB=T
), LITHYD should always be given a value greater than 1 ( say 10 ). The
slab-iteration-loop will then be terminated either after LITHYD iterations,
or when the RESREF
conditions are met.
LIT[TLE]
Produces plots which will copy directly into a CHAM half-page report box. Default text size is size 4
See also HELP on : BIG,
FULL, PAGE
LITXC.... number of inner iterations for the cartesian coordinate XC
in MAGIC(L). Often one of the coordinates, eg. XC, converges to a fixed
value before the other coordinates do, eg. YC and ZC. In this circumstance
set LITXC=0 for economy.
LITYC.... number of inner iterations for the cartesian coordinate YC
in MAGIC(L). See LITXC for further information.
LITZC.... number of inner iterations for the cartesian coordinate ZC
in MAGIC(L). See LITXC
for further information.
LJK....when = T, specifies that MAGIC(L) will solve for the cartesian
coordinates YC and ZC with XC fixed, on the planes constant I indicated
by the currently-active DOMAIN.
LN [X or Y]
Changes x- or y- axis to a natural log scale. Repeated use of the command
will continue taking logs. Negative values are trapped to 1.0E-6, and will
not be recovered on return to linear scale. The plot will be redrawn with
the correct axis scaling using the SCALE command. ALN reverses the process.
See also HELP on : ALN,
SCALE, LOG,
ALOG
The PIL LOAD command, which can be edited into a Q1 file or issued during an interactive SATELLITE session, has the following functions:
Its syntax is:
LOAD(B514)or
L(492)or
#unigrid
Loading a Q1 file or macro has the effect of wiping out whatever already
exists in the 'instruction stack' and restoring the default settings,
unless:
NOWIPE = Tor
#$unigrid.
The following additional points should be noted:
LOAD(STACK)causes the instruction stack to be interpreted anew.
The syntax is : LOCATE(ARRAY,VALUE,IP)
LOCATE tries to find the VALUE in an array ARRAY, and returns the index in IP. If the value is not found, IP is set to -999. For 2 and 3D arrays there are 2 and 3 extra arguments respectively. One is ?, indicating the dimension to be searched, and the other(s) set the row/column/plane. For example, if AR1(4,8)=0.5, then:
LOCATE(AR1,.5,IP,?,8)would return IP=4, and
LOCATE(AR1,0.5,IP,4,?)would return IP=8. IP can be any valid PIL integer, and ARRAY can be any valid PIL array.
LO[G] [X or Y]
Changes x- or y- axis to log base 10 scale. Repeated use of the command will continue taking logs. Negative values are trapped to 1.0E-6, and will not be recovered on return to linear scale. The plot will be redrawn with the correct axis scaling using the SCALE command. ALOG reverses the process.
See also HELP on : ALOG,
SCALE, LN
ALN
LOG <file name>opens the named LOG file in which all subsequent
commands in the current interactive session or from a USE file are recorded.
The LOG file can be used as a USE file in a later session.
LOGO
The CHAM logo will alternately appear and disappear from the bottom
right-hand corner of the plot. The location of the logo can be changed
with LOGO MOVE, and its size with LOGO SCALE.
This case is used for comparing the merits of various numerical schemes, each of which is applied to a distinctly-named variable.
Thus:
This is satisfactory; but the long-established 4-character limit to the NAME variable, places some burden on the user's memory.
Recent versions of PHOENICS resolve the difficulty by permitting a 40-character 'longname' extension to be added, by inclusion in the Q1 file of lines such as the following:
SPEDAT(LONGNAME,USOL,C,Upwind) SPEDAT(LONGNAME,CSOL,C,Cds) SPEDAT(LONGNAME,QSOL,C,Quick) SPEDAT(LONGNAME,LSOL,C,Linear_upwind) SPEDAT(LONGNAME,3SOL,C,Cubic_upwind) SPEDAT(LONGNAME,FSOL,C,Fromm's_scheme) SPEDAT(LONGNAME,SSOL,C,Smart) SPEDAT(LONGNAME,KSOL,C,Koren ) SPEDAT(LONGNAME,MSOL,C,Minmod) SPEDAT(LONGNAME,VSOL,C,Van_Aldbda) SPEDAT(LONGNAME,BSOL,C,Superbee) SPEDAT(LONGNAME,HSOL,C,Hquick) SPEDAT(LONGNAME,NSOL,C,Van_Leer_1_(Noll)) SPEDAT(LONGNAME,ZSOL,C,Van_Leer_2_(Zhu)) SPEDAT(LONGNAME,OSOL,C,Ospre) SPEDAT(LONGNAME,ISOL,C,UMIST)Here the fourth argument of the SPEDAT command is the said extension, which appears in the RESULT file in the following manner:
Field Values of ZSOL: VAN_LEER_2_(ZHU: IY= 20 9.999E-01 9.997E-01 9.974E-01 9.800E-01 8.148E-01 Field Values of VSOL: VAN_ALDBDA IY= 20 9.999E-01 9.996E-01 9.968E-01 9.748E-01 8.088E-01 Field Values of USOL: UPWIND IY= 20 9.997E-01 9.956E-01 9.629E-01 8.458E-01 6.284E-01 Field Values of SSOL: SMART IY= 20 9.999E-01 9.996E-01 9.975E-01 9.844E-01 8.224E-01 Field Values of QSOL: QUICK IY= 20 9.999E-01 9.996E-01 9.975E-01 9.844E-01 8.222E-01 Field Values of OSOL: OSPRE IY= 20 9.999E-01 9.996E-01 9.972E-01 9.781E-01 8.132E-01 Field Values of NSOL: VAN_LEER_1_(NOLL: IY= 20 1.000E+00 9.997E-01 9.978E-01 9.881E-01 8.158E-01 Field Values of MSOL: MINMOD IY= 20 9.999E-01 9.994E-01 9.950E-01 9.615E-01 7.780E-01 Field Values of LSOL: LINEAR_UPWIND IY= 20 1.000E+00 9.999E-01 9.998E-01 9.896E-01 8.005E-01 Field Values of KSOL: KOREN IY= 20 9.999E-01 9.997E-01 9.975E-01 9.860E-01 8.216E-01 Field Values of ISOL: UMIST IY= 20 9.999E-01 9.996E-01 9.967E-01 9.735E-01 7.998E-01 Field Values of HSOL: HQUICK IY= 20 9.999E-01 9.996E-01 9.971E-01 9.789E-01 8.234E-01 Field Values of FSOL: FROMM'S_SCHEME IY= 20 1.000E+00 9.997E-01 9.978E-01 9.882E-01 8.153E-01 Field Values of CSOL: CDS IY= 20 9.999E-01 9.993E-01 9.957E-01 9.780E-01 8.168E-01 Field Values of BSOL: SUPERBEE IY= 20 1.000E+00 9.999E-01 9.992E-01 9.945E-01 8.471E-01 Field Values of 3SOL: CUBIC_UPWIND IY= 20 9.999E-01 9.997E-01 9.975E-01 9.861E-01 8.203E-01 Field Values of MSOL: MINMODand so on, so rendering the print-out easier to understand
The following points should be noted:
As usual, the data appear in the EARDAT file, which is the intermediary between the SATELLITE and EARTH. In the present case, EARDAT contains the following lines:
LONGNAME USOL CUPWIND LONGNAME CSOL CCDS LONGNAME QSOL CQUICK LONGNAME LSOL CLINEAR_UPWIND LONGNAME 3SOL CCUBIC_UPWIND LONGNAME FSOL CFROMM'S_SCHEME LONGNAME SSOL CSMART LONGNAME KSOL CKOREN LONGNAME MSOL CMINMOD LONGNAME VSOL CVAN_ALDBDA LONGNAME BSOL CSUPERBEE LONGNAME HSOL CHQUICK LONGNAME NSOL CVAN_LEER_1_(NOLL: LONGNAME ZSOL CVAN_LEER_2_(ZHU: LONGNAME OSOL COSPRE LONGNAME ISOL CUMISTAnother example is provided by case c110, in which the following statements in the Q1 file:
** long names for print-out spedat(longname,epke,c,micro-mixing_rate) spedat(longname,rady,c,y-direction_flux_sum) spedat(longname,radz,c,z-direction_flux_sum)produce the following lines in the RESULT FILE:
Field Values of EPKE: MICRO-MIXING_RATE IY= 32 1.000E+00 5.682E+02 2.184E+02 6.688E+01 1.064E+01 Field Values of RADY: Y-DIRECTION_FLUX_SUM IY= 32 0.000E+00 6.167E+03 6.906E+03 7.448E+03 8.886E+03 Field Values of RADZ: Z-DIRECTION_FLUX_SUM IY= 32 0.000E+00 9.671E+03 9.185E+03 8.759E+03 8.922E+03 Field Values of ENUT IY= 32 1.000E-20 6.615E-01 7.178E-01 7.769E-01 4.970E+00It should be remarked although the long-name facility is here illustrated only in connexion with print-out, users can employ it for conveying other information about a variable in their own coding; for they can ascribe whatever meaning they desire to any character, or string of characters, of the long name, and then provide coding in GROUND which reads the name and executes the corrresponding action.
Users who do perform their own coding may care to be reminded that, if the statement debug=t appears in the Q1 file, information about the f-array zero-location is also printed below the field-values line.
Thus, in the case of C110, the print-out would appear as:
Field Values of EPKE: MICRO-MIXING_RATE at L0f= = 17657 IY= 32 1.000E+00 5.682E+02 2.184E+02 6.688E+01 1.064E+01 Field Values of RADY: Y-DIRECTION_FLUX_SUM at L0f= = 17689 IY= 32 0.000E+00 6.167E+03 6.906E+03 7.448E+03 8.886E+03 Field Values of RADZ: Z-DIRECTION_FLUX_SUM at L0f= = 17721 IY= 32 0.000E+00 9.671E+03 9.185E+03 8.759E+03 8.922E+03 Field Values of ENUT at L0f= = 17753 IY= 32 1.000E-20 6.615E-01 7.178E-01 7.769E-01 4.970E+00
A primitive but powerful looping facility is provided by the LOOP...ENDLOOP
construct. The SATELLITE repeatedly executes the statements within the
loop until a terminating condition is met. This is provided by a statement
such as
IF(logical expression) EXIT which terminates looping when the logical expression evaluates
to TRUE, as in the following example:
II=IST
LOOP
MESG(One more time !
+ II=II+1
+ IF (II.GT.IL) EXIT
ENDLOOP
which is equivalent to:
DO II=IST,IL
+ MESG(HI THERE)
ENDDO
LOOP constructs can be nested to a maximum depth of 20 and inter- leaved
freely with DO loops and other "flow-control" constructs.
LOW....is a PATCH type used for setting sources per unit low ( ie. smaller-z ) area by way of COVAL in group 13.
The minimum value of the current contour range if the RANGE option is
on.
LSG1,LSG2,LSG3, etc up to LSG100 are spare integers provided for user communication between the SATELLITE and GROUND.
However, CHAM has already made use of several of them by ascribing special meanings to them, as is revealed by inspection of the following extract from the SATGRD common block:
COMMON/LSG/LSG1,LSG2,LSG3,LSG4,LSG5,LSG6,LSG7,LSG8,LSG9,LSG10,
LSG11,LSG12,LSG13,LSG14,LSG15,LSG16,LSG17,LSG18,LSG19,LSG20,
LSG21,LSG22,LSG23,LSG24,LSG25,LSG26,LSG27,LSG28,LSG29,LSG30,
LSG31,LSG32,LSG33,LSG34,LSG35,LSG36,LSG37,LSG38,LSG39,LSG40,
LSG41,LSG42,LSG43,LSG44,LSG45,LSG46,LSG47,LSG48,SYMBFC,GENTR,
LSG51,LSG52,LSG53,LSG54,LSG55,LSG56,LSG57,LSG58,LSG59,ASAP,
LSG61,LSG62,LSG63,
GCV,
FDFSOL,
LASLPA,
LASLPB,
LCOALA,
RESET,
PHS2P,
DUDX,
DVDX,
DWDX,
DUDY,
DVDY,
DWDY,
DUDZ,
DVDZ,
DWDZ,
GENK,
ADJEPR,
READQ1,
PRTSIZ,
LCOLOA,
LCOLOB,
JMPBCK,
COMPRS,
POTCMP,
POTVEL,
JACOB,HOL,
QUIK,RADI,RSTM,
FGEM,SURF,
S2SR,
YPLS,
STRA
In addition, LSG1, LSG3 and LSG5 are used in connexion with PARSOL.
CHAM has made no use however of the LG(20) array, which is provided for a similar purpose. Users are advised to prefer this to LSG in their own Fortran coding.
LSTEP is a PIL variable set by the user to determine for how many time steps a transient-flow simulation (for which STEADY=F) is to continue.
LSWEEP is a PIL variable set by the user to determine the maximum number of iterative sweeps through the integration domain are to be performed for each time step.
In a steady calculation, the run is then complete; but in a transient calculation, the computation then progresses to the next time step. LSWEEP is inactive for parabolic calculations ( ie. PARAB=T), for which, by the nature of the calculation , only one solution sweep is required.
Thus, for a steady non-parabolic calculation in which FSWEEP retains its default setting of unity, LSWEEP is the number of solution sweeps to be performed in the run. If FSWEEP has been set to a finite value, for a restarted ( see RESTRT ) run, the number of sweeps to be performed will be LSWEEP-FSWEEP+1 .
For a transient run, FSWEEP will always be unity, LSWEEP is then the number of sweeps to be performed at each time step. Further, if any of the variables are solved whole field (ie. Y entered in the fourth argument of SOLUTN), LSWEEP should never be less than 2, because the effects of the whole-field solver are only felt at the beginning of the second sweep.
In many transient runs it can be helpful to perform more iterative sweeps on the first time step than on subsequent steps. Similarily, if a boundary condition changes, it may be helpful to perform more sweeps on that step.
Inform provides a method doing this, using constructs like:
save15begin
(store1 of lsweep is 10 with if(tim.gt.10.and.tim.le.20))
save15end
which would set the number of sweeps to 10 for all steps where the current time (tim) was between 10 and 20 seconds. Outside this period, the number of sweeps would be that assigned to LSWEEP.
The VR-Editor Main Menu, Numerics panel allows up to 15 bands of sweep settings to be made, based on time or timestep number.
For both steady and transient cases, the succession of iterative sweeps
will be terminated before LSWEEP is reached, if the total sum of the absolute
residuals for all cells in the integration domain becomes less than RESREF(phi)
for all phis solved.
See also PHENC entries:
DISTANCE
from the WALL and
LVEL Turbulence
Model
LWALL....is a PATCH type used in group 13 in conjunction with COVAL for representing the sources resulting from a wall at the low faces of the cells identified by PATCH.