TALK=f;RUN(1,1)
************************************************************
Group 1. Run Title and Number
************************************************************
TEXT(1/2/3D thermal stress in a cub; s302
libref=702
INTEGER(CASENO) ! start of menu
mesg(Thermal stress in a cube (Boley and Weiner's test)
mesg(caseno 1 : 1D(X)
mesg(caseno 2 : 1D(Y)
mesg(caseno 3 : 1D(Z)
mesg(caseno 4 : 2D(x,y)
mesg(caseno 5 : 2D(x,z)
mesg(caseno 6 : 2D(y,z)
mesg(caseno 7 : 3D(x,y,z)
caseno=1
mesgm(caseno = :caseno: Enter another if not OK
readvdu(caseno, int, 1)
caseno
NX =1
NY = 1
NZ = 1
if(caseno.eq.1.or.caseno.eq.4) then
NX = 10
endif
if(caseno.eq.5.or.caseno.eq.7) then
NX = 10
endif
if(caseno.eq.2.or.caseno.eq.4) then
NY = 10
endif
if(caseno.eq.6.or.caseno.eq.7) then
NY = 10
endif
if(caseno.eq.3.or.caseno.eq.5) then
NZ = 10
endif
if(caseno.eq.6.or.caseno.eq.7) then
NZ = 10
endif
************************************************************
Group 2. Time dependence
STEADY = T
************************************************************
Group 3. X-Direction Grid Spacing
CARTES = t
XULAST = 1.0
************************************************************
Group 4. Y-Direction Grid Spacing
YVLAST = 1.0
************************************************************
Group 5. Z-Direction Grid Spacing
ZWLAST = 1.000000E+00
#UNIGRID
************************************************************
Group 7. Variables: STOREd,SOLVEd,NAMEd
ONEPHS = T
SOLVE(DISX,DISY,DISZ)
SOLUTN(DISZ,Y,Y,Y,N,N,Y)
SOLUTN(DISY,Y,Y,Y,N,N,Y)
SOLUTN(DISX,Y,Y,Y,N,N,Y)
if(nx.eq.1) then
solutn(disx,n,n,n,n,n,n)
endif
if(ny.eq.1) then
solutn(disy,n,n,n,n,n,n)
endif
if(nz.eq.1) then
solutn(disz,n,n,n,n,n,n)
endif
STORE(TEM1,u1/t,v1/t,w1/t)
STORE(PRPS,DEN1,ENUL,DVO1,DRH1)
STORE(EPST,STRX,EPSX,STRY,EPSY)
STORE(STRZ,EPSZ)
inform7begin
inform7end
GROUP 8. ITERATION NUMBERS ETC
RESREF(TEM1)=0.0
************************************************************
GROUP 9. PROPERTIES
CSG10='Q1'
MATFLG=T;NMAT=1
160 7800.0 0.3 473.0 43.0 1.0e-5 0.5E-11
************************************************************
GROUP 11. INITIAL VALUES
FIINIT(PRPS)=160
SPEDAT(SET,MATERIAL,160,L,T)
PATCH (BLOCK,INIVAL,0,0,0,0,0,0,1,1)
inform11begin
char(formt,formu,formv,formw)
real(aa,bb,cc,dd,al) ! Boley and Weiner's constants
al=1.0e-5 ! to conform with the matflg line
if(nx.gt.1) then
aa=-0.5*xulast
bb=1.0
endif
if(ny.gt.1) then
aa=-0.5*yvlast
cc=1.0
endif
if(nz.gt.1) then
aa=-0.5*zwlast
dd=1.0
endif
formt=:aa:+:bb:*xg+:cc:*yg+:dd:*zg
(initial of TEM1 at BLOCK is :formt:)
(initial of PRPS at BLOCK is 160)
inform11end
************************************************************
GROUP 13. BOUNDARY & SPECIAL SOURCES
PATCH (FIXMOV,CELL,1,0,0,0,0,0,1,1)
inform13begin
if(nx.gt.1) then
formu=:al:*((:aa:+:bb:*xg+:cc:*yg+:dd:*zg)*xg-$
.5*:bb:*(xg^2+yg^2+zg^2))
(stored var u1th is :formu: with swps)
(stored var u1/t is disx/u1th)
endif
if(ny.gt.1) then
formv=:al:*((:aa:+:bb:*xg+:cc:*yg+:dd:*zg)*yg-$
.5*:cc:*(xg^2+yg^2+zg^2))
(stored var v1th is :formv: with swps)
(stored var v1/t is disy/v1th)
endif
if(nz.gt.1) then
formw=:al:*((:aa:+:bb:*xg+:cc:*yg+:dd:*zg)*zg-$
.5*:dd:*(xg^2+yg^2+zg^2))
(stored var w1th is :formw: with swps)
(stored var w1/t is disz/w1th)
endif
real(FIXX0,FIXDX,FIXY0,FIXDY,FIXZ0,FIXDZ)
FIXX0 = 0.0
FIXY0 = 0.0
FIXZ0 = 0.0
FIXDX = 1.0
FIXDY = 1.0
FIXDZ = 1.0
if(nx.gt.1) then
(source of disx at FIXMOV is COVAL(1.e4,:formU:))
FIXX0 = 0.4
FIXDX = 9.999999E-02
endif
if(ny.gt.1) then
(source of disy at FIXMOV is COVAL(1.e4,:formV:))
FIXY0 = 0.4
FIXDY = 9.999999E-02
endif
if(nz.gt.1) then
(source of disz at FIXMOV is COVAL(1.e4,:formW:))
FIXZ0 = 0.4
FIXDZ = 9.999999E-02
endif
inform13end
************************************************************
GROUP 15. TERMINATE SWEEPS
LSWEEP = 200
ISG21=LSWEEP
************************************************************
GROUP 17. RELAXATION
#CONPROM
relax(tem1,linrlx,1.0)
************************************************************
GROUP 19. DATA TRANSMITTED TO GROUND
STRA = T
PARSOL = F
************************************************************
GROUP 23.FIELD PRINT-OUT & PLOT CONTROL
output(drh1,n,n,n,n,n,n)
output(dvo1,n,n,n,n,n,n)
output(den1,n,n,n,n,n,n)
output(enul,n,n,n,n,n,n)
if(nx.eq.1) then
output(u1,n,n,n,n,n,n)
output(u1th,n,n,n,n,n,n)
output(u1/t,n,n,n,n,n,n)
endif
if(nx=y.eq.1) then
output(v1,n,n,n,n,n,n)
output(v1th,n,n,n,n,n,n)
output(v1/t,n,n,n,n,n,n)
endif
if(nz.eq.1) then
output(w1,n,n,n,n,n,n)
output(w1th,n,n,n,n,n,n)
output(w1/t,n,n,n,n,n,n)
endif
NYPRIN=1
NXPRIN=1
TSTSWP=-1
ISG52 = 3 ! probe & res
#ENDPAUSE
IXMON = NX-1
IYMON = NY-1
IZMON = NZ-1
************************************************************
Group 24. Dumps For Restarts
GVIEW(P,0.000000E+00,0.000000E+00,1.000000E+00)
GVIEW(UP,0.000000E+00,1.000000E+00,0.000000E+00)
> DOM, SIZE, 1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM, MONIT, 8.500000E-01, 8.500000E-01, 0.000000E+00
> DOM, SCALE, 1.000000E+00, 1.000000E+00, 1.000000E+00
> DOM, SNAPSIZE, 1.000000E-02
> GRID, RSET_X_1, :NX:, 1.000000E+00
> GRID, RSET_Y_1, :NY:, 1.000000E+00
> GRID, RSET_Z_1, :NZ:, 1.000000E+00
> OBJ, NAME, FIXMOV
> OBJ, POSITION, :FIXX0:, :FIXY0:, :FIXZ0:
> OBJ, SIZE, :FIXDX:, :FIXDY:, :FIXDZ:
> OBJ, GEOMETRY, default
> OBJ, ROTATION24, 1
> OBJ, TYPE, USER_DEFINED
************************************************************
STOP