TALK=T;RUN(1,1) DISPLAY The tasks are, for a 3D transient heat-conduction problem: 1. to compute slab-wise averages of temperature; 2. to place them into a 3D variable for ease of display. It uses the In-Form functions: MAKE, STORE1, STORED, SUM and PRINT . In order to minimise the number of statements, a DO loop is used. Variables introduced are: * single variables: ASUM to sum the area, and TSUM to sum the temperature; * 3D variable: TAVE to store TSUM/ASUM. The Q1 contains PHOTON USE commands ENDDIS photon use p;; set prop off vi x msg local temperature distribution con TEM1 x 3 fi;.0001 pause con off;red msg slabwise-average temperature distribution con TAVE x 3 fi;.0001 enduse ************************************************************ Group 1. Run Title and Number ************************************************************ ************************************************************ TEXT(Slabwise-averaging and display ) ************************************************************ ************************************************************ IRUNN = 1 ;LIBREF = 362 ************************************************************ Group 2. Time dependence STEADY = F * Set overall time and no. of steps TFIRST =0. ;TLAST =4000. FSTEP = 1 ;LSTEP = 10 TFRAC(1)=0.1 ;TFRAC(2)=0.2 TFRAC(3)=0.3 ;TFRAC(4)=0.4 TFRAC(5)=0.5 ;TFRAC(6)=0.6 TFRAC(7)=0.7 ;TFRAC(8)=0.8 TFRAC(9)=0.9 ;TFRAC(10)=1. ************************************************************ Group 3. X-Direction Grid Spacing CARTES = T NX = 10 XULAST =1. XFRAC(1)=0.1 ;XFRAC(2)=0.2 XFRAC(3)=0.3 ;XFRAC(4)=0.4 XFRAC(5)=0.5 ;XFRAC(6)=0.6 XFRAC(7)=0.7 ;XFRAC(8)=0.8 XFRAC(9)=0.9 ;XFRAC(10)=1. ************************************************************ Group 4. Y-Direction Grid Spacing NY = 10 YVLAST =1. YFRAC(1)=0.1 ;YFRAC(2)=0.2 YFRAC(3)=0.3 ;YFRAC(4)=0.4 YFRAC(5)=0.5 ;YFRAC(6)=0.6 YFRAC(7)=0.7 ;YFRAC(8)=0.8 YFRAC(9)=0.9 ;YFRAC(10)=1. ************************************************************ Group 5. Z-Direction Grid Spacing PARAB = F NZ = 10 ZWLAST =1. ZFRAC(1)=0.1 ;ZFRAC(2)=0.2 ZFRAC(3)=0.3 ;ZFRAC(4)=0.4 ZFRAC(5)=0.5 ;ZFRAC(6)=0.6 ZFRAC(7)=0.7 ;ZFRAC(8)=0.8 ZFRAC(9)=0.9 ;ZFRAC(10)=1. ************************************************************ Group 6. Body-Fitted Coordinates ************************************************************ Group 7. Variables: STOREd,SOLVEd,NAMEd ONEPHS = T NAME(147)=TAVE ;NAME(148)=PRPS NAME(149)=SPH1 ;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(TAVE,Y,N,N,N,N,N) SOLUTN(PRPS,Y,N,N,N,N,Y) SOLUTN(SPH1,Y,N,N,N,N,N) SOLUTN(TEM1,Y,Y,N,N,N,Y) PRPS = 148 ************************************************************ 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(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 =1. ;TMP1 =0. ;EL1 =0. TSURR =0. ;TEMP0 =0. ;PRESS0 =0. DVO1DT =0. ;DRH1DP =0. EMISS =0. ;SCATT =0. RADIA =0. ;RADIB =0. ENUL =1.0E-05 ;ENUT =0. PRNDTL(TEM1)=1. PRT(TEM1)=1. CP1 =1. ;CP2 =1. ************************************************************ Group 10.Inter-Phase Transfer Processes ************************************************************ Group 11.Initial field variables (PHIs) FIINIT(TAVE)=1.0E-10 ;FIINIT(PRPS)=111. FIINIT(SPH1)=1.0E-10 ;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(HEATER ,HIGH , 1, 5, 1, 5, 10, 10, 1, 10) COVAL(HEATER ,TEM1, FIXFLU ,1000. ) PATCH(PATCH1 ,CELL , 1, 10, 1, 10, 1, 1, 1, 10) PATCH(PATCH2 ,CELL , 1, 10, 1, 10, 2, 2, 1, 10) PATCH(PATCH3 ,CELL , 1, 10, 1, 10, 3, 3, 1, 10) PATCH(PATCH4 ,CELL , 1, 10, 1, 10, 4, 4, 1, 10) PATCH(PATCH5 ,CELL , 1, 10, 1, 10, 5, 5, 1, 10) PATCH(PATCH6 ,CELL , 1, 10, 1, 10, 6, 6, 1, 10) PATCH(PATCH7 ,CELL , 1, 10, 1, 10, 7, 7, 1, 10) PATCH(PATCH8 ,CELL , 1, 10, 1, 10, 8, 8, 1, 10) PATCH(PATCH9 ,CELL , 1, 10, 1, 10, 9, 9, 1, 10) PATCH(PATCH10 ,CELL , 1, 10, 1, 10, 10, 10, 1, 10) XCYCLE = F EGWF = T WALLCO = GRND2 ************************************************************ Group 14. Downstream Pressure For PARAB ************************************************************ Group 15. Terminate Sweeps LSWEEP = 50 ;ISWC1 = 1 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1 SELREF = T RESFAC =1.0E-05 ************************************************************ Group 16. Terminate Iterations LITER(TEM1)=20 ENDIT(TEM1)=1.0E-03 ************************************************************ Group 17. Relaxation RELAX(TAVE,LINRLX,1.) RELAX(PRPS,LINRLX,1.) RELAX(SPH1,LINRLX,1.) RELAX(TEM1,FALSDT,1.0E+09) OVRRLX =0. EXPERT = F ;NNORSL = F ************************************************************ Group 18. Limits VARMAX(TAVE)=1.0E+10 ;VARMIN(TAVE)=-1.0E+10 VARMAX(PRPS)=1.0E+10 ;VARMIN(PRPS)=-1.0E+10 VARMAX(SPH1)=1.0E+10 ;VARMIN(SPH1)=-1.0E+10 VARMAX(TEM1)=1.0E+10 ;VARMIN(TEM1)=-1.0E+10 ************************************************************ Group 19. Data transmitted to GROUND PARSOL = F ISG62 = 1 SPEDAT(SET,GXMONI,TRANSIENT,L,F) SPEDAT(SET,MAKE,TSUM,C,=0.) SPEDAT(SET,MAKE,ASUM,C,=0.) SPEDAT(SET,STORED,ASUM!PATCH1,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH1,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH1,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH2,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH2,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH2,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH3,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH3,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH3,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH4,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH4,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH4,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH5,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH5,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH5,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH6,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH6,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH6,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH7,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH7,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH7,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH8,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH8,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH8,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH9,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH9,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH9,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,STORED,ASUM!PATCH10,C,=SUM(AHIGH)!ZSLFIN) SPEDAT(SET,STORED,TSUM!PATCH10,C,=SUM(AHIGH*TEM1)!ZSLFIN) SPEDAT(SET,STORED,TAVE!PATCH10,C,=TSUM/ASUM!ZSLFIN) SPEDAT(SET,PRINT,WHOLE_HIGH_AREA,C,=ASUM) SPEDAT(SET,PRINT,IZ=NZ__SUM_TEM1,C,=TSUM) SPEDAT(SET,PRINT,T_AVERAGE!PROF,C,=TSUM/ASUM) SPEDAT(SET,GXMONI,PLOTALL,L,T) SPEDAT(SET,MATERIAL,111,L,T) ************************************************************ Group 20. Preliminary Printout DISTIL = T ;NULLPR = F NDST = 0 DSTTOL =1.0E-02 EX(TAVE)=0.271 ;EX(PRPS)=111. EX(SPH1)=473. ;EX(TEM1)=0.271 ************************************************************ 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(TAVE,Y,N,Y,N,N,N) OUTPUT(PRPS,Y,N,Y,N,N,N) OUTPUT(SPH1,N,N,Y,Y,N,N) OUTPUT(TEM1,Y,N,Y,Y,Y,Y) ************************************************************ Group 22. Monitor Print-Out IXMON = 1 ;IYMON = 1 ;IZMON = 1 NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = 1 UWATCH = T ;USTEER = T HIGHLO = F ************************************************************ Group 23.Field Print-Out & Plot Control NPRINT = 100000 ;NUMCLS = 5 NTPRIN = 1 ;ISTPRF = 1 ;ISTPRL = 100000 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 PATCH(PROF ,PROFIL, 1, 1, 1, 1, 1, 1, 1, 10) ************************************************************ Group 24. Dumps For Restarts SAVE = T ;NOWIPE = F NSAVE =CHAM STOP