photon use
  ext
 
 
 
  view -1 1 1
  con temp x 1 fi;0.01
  con temp y m fi;0.01
  con temp z m fi;0.01
  gr x 1
  gr y m
  gr z m
  msg Press e to END
  enduse
nowipe=t
L($100)
L(cls)
  xprtbegin
  expsol    t
  ifrequ    2
  facinc    1.01
  facdec    0.9
  facinc    1.02
  facdec    0.6
  xprtend
text(Conduction In Cube; Expert         
TITLE
mesg(The case-100 grid is made finer, and initial conditions non-
mesg(uniform, so as to increase the difficulty of solution.
mesg(The hot corner is eliminated, so that the solution is: TEMP=0.
mesg(Press return to continue
READVDU(NX,INT,:NX:)
 
nx=10; xulast=1.0; ny=10; yvlast=1.0; nz=10; zwlast=1.0
l(unigrid)
 
FIINIT(TEMP)=0.0
PATCH(XDIR,LINVLX,1,NX,1,NY,1,NZ,1,1); COVAL(XDIR,TEMP,1.0,1.0)
PATCH(YDIR,LINVLY,1,NX,1,NY,1,NZ,1,1); COVAL(YDIR,TEMP,1.0,1.0)
PATCH(ZDIR,LINVLZ,1,NX,1,NY,1,NY,1,1); COVAL(ZDIR,TEMP,1.0,1.0)
INTEGER(IC1,IC2)
IC1=NX/2+1; IC2=NX
PATCH(CENTRAL,INIVAL,IC1,IC2,IC1,IC2,IC1,IC2,1,1)
COVAL(CENTRAL,TEMP,0.0,10.0)
 
   **Corner at IX=IY=IZ=1
PATCH(COLD,CELL,1,1,1,1,1,1,1,1)
   **Fix temperature to zero
COVAL(COLD,TEMP,1.E2,0.0)
LSWEEP=1
HOT=SKIP
 
ISOLX=0; ISOLY=0; ISOLZ=0; ISOLBK=0; ENDIT(TEMP)=-1.5
LITER(14)=-2000
EXPERT=T
  ** L(21), after nowipe=t, clears the screen
NOWIPE=T
L(CLs)
SELREF=T; RESFAC=0.1
mesg(The residual-diminution cut-off criterion is in use
mesg(resfac = :resfac:  OK? If not, insert desired value
READVDU(RESFAC,REAL,RESFAC)
L(CLs)
RESFAC
mesg(The over-relaxation factor is :-endit(temp):
mesgm(Ask EXPERT to choose best over-relaxation factor? (y/n)
EXPERT=F
READVDU(ANS,CHAR,N)
IF(:ANS:.EQ.Y) THEN
 EXPERT = T
 mesg(EXPERT is switched ON
  ** the following settings are made to enable this case to be
     included in a multi-run, for which the "read-q1" data are
     not available
 IG(16)=2; IG(15)=10; RG(18)=1.02; RG(19)=0.6
 MESG(IFREQU = :IG(16):  IFRSTS = :IG(15):
 MESG(FACINC = :RG(18):  FACDEC = :RG(19):
ENDIF
mesgm(or try the conjugate-gradient solver instead? (y/n)
mesg(It will found to give an even better solution, ie smaller
mesg(differences from the exact solution, in an even shorter time
READVDU(ANS,CHAR,N)
IF(:ANS:.EQ.Y) THEN
CSG3=CNGR
ENDIF
Q1QUIT=T