Encyclopaedia Index

(h) Block-location Indices (LB's); the full-field variables

The part of GRDLOC which relates to the FFV's is that which begins: COMMON/LBFFV/P1, etc.

The values of the integers in that block range from 1 to 50, in order. Thus: P1=1, P2=2, U1=3,...... C35=50. The zero-location index of pressure in the F-array can therefore be referred to either as L0F(1) or L0F(P1).

Full-field variables which have been brought into existence by SATELLITE commands of the kind SOLVE(ABCD) or STORE(EPOR) are automatically allotted one of the 50 integers, in the order 50, 49, 48 and so on, or rather NPHI, NPHI-1, NPHI-2, etc. if the user has set NPHI to some other (usually smaller) number.

Which value each variable has acquired can be ascertained by use of the STORED command in the SATELLITE. However, so that the user does not have to transmit this value to GROUND, the LBNAME function has been provided. This function returns the block location (LB) of the FFV of which the name appears in the argument, and this can then be used as the argument of L0F. For example, the FORTRAN sequence to set a value for the ABCD variable could run:

LBNAME involves checking all NPHI names on each occasion; so, if the above setting is to be performed within a DO loop over IY and IX, computer time will be saved if the setting of L0ABCD is made outside that loop; indeed, it needs to be made only in the first CALL to GROUND at each slab, provided that L0ABCD is declared as a SAVEd variable.

(It should be noted that LBNAME is identical to INAME of PHOENICS version 1.4. INAME can still be used.)

Because of their different storage arrangements, whole- field-solver variables (WSV's) may be accessed in two ways. Thus L0F(L3PHI) provides the zero-location in the F- array of the NX*NY*NZ-long segment corresponding to the variable to be solved for; but L0FZ(L3PHI,IZZ) provides the zero-location of the NX*NY-long segment corresponding to the slab-wise array of that variable for IZ=IZZ. Further discussion on the subject is provided in sub-section 6.7 (d) below.