OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps40.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23c jbm036
24!||====================================================================
25!|| sigeps40 ../engine/source/materials/mat/mat040/sigeps40.F
26!||--- called by ------------------------------------------------------
27!|| mulaw ../engine/source/materials/mat_share/mulaw.F90
28!|| mulaw8 ../engine/source/materials/mat_share/mulaw8.F90
29!||--- calls -----------------------------------------------------
30!|| finter ../engine/source/tools/curve/finter.F
31!||====================================================================
32 SUBROUTINE sigeps40 (
33 1 NEL ,NUPARAM,NUVAR ,NFUNC ,IFUNC ,NPF ,
34 2 TF ,TIME ,TIMESTEP,UPARAM ,RHO0 ,RHO ,
35 3 VOLUME ,EINT ,
36 4 EPSPXX ,EPSPYY ,EPSPZZ ,EPSPXY ,EPSPYZ ,EPSPZX ,
37 5 DEPSXX ,DEPSYY ,DEPSZZ ,DEPSXY ,DEPSYZ ,DEPSZX ,
38 6 EPSXX ,EPSYY ,EPSZZ ,EPSXY ,EPSYZ ,EPSZX ,
39 7 SIGOXX ,SIGOYY ,SIGOZZ ,SIGOXY ,SIGOYZ ,SIGOZX ,
40 8 SIGNXX ,SIGNYY ,SIGNZZ ,SIGNXY ,SIGNYZ ,SIGNZX ,
41 9 SIGVXX ,SIGVYY ,SIGVZZ ,SIGVXY ,SIGVYZ ,SIGVZX ,
42 A SOUNDSP,VISCMAX,UVAR ,OFF )
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C G l o b a l P a r a m e t e r s
49C-----------------------------------------------
50C---------+---------+---+---+--------------------------------------------
51C VAR | SIZE |TYP| RW| DEFINITION
52C---------+---------+---+---+--------------------------------------------
53C NEL | 1 | I | R | SIZE OF THE ELEMENT GROUP NEL
54C NUPARAM | 1 | I | R | SIZE OF THE USER PARAMETER ARRAY
55C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
56C---------+---------+---+---+--------------------------------------------
57C NFUNC | 1 | I | R | NUMBER FUNCTION USED FOR THIS USER LAW
58C IFUNC | NFUNC | I | R | FUNCTION INDEX
59C NPF | * | I | R | FUNCTION ARRAY
60C TF | * | F | R | FUNCTION ARRAY
61C---------+---------+---+---+--------------------------------------------
62C TIME | 1 | F | R | CURRENT TIME
63C TIMESTEP| 1 | F | R | CURRENT TIME STEP
64C UPARAM | NUPARAM | F | R | USER MATERIAL PARAMETER ARRAY
65C RHO0 | NEL | F | R | INITIAL DENSITY
66C RHO | NEL | F | R | DENSITY
67C VOLUME | NEL | F | R | VOLUME
68C EINT | NEL | F | R | TOTAL INTERNAL ENERGY
69C EPSPXX | NEL | F | R | STRAIN RATE XX
70C EPSPYY | NEL | F | R | STRAIN RATE YY
71C ... | | | |
72C DEPSXX | NEL | F | R | STRAIN INCREMENT XX
73C DEPSYY | NEL | F | R | STRAIN INCREMENT YY
74C ... | | | |
75C EPSXX | NEL | F | R | STRAIN XX
76C EPSYY | NEL | F | R | STRAIN YY
77C ... | | | |
78C SIGOXX | NEL | F | R | OLD ELASTO PLASTIC STRESS XX
79C SIGOYY | NEL | F | R | OLD ELASTO PLASTIC STRESS YY
80C ... | | | |
81C---------+---------+---+---+--------------------------------------------
82C SIGNXX | NEL | F | W | NEW ELASTO PLASTIC STRESS XX
83C SIGNYY | NEL | F | W | NEW ELASTO PLASTIC STRESS YY
84C ... | | | |
85C SIGVXX | NEL | F | W | VISCOUS STRESS XX
86C SIGVYY | NEL | F | W | VISCOUS STRESS YY
87C ... | | | |
88C SOUNDSP | NEL | F | W | SOUND SPEED (NEEDED FOR TIME STEP)
89C VISCMAX | NEL | F | W | MAXIMUM DAMPING MODULUS(NEEDED FOR TIME STEP)
90C---------+---------+---+---+--------------------------------------------
91C UVAR |NEL*NUVAR| F |R/W| USER ELEMENT VARIABLE ARRAY
92C OFF | NEL | F |R/W| DELETED ELEMENT FLAG (=1. ON, =0. OFF)
93C---------+---------+---+---+--------------------------------------------
94C-----------------------------------------------
95C I N P U T A r g u m e n t s
96C-----------------------------------------------
97C
98 INTEGER NEL, NUPARAM, NUVAR
99 my_real
100 . TIME,TIMESTEP,UPARAM(NUPARAM),
101 . RHO(NEL),RHO0(NEL),VOLUME(NEL),EINT(NEL),
102 . EPSPXX(NEL),EPSPYY(NEL),EPSPZZ(NEL),
103 . EPSPXY(NEL),EPSPYZ(NEL),EPSPZX(NEL),
104 . DEPSXX(NEL),DEPSYY(NEL),DEPSZZ(NEL),
105 . DEPSXY(NEL),DEPSYZ(NEL),DEPSZX(NEL),
106 . EPSXX(NEL) ,EPSYY(NEL) ,EPSZZ(NEL) ,
107 . EPSXY(NEL) ,EPSYZ(NEL) ,EPSZX(NEL) ,
108 . sigoxx(nel),sigoyy(nel),sigozz(nel),
109 . sigoxy(nel),sigoyz(nel),sigozx(nel)
110C-----------------------------------------------
111C O U T P U T A r g u m e n t s
112C-----------------------------------------------
113 my_real
114 . signxx(nel),signyy(nel),signzz(nel),
115 . signxy(nel),signyz(nel),signzx(nel),
116 . sigvxx(nel),sigvyy(nel),sigvzz(nel),
117 . sigvxy(nel),sigvyz(nel),sigvzx(nel),
118 . soundsp(nel),viscmax(nel)
119C-----------------------------------------------
120C I N P U T O U T P U T A r g u m e n t s
121C-----------------------------------------------
122 my_real
123 . uvar(nel,nuvar), off(nel)
124C-----------------------------------------------
125C VARIABLES FOR FUNCTION INTERPOLATION
126C-----------------------------------------------
127 INTEGER NPF(*), NFUNC, IFUNC(NFUNC)
128 my_real
129 . FINTER ,TF(*)
130 EXTERNAL FINTER
131C Y = FINTER(IFUNC(J),X,NPF,TF,DYDX)
132C Y : y = f(x)
133C X : x
134C DYDX : f'(x) = dy/dx
135C IFUNC(J): FUNCTION INDEX
136C J : FIRST(J=1), SECOND(J=2) .. FUNCTION USED FOR THIS LAW
137C NPF,TF : FUNCTION PARAMETER
138C-----------------------------------------------
139C L o c a l V a r i a b l e s
140C-----------------------------------------------
141 INTEGER I,J,K,M
142 my_real
143 . AK,G0,G(5),BETA(5),
144 . EV,EDXX,EDYY,EDZZ,EDXY,EDYZ,EDZX,
145 . SXX,SYY,SZZ,SXY,SYZ,SZX,
146 . DT,SIGV,SDV(30),
147 . EPXX,EPYY,EPZZ,EPXY,EPYZ,EPZX,GT,
148c jbm037
149 . ASTAS,BSTAS,VMISK,
150 . SSIG1,SSIG2
151 my_real
152 . eprnxx,eprnyy,eprnzz,eprnxy,eprnyz,eprnzx,
153 . evr,edrnxx,edrnyy,edrnzz,edrnxy,edrnyz,edrnzx,
154 . edrvxx,edrvyy,edrvzz,edrvxy,edrvyz,edrvzx
155 my_real
156 . axx,ayy,azz,axy,ayz,azx,
157 . bxx,byy,bzz,bxy,byz,bzx,
158 . aaxx,aayy,aazz,aaxy,aayz,aazx,
159 . bbxx,bbyy,bbzz,bbxy,bbyz,bbzx,
160 . ccxx,ccyy,cczz,ccxy,ccyz,cczx,
161 . evsdxx,evsdyy,evsdzz,evsdxy,evsdyz,evsdzx
162C=======================================================================
163C
164C VISCO-ELASTIC LAW
165C
166C=======================================================================
167 ak = uparam(1)
168 g0 = two*uparam(2)
169 g(1) = two*uparam(3)
170 g(2) = two*uparam(4)
171 g(3) = two*uparam(5)
172 g(4) = two*uparam(6)
173 g(5) = two*uparam(7)
174
175 beta(1) = uparam(8)
176 beta(2) = uparam(9)
177 beta(3) = uparam(10)
178 beta(4) = uparam(11)
179 beta(5) = uparam(12)
180 astas = uparam(13)
181 bstas = uparam(14)
182 vmisk = uparam(15)
183C-----------------------------------------------
184C USER VARIABLES INITIALIZATION
185C-----------------------------------------------
186 IF(time<=em20)THEN
187 DO 100 j=1,nuvar
188 DO 100 i=1,nel
189 uvar(i,j)=zero
190 100 CONTINUE
191 ENDIF
192C-----------------------------------------------
193 gt = g0 + g(1) + g(2) + g(3) + g(4) + g(5)
194C
195 dt = timestep
196C
197 DO i=1,nel
198C
199 sdv(1) = uvar(i,11)
200 sdv(2) = uvar(i,12)
201 sdv(3) = uvar(i,13)
202 sdv(4) = uvar(i,14)
203 sdv(5) = uvar(i,15)
204 sdv(6) = uvar(i,16)
205 sdv(7) = uvar(i,17)
206 sdv(8) = uvar(i,18)
207 sdv(9) = uvar(i,19)
208 sdv(10) = uvar(i,20)
209 sdv(11) = uvar(i,21)
210 sdv(12) = uvar(i,22)
211 sdv(13) = uvar(i,23)
212 sdv(14) = uvar(i,24)
213 sdv(15) = uvar(i,25)
214 sdv(16) = uvar(i,26)
215 sdv(17) = uvar(i,27)
216 sdv(18) = uvar(i,28)
217 sdv(19) = uvar(i,29)
218 sdv(20) = uvar(i,30)
219 sdv(21) = uvar(i,31)
220 sdv(22) = uvar(i,32)
221 sdv(23) = uvar(i,33)
222 sdv(24) = uvar(i,34)
223 sdv(25) = uvar(i,35)
224 sdv(26) = uvar(i,36)
225 sdv(27) = uvar(i,37)
226 sdv(28) = uvar(i,38)
227 sdv(29) = uvar(i,39)
228 sdv(30) = uvar(i,40)
229C
230 epxx = epsxx(i)
231 epyy = epsyy(i)
232 epzz = epszz(i)
233 epxy = epsxy(i)
234 epyz = epsyz(i)
235 epzx = epszx(i)
236C
237 ev = (epxx + epyy + epzz) * third
238 edxx = epxx - ev
239 edyy = epyy - ev
240 edzz = epzz - ev
241 edxy = epxy * half
242 edyz = epyz * half
243 edzx = epzx * half
244C
245 eprnxx = epspxx(i)
246 eprnyy = epspyy(i)
247 eprnzz = epspzz(i)
248 eprnxy = epspxy(i)
249 eprnyz = epspyz(i)
250 eprnzx = epspzx(i)
251C
252 evr = (eprnxx + eprnyy + eprnzz) * third
253 edrnxx = eprnxx - evr
254 edrnyy = eprnyy - evr
255 edrnzz = eprnzz - evr
256 edrnxy = eprnxy * half
257 edrnyz = eprnyz * half
258 edrnzx = eprnzx * half
259C
260 edrvxx = uvar(i,5)
261 edrvyy = uvar(i,6)
262 edrvzz = uvar(i,7)
263 edrvxy = uvar(i,8)
264 edrvyz = uvar(i,9)
265 edrvzx = uvar(i,10)
266C
267 axx = edrvxx
268c jbm037
269 bxx = two * (edrnxx - edrvxx) / max(dt,em20)
270 ayy = edrvyy
271 byy = two * (edrnyy - edrvyy) / max(dt,em20)
272 azz = edrvzz
273 bzz = two * (edrnzz - edrvzz) / max(dt,em20)
274 axy = edrvxy
275 bxy = two * (edrnxy - edrvxy) / max(dt,em20)
276 ayz = edrvyz
277 byz = two * (edrnyz - edrvyz) / max(dt,em20)
278 azx = edrvzx
279 bzx = two * (edrnzx - edrvzx) / max(dt,em20)
280c jbm037 (fin)
281C WRITE (11,*)AXX,EDRNXX,EDRVXX,DT,BXX
282C
283 j = 1
284 k = (j -1)*6
285 aaxx = g(j)/beta(j) * (axx - bxx/beta(j))
286 bbxx = g(j)/beta(j) * bxx
287 ccxx = sdv(k+1) - aaxx
288 evsdxx = aaxx + bbxx*dt + ccxx*exp(-beta(j)*dt)
289 aayy = g(j)/beta(j) * (ayy - byy/beta(j))
290 bbyy = g(j)/beta(j) * byy
291 ccyy = sdv(k+2) - aayy
292 evsdyy = aayy + bbyy*dt + ccyy*exp(-beta(j)*dt)
293 aazz = g(j)/beta(j) * (azz - bzz/beta(j))
294 bbzz = g(j)/beta(j) * bzz
295 cczz = sdv(k+3) - aazz
296 evsdzz = aazz + bbzz*dt + cczz*exp(-beta(j)*dt)
297 aaxy = g(j)/beta(j) * (axy - bxy/beta(j))
298 bbxy = g(j)/beta(j) * bxy
299 ccxy = sdv(k+4) - aaxy
300 evsdxy = aaxy + bbxy*dt + ccxy*exp(-beta(j)*dt)
301 aayz = g(j)/beta(j) * (ayz - byz/beta(j))
302 bbyz = g(j)/beta(j) * byz
303 ccyz = sdv(k+5) - aayz
304 evsdyz = aayz + bbyz*dt + ccyz*exp(-beta(j)*dt)
305 aazx = g(j)/beta(j) * (azx - bzx/beta(j))
306 bbzx = g(j)/beta(j) * bzx
307 cczx = sdv(k+6) - aazx
308 evsdzx = aazx + bbzx*dt + cczx*exp(-beta(j)*dt)
309 uvar(i,(k + 11)) = evsdxx
310 uvar(i,(k + 12)) = evsdyy
311 uvar(i,(k + 13)) = evsdzz
312 uvar(i,(k + 14)) = evsdxy
313 uvar(i,(k + 15)) = evsdyz
314 uvar(i,(k + 16)) = evsdzx
315C
316 j = 2
317 k = (j -1)*6
318 aaxx = g(j)/beta(j) * (axx - bxx/beta(j))
319 bbxx = g(j)/beta(j) * bxx
320 ccxx = sdv(k+1) - aaxx
321 evsdxx = aaxx + bbxx*dt + ccxx*exp(-beta(j)*dt)
322 aayy = g(j)/beta(j) * (ayy - byy/beta(j))
323 bbyy = g(j)/beta(j) * byy
324 ccyy = sdv(k+2) - aayy
325 evsdyy = aayy + bbyy*dt + ccyy*exp(-beta(j)*dt)
326 aazz = g(j)/beta(j) * (azz - bzz/beta(j))
327 bbzz = g(j)/beta(j) * bzz
328 cczz = sdv(k+3) - aazz
329 evsdzz = aazz + bbzz*dt + cczz*exp(-beta(j)*dt)
330 aaxy = g(j)/beta(j) * (axy - bxy/beta(j))
331 bbxy = g(j)/beta(j) * bxy
332 ccxy = sdv(k+4) - aaxy
333 evsdxy = aaxy + bbxy*dt + ccxy*exp(-beta(j)*dt)
334 aayz = g(j)/beta(j) * (ayz - byz/beta(j))
335 bbyz = g(j)/beta(j) * byz
336 ccyz = sdv(k+5) - aayz
337 evsdyz = aayz + bbyz*dt + ccyz*exp(-beta(j)*dt)
338 aazx = g(j)/beta(j) * (azx - bzx/beta(j))
339 bbzx = g(j)/beta(j) * bzx
340 cczx = sdv(k+6) - aazx
341 evsdzx = aazx + bbzx*dt + cczx*exp(-beta(j)*dt)
342 uvar(i,(k + 11)) = evsdxx
343 uvar(i,(k + 12)) = evsdyy
344 uvar(i,(k + 13)) = evsdzz
345 uvar(i,(k + 14)) = evsdxy
346 uvar(i,(k + 15)) = evsdyz
347 uvar(i,(k + 16)) = evsdzx
348C
349 j = 3
350 k = (j -1)*6
351 aaxx = g(j)/beta(j) * (axx - bxx/beta(j))
352 bbxx = g(j)/beta(j) * bxx
353 ccxx = sdv(k+1) - aaxx
354 evsdxx = aaxx + bbxx*dt + ccxx*exp(-beta(j)*dt)
355 aayy = g(j)/beta(j) * (ayy - byy/beta(j))
356 bbyy = g(j)/beta(j) * byy
357 ccyy = sdv(k+2) - aayy
358 evsdyy = aayy + bbyy*dt + ccyy*exp(-beta(j)*dt)
359 aazz = g(j)/beta(j) * (azz - bzz/beta(j))
360 bbzz = g(j)/beta(j) * bzz
361 cczz = sdv(k+3) - aazz
362 evsdzz = aazz + bbzz*dt + cczz*exp(-beta(j)*dt)
363 aaxy = g(j)/beta(j) * (axy - bxy/beta(j))
364 bbxy = g(j)/beta(j) * bxy
365 ccxy = sdv(k+4) - aaxy
366 evsdxy = aaxy + bbxy*dt + ccxy*exp(-beta(j)*dt)
367 aayz = g(j)/beta(j) * (ayz - byz/beta(j))
368 bbyz = g(j)/beta(j) * byz
369 ccyz = sdv(k+5) - aayz
370 evsdyz = aayz + bbyz*dt + ccyz*exp(-beta(j)*dt)
371 aazx = g(j)/beta(j) * (azx - bzx/beta(j))
372 bbzx = g(j)/beta(j) * bzx
373 cczx = sdv(k+6) - aazx
374 evsdzx = aazx + bbzx*dt + cczx*exp(-beta(j)*dt)
375 uvar(i,(k + 11)) = evsdxx
376 uvar(i,(k + 12)) = evsdyy
377 uvar(i,(k + 13)) = evsdzz
378 uvar(i,(k + 14)) = evsdxy
379 uvar(i,(k + 15)) = evsdyz
380 uvar(i,(k + 16)) = evsdzx
381C
382 j = 4
383 k = (j -1)*6
384 aaxx = g(j)/beta(j) * (axx - bxx/beta(j))
385 bbxx = g(j)/beta(j) * bxx
386 ccxx = sdv(k+1) - aaxx
387 evsdxx = aaxx + bbxx*dt + ccxx*exp(-beta(j)*dt)
388 aayy = g(j)/beta(j) * (ayy - byy/beta(j))
389 bbyy = g(j)/beta(j) * byy
390 ccyy = sdv(k+2) - aayy
391 evsdyy = aayy + bbyy*dt + ccyy*exp(-beta(j)*dt)
392 aazz = g(j)/beta(j) * (azz - bzz/beta(j))
393 bbzz = g(j)/beta(j) * bzz
394 cczz = sdv(k+3) - aazz
395 evsdzz = aazz + bbzz*dt + cczz*exp(-beta(j)*dt)
396 aaxy = g(j)/beta(j) * (axy - bxy/beta(j))
397 bbxy = g(j)/beta(j) * bxy
398 ccxy = sdv(k+4) - aaxy
399 evsdxy = aaxy + bbxy*dt + ccxy*exp(-beta(j)*dt)
400 aayz = g(j)/beta(j) * (ayz - byz/beta(j))
401 bbyz = g(j)/beta(j) * byz
402 ccyz = sdv(k+5) - aayz
403 evsdyz = aayz + bbyz*dt + ccyz*exp(-beta(j)*dt)
404 aazx = g(j)/beta(j) * (azx - bzx/beta(j))
405 bbzx = g(j)/beta(j) * bzx
406 cczx = sdv(k+6) - aazx
407 evsdzx = aazx + bbzx*dt + cczx*exp(-beta(j)*dt)
408 uvar(i,(k + 11)) = evsdxx
409 uvar(i,(k + 12)) = evsdyy
410 uvar(i,(k + 13)) = evsdzz
411 uvar(i,(k + 14)) = evsdxy
412 uvar(i,(k + 15)) = evsdyz
413 uvar(i,(k + 16)) = evsdzx
414C
415 j = 5
416 k = (j -1)*6
417 aaxx = g(j)/beta(j) * (axx - bxx/beta(j))
418 bbxx = g(j)/beta(j) * bxx
419 ccxx = sdv(k+1) - aaxx
420 evsdxx = aaxx + bbxx*dt + ccxx*exp(-beta(j)*dt)
421 aayy = g(j)/beta(j) * (ayy - byy/beta(j))
422 bbyy = g(j)/beta(j) * byy
423 ccyy = sdv(k+2) - aayy
424 evsdyy = aayy + bbyy*dt + ccyy*exp(-beta(j)*dt)
425 aazz = g(j)/beta(j) * (azz - bzz/beta(j))
426 bbzz = g(j)/beta(j) * bzz
427 cczz = sdv(k+3) - aazz
428 evsdzz = aazz + bbzz*dt + cczz*exp(-beta(j)*dt)
429 aaxy = g(j)/beta(j) * (axy - bxy/beta(j))
430 bbxy = g(j)/beta(j) * bxy
431 ccxy = sdv(k+4) - aaxy
432 evsdxy = aaxy + bbxy*dt + ccxy*exp(-beta(j)*dt)
433 aayz = g(j)/beta(j) * (ayz - byz/beta(j))
434 bbyz = g(j)/beta(j) * byz
435 ccyz = sdv(k+5) - aayz
436 evsdyz = aayz + bbyz*dt + ccyz*exp(-beta(j)*dt)
437 aazx = g(j)/beta(j) * (azx - bzx/beta(j))
438 bbzx = g(j)/beta(j) * bzx
439 cczx = sdv(k+6) - aazx
440 evsdzx = aazx + bbzx*dt + cczx*exp(-beta(j)*dt)
441 uvar(i,(k + 11)) = evsdxx
442 uvar(i,(k + 12)) = evsdyy
443 uvar(i,(k + 13)) = evsdzz
444 uvar(i,(k + 14)) = evsdxy
445 uvar(i,(k + 15)) = evsdyz
446 uvar(i,(k + 16)) = evsdzx
447C
448 sigv = (sigoxx(i) + sigoyy(i) + sigozz(i))* third
449 sigv = sigv + (3. * ak) *
450 . (depsxx(i) + depsyy(i) + depszz(i)) * third
451C SIGV = (3. * AK) * EV
452C
453 sxx = g0 * edxx
454 syy = g0 * edyy
455 szz = g0 * edzz
456 sxy = g0 * edxy
457 syz = g0 * edyz
458 szx = g0 * edzx
459C
460 sxx = sxx + uvar(i,11)
461 syy = syy + uvar(i,12)
462 szz = szz + uvar(i,13)
463 sxy = sxy + uvar(i,14)
464 syz = syz + uvar(i,15)
465 szx = szx + uvar(i,16)
466C
467 sxx = sxx + uvar(i,17)
468 syy = syy + uvar(i,18)
469 szz = szz + uvar(i,19)
470 sxy = sxy + uvar(i,20)
471 syz = syz + uvar(i,21)
472 szx = szx + uvar(i,22)
473C
474 sxx = sxx + uvar(i,23)
475 syy = syy + uvar(i,24)
476 szz = szz + uvar(i,25)
477 sxy = sxy + uvar(i,26)
478 syz = syz + uvar(i,27)
479 szx = szx + uvar(i,28)
480C
481 sxx = sxx + uvar(i,29)
482 syy = syy + uvar(i,30)
483 szz = szz + uvar(i,31)
484 sxy = sxy + uvar(i,32)
485 syz = syz + uvar(i,33)
486 szx = szx + uvar(i,34)
487C
488 sxx = sxx + uvar(i,35)
489 syy = syy + uvar(i,36)
490 szz = szz + uvar(i,37)
491 sxy = sxy + uvar(i,38)
492 syz = syz + uvar(i,39)
493 szx = szx + uvar(i,40)
494C
495 uvar(i,5) = two * edrnxx - edrvxx
496 uvar(i,6) = two * edrnyy - edrvyy
497 uvar(i,7) = two * edrnzz - edrvzz
498 uvar(i,8) = two * edrnxy - edrvxy
499 uvar(i,9) = two * edrnyz - edrvyz
500 uvar(i,10) = two * edrnzx - edrvzx
501C
502 signxx(i) = sxx + sigv
503 signyy(i) = syy + sigv
504 signzz(i) = szz + sigv
505 signxy(i) = sxy
506 signyz(i) = syz
507 signzx(i) = szx
508C
509 soundsp(i) = sqrt((ak/rho(i)) +
510 . ((two*two*gt)/(rho(i)*three)))
511 viscmax(i) = zero
512C
513C WRITE (6,*) SIGNXX(I),SIGNYY(I),SIGNZZ(I),SIGNXY(I)
514c WRITE (6,*) SOUNDSP(I),AK,RHO0(I),GT
515C CRITERES DE STASSI ET DE TYPE VON MISES
516C
517 ssig1=signxx(i)+signyy(i)+signzz(i)
518 ssig2=half*(sxx**2+syy**2+szz**2)+sxy**2+syz**2+szx**2
519 ssig2=three*ssig2
520! UVAR(I,1)=SSIG2**HALF/VMISK
521 IF(ssig2>zero) THEN
522 uvar(i,1)=exp( half*log(ssig2) )/vmisk
523 ELSE
524 uvar(i,1) = zero
525 ENDIF
526! UVAR(I,2)=(SSIG1+(SSIG1**2.+ASTAS*2.*SSIG2)**HALF)/BSTAS
527 IF( (ssig1**2.+astas*2.*ssig2)>zero ) THEN
528 uvar(i,2)=( ssig1+exp( half*log(ssig1**2+astas*2*ssig2) ) )/bstas
529 ELSE
530 uvar(i,2) = ssig1/bstas
531 ENDIF
532 uvar(i,3)=max(uvar(i,3),uvar(i,1))
533 uvar(i,4)=max(uvar(i,4),uvar(i,2))
534C
535 ENDDO
536 RETURN
537 END
#define max(a, b)
Definition macros.h:21
subroutine sigeps40(nel, nuparam, nuvar, nfunc, ifunc, npf, tf, time, timestep, uparam, rho0, rho, volume, eint, epspxx, epspyy, epspzz, epspxy, epspyz, epspzx, depsxx, depsyy, depszz, depsxy, depsyz, depszx, epsxx, epsyy, epszz, epsxy, epsyz, epszx, sigoxx, sigoyy, sigozz, sigoxy, sigoyz, sigozx, signxx, signyy, signzz, signxy, signyz, signzx, sigvxx, sigvyy, sigvzz, sigvxy, sigvyz, sigvzx, soundsp, viscmax, uvar, off)
Definition sigeps40.F:43