TALK=T;RUN(1,1)
DISPLAY This file illustrates how to create simple shapes by using the SPHERE In-Form object. The shape and grid can be selected by setting CASENO from 1 to 11 according to the following table grid <----------- shape ----------------> ---- sphere cone spiral curved duct !poros ? cartesian 1 4 7 10 yes cylindrical-polar 2 5 8 no body-fitted 3 6 9 11 no ----------------------------------------------------- The temperature equation is solved with, only conduction active The Q1 contains PHOTON USE commands ENDDIS PHOTON USE p;;; up z vi 3 2 1 gr ou x m col 6; gr ou y m col 6; gr ou z m col 6 gr ou x 1 col 6; gr ou y 1 col 6; gr ou z 1 col 6 set prop off surf mark x .99 col 2 surf mark y .99 col 4 surf mark z .99 col 6 dump 249 *end ENDUSE ************************************************************ Group 1. Run Title LIBREF=749 TITLE boolean(alterbfc,altercrt) alterbfc=f ! set one of these =t so as the make altercrt=f ! the grid non-uniform INTEGER(CASENO) mesg(CASENO=1 .. Simple SPHERE for cartesian grid mesg(CASENO=2 .. Simple SPHERE for BFC mesg(CASENO=3 .. Simple SPHERE for polar grid mesg(CASENO=4 .. Simple cone for cartesian grid mesg(CASENO=5 .. Simple cone for BFC mesg(CASENO=6 .. Simple cone for polar grid mesg(CASENO=7 .. Simple spiral for cartesian grid mesg(CASENO=8 .. Simple spiral for BFC mesg(CASENO=9 .. Simple spiral for polar grid mesg(CASENO=10 .. Simple curve duct for cartesian grid mesg(CASENO=11 .. Simple curve duct for BFC mesga(Please select case number readvdu(caseno,int,1) REAL(PI,PI2); PI=3.14159; PI2=2.*PI ! Pythagoras's constant ************************************************************ 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 IF(CASENO.EQ.3.OR.CASENO.EQ.6.OR.CASENO.EQ.9) THEN CARTES=F XULAST=PI2 altercrt=f alterbfc=f ENDIF TEXT(Shapes made bu sphere; caseno=:caseno: grdpwr(x,nx ,xulast,1.0) grdpwr(y,ny ,yvlast,1.0) grdpwr(z,nz ,zwlast,1.0) if(altercrt) then grdpwr(x,nx ,xulast,0.5) grdpwr(y,ny ,yvlast,-0.5) grdpwr(z,-nz ,zwlast,0.5) endif IF(CASENO.EQ.2.OR.CASENO.EQ.5.OR.CASENO.EQ.8.OR.CASENO.EQ.11) THEN BFC=T ! if(alterbfc) then nx=20;ny=20;nz=20 grdpwr(x,nx ,xulast,1.0) grdpwr(y,ny ,yvlast,1.0) grdpwr(z,nz ,zwlast,1.0) real(xchanged,dummy1,dummy2) BFC=T dummy2=nx dummy2=1./dummy2 dummy2 do ixx=2,nx+1 + dummy1=ixx-1 + dummy1=(dummy1*dummy2)**.5 ! distort x-direction grid + do iyy=1,ny+1 + do izz=1,nz+1 + xc(:ixx:,:iyy:,:izz:)=dummy1 + enddo + enddo enddo endif ENDIF if(cartes) then mesg(uniform cartesian grid else mesg(uniform polar grid endif Group 7. Variables: STOREd,SOLVEd,NAMEd * Solved variables list SOLVE(TEM1) Liter(tem1)=1000 * Stored variables list STORE(PRPS,MARK) IF(CASENO.EQ.1.OR.CASENO.EQ.4.OR.CASENO.EQ.7.OR.CASENO.EQ.10) THEN STORE(VPOR); FIINIT(VPOR)=1. ENDIF ************************************************************ Group 11.Initialise Var/Porosity Fields patch(.patch1,inival,0,1000,0,1000,0,1000,0,1000) FIINIT(PRPS) = 0.000000E+00 ! inform11begin (stored of mark at .patch1 is 1.0 with infob_1) (initial of prps is 100 with infob_1) char(x0,y0,z0,rad) IF(CASENO.EQ.1) THEN ! Cartesian; fixed sphere x0=xulast/2 y0=yvlast/2 z0=zwlast/2 rad=xulast/4 (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1!poros) endif IF(CASENO.EQ.2) THEN ! bfc; fixed sphere xulast x0=xulast/2 y0=yvlast/2 z0=zwlast/2 rad=xulast/4 (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.3) THEN ! polar; fixed sphere x0=yvlast y0=yvlast z0=zwlast/2 rad=yvlast/2 (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.4) THEN ! cartesian; cone x0=xulast/2 y0=yvlast/2 z0=zg rad=0.25*(:zwlast:-zg) ! radius diminishes linearly with z (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1!poros) ENDIF IF(CASENO.EQ.5) THEN ! bfc; cone x0=xulast/2 y0=yvlast/2 z0=zg rad=0.25*(:zwlast:-zg) ! radius diminishes linearly with z (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.6) THEN ! polar; cone x0=yvlast y0=yvlast z0=zg rad=0.5*(:zwlast:-zg) ! radius diminishes linearly with z (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.7) THEN ! Cartesian; spiral x0=:xulast/2:*(1+0.8*cos(:PI2:*zg)) ! centre cordinates vary y0=:yvlast/2:*(1+0.8*sin(:PI2:*zg)) ! with z z0=zg ! rad=zwlast/10 ! radius is constant (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1!poros) ENDIF IF(CASENO.EQ.8) THEN ! bfc; spiral x0=:xulast/2:*(1+0.8*cos(:PI2:*zg)) ! centre cordinates vary y0=:yvlast/2:*(1+0.8*sin(:PI2:*zg)) ! with z z0=zg ! rad=zwlast/10 ! radius is constant (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.9) THEN ! polar; spiral rad=yvlast/4 ! radius is constant x0=:yvlast:*(1+2*:rad:*cos(:PI2:*zg)) ! centre cordinates vary y0=:yvlast:*(1+2*:rad:*sin(:PI2:*zg)) ! with z z0=zg ! (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF IF(CASENO.EQ.10) THEN ! Cartesian; curved duct x0=xg ! centre cordinates vary y0=:yvlast/2: ! with z z0=:zwlast/2:+0.25*sin(:pi2:*xg/xulast) ! rad=yvlast/4 ! radius is constant (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1!poros) ENDIF IF(CASENO.EQ.11) THEN ! BFC; curved duct x0=xg ! centre cordinates vary y0=:yvlast/2: ! with z z0=:zwlast/2:+0.25*sin(:pi2:*xg/xulast) ! rad=yvlast/4 ! radius is constant (infob at .patch1 is sphere(x0,y0,z0,rad) with infob_1) ENDIF inform11end ************************************************************ Group 13. Boundary & Special Sources patch(low,lwall,1,nx,1,ny,1,1,1,1) coval(low,tem1,1,-1) patch(high,hwall,1,nx,1,ny,nz,nz,1,1) coval(high,tem1,1,1) ************************************************************ Group 15. Terminate Sweeps LSWEEP = 3 yzpr=t nxprin=1;ixprf=nx/2;ixprl=nx/2+1 spedat(set,material,100,l,t) tstswp=-1 isg50=1 ! endpause isg52=2 ! maxabs store(xcen,ycen,zcen) stop ************************************************************