```
TALK=T;RUN(1,1)
display
This Q1 demonstrates the use of 5 operations used
for the creation of BFC grids, namely:
* defining points,
* defining lines,
* defining frames,
* setting grid dimensions, and
* matching a grid to a frame.

Those operations are used here in order to:
1. create a circle,
2. create a square, and
3. to match them to the two sides of a constant-I plane,
(namely I2 and I1 respectively).
The relevant PIL commands will be displayed, then processed.
The first sets the grid type to BFC

Please enter the side-length of the square (default 0.5m)
The input data to be used in this example are..

The centre of the circle will be placed at:
x = 0.0
y = - square root of 2 times the radius
z = + square root of 2 times the radius

Now define points A,B,C and D, positioned as follows:
A at (0,-root,root)
B at (0,root,root)
C at (0,root,-root)
D at (0,-root,-root)
by the commands:
for A
for B
for C
and for D
Now draw four arcs (AB,BC,CD,DA) from A to D
to create a circle.
Arcs AB and CD must have equal numbers of intervals;
so must arcs BC and DA.
The intervals will be supposed uniform on each arc.

Please enter nab, the number of cells for AB and CD (default 5)
The command to create arc AB, with nab uniform intervals,
which also goes through the point (0,0,radius),
is:

Please enter nbc, the number of cells for BC and DA (default 5)
The command to create arc BC, with nbc cells
which also goes through the point (0,0,radius),
is:
The corresponding command for CD is:
and for DA:

Now define a frame ABCD which has corner points
A,B,C & D by the command:

Now set the BFC grid dimension as 1 x nab x nbc, with
reference length 1m x side x side, by the command:

Now match grid plane I2 on frame ABCD using the
trans-finite method, by the command:

Now create the square on plane I = 1
Define points E,F,G and H, with positions:
E at (-side,-side/2,side/2)
F at (-side,side/2,side/2)
G at (-side,side/2,-side/2)
H at (-side,-side/2,-side/2)
by the commands:
for E:
for F:
for G:
and for H:
Now draw four lines (EF, FG, GH, HE) from E to H
to create a square.
Lines EF & GH each have nab uniformly-distributed intervals,
and lines FG & HE each have nbc uniformly-distributed
intervals, so as to match the numbers of intervals on the
circle.

The commands are:
then
then
and finally

Now define a frame EFGH (square) which has corner points
E, F, G and H, by the command:

Now match grid plane I1 on frame EFGH using the trans-finite
by the command:

This completes the exercise.

However, you may now wish to type VIEW, so as to be able to
inspect, or indeed alter, the grid by means of the graphical
grid generator.
enddis
************************************************************
Group 1. Run Title and Number
************************************************************
************************************************************

TEXT(GSET COMMAND TUTORIAL 1            :B538)

************************************************************
************************************************************

IRUNN = 1 ;LIBREF = 1
************************************************************
Group 2. Time dependence
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = T
NX = 1
XULAST =1.
************************************************************
Group 4. Y-Direction Grid Spacing
NY = 5
YVLAST =0.5
************************************************************
Group 5. Z-Direction Grid Spacing
PARAB = F
NZ = 5
ZWLAST =0.5
************************************************************
Group 6. Body-Fitted Coordinates
BFC = T ;NONORT = F
NCRT = -1
RSTGEO = F ;SAVGEO = F
UUP = F ;VUP = F ;WUP = F
NGEOM =CHAM
NAMXYZ =CHAM
ANGMIN =20.
DOMAIN(   1,   1,   1,   6,   1,   6)
* Set fixed sub-domain
FIXDOM(   1,   0,   0,   0,   0,   0,   0)
FIXDOM(   2,   0,   0,   0,   0,   0,   0)
FIXDOM(   3,   0,   0,   0,   0,   0,   0)
FIXDOM(   4,   0,   0,   0,   0,   0,   0)
FIXDOM(   5,   0,   0,   0,   0,   0,   0)
FIXDOM(   6,   0,   0,   0,   0,   0,   0)
FIXDOM(   7,   0,   0,   0,   0,   0,   0)
FIXDOM(   8,   0,   0,   0,   0,   0,   0)
FIXDOM(   9,   0,   0,   0,   0,   0,   0)
FIXDOM(  10,   0,   0,   0,   0,   0,   0)
LIJ = F ;LJK = T ;LIK = F
IMON = 1 ;JMON = 3 ;KMON = 3
************************************************************
Group 7. Variables: STOREd,SOLVEd,NAMEd
ONEPHS = T
* Y in SOLUTN argument list denotes:
* 1-stored 2-solved 3-whole-field
* 4-point-by-point 5-explicit 6-harmonic averaging
************************************************************
Group 8. Terms & Devices
* Y in TERMS argument list denotes:
* 1-built-in source 2-convection 3-diffusion 4-transient
* 5-first phase variable 6-interphase transport
DIFCUT =0.5 ;ZDIFAC =1.
GALA = F ;ADDDIF = F
ISOLX = -1 ;ISOLY = -1 ;ISOLZ = -1
************************************************************
Group 9. Properties used if PRPS is not
stored, and where PRPS = -1.0 if it is!
RHO1 =1. ;TMP1 =0.
EL1 =0.
TSURR =0. ;TEMP0 =0.
PRESS0 =0.
DVO1DT =0. ;DRH1DP =0.
EMISS =0. ;SCATT =0.
ENUL =1.0E-05 ;ENUT =0.
CP1 =1. ;CP2 =1.
************************************************************
Group 10.Inter-Phase Transfer Processes
************************************************************
Group 11.Initial field variables (PHIs)
No PATCHes yet used for this Group
FSWEEP = 1
NAMFI =CHAM
************************************************************
Group 12. Patchwise adjustment of terms
Patches for this group are printed with those
for Group 13.
Their names begin either with GP12 or &
************************************************************
Group 13. Boundary & Special Sources
No PATCHes yet used for this Group
XCYCLE = F
EGWF = T
WALLCO = GRND2
************************************************************
Group 14. Downstream Pressure For PARAB
************************************************************
Group 15. Terminate Sweeps
LSWEEP = 1 ;ISWC1 = 1
LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1
SELREF = T
RESFAC =1.0E-04
************************************************************
Group 16. Terminate Iterations
************************************************************
Group 17. Relaxation
OVRRLX =0.
EXPERT = F ;NNORSL = F
************************************************************
Group 18. Limits
************************************************************
Group 19. Data transmitted to GROUND
PARSOL = F
ISG62 = 1
************************************************************
Group 20. Preliminary Printout
************************************************************
Group 21. Print-out of Variables
INIFLD = F ;SUBWGR = F
* Y in OUTPUT argument list denotes:
* 1-field 2-correction-eq. monitor 3-selective dumping
* 4-whole-field residual 5-spot-value table 6-residual table
************************************************************
Group 22. Monitor Print-Out
IXMON = 1 ;IYMON = 1 ;IZMON = 1
NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = 1
UWATCH = T ;USTEER = T
HIGHLO = F
************************************************************
Group 23.Field Print-Out & Plot Control
NPRINT = 100000 ;NUMCLS = 5
NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000
NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000
XZPR = F ;YZPR = F
IPLTF = 1 ;IPLTL = -1 ;NPLT = -1
ISWPRF = 1 ;ISWPRL = 100000
ITABL = 3 ;IPROF = 1
ABSIZ =0.5 ;ORSIZ =0.4
NTZPRF = 1 ;NCOLPF = 50
ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20
No PATCHes yet used for this Group
************************************************************
Group 24. Dumps For Restarts
SAVE = T ;NOWIPE = F
NSAVE =CHAM
STOP
```