** MB-FGE Test: Linked tank assembly.
  **************************************************************
  DISPLAY
   Link tank assemvly (Chris J.Weire 16/3/94).
 
   This  library  example  concerns  2  tanks  connected  by
   some piping, and is  mainly inetended as a  demonstration
   of  PHOENICS  BFC  grid  generation  combined with multi-
   blocking. NOTE!!! default setting of the problem needs at
   least 3000000 elements in F-array.
 
   5 blocks are used, 1 for  each tank and 1 for each  pipe.
   The  links  are  set  manually  using  MPATCH  due to the
   limitations of the current MBLINK command.
 
   The  tanks  may  be  given  "domed"  tops  and bottoms by
   setting LDOME=T in  the q1 file-  but this feature  makes
   use  of  large  PIL  loops  and  causes  long   satellite
   execution times.
   ---------------------------------------------------------
  ENDDIS
L(PAUSE
  **************************************************************
BOOLEAN(LDOME); LDOME= F
  **************************************************************
    GROUP 1. Run title and other preliminaries
TEXT( Linked Tank Assembly
TITLE
REAL(REYNO,WIN,DIAM,SEP)
REAL(DRADIUS);DRADIUS=1.5
DIAM=0.5; WIN=1.0; REYNO=1000. ; SEP=2.1
    GROUP 6. Body-fitted coordinates or grid distortion
BFC=T
INTEGER(DSIZ,PSIZ,HSIZ); DSIZ=16; PSIZ=4; HSIZ=9
INTEGER(DSIZ1,HSIZ1,PSIZ1)
HSIZ1=HSIZ+1;PSIZ1=PSIZ+1;DSIZ1=DSIZ+1
REAL(ANGLE,XX,YY,RADIUS,XP,YP,ZP,PI);PI=3.14159
INTEGER(POINT)
ARRAY(XCO1,REAL,PSIZ1,PSIZ1)
ARRAY(YCO1,REAL,PSIZ1,PSIZ1)
ARRAY(ZCO1,REAL,PSIZ1,PSIZ1)
ARRAY(XCO2,REAL,PSIZ1,PSIZ1)
ARRAY(YCO2,REAL,PSIZ1,PSIZ1)
ARRAY(ZCO2,REAL,PSIZ1,PSIZ1)
ARRAY(XCO3,REAL,PSIZ1,PSIZ1)
ARRAY(YCO3,REAL,PSIZ1,PSIZ1)
ARRAY(ZCO3,REAL,PSIZ1,PSIZ1)
ARRAY(XCO4,REAL,PSIZ1,PSIZ1)
ARRAY(YCO4,REAL,PSIZ1,PSIZ1)
ARRAY(ZCO4,REAL,PSIZ1,PSIZ1)
  ** Top of Drum 1, 1 to 8
RADIUS=1
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX; ZP=1.0; YP=YY
+ POINT=II
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
  ** Bottom of Drum 1, 9 to 16
RADIUS=1
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX; ZP=0.0; YP=YY
+ POINT=II+8
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
  ** Pipe Inlet, 17 to 24
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX-0.33; ZP=1.0; YP=YY+0.33
+ POINT=II+16
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
  ** Pipe Outlet, 25 to 32
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX+0.33; ZP=1.0; YP=YY-0.33
+ POINT=II+24
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
GSET(L,L1,P5,P3,DSIZ,S1.5,ARC,P4)
GSET(L,L2,P3,P1,DSIZ,S1.5,ARC,P2)
GSET(L,L3,P1,P7,DSIZ,S1.5,ARC,P8)
GSET(L,L4,P7,P5,DSIZ,S1.5,ARC,P6)
GSET(F,FTOP,P5,-,P3,-,P1,-,P7,-)
GSET(L,L1B,P13,P11,DSIZ,S1.5,ARC,P12)
GSET(L,L2B,P11,P9,DSIZ,S1.5,ARC,P10)
GSET(L,L3B,P9,P15,DSIZ,S1.5,ARC,P16)
GSET(L,L4B,P15,P13,DSIZ,S1.5,ARC,P14)
GSET(F,FBOT,P13,-,P11,-,P9,-,P15,-)
GSET(L,L5,P21,P19,PSIZ,S2.0,ARC,P20)
GSET(L,L6,P19,P17,PSIZ,S2.0,ARC,P18)
GSET(L,L7,P17,P23,PSIZ,S2.0,ARC,P24)
GSET(L,L8,P23,P21,PSIZ,S2.0,ARC,P22)
GSET(F,FI1,P21,-,P19,-,P17,-,P23,-)
GSET(L,L9,P29,P27,PSIZ,S2.0,ARC,P28)
GSET(L,L10,P27,P25,PSIZ,S2.0,ARC,P26)
GSET(L,L11,P25,P31,PSIZ,S2.0,ARC,P32)
GSET(L,L12,P31,P29,PSIZ,S2.0,ARC,P30)
GSET(F,FO1,P29,-,P27,-,P25,-,P31,-)
GSET(D,DSIZ,DSIZ,HSIZ)
GSET(M,FI1,  +J+I,  3,7,HSIZ+1, LAP5)
GSET(M,FO1,  +J+I, 11,7,HSIZ+1, LAP5)
GSET(M,FTOP,  +J+I,  1,1,HSIZ+1, LAP15)
GSET(M,FBOT,  +J+I,   1,1,1,      LAP15)
IF (LDOME) THEN
real(xr,hr,dh)
dh=(DRadius*DRadius-1)**0.5
mesg( Doming: Drum 1, Top
do ii=1,DSIZ+1
mesg( processing plane :ii: of :DSIZ1:
 do jj=1,DSIZ+1
+  xx=xc(:ii:,:jj:,:HSIZ1:)
+  yy=yc(:ii:,:jj:,:HSIZ1:)
+  xr=(xx*xx + yy*yy)**0.5
+  hr=(DRadius*DRadius-xr*xr)**0.5-dh
+  zc(:ii:,:jj:,:HSIZ1:)=zc(:ii:,:jj:,:HSIZ1:)+hr
 enddo
enddo
mesg( Doming: Drum 1, Bottom
do ii=1,DSIZ+1
 do jj=1,DSIZ+1
+  xx=xc(:ii:,:jj:,1)
+  yy=yc(:ii:,:jj:,1)
+  xr=(xx*xx + yy*yy)**0.5
+  hr=(DRadius*DRadius-xr*xr)**0.5-dh
+  zc(:ii:,:jj:,1)=zc(:ii:,:jj:,1)-hr
 enddo
enddo
ENDIF
integer(ip,jp)
  ** Store the pipe inlet points
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ ip=ii+2;jp=jj+6
+ xco1(:ii:,:jj:)=xc(:ip:,:jp:,:HSIZ1:)
+ yco1(:ii:,:jj:)=yc(:ip:,:jp:,:HSIZ1:)
+ zco1(:ii:,:jj:)=zc(:ip:,:jp:,:HSIZ1:)
 enddo
enddo
  ** Store the pipe outlet points
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ ip=ii+10;jp=jj+6
+ xco2(:ii:,:jj:)=xc(:ip:,:jp:,:HSIZ1:)
+ yco2(:ii:,:jj:)=yc(:ip:,:jp:,:HSIZ1:)
+ zco2(:ii:,:jj:)=zc(:ip:,:jp:,:HSIZ1:)
 enddo
enddo
GSET(T,K1,F,K:HSIZ1:,1,DSIZ,1,DSIZ,1.0)
DUMPC(MBGR1)
  ** Top of Drum 2, B1 to B8
RADIUS=1
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX; ZP=1.0; YP=YY+SEP
+ POINT=II
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
  ** Bottom of Drum 2, B9 to B16
RADIUS=1
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX; ZP=0.0; YP=YY+SEP
+ POINT=II+8
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
  ** Drum 2 Pipe Outlet, B17 to B24
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX-0.33; ZP=1.0; YP=YY-0.33+SEP
+ POINT=II+16
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
  ** Drum 2  Pipe Inlet, B25 to B32
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX+0.33; ZP=1.0; YP=YY+0.33+SEP
+ POINT=II+24
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
GSET(L,LB1,PB5,PB3,DSIZ,S1.5,ARC,PB4)
GSET(L,LB2,PB3,PB1,DSIZ,S1.5,ARC,PB2)
GSET(L,LB3,PB1,PB7,DSIZ,S1.5,ARC,PB8)
GSET(L,LB4,PB7,PB5,DSIZ,S1.5,ARC,PB6)
GSET(F,FT2,PB5,-,PB3,-,PB1,-,PB7,-)
GSET(L,LB1B,PB13,PB11,DSIZ,S1.5,ARC,PB12)
GSET(L,LB2B,PB11,PB9,DSIZ,S1.5,ARC,PB10)
GSET(L,LB3B,PB9,PB15,DSIZ,S1.5,ARC,PB16)
GSET(L,LB4B,PB15,PB13,DSIZ,S1.5,ARC,PB14)
GSET(F,FB2,PB13,-,PB11,-,PB9,-,PB15,-)
GSET(L,LB5,PB21,PB19,PSIZ,S2.0,ARC,PB20)
GSET(L,LB6,PB19,PB17,PSIZ,S2.0,ARC,PB18)
GSET(L,LB7,PB17,PB23,PSIZ,S2.0,ARC,PB24)
GSET(L,LB8,PB23,PB21,PSIZ,S2.0,ARC,PB22)
GSET(F,FO2,PB21,-,PB19,-,PB17,-,PB23,-)
GSET(L,LB9,PB29,PB27,PSIZ,S2.0,ARC,PB28)
GSET(L,LB10,PB27,PB25,PSIZ,S2.0,ARC,PB26)
GSET(L,LB11,PB25,PB31,PSIZ,S2.0,ARC,PB32)
GSET(L,LB12,PB31,PB29,PSIZ,S2.0,ARC,PB30)
GSET(F,FI2,PB29,-,PB27,-,PB25,-,PB31,-)
GSET(D,DSIZ,DSIZ,HSIZ)
GSET(M,FI2, +I+J,  11,7,1, LAP5)
GSET(M,FO2, +I+J,   3,7,1, LAP5)
GSET(M,FT2, +I+J,  1,1,1, LAP15)
GSET(M,FB2, +I+J,  1,1,HSIZ+1,      LAP15)
IF (LDOME) THEN
mesg( Doming: Drum 2, Top
dh=(DRadius*DRadius-1)**0.5
do ii=1,DSIZ+1
mesg( processing plane :ii: of :DSIZ1:
 do jj=1,DSIZ+1
+  xx=xc(:ii:,:jj:,1)
+  yy=yc(:ii:,:jj:,1)-sep
+  xr=(xx*xx + yy*yy)**0.5
+  hr=(DRadius*DRadius-xr*xr)**0.5-dh
+  zc(:ii:,:jj:,1)=zc(:ii:,:jj:,1)+hr
 enddo
enddo
mesg( Doming: Drum 2, Bottom
do ii=1,DSIZ+1
mesg( processing plane :ii: of :DSIZ1:
 do jj=1,DSIZ+1
+  xx=xc(:ii:,:jj:,:HSIZ1:)
+  yy=yc(:ii:,:jj:,:HSIZ1:)-sep
+  xr=(xx*xx + yy*yy)**0.5
+  hr=(DRadius*DRadius-xr*xr)**0.5-dh
+  zc(:ii:,:jj:,:HSIZ1:)=zc(:ii:,:jj:,:HSIZ1:)-hr
 enddo
enddo
ENDIF
  ** Store the pipe inlet points
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ ip=ii+10;jp=jj+6
+ xco3(:ii:,:jj:)=xc(:ip:,:jp:,1)
+ yco3(:ii:,:jj:)=yc(:ip:,:jp:,1)
+ zco3(:ii:,:jj:)=zc(:ip:,:jp:,1)
 enddo
enddo
  ** Store the pipe outlet points
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ ip=ii+2;jp=jj+6
+ xco4(:ii:,:jj:)=xc(:ip:,:jp:,1)
+ yco4(:ii:,:jj:)=yc(:ip:,:jp:,1)
+ zco4(:ii:,:jj:)=zc(:ip:,:jp:,1)
 enddo
enddo
GSET(T,K1,F,K:HSIZ1:,1,DSIZ,1,DSIZ,1.0)
DUMPC(MBGR2)
REAL(HSET);HSET=0.45
  ** Pipe Inlet, 17 to 24
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX-0.33; ZP=1.0+HSET; YP=YY+0.33
+ POINT=II+16
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
GSET(L,L5,P21,P19,PSIZ,S2.0,ARC,P20)
GSET(L,L6,P19,P17,PSIZ,S2.0,ARC,P18)
GSET(L,L7,P17,P23,PSIZ,S2.0,ARC,P24)
GSET(L,L8,P23,P21,PSIZ,S2.0,ARC,P22)
GSET(F,FI1,P21,-,P19,-,P17,-,P23,-)
GSET(D,PSIZ,PSIZ,10)
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ xc(:ii:,:jj:,1)=xco1(:ii:,:jj:)
+ yc(:ii:,:jj:,1)=yco1(:ii:,:jj:)
+ zc(:ii:,:jj:,1)=zco1(:ii:,:jj:)
 enddo
enddo
GSET(M,FI1, +J+I, 1,1,3, LAP5)
GSET(T,K3,F,K1,1,PSIZ,1,PSIZ,1.0)
GSET(C,K11,F,K3, 1,PSIZ,1,PSIZ, RX, PI/2, -0.4,1.0+HSET,INC, 1.0)
DUMPC(MBGR3)
  ** Pipe Outlet, 25 to 32
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX+0.33; ZP=1.0+HSET; YP=YY-0.33
+ POINT=II+24
+ GSET(P,P:POINT:,XP,YP,ZP)
enddo
  ** Drum 2  Pipe Inlet, B25 to B32
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX+0.33; ZP=1.0+HSET; YP=YY+0.33+SEP
+ POINT=II+24
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
GSET(L,L9,P29,P27,PSIZ,S2.0,ARC,P28)
GSET(L,L10,P27,P25,PSIZ,S2.0,ARC,P26)
GSET(L,L11,P25,P31,PSIZ,S2.0,ARC,P32)
GSET(L,L12,P31,P29,PSIZ,S2.0,ARC,P30)
GSET(L,LB9,PB29,PB27,PSIZ,S2.0,ARC,PB28)
GSET(L,LB10,PB27,PB25,PSIZ,S2.0,ARC,PB26)
GSET(L,LB11,PB25,PB31,PSIZ,S2.0,ARC,PB32)
GSET(L,LB12,PB31,PB29,PSIZ,S2.0,ARC,PB30)
GSET(F,FI2,PB29,-,PB27,-,PB25,-,PB31,-)
GSET(F,FO1,P29,-,P27,-,P25,-,P31,-)
GSET(D,PSIZ,PSIZ,30)
GSET(M,FO1, +J+I, 1,1,3, LAP5)
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ xc(:ii:,:jj:,1)=xco2(:ii:,:jj:)
+ yc(:ii:,:jj:,1)=yco2(:ii:,:jj:)
+ zc(:ii:,:jj:,1)=zco2(:ii:,:jj:)
 enddo
enddo
GSET(M,FI2, +I+J, 1,1,29, LAP5)
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ xc(:ii:,:jj:,31)=xco3(:ii:,:jj:)
+ yc(:ii:,:jj:,31)=yco3(:ii:,:jj:)
+ zc(:ii:,:jj:,31)=zco3(:ii:,:jj:)
 enddo
enddo
GSET(T,K1,F,K3,1,PSIZ,1,PSIZ,1.0)
GSET(T,K29,F,K31,1,PSIZ,1,PSIZ,1.0)
GSET(C,K11,F,K3,1,PSIZ,1,PSIZ,RX,-PI/2, 0.4,1.0+HSET,INC,1.0)
GSET(C,K21,F,K29,1,PSIZ,1,PSIZ,RX,PI/2,SEP-0.4,1+HSET,INC,1.0)
GSET(T,K21,F,K11,1,PSIZ,1,PSIZ,1.0)
DUMPC(MBGR4)
  ** Drum 2 Pipe Outlet, B17 to B24
RADIUS=0.5*DIAM
do ii=1,8
+ angle=(ii-1)*pi*0.25
+ XX=RADIUS*COS(ANGLE)
+ YY=RADIUS*SIN(ANGLE)
+ XP=XX-0.33; ZP=1.0+HSET; YP=YY-0.33+SEP
+ POINT=II+16
+ GSET(P,PB:POINT:,XP,YP,ZP)
enddo
GSET(L,LB5,PB21,PB19,PSIZ,S2.0,ARC,PB20)
GSET(L,LB6,PB19,PB17,PSIZ,S2.0,ARC,PB18)
GSET(L,LB7,PB17,PB23,PSIZ,S2.0,ARC,PB24)
GSET(L,LB8,PB23,PB21,PSIZ,S2.0,ARC,PB22)
GSET(F,FO2,PB21,-,PB19,-,PB17,-,PB23,-)
GSET(D,PSIZ,PSIZ,10)
GSET(M,FO2, +I+J, 1,1,9, LAP5)
do ii=1,PSIZ1
 do jj=1,PSIZ1
+ xc(:ii:,:jj:,11)=xco4(:ii:,:jj:)
+ yc(:ii:,:jj:,11)=yco4(:ii:,:jj:)
+ zc(:ii:,:jj:,11)=zco4(:ii:,:jj:)
 enddo
enddo
GSET(T,K9,F,K11,1,PSIZ,1,PSIZ,1.0)
GSET(C,K1,F,K9, 1,PSIZ,1,PSIZ, RX, -PI/2,SEP+0.4,1.0+HSET,INC, 1.0)
DUMPC(MBGR5)
NUMBLK=5; READCO(MBGR+L); gview(z); view
    ** To set up LINKS you can use MBLINK or MPATCH commands
       instead of READCO(...+L).
    PATCH(MBL1.3  ,HIGH  ,   3,   6,   7,  10,   9,   9,   1,   1)
    PATCH(MBL3.1  ,LOW   ,   1,   4,   1,   4,  21,  21,   1,   1)
    PATCH(MBL1.4  ,HIGH  ,  11,  14,   7,  10,   9,   9,   1,   1)
    PATCH(MBL4.1  ,LOW   ,   1,   4,   1,   4,  32,  32,   1,   1)
    PATCH(MBL2.4  ,LOW   ,  11,  14,   7,  10,  11,  11,   1,   1)
    PATCH(MBL4.2  ,HIGH  ,   1,   4,   1,   4,  61,  61,   1,   1)
    PATCH(MBL2.5  ,LOW   ,   3,   6,   7,  10,  11,  11,   1,   1)
    PATCH(MBL5.2  ,HIGH  ,   1,   4,   1,   4,  72,  72,   1,   1)
    GROUP 7. Variables stored, solved & named
STORE(VPOR); SOLVE(P1,U1,V1,W1)
L($F150)
    GROUP 9. Properties of the medium (or media)
ENUL = DIAM*WIN/REYNO; RHO1=1.0
    GROUP 13. Boundary conditions and special sources
  ** Inlet
MPATCH(3,INLET,HIGH, 1,PSIZ, 1,PSIZ, 10,10, 1,LSTEP)
COVAL(INLET,P1,FIXFLU,WIN*RHO1)
COVAL(INLET,UC1,ONLYMS,0.0)
COVAL(INLET,VC1,ONLYMS,0.0)
COVAL(INLET,WC1,ONLYMS,-WIN)
  ** Outlet
MPATCH(5,OUTLET,LOW, 1,PSIZ, 1,PSIZ, 1,1, 1,LSTEP)
COVAL(OUTLET,P1,FIXP,0.0)
COVAL(OUTLET,UC1,ONLYMS,0.0)
COVAL(OUTLET,VC1,ONLYMS,0.0)
COVAL(OUTLET,WC1,ONLYMS,0.0)
  ** Wall Friction DRUM 1
MPATCH(1,t1low,LWALL,1,DSIZ, 1,DSIZ, 1,1, 1,LSTEP)
COVAL(T1LOW,UC1,1.0,0.0)
COVAL(T1LOW,VC1,1.0,0.0)
COVAL(T1LOW,WC1,1.0,0.0)
MPATCH(1,t1east,EWALL, DSIZ,DSIZ, 1,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T1EAST,UC1,1.0,0.0)
COVAL(T1EAST,VC1,1.0,0.0)
COVAL(T1EAST,WC1,1.0,0.0)
MPATCH(1,t1west,WWALL, 1,1, 1,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T1WEST,UC1,1.0,0.0)
COVAL(T1WEST,VC1,1.0,0.0)
COVAL(T1WEST,WC1,1.0,0.0)
MPATCH(1,t1north,NWALL, 1,DSIZ, DSIZ,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T1NORTH,UC1,1.0,0.0)
COVAL(T1NORTH,VC1,1.0,0.0)
COVAL(T1NORTH,WC1,1.0,0.0)
MPATCH(1,t1SOUTH,SWALL, 1,DSIZ, 1,1, 1,HSIZ, 1,LSTEP)
COVAL(T1SOUTH,UC1,1.0,0.0)
COVAL(T1SOUTH,VC1,1.0,0.0)
COVAL(T1SOUTH,WC1,1.0,0.0)
MPATCH(1,t1h1,HWALL,1,DSIZ, 1,6, HSIZ,HSIZ, 1,LSTEP)
COVAL(T1H1,UC1,1.0,0.0)
COVAL(T1H1,VC1,1.0,0.0)
COVAL(T1H1,WC1,1.0,0.0)
MPATCH(1,t1h2,HWALL,1,DSIZ, 11,16, HSIZ,HSIZ, 1,LSTEP)
COVAL(T1H2,UC1,1.0,0.0)
COVAL(T1H2,VC1,1.0,0.0)
COVAL(T1H2,WC1,1.0,0.0)
MPATCH(1,t1h3,HWALL,1,2, 7,10, HSIZ,HSIZ, 1,LSTEP)
COVAL(T1H3,UC1,1.0,0.0)
COVAL(T1H3,VC1,1.0,0.0)
COVAL(T1H3,WC1,1.0,0.0)
MPATCH(1,t1h4,HWALL,7,10, 7,10, HSIZ,HSIZ, 1,LSTEP)
COVAL(T1H4,UC1,1.0,0.0)
COVAL(T1H4,VC1,1.0,0.0)
COVAL(T1H4,WC1,1.0,0.0)
MPATCH(1,t1h5,HWALL,15,16, 7,10, HSIZ,HSIZ, 1,LSTEP)
COVAL(T1H5,UC1,1.0,0.0)
COVAL(T1H5,VC1,1.0,0.0)
COVAL(T1H5,WC1,1.0,0.0)
  ** Wall Friction DRUM 2
MPATCH(2,t2HIGH,HWALL,1,DSIZ, 1,DSIZ, HSIZ,HSIZ, 1,LSTEP)
COVAL(T2HIGH,UC1,1.0,0.0)
COVAL(T2HIGH,VC1,1.0,0.0)
COVAL(T2HIGH,WC1,1.0,0.0)
MPATCH(2,t2east,EWALL, DSIZ,DSIZ, 1,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T2EAST,UC1,1.0,0.0)
COVAL(T2EAST,VC1,1.0,0.0)
COVAL(T2EAST,WC1,1.0,0.0)
MPATCH(2,t2west,WWALL, 1,1, 1,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T2WEST,UC1,1.0,0.0)
COVAL(T2WEST,VC1,1.0,0.0)
COVAL(T2WEST,WC1,1.0,0.0)
MPATCH(2,t2north,NWALL, 1,DSIZ, DSIZ,DSIZ, 1,HSIZ, 1,LSTEP)
COVAL(T2NORTH,UC1,1.0,0.0)
COVAL(T2NORTH,VC1,1.0,0.0)
COVAL(T2NORTH,WC1,1.0,0.0)
MPATCH(2,t2SOUTH,SWALL, 1,DSIZ, 1,1, 1,HSIZ, 1,LSTEP)
COVAL(T2SOUTH,UC1,1.0,0.0)
COVAL(T2SOUTH,VC1,1.0,0.0)
COVAL(T2SOUTH,WC1,1.0,0.0)
MPATCH(2,t2l1,LWALL,     1,DSIZ, 1,6, 1,1, 1,LSTEP)
COVAL(T2L1,UC1,1.0,0.0)
COVAL(T2L1,VC1,1.0,0.0)
COVAL(T2L1,WC1,1.0,0.0)
MPATCH(2,t2l2,LWALL,     1,DSIZ, 11,16, 1,1, 1,LSTEP)
COVAL(T2L2,UC1,1.0,0.0)
COVAL(T2L2,VC1,1.0,0.0)
COVAL(T2L2,WC1,1.0,0.0)
MPATCH(2,t2l3,LWALL,     1,2, 7,10, 1,1, 1,LSTEP)
COVAL(T2L3,UC1,1.0,0.0)
COVAL(T2L3,VC1,1.0,0.0)
COVAL(T2L3,WC1,1.0,0.0)
MPATCH(2,t2l4,LWALL,     7,10, 7,10, 1,1, 1,LSTEP)
COVAL(T2L4,UC1,1.0,0.0)
COVAL(T2L4,VC1,1.0,0.0)
COVAL(T2L4,WC1,1.0,0.0)
MPATCH(2,t2l5,LWALL,     15,16, 7,10, 1,1, 1,LSTEP)
COVAL(T2L5,UC1,1.0,0.0)
COVAL(T2L5,VC1,1.0,0.0)
COVAL(T2L5,WC1,1.0,0.0)
  ** Wall Friction INLET PIPE (3)
MPATCH(3,t3east,EWALL, PSIZ,PSIZ, 1,PSIZ, 1,10, 1,LSTEP)
COVAL(T3EAST,UC1,1.0,0.0)
COVAL(T3EAST,VC1,1.0,0.0)
COVAL(T3EAST,WC1,1.0,0.0)
MPATCH(3,t3west,WWALL, 1,1, 1,PSIZ, 1,10, 1,LSTEP)
COVAL(T3WEST,UC1,1.0,0.0)
COVAL(T3WEST,VC1,1.0,0.0)
COVAL(T3WEST,WC1,1.0,0.0)
MPATCH(3,t3north,NWALL, 1,PSIZ, PSIZ,PSIZ, 1,10, 1,LSTEP)
COVAL(T3NORTH,UC1,1.0,0.0)
COVAL(T3NORTH,VC1,1.0,0.0)
COVAL(T3NORTH,WC1,1.0,0.0)
MPATCH(3,t3SOUTH,SWALL, 1,PSIZ, 1,1, 1,10, 1,LSTEP)
COVAL(T3SOUTH,UC1,1.0,0.0)
COVAL(T3SOUTH,VC1,1.0,0.0)
COVAL(T3SOUTH,WC1,1.0,0.0)
  ** Wall Friction TRANSFER PIPE (4)
MPATCH(4,t4east,EWALL, PSIZ,PSIZ, 1,PSIZ, 1,30, 1,LSTEP)
COVAL(T4EAST,UC1,1.0,0.0)
COVAL(T4EAST,VC1,1.0,0.0)
COVAL(T4EAST,WC1,1.0,0.0)
MPATCH(4,t4west,WWALL, 1,1, 1,PSIZ, 1,30, 1,LSTEP)
COVAL(T4WEST,UC1,1.0,0.0)
COVAL(T4WEST,VC1,1.0,0.0)
COVAL(T4WEST,WC1,1.0,0.0)
MPATCH(4,t4north,NWALL, 1,PSIZ, PSIZ,PSIZ, 1,30, 1,LSTEP)
COVAL(T4NORTH,UC1,1.0,0.0)
COVAL(T4NORTH,VC1,1.0,0.0)
COVAL(T4NORTH,WC1,1.0,0.0)
MPATCH(4,t4SOUTH,SWALL, 1,PSIZ, 1,1, 1,30, 1,LSTEP)
COVAL(T4SOUTH,UC1,1.0,0.0)
COVAL(T4SOUTH,VC1,1.0,0.0)
COVAL(T4SOUTH,WC1,1.0,0.0)
  ** Wall Friction OUTLET PIPE (5)
MPATCH(5,t5east,EWALL, PSIZ,PSIZ, 1,PSIZ, 1,10, 1,LSTEP)
COVAL(T5EAST,UC1,1.0,0.0)
COVAL(T5EAST,VC1,1.0,0.0)
COVAL(T5EAST,WC1,1.0,0.0)
MPATCH(5,t5west,WWALL, 1,1, 1,PSIZ, 1,10, 1,LSTEP)
COVAL(T5WEST,UC1,1.0,0.0)
COVAL(T5WEST,VC1,1.0,0.0)
COVAL(T5WEST,WC1,1.0,0.0)
MPATCH(5,t5north,NWALL, 1,PSIZ, PSIZ,PSIZ, 1,10, 1,LSTEP)
COVAL(T5NORTH,UC1,1.0,0.0)
COVAL(T5NORTH,VC1,1.0,0.0)
COVAL(T5NORTH,WC1,1.0,0.0)
MPATCH(5,t5SOUTH,SWALL, 1,PSIZ, 1,1, 1,10, 1,LSTEP)
COVAL(T5SOUTH,UC1,1.0,0.0)
COVAL(T5SOUTH,VC1,1.0,0.0)
COVAL(T5SOUTH,WC1,1.0,0.0)
    GROUP 15. Termination of sweeps
LSWEEP = 600; TSTSWP = -1
    GROUP 16. Termination of iterations
SELREF = T; RESFAC = 0.01
    GROUP 17. Under-relaxation devices
RELAX(P1, LINRLX,0.3)
REAL(FDT); FDT=0.25/win
mesg(FDT= :FDT:
RELAX(UC1, FALSDT, FDT); RELAX(VC1, FALSDT, FDT)
RELAX(WC1, FALSDT, FDT)
    GROUP 19. Data communicated by satellite to GROUND
    * LSG3 = T, activates curvilinearity treatment;
    * LSG4 = T, activates nonorthogonality treatment.
LSG3= T;  LSG4= T
    GROUP 22. Spot-value print-out
IXMON = 8; IYMON = 8; IZMON = 3