TALK=T;RUN(1,1) 386 sphere centre at origin

 integer(EXAMPLE,lastex)
 EXAMPLE=1; lastex=0
 label start
 mesg(EXAMPLE=1; basic case; uniform grid; no cutting
 mesg(EXAMPLE=2: as for 1; dot-patch with smaller y and z 
 mesg(EXAMPLE=3: as for 1; index patch with smaller y and z 
 mesg(EXAMPLE=4: as for 2; dot-patch with smaller non-uniform grid 
 mesg(EXAMPLE=5: as for 3; index-patch with smaller non-uniform grid 
 mesgm(EXAMPLE=:EXAMPLE: If not OK insert other; else RETURN
 lastex=EXAMPLE
 readvdu(EXAMPLE,int,EXAMPLE)
 if(EXAMPLE.ne.lastex) then
 goto start
 endif
 
 
 TALK=F;RUN( 1, 1)
  Group 1. Run Title
 TEXT(sphere with centre at origin     
  
  DISPLAY
  This 5-example case shows how a dot-patch retains the in-form
  object shape better than the indicial patch when the grid
  distribution changes
  ENDDIS
  
 LIBREF=386
  ************************************************************
  Group 2. Transience
 STEADY=T
 ************************************************************
  Groups 3, 4, 5  Grid Information
 NX=50;NY=50;NZ=50
 XULAST=1.0; YVLAST=1.0; ZWLAST=1.0
 #UNIGRID
 if(EXAMPLE.gt.3) then          ! non-uniform grid
  mesg(grid is non-uniform
 GRDPWR(X,NX,XULAST,0.5)
 GRDPWR(Y,NY,YVLAST,0.5)
 GRDPWR(Z,NZ,ZWLAST,0.5)
 endif
  Group 7. Variables: STOREd,SOLVEd,NAMEd
 STORE(MARK) ! MARK is set to non-zero values inside In-Form
                    objects
 ************************************************************
  Group 9 Properties
 ************************************************************
  Group 11.Initialise Var/Porosity Fields
FIINIT(MARK) =  0.0 ! 

  inform11begin
  
  with dot-patch
if(EXAMPLE.eq.3) then
goto index
endif  
if(EXAMPLE.eq.5) then
goto index
endif  
 EXAMPLE
 mesg(using dot_patch
 PATCH(.PATCH1,INIVAL,0,1000,0,1000,0,1000,1,1000) ! no cut
 if(EXAMPLE.gt.1) then
 PATCH(.PATCH1,INIVAL,0,1000,0,800,0,600,1,1000) ! cut y and z sizes
 endif
 (INFOB at .PATCH1 is SPHERE(.0,.0,.0,XULAST) with INFOB_SP1)
 (STORED of MARK at .PATCH1 IS 1.0 with INFOB_SP1)    
goto end
label index
  with index-patch
 EXAMPLE
 mesg( using index patch
 PATCH(PATCH1,CELL,1,NX,1,8*NY/10,1,6*NZ/10,1,1)
 (INFOB at PATCH1 is SPHERE(.0,.0,.0,XULAST) with INFOB_SP1)
 (STORED of MARK at PATCH1 is 1.0 with INFOB_SP1)  
label end  
  inform11end 
stop