TALK=T;RUN(1,1)
#cls text(In-Form Equivalent Of PLANT Case Z120 title libref=720 DISPLAY This In-Form case does what Z120 does, but without fortran coding or re-compilation. First, case z120 is loaded. Then NAMSAT = NONE is set, to deactivate PLANT; and the grid fineness is increased in order to make comparison with the exact solution more meaningful. It uses the In-Form functions: SOURCE and STORED, the former having the 'with line' (i.e. linearisation) condition. The Q1 contains PHOTON USE commands ENDDIS PHOTON USE p msg Numerical solution contours con C1 Z 1 fi;0.001 msg Press Enter to continue PAUSE CLEAR con EXAC Z 1 fi;0.001 msg Exact solution contours msg Press e to END ENDUSE load(z120) text(In-Form equivalent of PLANT case Z120 libref=720 INFORM13BEGIN ** The next line de-activates PLANT ** namsat=none CONWES=SKIP;DIFWES=SKIP;CONNOR=SKIP DIFNOR=SKIP;DIFEAS=SKIP;DIFSOU=SKIP INFORM13END ** The following settings have been chosen as being preferable to those of z120, in respect of convergence and printout. ** LSWEEP=110 nx=100;ny=100 #unigrid RELAX(C1,FALSDT,5.E-3) ** In-Form formulae which are equivalent to the PLANT formulae of z120 ** INFORM13BEGIN PATCH(iCONWES,WEST,1,1,1,NY,1,NZ,1,LSTEP) (SOURCE of C1 at iCONWES is RHO1*1.41/2.*$ (EXP(-(:RG(1):)*YG)*SIN(:RG(2):*YG)-C1) with line) PATCH(iDIFWES,WWALL,1,1,1,NY,1,NZ,1,LSTEP) (SOURCE of C1 at iDIFWES is 2.*RHO1*ENUL*$ (EXP(-(:RG(1):)*YG)*SIN(:RG(2):*YG)-C1)/DXG with line) PATCH(iCONNOR,NORTH,1,NX,NY,NY,1,NZ,1,LSTEP) (SOURCE of C1 at iCONNOR is -RHO1*1.41/2.*$ (EXP(:RG(1):*(XG-1.))*SIN(:RG(2):*(1.+XG))-C1) with line) PATCH(iDIFNOR,NWALL,1,NX,NY,NY,1,NZ,1,LSTEP) (SOURCE of C1 at iDIFNOR is 2.*RHO1*ENUL*$ (EXP(:RG(1):*(XG-1.))*SIN(:RG(2):*(1.+XG))-C1)/DYG with line) PATCH(iDIFEAS,EWALL,NX,NX,1,NY,1,NZ,1,LSTEP) (SOURCE of C1 at iDIFEAS is 2.*RHO1*ENUL*$ (EXP(:RG(1):*(1.-YG))*SIN(:RG(2):*(1.+YG))-C1)/DXG with line) PATCH(iDIFSOU,SWALL,1,NX,1,1,1,NZ,1,LSTEP) (SOURCE of C1 at iDIFSOU is 2.*RHO1*ENUL*$ (EXP(:RG(1):*XG)*SIN(:RG(2):*XG)-C1)/DYG with line) INFORM13END INFORM7BEGIN (STORED of EXAC is EXP(:RG(1):*(XG-YG))*SIN(:RG(2):*(XG+YG))) INFORM7END DISTIL=T EX(U1)=7.071E-01; EX(V1)=7.071E-01 EX(C1)=8.959E-01; EX(EXAC)=8.916E-01 STOP