TALK=f;RUN(1,1) DISPLAY A cubical solid with a numerical grid of nx=1, ny=1, nz=1, is heated to 100 degrees above its initial temperature, under four different conditions of constraint, viz: 1. it can expand freely in all directions 2. its high-z and low-z ends are fixed, but it can expand freely in the x- and y-directions 3. its high-z and low-z ends are fixed, but it can expand freely in the x-direction only. 4. it is prevented from expanding in the x-, y- and z directions. The textbook values for the stresses and strains are computed and printed, for comparison with thuse resulting from the solution for w1. ENDDIS ************************************************************ Group 1. Run Title and Number ************************************************************ TEXT(THERMal stress in a cube integer(caseno) caseno = 1 ! all directions free caseno = 2 ! z ends held, x & y free caseno = 3 ! z ends held, x free but not y caseno = 4 ! all movement prevented real(apptem) boolean(direct) apptem=100 direct=t ************************************************************ Group 2. Time dependence STEADY = T ************************************************************ Group 3. X-Direction Grid Spacing CARTES = t CARTES = f NX = 1 ************************************************************ Group 4. Y-Direction Grid Spacing NY = 1 ************************************************************ Group 5. Z-Direction Grid Spacing NZ = 10 ZWLAST = 1.0*(NZ+2) ************************************************************ #UNIGRID Group 7. Variables: STOREd,SOLVEd,NAMEd ONEPHS = T SOLVE(P1,w1,TEM1) STORE(PRPS,DEN1,ENUL,DVO1,DRH1) STORE(PTH) STORE(STRX,SXTH) STORE(STRY,SYTH) STORE(STRZ,SZTH) STORE(EPSX,EXTH) STORE(EPSY,EYTH) STORE(EPSZ,EZTH) STORE(EPST,ETTH) GROUP8. ITERATION NUMBERS ETC RESREF(W1)=0.0 ************************************************************ GROUP 9. PROPERTIES CSG10='Q1' MATFLG=T;NMAT=1 160 7800.0 0.3 473.0 43.0 1.e-5 0.5E-11 ************************************************************ GROUP 11. INITIAL VALUES FIINIT(PRPS)=0 fiinit(p1)=0.0 fiinit(u1)=0.0 fiinit(v1)=0.0 fiinit(w1)=0.0 fiinit(exth)=-1.234e-11 ! to print as none fiinit(eyth)=-1.234e-11 ! to print as none fiinit(ezth)=-1.234e-11 ! to print as none fiinit(sxth)=-1.234e-11 ! to print as none fiinit(syth)=-1.234e-11 ! to print as none fiinit(szth)=-1.234e-11 ! to print as none fiinit(epst)=-1.234e-11 ! to print as none fiinit(etth)=-1.234e-11 ! to print as none PATCH(block,INIVAL,1,1,1,1,2,nz-1,1,1) INIT (block,PRPS,FIXVAL,160) ************************************************************ GROUP 13. BOUNDARY & SPECIAL SOURCES PATCH(low,high,1,1,1,1,1,1,1,1) COVAL(low,w1,fixval, 0.0) if(caseno.gt.1) then patch(high,high,1,1,1,1,nz-1,nz-1,1,1) coval(high,w1,fixval, 0.0) endif patch(tblock,volume,1,1,1,1,2,nz-1,1,1) coval(tblock,tem1,fixval,apptem) ************************************************************ GROUP 15. TERMINATE SWEEPS LSWEEP = 200 ISG21=LSWEEP ************************************************************ GROUP 17. RELAXATION #CONPROM ************************************************************ GROUP 19. DATA TRANSMITTED TO GROUND STRA = T ************************************************************ GROUP 23.FIELD PRINT-OUT & PLOT CONTROL NYPRIN=1 TSTSWP=-1 #MAXABS #ENDPAUSE REAL(YOUNG, POISSON,PTH,ETTH,EXTH,EYTH,EZTH,SXTH,SYTH,SZTH,ALPHA) POISSON = 0.3 ! must conform with matflg value ALPHA = 1.e-5 ! must conform with matflg value YOUNG = 1/(0.5E-11) ! must conform with matflg value if(caseno.eq.1) then etth=apptem*alpha exth=etth eyth=etth ezth=etth sxth=0.0 syth=0.0 szth=0.0 endif if(caseno.eq.2) then etth=apptem*alpha ezth=0 exth=etth*(1+poisson) eyth=exth szth=-etth*young sxth=0.0 syth=0.0 endif if(caseno.eq.3) then etth=apptem*alpha ezth=0 eyth=0 exth=etth*(1+poisson)/(1-poisson) szth=-etth*young/(1-poisson) syth=szth sxth=0.0 endif if(caseno.eq.4) then etth=apptem*alpha exth=0 eyth=0 ezth=0 sxth=-etth*young/(1-2*poisson) syth=sxth szth=sxth endif pth=exth+eyth+ezth (STORED VAR SxTH IS :SXTH: WITH IMAT>100) (STORED VAR SYTH IS :SYTH: WITH IMAT>100) (STORED VAR SZTH IS :SZTH: WITH IMAT>100) (STORED VAR EXTH IS :EXTH: WITH IMAT>100) (STORED VAR EYTH IS :EYTH: WITH IMAT>100) (STORED VAR EZTH IS :EZTH: WITH IMAT>100) (STORED VAR ETTH IS :ETTH: WITH IMAT>100) (STORED VAR PTH IS :PTH:) SPEDAT(RLXFAC,RLXU1D,R,1.0) IF(CASENO.EQ.3) THEN SPEDAT(BOUNDARY,YCONST,R,1.E20) ENDIF IF(CASENO.EQ.4) THEN SPEDAT(BOUNDARY,XCONST,R,1.E20) SPEDAT(BOUNDARY,YCONST,R,1.E20) ENDIF STOP