OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sigeps55c.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/.
23!||====================================================================
24!|| sigeps55c ../engine/source/materials/mat/mat055/sigeps55c.F
25!||--- called by ------------------------------------------------------
26!|| mulawc ../engine/source/materials/mat_share/mulawc.F90
27!||--- calls -----------------------------------------------------
28!|| finter ../engine/source/tools/curve/finter.F
29!|| vinter ../engine/source/tools/curve/vinter.F
30!||====================================================================
31 SUBROUTINE sigeps55c(
32 1 NEL0 ,NUPARAM,NUVAR ,MFUNC ,KFUNC ,
33 2 NPF ,NPT0 ,IPT ,IFLAG ,ASRATE ,
34 2 TF ,TIME ,TIMESTEP,UPARAM ,RHO0 ,
35 3 AREA ,EINT ,THKLY ,
36 4 EPSPXX ,EPSPYY ,EPSPXY ,EPSPYZ ,EPSPZX ,
37 5 DEPSXX ,DEPSYY ,DEPSXY ,DEPSYZ ,DEPSZX ,
38 6 EPSXX ,EPSYY ,EPSXY ,EPSYZ ,EPSZX ,
39 7 SIGOXX ,SIGOYY ,SIGOXY ,SIGOYZ ,SIGOZX ,
40 8 SIGNXX ,SIGNYY ,SIGNXY ,SIGNYZ ,SIGNZX ,
41 9 SIGVXX ,SIGVYY ,SIGVXY ,SIGVYZ ,SIGVZX ,
42 A SOUNDSP,VISCMAX,THK ,PLA ,UVAR ,
43 B OFF ,NGL ,IPM ,MAT ,ETSE ,
44 C GS ,YLD ,EPSD_PG ,EPSP ,ISRATE )
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C G l o b a l P a r a m e t e r s
51C-----------------------------------------------
52#include "mvsiz_p.inc"
53C---------+---------+---+---+--------------------------------------------
54C VAR | SIZE |TYP| RW| DEFINITION
55C---------+---------+---+---+--------------------------------------------
56C NEL0 | 1 | I | R | SIZE OF THE ELEMENT GROUP NEL0
57C NUPARAM | 1 | I | R | SIZE OF THE USER PARAMETER ARRAY
58C NUVAR | 1 | I | R | NUMBER OF USER ELEMENT VARIABLES
59C---------+---------+---+---+--------------------------------------------
60C NFUNC | 1 | I | R | NUMBER FUNCTION USED FOR THIS USER LAW
61C IFUNC | NFUNC | I | R | FUNCTION INDEX
62C NPF | * | I | R | FUNCTION ARRAY
63C NPT0 | 1 | I | R | NUMBER OF LAYERS OR INTEGRATION POINTS
64C IPT | 1 | I | R | LAYER OR INTEGRATION POINT NUMBER
65C IFLAG | * | I | R | GEOMETRICAL FLAGS
66C TF | * | F | R | FUNCTION ARRAY
67C---------+---------+---+---+--------------------------------------------
68C TIME | 1 | F | R | CURRENT TIME
69C TIMESTEP| 1 | F | R | CURRENT TIME STEP
70C UPARAM | NUPARAM | F | R | USER MATERIAL PARAMETER ARRAY
71C RHO0 | NEL0 | F | R | INITIAL DENSITY
72C AREA | NEL0 | F | R | AREA
73C EINT | 2*NEL0 | F | R | INTERNAL ENERGY(MEMBRANE,BENDING)
74C THKLY | NEL0 | F | R | LAYER THICKNESS
75C EPSPXX | NEL0 | F | R | STRAIN RATE XX
76C EPSPYY | NEL0 | F | R | STRAIN RATE YY
77C ... | | | |
78C DEPSXX | NEL0 | F | R | STRAIN INCREMENT XX
79C DEPSYY | NEL0 | F | R | STRAIN INCREMENT YY
80C ... | | | |
81C EPSXX | NEL0 | F | R | STRAIN XX
82C EPSYY | NEL0 | F | R | STRAIN YY
83C ... | | | |
84C SIGOXX | NEL0 | F | R | OLD ELASTO PLASTIC STRESS XX
85C SIGOYY | NEL0 | F | R | OLD ELASTO PLASTIC STRESS YY
86C ... | | | |
87C---------+---------+---+---+--------------------------------------------
88C SIGNXX | NEL0 | F | W | NEW ELASTO PLASTIC STRESS XX
89C SIGNYY | NEL0 | F | W | NEW ELASTO PLASTIC STRESS YY
90C ... | | | |
91C SIGVXX | NEL0 | F | W | VISCOUS STRESS XX
92C SIGVYY | NEL0 | F | W | VISCOUS STRESS YY
93C ... | | | |
94C SOUNDSP | NEL0 | F | W | SOUND SPEED (NEEDED FOR TIME STEP)
95C VISCMAX | NEL0 | F | W | MAXIMUM DAMPING MODULUS(NEEDED FOR TIME STEP)
96C---------+---------+---+---+--------------------------------------------
97C THK | NEL0 | F |R/W| THICKNESS
98C PLA | NEL0 | F |R/W| PLASTIC STRAIN
99C UVAR |NEL0*NUVAR| F |R/W| USER ELEMENT VARIABLE ARRAY
100C OFF | NEL0 | F |R/W| DELETED ELEMENT FLAG (=1. ON, =0. OFF)
101C---------+---------+---+---+--------------------------------------------
102C C o m m o n B l o c k s
103C-----------------------------------------------
104#include "param_c.inc"
105#include "com01_c.inc"
106C-----------------------------------------------
107C I N P U T A r g u m e n t s
108C-----------------------------------------------
109C
110 INTEGER NEL0, NUPARAM, NUVAR, NPT0,ISRATE, IPT,IFLAG(*),
111 . NGL(NEL0),MAT(NEL0),IPM(NPROPMI,*)
112 my_real ,INTENT(IN) :: ASRATE
113 my_real ,DIMENSION(NEL0) ,INTENT(IN) :: EPSD_PG
114 my_real ,DIMENSION(NEL0) ,INTENT(INOUT) :: EPSP
115 my_real TIME,TIMESTEP(NEL0),UPARAM(*),
116 . AREA(NEL0),RHO0(NEL0),EINT(NEL0,2),
117 . THKLY(NEL0),PLA(NEL0),
118 . EPSPXX(NEL0),EPSPYY(NEL0),
119 . EPSPXY(NEL0),EPSPYZ(NEL0),EPSPZX(NEL0),
120 . DEPSXX(NEL0),DEPSYY(NEL0),
121 . DEPSXY(NEL0),DEPSYZ(NEL0),DEPSZX(NEL0),
122 . EPSXX(NEL0) ,EPSYY(NEL0) ,
123 . epsxy(nel0) ,epsyz(nel0) ,epszx(nel0) ,
124 . sigoxx(nel0),sigoyy(nel0),
125 . sigoxy(nel0),sigoyz(nel0),sigozx(nel0),gs(*)
126C-----------------------------------------------
127C O U T P U T A r g u m e n t s
128C-----------------------------------------------
129 my_real
130 . signxx(nel0),signyy(nel0),
131 . signxy(nel0),signyz(nel0),signzx(nel0),
132 . sigvxx(nel0),sigvyy(nel0),
133 . sigvxy(nel0),sigvyz(nel0),sigvzx(nel0),
134 . soundsp(nel0),viscmax(nel0),etse(nel0)
135C-----------------------------------------------
136C I N P U T O U T P U T A r g u m e n t s
137C-----------------------------------------------
138 my_real uvar(nel0,nuvar), off(nel0),thk(nel0),yld(nel0)
139C-----------------------------------------------
140C VARIABLES FOR FUNCTION INTERPOLATION
141C-----------------------------------------------
142 INTEGER NPF(*), MFUNC, KFUNC(MFUNC)
143 my_real FINTER ,TF(*)
144 EXTERNAL FINTER
145C Y = FINTER(IFUNC(J),X,NPF,TF,DYDX)
146C Y : y = f(x)
147C X : x
148C DYDX : f'(x) = dy/dx
149C IFUNC(J): FUNCTION INDEX
150C J : FIRST(J=1), SECOND(J=2) .. FUNCTION USED FOR THIS LAW
151C NPF,TF : FUNCTION PARAMETER
152C-----------------------------------------------
153C L o c a l V a r i a b l e s
154C-----------------------------------------------
155 INTEGER I,J,NRATE(MVSIZ),J1,J2,N,NINDX,NMAX,IADBUF,NFUNC,
156 . iad1(mvsiz),ipos1(mvsiz),ilen1(mvsiz),
157 . iad2(mvsiz),ipos2(mvsiz),ilen2(mvsiz),
158 . jj(mvsiz),index(mvsiz),ifunc(mvsiz,100),nratem,
159 . nrate1,ifunc1(100),iadbufv(mvsiz),nfuncv(mvsiz),
160 . nfuncm, nratep(mvsiz), nraten(mvsiz),i1, i2,
161 . iad1p(mvsiz),ipos1p(mvsiz),ilen1p(mvsiz),
162 . iad2p(mvsiz),ipos2p(mvsiz),ilen2p(mvsiz),
163 . iad1n(mvsiz),ipos1n(mvsiz),ilen1n(mvsiz),
164 . iad2n(mvsiz),ipos2n(mvsiz),ilen2n(mvsiz),ii(mvsiz),
165 . nraten1, nratep1
166 my_real
167 . e(mvsiz),a1(mvsiz),a2(mvsiz),g(mvsiz),g3(mvsiz),
168 . dydx1(mvsiz),dydx2(mvsiz),rate(mvsiz,2),svm(mvsiz),
169 . y1(mvsiz),y2(mvsiz),dr(mvsiz),epsmax(mvsiz),
170 . yfac(mvsiz,2),nnu1(mvsiz),nu1(mvsiz),
171 . nu2(mvsiz),nu3(mvsiz),nu4(mvsiz),nu5(mvsiz),nu6(mvsiz),
172 . aa(mvsiz),bb(mvsiz),dpla_i(mvsiz),dpla_j(mvsiz),
173 . pp(mvsiz),qq(mvsiz),fail(mvsiz),svmo(mvsiz),h(mvsiz),
174 . epsr1(mvsiz),epsr2(mvsiz),fisokin(mvsiz),
175 . sigexx(mvsiz),sigeyy(mvsiz),sigexy(mvsiz),sigezx(mvsiz),
176 . sigeyz(mvsiz),yn1(mvsiz),yn2(mvsiz),yp1(mvsiz),yp2(mvsiz),
177 . hk(mvsiz),nu(mvsiz), visc(mvsiz), viscv(mvsiz),c1(mvsiz),
178 . c2(mvsiz),ratep(mvsiz,2),raten(mvsiz,2), yldmax(mvsiz),
179 . yldmin(mvsiz), epst(mvsiz), yldelas(mvsiz),nnu(mvsiz)
180 my_real
181 . r,umr,a,b,c,amu,s11,s22,s12,p,p2,fac,dezz,
182 . sigz,s1,s2,s3,dpla,vm2,nnu2,
183 . err,f,df,pla_i,q2,yld_i,sigpxx,sigpyy,sigpxy,
184 . alpha,
185 . e1,a11,a21,g1,g31,nnu11,nu11,nu21,nu31,nu41,nu51,nu61,
186 . visc1, viscv1
187 . dsxx,dsyy,dsxy,dexx,deyy,dexy,nux,c11, c21
188 my_real
189 . y11(mvsiz),y21(mvsiz), me, ma1, ma2, mg, mnu,svm_old,
190 . dev, dtinv, lamda, deps33, svm1
191 INTEGER JST(MVSIZ+1), IC, MNRATE, ITER, MX
192
193C-----------------------------------------------
194C------------------------------------------------------------------------------
195C
196c------------------------------------------------------------------------------
197C Pour le moment on fait qu'une projection radial
198 iflag(1) = 2
199 mx = mat(1)
200 nfunc = ipm(10,mx)
201 DO i= 1, nel0
202
203 DO j=1,nfunc
204 ifunc(i,j)=ipm(10+j,mx)
205 ENDDO
206 ENDDO
207C
208 mx = mat(1)
209 iadbuf = ipm(7,mx)-1
210 DO i=1,nel0
211 e(i) = uparam(iadbuf+2)
212 a1(i) = uparam(iadbuf+3)
213 a2(i) = uparam(iadbuf+4)
214 g(i) = uparam(iadbuf+5)
215 g3(i) = three*g(i)
216 nu(i) = uparam(iadbuf+6)
217 visc(i) = uparam(iadbuf+7)
218 viscv(i) = uparam(iadbuf+8)
219 nratep(i) = uparam(iadbuf+9)
220 nraten(i) = uparam(iadbuf+10)
221 epsmax(i) = uparam(iadbuf+11)
222 nrate(i) =nraten(i) + nratep(i) +1
223
224C
225 nnu(i) = nu(i) / (one - nu(i))
226 ENDDO
227 IF (isigi==0) THEN
228 IF(time==zero)THEN
229 DO i=1,nel0
230 DO j=1,nrate(i)
231 uvar(i,j)=0
232 ENDDO
233 ENDDO
234 ENDIF
235 ENDIF
236C------------------------------------------
237C-
238C
239 DO i=1,nel0
240 signxx(i)=sigoxx(i) + a1(i)*depsxx(i)+a2(i)*depsyy(i)
241 signyy(i)=sigoyy(i) + a2(i)*depsxx(i)+a1(i)*depsyy(i)
242 signxy(i)=sigoxy(i) + g(i) *depsxy(i)
243 signyz(i)=sigoyz(i) + gs(i) *depsyz(i)
244 signzx(i)=sigozx(i) + gs(i) *depszx(i)
245C
246 visc(i) = visc(i)*rho0(i)
247 viscv(i) = viscv(i)*rho0(i)
248
249 c11 = one/max(em20,three*visc(i) + four*viscv(i))
250 c1(i) = four* visc(i)*(three*viscv(i)
251 . + visc(i))*c11
252 c2(i) = two*viscv(i)*(three*visc(i)
253 . - two*viscv(i))*c11
254C la partie visqueuse
255 dtinv = timestep(i)**2/max(em20, timestep(i))
256
257 sigvxx(i)= c2(i)*(epspxx(i)+epspyy(i))
258 . + two*viscv(i)*epspxx(i)
259 sigvyy(i)= c2(i)*(epspxx(i)+epspyy(i))
260 . + two*viscv(i)*epspyy(i)
261 sigvxy(i)= viscv(i)*epspxy(i)
262 sigvyz(i)= viscv(i)*epspyz(i)
263 sigvzx(i)= viscv(i)*epspzx(i)
264C
265 soundsp(i) = sqrt(a1(i)/rho0(i))
266 c11 = c2(i) + 2*viscv(i)
267C a verefier cette formule
268 viscmax(i) = max(c2(i), c11)
269 viscmax(i) = viscmax(i)/
270 . (onep414*rho0(i)*soundsp(i)*sqrt(area(i)))
271 etse(i) = one
272C-------------------
273C STRAIN RATE
274C-------------------
275 IF (israte == 0) THEN
276 epsp(i) = half*(epspxx(i)+epspyy(i)
277 . + sqrt( (epspxx(i)-epspyy(i))*(epspxx(i)-epspyy(i))
278 . + epspxy(i)*epspxy(i) ) )
279 ELSE
280 epsp(i) = asrate*epsd_pg(i) + (one-asrate)*epsp(i)
281 END IF
282C-------------------
283C STRAIN
284C-------------------
285C
286 epst(i) = half*(epsxx(i)+epsyy(i)
287 . + sqrt( (epsxx(i)-epsyy(i))*(epsxx(i)-epsyy(i))
288 . + epsxy(i)*epsxy(i) ) )
289 IF(off(i)==one.AND.epst(i)>epsmax(i))off(i) =four_over_5
290 ENDDO
291C-------------------
292C CRITERE
293C-------------------
294 DO i=1,nel0
295 jj(i) = 1
296 ii(i) = 1 + nratep(i)
297 ENDDO
298C
299 DO i=1,nel0
300 DO j=2,nratep(i)-1
301 iadbuf = ipm(7,mat(i)) - 1
302 IF(abs(epsp(i))>=uparam(iadbuf+ 10 +j)) jj(i) = j
303 ENDDO
304 ENDDO
305
306 DO i=1,nel0
307 DO j=2,nraten(i)-1
308 iadbuf = ipm(7,mat(i))-1
309 IF(abs(epsp(i))>=
310 . abs(uparam(iadbuf+10 + nratep(i) + j))) ii(i) = nratep(i) + j
311 ENDDO
312 ENDDO
313 DO i=1,nel0
314 iadbuf = ipm(7,mat(i))-1
315 ratep(i,1)=uparam(iadbuf+10+jj(i))
316 ratep(i,2)=uparam(iadbuf+10+jj(i)+1)
317 raten(i,1)=uparam(iadbuf+10+ii(i))
318 raten(i,2)=uparam(iadbuf+10+ii(i)+1)
319 ENDDO
320C
321 DO i=1,nel0
322C + 1 pour la courbe elastique JJ(I) + 1 , II(I) + 1
323 j1 = jj(i) + 1
324 j2 = j1+1
325 i1 = ii(i) +1
326 i2 = i1 +1
327 ipos1p(i) = nint(uvar(i,j1))
328 iad1p(i) = npf(ifunc(i,j1)) / 2 + 1
329 ilen1p(i) = npf(ifunc(i,j1)+1) / 2 - iad1p(i) - ipos1p(i)
330 ipos2p(i) = nint(uvar(i,j2))
331 iad2p(i) = npf(ifunc(i,j2)) / 2 + 1
332 ilen2p(i) = npf(ifunc(i,j2)+1) / 2 - iad2p(i) - ipos2p(i)
333C
334 ipos1n(i) = nint(uvar(i,i1))
335 iad1n(i) = npf(ifunc(i,i1)) / 2 + 1
336 ilen1n(i) = npf(ifunc(i,i1)+1) / 2 - iad1n(i) - ipos1n(i)
337 ipos2n(i) = nint(uvar(i,i2))
338 iad2n(i) = npf(ifunc(i,i2)) / 2 + 1
339 ilen2n(i) = npf(ifunc(i,i2)+1) / 2 - iad2n(i) - ipos2n(i)
340c
341 ipos1(i) = nint(uvar(i,1))
342 iad1(i) = npf(ifunc(i,1)) / 2 + 1
343 ilen1(i) = npf(ifunc(i,1)+1) / 2 - iad1(i) - ipos1(i)
344 ENDDO
345C
346 CALL vinter(tf,iad1p,ipos1p,ilen1p,nel0,epst,dydx1,yp1)
347 CALL vinter(tf,iad2p,ipos2p,ilen2p,nel0,epst,dydx2,yp2)
348C
349 CALL vinter(tf,iad1n,ipos1n,ilen1n,nel0,epst,dydx1,yn1)
350 CALL vinter(tf,iad2n,ipos2n,ilen2n,nel0,epst,dydx2,yn2)
351C
352 CALL vinter(tf,iad1,ipos1,ilen1,nel0,epst,dydx1,y1)
353C
354
355C remplacer par les sous cas :
356
357 DO i=1,nel0
358 j1 = jj(i) +1
359 j2 = j1+1
360 fac = (epsp(i) - ratep(i,1))/(ratep(i,2) - ratep(i,1))
361 yldmax(i) = yp1(i) + fac*(yp2(i)-yp1(i))
362 yldmax(i) = max(yldmax(i),em20)
363 uvar(i,j1) = ipos1p(i)
364 uvar(i,j2) = ipos2p(i)
365C min stress
366 i1 = ii(i) +1
367 i2 = i1+1
368 fac = (-epsp(i) - raten(i,2))/(raten(i,1) - raten(i,2))
369 yldmin(i) = yn2(i) + fac*(yn1(i)-yn2(i))
370 yldmin(i) = max(yldmin(i),em20)
371 uvar(i,i1) = ipos1n(i)
372 uvar(i,i2) = ipos2n(i)
373C elastique courbe
374 yldelas(i)= y1(i)
375 uvar(i,1) = ipos1(i)
376 ENDDO
377
378
379C-------------------
380C PROJECTION
381C-------------------
382 IF(iflag(1)==2)THEN
383C projection radiale
384 DO i=1,nel0
385 IF(off(i)==1) THEN
386 svm(i)=sqrt(signxx(i)*signxx(i)
387 . +signyy(i)*signyy(i)
388 . -signxx(i)*signyy(i)
389 . +three*signxy(i)*signxy(i))
390C contrainte elastique ..
391 IF(svm(i)/=zero) THEN
392 IF(svm(i)>=yldelas(i))THEN
393 DO iter = 1, 10
394 r = min(one,yldelas(i)/max(em20,svm(i)))
395 dev = (signxx(i) + signyy(i))*third
396 signxx(i)=(signxx(i)-dev)*r
397 signyy(i)=(signyy(i)-dev)*r
398 signxy(i)=signxy(i)*r
399 signyz(i)=signyz(i)*r
400 signzx(i)=signzx(i)*r
401CCCACTUALISATION
402 signxx(i)=(signxx(i)+ dev)
403 signyy(i)=(signyy(i)+ dev)
404 svm(i)=sqrt(signxx(i)*signxx(i)
405 . +signyy(i)*signyy(i)
406 . -signxx(i)*signyy(i)
407 . + three*signxy(i)*signxy(i))
408 ENDDO
409 r = one
410 DO iter = 1,10
411 sigexx(i)=signxx(i) + sigvxx(i)
412 sigeyy(i)=signyy(i) + sigvyy(i)
413 sigexy(i)=signxy(i) + sigvxy(i)
414 sigeyz(i)=signyz(i) + sigvyz(i)
415 sigezx(i)=signzx(i) + sigvzx(i)
416 svm(i)=sqrt(sigexx(i)*sigexx(i)
417 . +sigeyy(i)*sigeyy(i)
418 . -sigexx(i)*sigeyy(i)
419 . + three*sigexy(i)*sigexy(i))
420 IF(svm(i)>=yldmax(i)) THEN
421 r = min(one,yldmax(i)/max(em20,svm(i)))
422 ELSEIF(svm(i)<=yldmin(i))THEN
423 r = max(one,yldmin(i)/max(em20,svm(i)))
424 ENDIF
425 dev = (sigexx(i) + sigeyy(i))*third
426 sigexx(i)=(sigexx(i)-dev)*r
427 sigeyy(i)=(sigeyy(i)-dev)*r
428 sigexy(i)=sigexy(i)*r
429 sigeyz(i)=sigeyz(i)*r
430 sigezx(i)=sigezx(i)*r
431 sigexx(i)=sigexx(i)+ dev
432 sigeyy(i)=sigeyy(i)+ dev
433 svm(i)=sqrt(sigexx(i)*sigexx(i)
434 . +sigeyy(i)*sigeyy(i)
435 . -sigexx(i)*sigeyy(i)
436 . + three*sigexy(i)*sigexy(i))
437C calcul des contraintes visquenses
438 IF(r/=1.) THEN
439 sigvxx(i)=sigexx(i) - signxx(i)
440 sigvyy(i)=sigeyy(i) - signyy(i)
441 sigvxy(i)=sigexy(i) - signxy(i)
442 sigvyz(i)=sigeyz(i) - signyz(i)
443 sigvzx(i)=sigezx(i) - signzx(i)
444 ELSE
445 GO TO 200
446
447 ENDIF
448 ENDDO ! iter
449 ELSE
450 ENDIF
451 ENDIF
452 ENDIF
453 200 ENDDO
454
455C contrainte elastique ..
456 DO i=1,nel0
457 lamda = nu(i) * e(i) /((one + nu(i))*(one - two* nu(i)))
458 lamda = lamda + dtinv*third*(three*visc(i) - two*viscv(i))
459 c11= lamda + two*g(i) + two*dtinv*viscv(i)
460 dezz = -( lamda/max(em20,c11))*(depsxx(i) + depsyy(i))
461 thk(i) = thk(i) + dezz*thkly(i)*off(i)
462 ENDDO
463C
464 ELSEIF(iflag(1)==1)THEN
465C-------------------------
466C CRITERE DE VON MISES
467C-------------------------
468
469C-------------------------------------------
470 ELSEIF(iflag(1)==0)THEN
471C
472 ENDIF
473C
474 RETURN
475 END
476C
#define alpha
Definition eval.h:35
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine sigeps55c(nel0, nuparam, nuvar, mfunc, kfunc, npf, npt0, ipt, iflag, asrate, tf, time, timestep, uparam, rho0, area, eint, thkly, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, yld, epsd_pg, epsp, israte)
Definition sigeps55c.F:45
subroutine vinter(tf, iad, ipos, ilen, nel, x, dydx, y)
Definition vinter.F:72