DISPLAY
  This case is created for demonstration using of (modsor In-Form
  statement.

  The case considers the flow near the thin pipe grid which is
  placed horizontally at north faces of cells for iy=iysh.
  The diameter of pipes is very small and equal diam=0.01 m.
  Thus the pipe grid is a subgrid object.
  The pressure drop at pipe grid can be calculated by formulas

  dP = f*2*rho*vel^2, [N/m^2]
  f=0.33*Re^(-1/5)    and
  Re=abs(vel)*diam/enul

  The resistance at the pipe grid is simulated by updating the
  built-in source term of equation for v1 variable at iy=iysh
  cells.

  The inform variable is introduced for comparison two way of
  updating by in-form and by group 12 feature.

  ENDDIS
  PHOTON USE
  p



  gr ou x 1
  gr x 1 y 10 11 z 1 20 col 4
  VEC X 1 SH   
  msg          WATER RECIRCULATION NEAR THIN PIPE GRID  
  msg                     Velocity vectors
  pause
  vec off;red  
  con vabs x 1 fil;0.0001
  gr x 1 y 10 11 z 1 20 col 0
  msg                 Absolute velocity contours
  pause
  con off;red  
  con p1 x 1 fil;0.0001
  gr x 1 y 10 11 z 1 20 col 0
  msg                     Pressure contours
  msg Press e to END
  enduse
    GROUP 1. Run title and other preliminaries
TEXT(Modify built-in source for V1
TITLE
 
  ** define uniform grid initially
    GROUP 4. Y-direction grid specification
NY=20;NZ=20
GRDPWR(Y,NY,.5,1.0)

INTEGER(IYSH);IYSH=NY/2 ! y-location pipe grid

    GROUP 5. Z-direction grid specification
GRDPWR(Z,NZ,1.,1.0)

    GROUP 7. Variables stored, solved & named
SOLVE(P1,V1,W1);SOLUTN(P1,Y,Y,Y,P,P,P)
STORE(VABS,VLSQ,PRPS)

    GROUP 9. Properties of the medium (or media)
SETPRPS(1,67) ! water
ENUT=.001
    GROUP 13. Boundary conditions and special sources
REAL(VELIN);VELIN=10. ! inlet velocity
  ** inflow boundary
PATCH(INL,LOW,1,NX,1,IYSH,1,1,1,1)
COVAL(INL,P1,FIXFLU,RHO1*VELIN)
COVAL(INL,W1,ONLYMS,VELIN)
  ** outflow boundary
PATCH(OUTL,HIGH,1,NX,IYSH+1,NY,NZ,NZ,1,1)
COVAL(OUTL,P1,1.E3,0.0)

REAL(DIAM); DIAM=0.01 ! pipe diameter

  ** the Reynolds number calculations
(STORE var REYN is VABS*DIAM/ENUL) ! calculate Reynolds number

  ** The resistance at the pipe grid
                          ! Modify build-in source of v1 variable
BOOLEAN(INFORM); INFORM=T ! by means In-Form
                 INFORM=F ! by means froup 12 feature
INFORM=T
IF(INFORM) THEN
  
  
 PATCH(MSOR1,CELL,1,NX,IYSH,IYSH,1,NZ,1,1)
 (MODSOR of V1 at MSOR1 is ANORTH*.33*REYN^(-0.2)*2*RHO1*VLSQ)
ELSE
 PATCH(GP12SOR2,CELL,1,NX,IYSH,IYSH,1,NZ,1,1)
 COVAL(GP12SOR2,V1,3.0E+2,0.0)
ENDIF

    GROUP 22. Monitor print-out
IZMON=NZ/2;IYMON=IYSH;YPLS=T
    GROUP 24. DUMPS FOR RESTARTS
LSWEEP=350;TSTSWP=-1;NPRINT=LSWEEP;NYPRIN=1;NZPRIN=1

LSG57=T ! It is important for inform=t

DISTIL=T
EX(P1  )=9.922E+03; EX(V1  )=1.723E+00; EX(W1  )=5.832E+00
EX(REYN)=6.303E+04; EX(VLSQ)=4.886E+01; EX(VABS)=6.341E+00

lsg57
STOP