#cls
text(Drilling Of Pump Chamber, BFC
title
libref=771
  DISPLAY

  This In-Form case describes immovable In-Form object.

  This object is specified by INFOB commands, wherein the
  formula takes the form:   
  
    SPHERE(x-centre, y-centre, z-centre, radius) ,
  
  each of the arguments is itself a formula.
  
  The following In-Form formulas set pump chamber:

  char(xce,yce,zce,radius)
  xce=10.; yce=10.; zce=10.; radius=8.
  (INFOB at PATCH1 is SPHERE(:xce:,:yce:,:zce:,:radius: ...
  ) with INFOB_1)

  PATCH(PATCH2,CELL,1,NX/2,1,NY,1,NZ,1,LSTEP)
  xce=XG; yce=16.; zce=10.; radius=2.
  (INFOB at PATCH2 is SPHERE(:xce:,:yce:,:zce:,:radius: ...
  ) with INFOB_1)

  PATCH(PATCH3,CELL,NX/2+1,NX,1,NY,1,NZ,1,LSTEP)
  xce=XG; yce=4.; zce=10.; radius=2.
  (INFOB at PATCH3 is SPHERE(:xce:,:yce:,:zce:,:radius: ...
  ) with INFOB_1)
  
  The following formula defines MARK variable.
  MARK is used by PHOTON for marks of borders of a pyramid.

  FIINIT(MARK)=1.0
  *** Setting of MARK values inside spheres
  (INITIAL of MARK at PATCH1 is 0. with INFOB_1)

  The Q1 contains PHOTON USE commands    
  ENDDIS  

    GROUP 1. Run title and other preliminaries
TEXT(Drilling of Pump chamber, BFC: 771
    GROUP 3. X-direction grid specification
GRDPWR(X,40,20.,1.0)
    GROUP 4. Y-direction grid specification
GRDPWR(Y,40,20.,1.0)
    GROUP 5. Z-direction grid specification
GRDPWR(Z,40,20.,1.0)
    GROUP 6. Body-fitted coordinates or grid distortion
BFC=T
    GROUP 7. Variables stored, solved & named
STORE(MARK)
    GROUP 11. Initialization of variable or porosity fields
iniadd=f
FIINIT(P1)=0.0;FIINIT(U1)=0.0

  *** Patch for first sphere
PATCH(PATCH1,CELL,1,NX,1,NY,1,NZ,1,LSTEP)

  Note: xce,yce and zce are the x,z and z coordinates;
        They are character variables which are evaluated in 
        the in-form statements because they are enclosed within colons.
  INFORM11BEGIN                                          
char(xce,yce,zce,radius)
xce=10.; yce=10.; zce=10.; radius=8.

(INFOB at PATCH1 is SPHERE(:xce:,:yce:,:zce:,:radius:$
) with INFOB_1)

  *** Patch for second sphere
PATCH(PATCH2,CELL,1,NX/2,1,NY,1,NZ,1,LSTEP)

xce=XG; yce=16.; zce=10.; radius=2.

(INFOB at PATCH2 is SPHERE(:xce:,:yce:,:zce:,:radius:$
) with INFOB_1)

  *** Patch for third sphere
PATCH(PATCH3,CELL,NX/2+1,NX,1,NY,1,NZ,1,LSTEP)

xce=XG; yce=4.; zce=10.; radius=2.

(INFOB at PATCH3 is SPHERE(:xce:,:yce:,:zce:,:radius:$
) with INFOB_1)

FIINIT(MARK)=1.0
  *** Setting of MARK values inside spheres
(INITIAL of MARK at PATCH1 is 0. with INFOB_1)
  INFORM11END
    GROUP 15. Termination of sweeps
libref=771
LSWEEP=1
DISTIL=T
EX(MARK)=7.140E-01
  PHOTON USE
  p


 

  con MARK z 20 x 21 40 y 1 m fil;.001
  con MARK x 20 y 1 m z 21 40 fil;.001
  surf MARK x 0.99
  ENDUSE
STOP