TALK=T;RUN(1,1) DISPLAY This case exemplifies the setting of sources in In-Form objects. It concerns the temperature of water flowing within a cylindrical vessel which contains a spiral heating element. The spiral is an In-Form object formed by use of the SPHERE function with the cartesian x, y and coordinates of the sphere centre varying with the angular coordinate xg of the cylindrical-polar co-ordinate system (CARTES=F), as follows (INFOB at PATCH1 is SPHERE(1+.5*sin(xg),1+.5*cos(xg),1+.5*xg, .2$ )+SPHERE(1+.5*sin(xg),1+.5*cos(xg),4.14+.5*xg,.2) with INFOB_1) Two SPHERE functions are used because two turns of the spiral are required. The following formula sets a heat source: char(heatfl) heatfl=2000. (SOURCE of TEM1 at PATCH1 is :heatfl: with INFOB_1) The flow resistance exerted by the spiral is represented by a mom$ entum source as follows: char(uresis,vresis,wresis) uresis=-1000.*VABS*VOL*U1 vresis=-1000.*VABS*VOL*V1 wresis=-1000.*VABS*VOL*W1 (SOURCE of U1 at PATCH1 is :uresis: with LINE!INFOB_1) (SOURCE of V1 at PATCH1 is :vresis: with LINE!INFOB_1) (SOURCE of W1 at PATCH1 is :wresis: with LINE!INFOB_1) The following formulae defines MARK variable. MARK is used by PHOTON for marks of borders of a spiral. (INITIAL of MARK at PATCH1 is 1. with INFOB_1) In addition this example illustrates how RESIDUALS and CORRECTIONS can be stored with In-Form using. First declare 3D storage of TRES and TCOR variables in which residuals and corrections values will be saved. STORE(TRES,TCOR) Then store residuals of temperature in TRES by the statement: (STORED of TRES is RESI(TEM1)) Then store temperature corrections in TCOR by the statement: (STORED of TCOR is CORR(TEM1)) The Q1 contains PHOTON USE commands ENDDIS infrbegin debug f formula t stored t infrend PHOTON USE p up z gr ou y m ve x 1 sh ve x 20 sh msg Please wait surf mark x 0.99 surf mark z 0.99 msg Velocity vectors msg Pressto continue pause ve cl con p1 x 1 fil;.01 con p1 x 20 fil;.01 red msg Pressure contours msg Press to continue pause con cl con tem1 x 1 fil;.01 con tem1 x 20 fil;.01 red msg Temperature contours pause con cl con tres x 1 fil;.01 con tres x 20 fil;.01 red msg Residuals of temperature contours pause con cl con tcor x 1 fil;.01 con tcor x 20 fil;.01 red msg Corrections of temperature contours pause con cl do izz=1,40,8 con tem1 iz izz fi;0.001 enddo ENDUSE ************************************************************ Group 1. Run Title and Number ************************************************************ ************************************************************ TEXT(3D heating spiral: 768 ) ************************************************************ ************************************************************ IRUNN = 1 ;LIBREF = 768 ************************************************************ Group 2. Time dependence STEADY = T ************************************************************ Group 3. X-Direction Grid Spacing CARTES = F NX = 40 XULAST =6.28 XFRAC(1)=0.025 ;XFRAC(2)=0.05 XFRAC(3)=0.075 ;XFRAC(4)=0.1 XFRAC(5)=0.125 ;XFRAC(6)=0.15 XFRAC(7)=0.175 ;XFRAC(8)=0.2 XFRAC(9)=0.225 ;XFRAC(10)=0.25 XFRAC(11)=0.275 ;XFRAC(12)=0.3 XFRAC(13)=0.325 ;XFRAC(14)=0.35 XFRAC(15)=0.375 ;XFRAC(16)=0.4 XFRAC(17)=0.425 ;XFRAC(18)=0.45 XFRAC(19)=0.475 ;XFRAC(20)=0.5 XFRAC(21)=0.525 ;XFRAC(22)=0.55 XFRAC(23)=0.575 ;XFRAC(24)=0.6 XFRAC(25)=0.625 ;XFRAC(26)=0.65 XFRAC(27)=0.675 ;XFRAC(28)=0.7 XFRAC(29)=0.725 ;XFRAC(30)=0.75 XFRAC(31)=0.775 ;XFRAC(32)=0.8 XFRAC(33)=0.825 ;XFRAC(34)=0.85 XFRAC(35)=0.875 ;XFRAC(36)=0.9 XFRAC(37)=0.925 ;XFRAC(38)=0.95 XFRAC(39)=0.975 ;XFRAC(40)=1. ************************************************************ Group 4. Y-Direction Grid Spacing NY = 40 YVLAST =1. YFRAC(1)=0.025 ;YFRAC(2)=0.05 YFRAC(3)=0.075 ;YFRAC(4)=0.1 YFRAC(5)=0.125 ;YFRAC(6)=0.15 YFRAC(7)=0.175 ;YFRAC(8)=0.2 YFRAC(9)=0.225 ;YFRAC(10)=0.25 YFRAC(11)=0.275 ;YFRAC(12)=0.3 YFRAC(13)=0.325 ;YFRAC(14)=0.35 YFRAC(15)=0.375 ;YFRAC(16)=0.4 YFRAC(17)=0.425 ;YFRAC(18)=0.45 YFRAC(19)=0.475 ;YFRAC(20)=0.5 YFRAC(21)=0.525 ;YFRAC(22)=0.55 YFRAC(23)=0.575 ;YFRAC(24)=0.6 YFRAC(25)=0.625 ;YFRAC(26)=0.65 YFRAC(27)=0.675 ;YFRAC(28)=0.7 YFRAC(29)=0.725 ;YFRAC(30)=0.75 YFRAC(31)=0.775 ;YFRAC(32)=0.8 YFRAC(33)=0.825 ;YFRAC(34)=0.85 YFRAC(35)=0.875 ;YFRAC(36)=0.9 YFRAC(37)=0.925 ;YFRAC(38)=0.95 YFRAC(39)=0.975 ;YFRAC(40)=1. ************************************************************ Group 5. Z-Direction Grid Spacing PARAB = F NZ = 40 ZWLAST =8. ZFRAC(1)=0.025 ;ZFRAC(2)=0.05 ZFRAC(3)=0.075 ;ZFRAC(4)=0.1 ZFRAC(5)=0.125 ;ZFRAC(6)=0.15 ZFRAC(7)=0.175 ;ZFRAC(8)=0.2 ZFRAC(9)=0.225 ;ZFRAC(10)=0.25 ZFRAC(11)=0.275 ;ZFRAC(12)=0.3 ZFRAC(13)=0.325 ;ZFRAC(14)=0.35 ZFRAC(15)=0.375 ;ZFRAC(16)=0.4 ZFRAC(17)=0.425 ;ZFRAC(18)=0.45 ZFRAC(19)=0.475 ;ZFRAC(20)=0.5 ZFRAC(21)=0.525 ;ZFRAC(22)=0.55 ZFRAC(23)=0.575 ;ZFRAC(24)=0.6 ZFRAC(25)=0.625 ;ZFRAC(26)=0.65 ZFRAC(27)=0.675 ;ZFRAC(28)=0.7 ZFRAC(29)=0.725 ;ZFRAC(30)=0.75 ZFRAC(31)=0.775 ;ZFRAC(32)=0.8 ZFRAC(33)=0.825 ;ZFRAC(34)=0.85 ZFRAC(35)=0.875 ;ZFRAC(36)=0.9 ZFRAC(37)=0.925 ;ZFRAC(38)=0.95 ZFRAC(39)=0.975 ;ZFRAC(40)=1. ************************************************************ Group 6. Body-Fitted Coordinates ************************************************************ Group 7. Variables: STOREd,SOLVEd,NAMEd ONEPHS = T NAME(1)=P1 ;NAME(3)=U1 NAME(5)=V1 ;NAME(7)=W1 NAME(146)=TCOR ;NAME(147)=TRES NAME(148)=VABS ;NAME(149)=MARK NAME(150)=TEM1 * Y in SOLUTN argument list denotes: * 1-stored 2-solved 3-whole-field * 4-point-by-point 5-explicit 6-harmonic averaging SOLUTN(P1,Y,Y,Y,N,N,Y) SOLUTN(U1,Y,Y,N,N,N,Y) SOLUTN(V1,Y,Y,N,N,N,Y) SOLUTN(W1,Y,Y,N,N,N,Y) SOLUTN(TCOR,Y,N,N,N,N,Y) SOLUTN(TRES,Y,N,N,N,N,Y) SOLUTN(VABS,Y,N,N,N,N,Y) SOLUTN(MARK,Y,N,N,N,N,Y) SOLUTN(TEM1,Y,Y,Y,N,N,Y) ************************************************************ Group 8. Terms & Devices * Y in TERMS argument list denotes: * 1-built-in source 2-convection 3-diffusion 4-transient * 5-first phase variable 6-interphase transport TERMS(P1,Y,Y,Y,N,Y,Y) TERMS(U1,Y,Y,Y,Y,Y,Y) TERMS(V1,Y,Y,Y,Y,Y,Y) TERMS(W1,Y,Y,Y,Y,Y,Y) TERMS(TEM1,N,Y,Y,Y,Y,Y) DIFCUT =0.5 ;ZDIFAC =1. GALA = F ;ADDDIF = F ISOLX = -1 ;ISOLY = -1 ;ISOLZ = -1 ************************************************************ Group 9. Properties used if PRPS is not stored, and where PRPS = -1.0 if it is! RHO1 =998.22998 ;TMP1 =0. ;EL1 =0. TSURR =0. ;TEMP0 =273. ;PRESS0 =1.0E+05 DVO1DT =1.18E-04 ;DRH1DP =0. EMISS =0. ;SCATT =0. RADIA =0. ;RADIB =0. ENUL =1.006E-06 ;ENUT =0. PRNDTL(U1)=1. ;PRNDTL(V1)=1. PRNDTL(W1)=1. ;PRNDTL(TEM1)=-0.597 PRT(U1)=1. ;PRT(V1)=1. PRT(W1)=1. ;PRT(TEM1)=1. CP1 =4181.799805 ;CP2 =1. ************************************************************ Group 10.Inter-Phase Transfer Processes ************************************************************ Group 11.Initial field variables (PHIs) FIINIT(P1)=1.0E-10 ;FIINIT(U1)=1.0E-10 FIINIT(V1)=1.0E-10 ;FIINIT(W1)=1.0E-10 FIINIT(TCOR)=1.0E-10 ;FIINIT(TRES)=1.0E-10 FIINIT(VABS)=1.0E-10 ;FIINIT(MARK)=0. FIINIT(TEM1)=0. No PATCHes yet used for this Group INIADD = F FSWEEP = 1 NAMFI =CHAM ************************************************************ Group 12. Patchwise adjustment of terms Patches for this group are printed with those for Group 13. Their names begin either with GP12 or & ************************************************************ Group 13. Boundary & Special Sources PATCH(PATCH1 ,CELL , 1, 40, 1, 40, 1, 40, 1, 1) COVAL(PATCH1 ,U1 ,In-Form:source - see Grp 19) COVAL(PATCH1 ,V1 ,In-Form:source - see Grp 19) COVAL(PATCH1 ,W1 ,In-Form:source - see Grp 19) COVAL(PATCH1 ,TEM1,In-Form:source - see Grp 19) PATCH(INLET ,LOW , 1, 40, 1, 40, 1, 1, 1, 1) COVAL(INLET ,P1 , FIXFLU ,9.9823 ) COVAL(INLET ,U1 ,0. ,0. ) COVAL(INLET ,V1 ,0. ,0. ) COVAL(INLET ,W1 ,0. ,1.0E-02 ) COVAL(INLET ,TEM1,0. ,0. ) PATCH(OUTLET ,HIGH , 1, 40, 1, 40, 40, 40, 1, 1) COVAL(OUTLET ,P1 ,1000. ,0. ) COVAL(OUTLET ,TEM1,0. , SAME ) PATCH(WALLN ,NWALL , 1, 40, 40, 40, 1, 40, 1, 1) COVAL(WALLN ,U1 ,1. ,0. ) COVAL(WALLN ,W1 ,1. ,0. ) XCYCLE = F EGWF = T WALLCO = GRND2 ************************************************************ Group 14. Downstream Pressure For PARAB ************************************************************ Group 15. Terminate Sweeps LSWEEP = 100 ;ISWC1 = 1 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1 SELREF = T RESFAC =1.0E-05 ************************************************************ Group 16. Terminate Iterations LITER(P1)=20 ;LITER(U1)=10 LITER(V1)=10 ;LITER(W1)=10 LITER(TEM1)=20 ENDIT(P1)=1.0E-03 ;ENDIT(U1)=1.0E-03 ENDIT(V1)=1.0E-03 ;ENDIT(W1)=1.0E-03 ENDIT(TEM1)=1.0E-03 ************************************************************ Group 17. Relaxation RELAX(P1,LINRLX,1.) RELAX(U1,FALSDT,1.) RELAX(V1,FALSDT,1.) RELAX(W1,FALSDT,1.) RELAX(TCOR,LINRLX,1.) RELAX(TRES,LINRLX,1.) RELAX(VABS,LINRLX,1.) RELAX(MARK,LINRLX,1.) RELAX(TEM1,FALSDT,1.0E+09) OVRRLX =0. EXPERT = F ;NNORSL = F ************************************************************ Group 18. Limits VARMAX(P1)=1.0E+10 ;VARMIN(P1)=-1.0E+10 VARMAX(U1)=1.0E+06 ;VARMIN(U1)=-1.0E+06 VARMAX(V1)=1.0E+06 ;VARMIN(V1)=-1.0E+06 VARMAX(W1)=1.0E+06 ;VARMIN(W1)=-1.0E+06 VARMAX(TCOR)=1.0E+10 ;VARMIN(TCOR)=-1.0E+10 VARMAX(TRES)=1.0E+10 ;VARMIN(TRES)=-1.0E+10 VARMAX(VABS)=1.0E+10 ;VARMIN(VABS)=-1.0E+10 VARMAX(MARK)=1.0E+10 ;VARMIN(MARK)=-1.0E+10 VARMAX(TEM1)=1.0E+10 ;VARMIN(TEM1)=0. ************************************************************ Group 19. Data transmitted to GROUND PARSOL = F ISG62 = 0 SPEDAT(SET,STORED,TRES,C,=RESI(TEM1)!RESIDU) SPEDAT(SET,STORED,TCOR,C,=CORR(TEM1)!CORREC) SPEDAT(SET,INFOB,*!PATCH1,C,=SPHERE(1+.5*SIN(XG)&1+.5*COS(XG)&1+.$) SPEDAT(SET,INFOB,*!PATCH1,C,5*XG&.2&0&0&0)+SPHERE(1+.5*SIN(XG)&1+$) SPEDAT(SET,INFOB,*!PATCH1,C,.5*COS(XG)&4.14+.5*XG&.2&0&0&0)!INFOB$) SPEDAT(SET,INFOB,*!PATCH1,C,_1) SPEDAT(SET,INITIAL,MARK!PATCH1,C,=1.!INFOB_1) SPEDAT(SET,SOURCE,TEM1!PATCH1,C,=2000.!INFOB_1) SPEDAT(SET,SOURCE,U1!PATCH1,C,=-1000.*VABS*VOL*U1!LINE!INFOB_1) SPEDAT(SET,SOURCE,V1!PATCH1,C,=-1000.*VABS*VOL*V1!LINE!INFOB_1) SPEDAT(SET,SOURCE,W1!PATCH1,C,=-1000.*VABS*VOL*W1!LINE!INFOB_1) SPEDAT(SET,GXMONI,PLOTALL,L,T) ************************************************************ Group 20. Preliminary Printout DISTIL = T ;NULLPR = F NDST = 0 DSTTOL =1.0E-02 EX(P1)=0.02545 ;EX(U1)=1.398E-04 EX(V1)=1.123E-04 ;EX(W1)=0.01006 EX(TCOR)=0.01262 ;EX(TRES)=0.2509 EX(VABS)=0.01006 ;EX(MARK)=0.03159 EX(TEM1)=16.6 ************************************************************ Group 21. Print-out of Variables INIFLD = F ;SUBWGR = F * Y in OUTPUT argument list denotes: * 1-field 2-correction-eq. monitor 3-selective dumping * 4-whole-field residual 5-spot-value table 6-residual table OUTPUT(P1,Y,Y,Y,N,Y,Y) OUTPUT(U1,Y,Y,Y,N,Y,Y) OUTPUT(V1,Y,Y,Y,N,Y,Y) OUTPUT(W1,Y,Y,Y,N,Y,Y) OUTPUT(TCOR,Y,N,Y,N,N,N) OUTPUT(TRES,Y,N,Y,N,N,N) OUTPUT(VABS,Y,N,Y,N,N,N) OUTPUT(MARK,Y,N,Y,N,N,N) OUTPUT(TEM1,Y,N,Y,Y,Y,Y) ************************************************************ Group 22. Monitor Print-Out IXMON = 11 ;IYMON = 11 ;IZMON = 11 NPRMON = 100 ;NPRMNT = 1 ;TSTSWP = -1 UWATCH = T ;USTEER = T HIGHLO = F ************************************************************ Group 23.Field Print-Out & Plot Control NPRINT = 100000 ;NUMCLS = 5 NXPRIN = -1 ;IXPRF = 1 ;IXPRL = 10000 NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000 NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000 XZPR = F ;YZPR = F IPLTF = 1 ;IPLTL = -1 ;NPLT = -1 ISWPRF = 1 ;ISWPRL = 100000 ITABL = 3 ;IPROF = 1 ABSIZ =0.5 ;ORSIZ =0.4 NTZPRF = 1 ;NCOLPF = 50 ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20 No PATCHes yet used for this Group ************************************************************ Group 24. Dumps For Restarts SAVE = T ;NOWIPE = F NSAVE =CHAM STOP