52
53
54
56 use glob_therm_mod
57
58
59
60#include "implicit_f.inc"
61
62
63
64#include "mvsiz_p.inc"
65
66
67
68#include "param_c.inc"
69#include "com04_c.inc"
70#include "com08_c.inc"
71#include "scr06_c.inc"
72
73
74
75 INTEGER, INTENT(IN) :: ISMSTR
76 INTEGER, INTENT(IN) :: ITY
77 INTEGER, INTENT(IN) :: JSMS
78 INTEGER, INTENT(IN) :: JTUR
79 INTEGER, INTENT(IN) :: JTHE,NPG
80 INTEGER LFT,LLT,NFT,MTN, NUVAR,MAT(MVSIZ),NGL(MVSIZ),PID(MVSIZ),IPM(NPROPMI,NUMMAT),G_DT,NEL
81 INTEGER NELTST, ITYPTST,JLAG
83 my_real pm(npropm,nummat),off(*), sig(nel,6), eint(*),
84 . rho(*),qold(*), vol(*), uvar(*), bufmat(*),
85 . offg(*),stifn(*),geo(*) ,ssp(*) ,
86 . aire(*) ,voln(*) ,vd2(*) ,deltax(*) ,vis(*) , d1(*) ,
87 . d2(*) ,d3(*) ,pnew(*) ,psh(*) ,q(*) ,ssp_eq(*) ,
88 . wxx(mvsiz), wyy(mvsiz), wzz(mvsiz),rho0(mvsiz),
89 . mssa(*), dmels(*),sold1(*) ,sold2(*) ,sold3(*) ,
90 . sold4(*) ,sold5(*) ,sold6(*), dvol(mvsiz),conde(*),
91 . vol_avg(*),
dtel(*),d4(mvsiz),d5(mvsiz),d6(mvsiz),
92 . rhoref(*) ,rhosp(*)
93 my_real,
DIMENSION(MVSIZ,6),
INTENT(INOUT) :: svis
94 type (glob_therm_) ,intent(inout) :: glob_therm
95
96
97
99 . e1,e2,e3,e4,e5,e6,p2,bid1,bid2,bid3,c1(mvsiz),
100 . ep1(mvsiz),ep2(mvsiz),ep3(mvsiz),ep4(mvsiz),ep5(mvsiz),ep6(mvsiz),
101 . s1(mvsiz) ,s2(mvsiz) ,s3(mvsiz) ,s4(mvsiz) ,s5(mvsiz) ,s6(mvsiz),
102 . de1(mvsiz),de2(mvsiz),de3(mvsiz),de4(mvsiz),de5(mvsiz),de6(mvsiz),
103 . sv1(mvsiz),sv2(mvsiz),sv3(mvsiz),sv4(mvsiz),sv5(mvsiz),sv6(mvsiz),
104 . so1(mvsiz),so2(mvsiz),so3(mvsiz),so4(mvsiz),so5(mvsiz),so6(mvsiz)
105 INTEGER NPAR,IADBUF,I,IBID,MX
107
108
109
110 mx = mat(1)
111 npar = ipm(9,mx)
112 iadbuf = ipm(7,mx)
113 facq0 = one
114
115
116 DO i=lft,llt
117 vis(i) = zero
118 ep1(i) = d1(i)*off(i)
119 ep2(i) = d2(i)*off(i)
120 ep3(i) = d3(i)*off(i)
121 ep4(i) = d4(i)*off(i)
122 ep5(i) = d5(i)*off(i)
123 ep6(i) = d6(i)*off(i)
124 de1(i) = ep1(i)*dt1
125 de2(i) = ep2(i)*dt1
126 de3(i) = ep3(i)*dt1
127 de4(i) = ep4(i)*dt1
128 de5(i) = ep5(i)*dt1
129 de6(i) = ep6(i)*dt1
130 ENDDO
131 DO i=lft,llt
132 so1(i) = sig(i,1)
133 so2(i) = sig(i,2)
134 so3(i) = sig(i,3)
135 so4(i) = sig(i,4)
136 so5(i) = sig(i,5)
137 so6(i) = sig(i,6)
138 ENDDO
139
141 . tt,dt1,bufmat,
142 . rho0,rho ,voln,eint,
143 . ep1 ,ep2 ,ep3 ,ep4 ,ep5 ,ep6 ,
144 . de1 ,de2 ,de3 ,de4 ,de5 ,de6 ,
145 . so1 ,so2 ,so3 ,so4 ,so5 ,so6 ,
146 . s1 ,s2 ,s3 ,s4 ,s5 ,s6 ,
147 . sv1 ,sv2 ,sv3 ,sv4 ,sv5 ,sv6 ,
148 . ssp ,vis ,uvar,off ,ngl ,0 ,
149 . ipm ,mat ,wxx,wyy,wzz,mtn,deltax,
150 . aire)
151 DO i=lft,llt
152 sig(i,1) = s1(i)*off(i)
153 sig(i,2) = s2(i)*off(i)
154 sig(i,3) = s3(i)*off(i)
155 sig(i,4) = s4(i)*off(i)
156 sig(i,5) = s5(i)*off(i)
157 sig(i,6) = s6(i)*off(i)
158 svis(i,1)= sv1(i)*off(i)
159 svis(i,2)= sv2(i)*off(i)
160 svis(i,3)= sv3(i)*off(i)
161 svis(i,4)= sv4(i)*off(i)
162 svis(i,5)= sv5(i)*off(i)
163 svis(i,6)= sv6(i)*off(i)
164 ENDDO
165
166
167
168
170 1 pm, off, rho, bid1,
171 2 bid2, ssp, bid3, stifn,
172 3 dt2t, neltst, ityptst, aire,
173 4 offg, geo, pid, voln,
174 5 vd2, deltax, vis, d1,
175 6 d2, d3, pnew, psh,
176 7 mat, ngl, q, ssp_eq,
177 8 vol, mssa, dmels, ibid,
178 9 facq0, conde,
dtel, g_dt,
179 a ipm, rhoref, rhosp, nel,
180 b ity, ismstr, jtur, jthe,
181 c jsms, npg , glob_therm)
182
183 DO i=lft,llt
184 p2 = -(sold1(i)+sig(i,1)+sold2(i)+sig(i,2)+sold3(i)+sig(i,3))/three
185 eint(i)=eint(i)-(q(i)+qold(i)+p2)*dvol(i)*half
186 qold(i)=q(i)
187 ENDDO
188 IF(
ale%GLOBAL%INCOMP==0 .OR. jlag==1)
THEN
189 DO i=lft,llt
190 e1=d1(i)*svis(i,1)
191 e2=d2(i)*svis(i,2)
192 e3=d3(i)*svis(i,3)
193 e4=d4(i)*svis(i,4)
194 e5=d5(i)*svis(i,5)
195 e6=d6(i)*svis(i,6)
196 eint(i)=eint(i)+(e1+e2+e3+e4+e5+e6)*vol_avg(i)*dt1
197 ENDDO
198 ENDIF
199 DO i=lft,llt
200 eint(i)=eint(i)/vol(i)
201 ENDDO
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233 RETURN
subroutine dtel(ssp, pm, geo, pid, mat, rho0, vis, deltax, aire, vol, dtx)
subroutine mqviscb(pm, off, rho, rk, temp, ssp, re, sti, dt2t, neltst, ityptst, aire, offg, geo, pid, vol, vd2, deltax, vis, d1, d2, d3, pnew, psh, mat, ngl, qvis, ssp_eq, vol0, mssa, dmels, igeo, facq0, conde, dtel, g_dt, ipm, rhoref, rhosp, nel, ity, ismstr, jtur, jthe, jsms, npg, glob_therm)
subroutine sigeps46(nel, nuparam, nuvar, time, timestep, uparam, rho0, rho, volume, eint, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off, ngl, ipt, ipm, mat, wxx, wyy, wzz, mtn, deltax, aire)