[Read] prompts for the name of a file that contains your geometry for display on the plot. The file name 'screen' (as default) activates the geometry input menu which allows you to draw geometry interactively.
READCO....is a command to read the corner coordinates of a body-fitted grid from a file. The single argument of READCO identifies the name of the file to be read. The following file names are used by the Input Library:
GRID1, GRID2, GRID3, GRID4, GRID5, GRID6 and GRID7.
Users should therefore use a different name, eg GRID.
The command READCO(GRID) reads the corner coordinates from the disc file named GRID. The file is a formatted one, and the data items on it must be arranged as follows:- the first line contains 3 integer data items in the format 3I5, followed by 5 items of real data per line in the format 5(1PE13.6), namely,
NX+1 NY+1 NZ+1
XC(1,1,1) XC(1,2,1) XC(1,3,1) XC(1,4,1) XC(1,5,1)
XC(1,6,1) .....
............. XC(1,NY+1,1) XC(2,1,1) XC(2,2,1)
............. XC(2,NY+1,1) XC(3,1,1) ........
.............XC(NX+1,NY+1,1)
YC(1,1,1) YC(1,2,1) ............................
.............YC(NX+1,NY+1,1)
ZC(1,1,1) ZC(1,2,1) ............................
.............ZC(NX+1,NY+1,1)
XC(1,1,2) XC(1,2,2).............................
..............ZC(NX+1,NY+1,2)
XC(1,1,3).......................................
..............ZC(NX+1,NY+1,NZ+1)
Click here for grid1 of the bfc input library.
Evidently, the grid in question, which is used in BFC input-library case 524, has NX=5, NY=5, NZ=12.
The file therefore contains, as its first line, 5=1, 5=1, 12+1.
There follow 12+1 blocks of data, each of which contains three sub-blocks, (5+1)*(5+1) in size, containing the XC, YC and ZC values for each if the NX+1 slabs.
READFI....is a flag to which FIINIT(phi) may be set to indicate to EARTH that the initial field of the phi in question is to be read from a data file. See also FIINIT.
When READQ1 = T appears in the Q1 file, subroutine GREX3 reads data from the Q1 file at the start of the EARTH execution (provided that the PIL variable USEGRX is T, as it is by default).
It does so by calling the subroutine GXRDQ1, which resides in GXUTIL.HTM.
The data statements must be placed below a line containing the word:
READQ1_BEGIN
and above one containing the word:
READQ1_END.
It ignores lines of which the first non-blank character is "*".
The lines which are read are printed both in the result file and on the VDU screen.
Among its other advantages, the feature permits the transmission from the Q1 file to the RESULT file of an unlimited amount of descriptive material.
It also allows transfer to EARTH of data, without the necessity to run the satellite; this is often useful when many runs are to be performed in quick succession after alteration of a single input-data item.
A few commonly-used PHOENICS variables may be inserted directly, namely:
LSWEEP, LSTEP, ISOLX, ISOLY, ISOLZ, ISOLBK, RHO1, ENUL, ENUT CFIPS, CMDOT, CARTES, STEADY, NONORT
Arrayed variable such as PRNDTL(INDVAR), LITER(INDVAR) and NAME(INDVAR) may be entered as: (1) array name, (2) numerical value of INDVAR, (3) value, followed by comments if desired.
The arrays which can be addressed are listed below:
ITERMS(NPHI) LITER(NPHI) ISLN(NPHI) IPRN(NPHI)
NAME(NPHI) DTFALS(NPHI) RESREF(NPHI) PRNDTL(NPHI)
PRT(NPHI) ENDIT(NPHI) VARMIN(NPHI) VARMAX(NPHI)
FIINIT(NPHI) PHINT(NPHI) CINT(NPHI)
LG(20) IG(20) RG(100) CG(10)
Others variables may be entered via:
This feature must be used with caution, because some resettings of data may conflict with settings made in the satellite.
For example, whole-field solution cannot necesarily be switched ON because necessary storage may not be provided; but it may be switched OFF (by dividing the relevant ISLN by 5).
Example:
LSWEEP 10
ISOLZ 1
CARTES F
LITER 14 100 ...liter(H1)
* ISLN 14 6 ...whole field solution for H1
PRNDTL 14 0.01 ...prndtl(H1)
NAME 7 aw1 ...name of W1
LDAT 25 t ...echo
The whole-field solver will not be set for H1 due to the "*" as
the first non-blank character in the line.
Library case 240 illustrates this feature.
The locations of the variables stored in COMMON blocks are given below:
** Locations in LDAT are:-
LDAT(1 2 3 4 5 6 7
CARTES,USTEER,YZPR,ONEPHS,YANGLE,SAVE,ZANGLE,
8 9 10 11 12 13 14 15 16
XCYCLE,XZPR,EQDVDP,UCONV,UDIFF,UCONNE,UDIFNE,USOURC,UCORCO,
17 18 19 20 21 22 23 24 25
USOLVE,UCORR,STEADY,BFC,AUTOPS,EQUVEL,ADDDIF,NOWIPE,ECHO,
26 27 28 29 30 31 32 33 34
UWATCH,NOSORT,NOADAP,UGEOM,NEWENT,NEWENL,NULLPR,BLOCKZ,NODEF,
35 36 37 38 39 40 41,42
TRACE,NOCOMM,NOCOPY,OLDSOL,Q1QUIT,DMPSTK,LSP40(2),
43 44 45 46 47 48 49 50
THINX,THINY,THINZ,STCENP,STCORN,STCORO,SAVGEO,RSTGEO,
51 52 53 54 55 56 57 58 59
NEWRH1,NEWRH2,LINIT,SUBWGR,INIADD,INIFLD,WALPRN,GALA,DONACC,
60 61 62 63 64 65 66 67 68
PARAB,DENPCO,DEBUG,DISTIL,PICKUP,NONORT,HIGHLO,EARTH,USEGRD,
69 70 71 72 73 74 75 76 77 78
USEGRX,PILBUG,SMPLR,VOID,DARCY,UUP,VUP,WUP,OLDSTO,NOGRID,
79 80 81 82 83,84
XFIX,ZFIZ,SETBFC,MOVBFC,LDATSP(2)
** Locations in IDAT are:-
IDAT(1 2 3 4 5 6 7 8 9
NX,NY,NZ,LUPR1,LUPR2,LUPR3,ISOLBK,LUSDA,IPROF,
10 11 12 13 14 15 16 17 18 19
NUMCOL,MAXBLK,LUGRF,IVARBK,LUOLD,LUDEP,LUPCO,LUDVL,IRUNN,IOPTN,
20 21 22 23 24 25 26 27 28
LITC,LITFLX,NRUN,LITHYD,FSTEP,LSTEP,FSWEEP,LSWEEP,NPRINT,
29 30 31 32 33 34 35 36 37 38
LIBREF,NPLERR,IXMON,IYMON,IZMON,IINIT,NLSG1,NISG1,N
RSG1,NCSG1,
39 40 41 42 43 44 45 46 47 48
IPARAB,NFUSER,NXFR1,NYFR1,NZFR1,NTFR1,ENTH1,ENTH2,ISWR1,ISWR2,
49 50 51 52 53 54 55 56 57
IXPRF,IXPRL,IYPRF,IYPRL,NPRMNT,ISTPRL,ISTPRF,IZPRL,IZPRF,
58 59 60 61 62 63 64 65 66
NUMCLS,TSTSWP,NYPRIN,NXPRIN,NZPRIN,NPRMON,NTPRIN,NTZPRF,ISOLY,
67 68 69 70 71 72 73 74 75
IURINI,IURPRN,IURVAL,I0RTCV,NUMREG,NRTCV,ICHR,INTFRC,ITHC1,
76 77 78 79 80 81 82 83 84 85
ISWC1,DEN1,DEN2,VISL,INTMDT,ISWPRF,ISWPRL,IPSA,NCRT,IPLTF,
86 87 88 89 90 91 92 93 94 95 96
IPLTL,NPLT,ITABL,TEMP1,TEMP2,LEN1,LEN2,NLG1,NIG1,NRG1,NCG1,
97 98 99 100 101 102 103 104 105 106
NPNAM1,NMDSTL,ISOLX,ISOLZ,LENREC,LUGEOM,IMB1,IMB2,PCOR,NCOLPF,
107 108 109 110 111 112 113 114 115 116 117
NCOLCO,NROWCO,EPOR,NPOR,HPOR,VPOR,KXFR,KYFR,KZFR,KTFR,NDST,
118 119 120
GPHERR,VIST,NPHI
** Locations in RDAT are:-
RDAT( 1 2 3 4 5 6 7
TINY,GREAT,RUPLIM,RLOLIM,AZDZ,AZXU,AZYV,
8 9 10 11 12 13 14 15 16 17
AZRI,AZAL,AZPH,XULAST,YVLAST,ZWLAST,TLAST,TFIRST,PBAR,SNALFA,
18 19 20 21 22 23 24 25 26 27
RINNER,ENUL,ENUT,RHO1,RHO2,CFIPS,CMDOT,TSURR,GRND,HEATBL,
28 29 30 31 32 33 34 35 36
FIXFLU,READFI,ZMOVE1,ZDIFAC,DRH1DP,DRH2DP,U1AD,U2AD,V1AD,
37 38 39 40 41 42 43 44 45 46
V2AD,W1AD,W2AD,HUNIT,DIFCUT,ABSIZ,ORSIZ,OPPVAL,TMP1,TMP2,
47 48 49 50 51 52 53 54 55 56 57
EL1,EL2,GRND1,GRND2,GRND3,GRND4,GRND5,GRND6,GRND7,GRND8,GRND9,
58 59 60 61 62 63 64 65 66
GRND10,ZWADD,RINIT,SAME,FIXVAL,AXDZ,AYDZ,OVRRLX,DSTTOL,
67 68 69 70 71 72 73 74 to 85
ZERO,ONLYMS,FIXP,DARCON,ANGMIN,REFLIB,CORIOL,RDATSP(12)
** Locations in LDEB are:-
LDEB( 1 2 3 4
DBGEOM,DBADJS,DBCOMP,DBINDX,
5 6 7 8 9 10 11 12 13
DBFLUX,DBMAIN,DBSOL1,DBSOL2,DBSOL3,DBEMU,DBRHO,DBEXP,DBSODA,
14 15 16 17 18 19 20 21 22
DBONLY,DBT,DBL,DBCMPE,DBCMPN,DBCMPH,DBCONV,DBGAM,DBCMP2,
23 24 25 26 27 28 29 30
DBSHFT,DBOUT,DBCMPR,DBMDOT,DBCFIP,DBPRBL,DBEDGE,DBGRND,
31 32 33 34 35 36 37 - 45
FLAG,MONITR,SEARCH,DBCONT,TEST,TSTGNK,LDBS37(9)
** Locations in IDEB are:-
IDEB( 1 2 3 4 5 6 7
IZDB1,IZDB2,ITHDB1,ITHDB2,ISWDB1,ISWDB2,ISTDB1,
8 9 10 11 12 13 14 15,16
ISTDB2,INCHCK,IREGDB,NFMAX,IDBF0,IDBCMN,IDBGRD,IDEBSP(2)
READVDU is a PIL command enabling users to respond via the keyboard to
requests from the SATELLITE for specific information.
Its syntax is:
READVDU(variable,type,default value,[help index])
where:
| variable | is a previously-declared INTEGER, REAL, CHARacter or BOOLean variable; |
| type | is INT, REAL, CHAR or BOOL, according to the variable type; |
| default value | is a REAL, INTEGER, CHARacter or BOOLean expression which will be assigned to the variable if no input is received; |
| help index | is an (optional) pointer to the help file where help can be obtained if '?' is typed in. |
Example:
MESG(Enter number of sweeps to be performed)
READVDU(LSWEEP,INT,60)
Multiple inputs can be made to consecutive READVDU commands, if the inputs are delimited by semi-colons.
Example:
in Q1 file set:
mesg(Enter values of LSWEEP, ONEPHS and W1IN
READVDU(LSWEEP,INT,60)
READVDU(ONEPHS,BOOL,T)
READVDU(W1IN,REAL,0.0)
Then entering on the keyboard the following:
1000;F;10.0
will result in the assignment of the following results:
LSWEEP=1000; ONEPHS=F; W1IN=10.0.
Note that READVDU is not disabled by TALK=F, so care should be taken not to run multi-run Q1 files containing READVDU in batch mode unless arrangements are made to read from a file (which may simply contain carriage-returns, which will activate the default options) rather than from the keyboard.