OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
mulawglc.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "mvsiz_p.inc"
#include "units_c.inc"
#include "scr17_c.inc"
#include "param_c.inc"
#include "com08_c.inc"
#include "impl1_c.inc"
#include "lockon.inc"
#include "lockoff.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine mulawglc (elbuf_str, jft, jlt, pm, for, mom, thk, eint, off, gstr, dir, shf, mat, area, exx, eyy, exy, nel, exz, eyz, kxx, kyy, kxy, dm, pid, tf, npf, mtn, dt1c, a1, bufmat, ssp, rho, viscmx, iofc, a2, indx, ngl, zcfac, gs, sigy, g, thk0, epsd_glob, ipla, igeo, ipm, table, ir, is, f_def, ismstr, nu, vol0, kfts, zshift, idamp_freq_range, mat_elem, damp_buf, for_g)

Function/Subroutine Documentation

◆ mulawglc()

subroutine mulawglc ( type(elbuf_struct_), target elbuf_str,
integer jft,
integer jlt,
pm,
for,
mom,
thk,
eint,
off,
gstr,
dir,
shf,
integer, dimension(*) mat,
area,
exx,
eyy,
exy,
integer nel,
exz,
eyz,
kxx,
kyy,
kxy,
dm,
integer, dimension(*) pid,
tf,
integer, dimension(*) npf,
integer mtn,
dt1c,
a1,
bufmat,
ssp,
rho,
viscmx,
integer iofc,
a2,
integer, dimension(*) indx,
integer, dimension(*) ngl,
zcfac,
gs,
sigy,
g,
thk0,
dimension(mvsiz) epsd_glob,
integer ipla,
integer, dimension(npropgi,*) igeo,
integer, dimension(npropmi,*) ipm,
type(ttable), dimension(*) table,
integer ir,
integer is,
f_def,
integer ismstr,
nu,
vol0,
integer kfts,
intent(in) zshift,
integer, intent(in) idamp_freq_range,
type (mat_elem_), intent(in), target mat_elem,
type (buf_damp_range_), intent(in) damp_buf,
intent(inout) for_g )

Definition at line 47 of file mulawglc.F.

59C-----------------------------------------------
60 USE table_mod
61 USE elbufdef_mod
62 use mat_elem_mod
63 use damping_range_shell_mod
64 use damping_range_shell_mom_mod
65C-----------------------------------------------
66C I m p l i c i t T y p e s
67C-----------------------------------------------
68#include "implicit_f.inc"
69#include "comlock.inc"
70C-----------------------------------------------
71C G l o b a l P a r a m e t e r s
72C-----------------------------------------------
73#include "mvsiz_p.inc"
74C-----------------------------------------------
75C C o m m o n B l o c k s
76C-----------------------------------------------
77#include "units_c.inc"
78#include "scr17_c.inc"
79#include "param_c.inc"
80#include "com08_c.inc"
81#include "impl1_c.inc"
82C-----------------------------------------------
83C D u m m y A r g u m e n t s
84C-----------------------------------------------
85 INTEGER JFT, JLT, MTN, IOFC, IPLA,NEL,IR,IS,ISMSTR,KFTS
86 INTEGER MAT(*), PID(*), NPF(*),NGL(*), INDX(*),IPM(NPROPMI,*)
87 integer, intent(in) :: idamp_freq_range ! flag for damping frequency range
88 my_real dm
89 my_real for(nel,5), mom(nel,3), thk(*), eint(jlt,2),pm(npropm,*),
90 . off(*), gstr(nel,8), dir(*),viscmx(*),
91 . area(*),tf(*),dt1c(*),
92 . exx(*), eyy(*), exy(*), exz(*), eyz(*),
93 . kxx(*), kyy(*), kxy(*),bufmat(*),ssp(*),rho(*),
94 . zcfac(mvsiz,2),gs(*),sigy(*),thk0(*),shf(*),f_def(mvsiz,8),
95 . a1(mvsiz),a2(mvsiz),g(mvsiz),nu(mvsiz),vol0(*)
96 my_real, INTENT(IN) :: zshift
97 my_real, intent(in),dimension(mvsiz) :: epsd_glob !< global strain rate by Gauss pt
98 my_real, DIMENSION(NEL,5), INTENT(INOUT) :: for_g
99 TYPE(TTABLE) TABLE(*)
100 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
101 type (mat_elem_) ,intent(in) ,target :: mat_elem
102 type (buf_damp_range_) ,intent(in) :: damp_buf ! buffer of damp frequency range
103C-----------------------------------------------
104C L o c a l V a r i a b l e s
105C-----------------------------------------------
106 INTEGER IGTYP, I, NUVAR,NINDX,IGEO(NPROPGI,*),NVARTMP,
107 . MX,IOFF_DUCT(MVSIZ),ISRATE,NUVARV,NVAR_DAMP,IMAT,
108 . FLAG_INCR
109 my_real
110 . degmb(mvsiz) ,degfx(mvsiz) ,thkn(mvsiz),
111 . depsxx(mvsiz),depsyy(mvsiz),depsxy(mvsiz),depsyz(mvsiz),
112 . depszx(mvsiz),epsxx(mvsiz) ,epsyy(mvsiz) ,epsxy(mvsiz),
113 . epsyz(mvsiz) ,epszx(mvsiz) ,epspxx(mvsiz),epspyy(mvsiz),
114 . epspxy(mvsiz),epspyz(mvsiz),epspzx(mvsiz),sigoxx(mvsiz),
115 . sigoyy(mvsiz),sigoxy(mvsiz),sigoyz(mvsiz),sigozx(mvsiz),
116 . signxx(mvsiz),signyy(mvsiz),signxy(mvsiz),signyz(mvsiz),
117 . signzx(mvsiz),sigvxx(mvsiz),sigvyy(mvsiz),sigvxy(mvsiz),
118 . sigvyz(mvsiz),sigvzx(mvsiz),tens(5,mvsiz),
119 . young, visc, vol2, dtinv,asrate,sh_offset
120 my_real
121 . depbxx(mvsiz),depbyy(mvsiz),depbxy(mvsiz),
122 . momoxx(mvsiz),momoyy(mvsiz),momoxy(mvsiz),
123 . momnxx(mvsiz),momnyy(mvsiz),momnxy(mvsiz),
124 . etse(mvsiz) ,epspl(mvsiz),epsp_loc(mvsiz)
125 my_real, DIMENSION(:) ,POINTER :: uvar
126 my_real, DIMENSION(:) ,POINTER :: uvarv
127 my_real, DIMENSION(NEL) :: off_old
128C-------------------------------------
129 INTEGER, DIMENSION(:), POINTER :: VARTMP
130 TYPE(L_BUFEL_) ,POINTER :: LBUF
131 type(matparam_struct_) , pointer :: matparam
132C-----------------------------------------------
133C S o u r c e L i n es
134C-----------------------------------------------
135C
136 lbuf => elbuf_str%BUFLY(1)%LBUF(ir,is,1)
137C
138 imat = elbuf_str%BUFLY(1)%IMAT
139C for user material laws : pid(i)=pid(1)
140 igtyp = igeo(11,pid(1))
141 imat = elbuf_str%BUFLY(1)%IMAT
142 IF (mtn==43.OR.mtn==56.OR.mtn==60.OR.mtn==86) THEN
143 nuvar = elbuf_str%BUFLY(1)%NVAR_MAT
144 uvar =>elbuf_str%BUFLY(1)%MAT(ir,is,1)%VAR
145 ENDIF
146 IF(mtn==36) THEN
147 nvartmp= elbuf_str%BUFLY(1)%NVARTMP
148 vartmp=>elbuf_str%BUFLY(1)%MAT(ir,is,1)%VARTMP
149 ENDIF
150 ioff_duct(1:mvsiz) = 0
151 viscmx(1:mvsiz) = zero
152C
153 DO i=jft,jlt
154 degmb(i) = for(i,1)*exx(i)+for(i,2)*eyy(i)+for(i,3)*exy(i)
155 + + for(i,4)*eyz(i)+for(i,5)*exz(i)
156 degfx(i) = mom(i,1)*kxx(i)+mom(i,2)*kyy(i)+mom(i,3)*kxy(i)
157 ENDDO
158C
159 DO i=jft,jlt
160 thkn(i) = thk(i)
161 ENDDO
162 etse(1:mvsiz) = zero
163 off_old(1:nel) = off(1:nel)
164 for(jft:jlt,1:5) = for_g(jft:jlt,1:5)
165! compute the inverse of dt and save the result
166 dtinv = dt1 / max(dt1**2,em20) ! inverse of dt
167!----------------------------------------------------------------------
168 ! global strain rate for materials which still use it
169 ! it may be overloaded by local material law strain rate
170 ! the same value should be used in material and failure models
171!
172 israte = ipm(3,imat)
173 if (israte > 0) then
174 asrate = min(one, pm(9,imat)*dt1)
175 else
176 asrate = one
177 end if
178 if (elbuf_str%bufly(1)%l_epsd > 0) then
179 epspl(1:nel) = asrate*epsd_glob(1:nel) + (one-asrate)*lbuf%epsd(1:nel)
180 else
181 epspl(1:nel) = zero
182 end if
183C-----------------------
184C GLOBAL PLASTICITY
185C-----------------------
186 DO i=jft,jlt
187 signxx(i) = zero
188 signyy(i) = zero
189 signxy(i) = zero
190 signyz(i) = zero
191 signzx(i) = zero
192 sigvxx(i) = zero
193 sigvyy(i) = zero
194 sigvxy(i) = zero
195 sigvyz(i) = zero
196 sigvzx(i) = zero
197 ENDDO
198 DO i=jft,jlt
199 momnxx(i) = zero
200 momnyy(i) = zero
201 momnxy(i) = zero
202 ENDDO
203C
204 IF (igtyp == 1) THEN
205 DO i=jft,jlt
206 depsxx(i) = exx(i)
207 depsyy(i) = eyy(i)
208 depsxy(i) = exy(i)
209 depsyz(i) = eyz(i)
210 depszx(i) = exz(i)
211 epsxx(i) = gstr(i,1)
212 epsyy(i) = gstr(i,2)
213 epsxy(i) = gstr(i,3)
214 epsyz(i) = gstr(i,4)
215 epszx(i) = gstr(i,5)
216 sigoxx(i) = for(i,1)
217 sigoyy(i) = for(i,2)
218 sigoxy(i) = for(i,3)
219 sigoyz(i) = for(i,4)
220 sigozx(i) = for(i,5)
221 ENDDO
222 DO i=jft,jlt
223 depbxx(i) = kxx(i)
224 depbyy(i) = kyy(i)
225 depbxy(i) = kxy(i)
226 momoxx(i) = mom(i,1)
227 momoyy(i) = mom(i,2)
228 momoxy(i) = mom(i,3)
229 ENDDO
230 ELSE
231 DO i=jft,jlt
232 tens(1,i) = exx(i)
233 tens(2,i) = eyy(i)
234 tens(3,i) = half*exy(i)
235 tens(4,i) = half*eyz(i)
236 tens(5,i) = half*exz(i)
237 ENDDO
238 CALL roto(jft,jlt,tens,dir,nel)
239 DO i=jft,jlt
240 depsxx(i) = tens(1,i)
241 depsyy(i) = tens(2,i)
242 depsxy(i) = two*tens(3,i)
243 depsyz(i) = two*tens(4,i)
244 depszx(i) = two*tens(5,i)
245 ENDDO
246 DO i=jft,jlt
247 tens(1,i) = gstr(i,1)
248 tens(2,i) = gstr(i,2)
249 tens(3,i) = half*gstr(i,3)
250 tens(4,i) = half*gstr(i,4)
251 tens(5,i) = half*gstr(i,5)
252 ENDDO
253 CALL roto(jft,jlt,tens,dir,nel)
254 DO i=jft,jlt
255 epsxx(i) = tens(1,i)
256 epsyy(i) = tens(2,i)
257 epsxy(i) = two*tens(3,i)
258 epsyz(i) = two*tens(4,i)
259 epszx(i) = two*tens(5,i)
260 ENDDO
261 DO i=jft,jlt
262 tens(1,i) = for(i,1)
263 tens(2,i) = for(i,2)
264 tens(3,i) = for(i,3)
265 tens(4,i) = for(i,4)
266 tens(5,i) = for(i,5)
267 ENDDO
268 CALL roto(jft,jlt,tens,dir,nel)
269 DO i=jft,jlt
270 sigoxx(i) = tens(1,i)
271 sigoyy(i) = tens(2,i)
272 sigoxy(i) = tens(3,i)
273 sigoyz(i) = tens(4,i)
274 sigozx(i) = tens(5,i)
275 ENDDO
276 DO i=jft,jlt
277 tens(1,i) = kxx(i)
278 tens(2,i) = kyy(i)
279 tens(3,i) = kxy(i)
280 tens(4,i) = zero
281 tens(5,i) = zero
282 ENDDO
283 CALL roto(jft,jlt,tens,dir,nel)
284 DO i=jft,jlt
285 depbxx(i) = tens(1,i)
286 depbyy(i) = tens(2,i)
287 depbxy(i) = tens(3,i)
288 ENDDO
289 DO i=jft,jlt
290 tens(1,i) = mom(i,1)
291 tens(2,i) = mom(i,2)
292 tens(3,i) = mom(i,3)
293 tens(4,i) = zero
294 tens(5,i) = zero
295 ENDDO
296 CALL roto(jft,jlt,tens,dir,nel)
297 DO i=jft,jlt
298 momoxx(i) = tens(1,i)
299 momoyy(i) = tens(2,i)
300 momoxy(i) = tens(3,i)
301 ENDDO
302 ENDIF ! IF (IGTYP == 1)
303C
304 DO i=jft,jlt
305 epspxx(i) = depsxx(i)*dtinv
306 epspyy(i) = depsyy(i)*dtinv
307 epspxy(i) = depsxy(i)*dtinv
308 epspyz(i) = depsyz(i)*dtinv
309 epspzx(i) = depszx(i)*dtinv
310 ENDDO
311C-------------------------------------------
312C ELASTIC STRESS +
313C PLASTICLY ADMISSIBLE STRESS
314C-------------------------------------------
315 IF (mtn == 1) THEN
316 CALL sigeps01g(jft ,jlt ,g ,thkn ,off ,
317 1 gs ,a1 ,a2 ,nu ,thk0 ,
318 2 nel ,f_def ,ismstr ,depsxx ,depsyy ,
319 3 depsxy ,depsyz ,depszx ,depbxx ,depbyy ,
320 4 depbxy ,sigoxx ,sigoyy ,sigoxy ,sigoyz ,
321 5 sigozx ,momoxx ,momoyy ,momoxy ,signxx ,
322 6 signyy ,signxy ,signyz ,signzx ,momnxx ,
323 7 momnyy ,momnxy ,zshift )
324 ELSEIF (mtn == 2) THEN
325 CALL sigeps02g(elbuf_str,mat_elem%mat_param(imat),
326 1 jft ,jlt ,for ,mom ,
327 2 thkn ,eint ,off ,dt1c ,israte ,
328 3 g ,a1 ,a2 ,vol0 ,nu ,
329 4 thk0 ,gs ,epspl ,iofc ,kfts ,
330 5 ngl ,indx ,ipla ,ir ,is ,
331 6 degmb ,degfx ,depsxx ,depsyy ,mx ,
332 7 depsxy ,depsyz ,depszx ,depbxx ,depbyy ,
333 8 depbxy ,sigoxx ,sigoyy ,sigoxy ,sigoyz ,
334 9 sigozx ,momoxx ,momoyy ,momoxy ,signxx ,
335 a signyy ,signxy ,signyz ,signzx ,momnxx ,
336 b momnyy ,momnxy ,etse ,exz ,eyz ,
337 c nel ,ioff_duct,nuvar ,uvar )
338 ELSEIF (mtn == 22) THEN
339 CALL sigeps22g(elbuf_str,
340 1 jft ,jlt ,pm ,for ,mom ,
341 2 thkn ,off ,dt1c ,nu ,thk0 ,
342 3 gs ,epspl ,iofc ,indx ,nel ,
343 4 ngl ,exz ,eyz ,mx ,ioff_duct,
344 5 degmb ,degfx ,depsxx ,depsyy ,depsxy ,
345 6 depsyz ,depszx ,depbxx ,depbyy ,depbxy ,
346 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
347 8 momoxx ,momoyy ,momoxy ,signxx ,signyy ,
348 9 signxy ,signyz ,signzx ,momnxx ,momnyy ,
349 a momnxy )
350 ELSEIF (mtn == 36) THEN
351 CALL sigeps36g(
352 1 jlt ,npf ,
353 2 tf ,tt ,bufmat ,rho ,
354 3 area ,eint ,thk0 ,
355 4 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
356 5 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
357 5 depbxx ,depbyy ,depbxy ,
358 6 epsxx ,epsyy ,epsxy ,epsyz ,epszx ,
359 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
360 7 momoxx ,momoyy ,momoxy ,
361 8 signxx ,signyy ,signxy ,signyz ,signzx ,
362 8 momnxx ,momnyy ,momnxy ,
363 9 sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
364 a ssp ,viscmx ,thkn ,lbuf%PLA ,
365 b off ,ngl ,ipm ,mat ,etse ,
366 c gs ,sigy ,epspl ,israte ,ipla,
367 d shf ,nvartmp,vartmp)
368 ELSEIF (mtn == 43) THEN
369 CALL sigeps43g(
370 1 jlt ,nuvar ,npf ,
371 2 tf ,tt ,bufmat ,rho ,
372 3 area ,eint ,thk0 ,
373 4 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
374 5 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
375 5 depbxx ,depbyy ,depbxy ,
376 6 epsxx ,epsyy ,epsxy ,epsyz ,epszx ,
377 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
378 7 momoxx ,momoyy ,momoxy ,
379 8 signxx ,signyy ,signxy ,signyz ,signzx ,
380 8 momnxx ,momnyy ,momnxy ,
381 9 sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
382 a ssp ,viscmx ,thkn ,lbuf%PLA,uvar ,
383 b off ,ngl ,ipm ,mat ,etse ,
384 c gs ,sigy ,shf ,lbuf%SEQ,epspl )
385 ELSEIF (mtn == 56) THEN
386 CALL sigeps56g(
387 1 jlt ,nuvar ,npf ,
388 2 tf ,tt ,bufmat ,rho ,
389 3 area ,eint ,thk0 ,
390 4 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
391 5 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
392 5 depbxx ,depbyy ,depbxy ,
393 6 epsxx ,epsyy ,epsxy ,epsyz ,epszx ,
394 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
395 7 momoxx ,momoyy ,momoxy ,
396 8 signxx ,signyy ,signxy ,signyz ,signzx ,
397 8 momnxx ,momnyy ,momnxy ,
398 9 sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
399 a ssp ,viscmx ,thkn ,lbuf%PLA,uvar ,
400 b off ,ngl ,ipm ,mat ,etse ,
401 c gs ,sigy ,epspl ,israte ,ipla)
402 ELSEIF (mtn == 60) THEN
403 CALL sigeps60g(
404 1 jlt ,nuvar ,npf ,
405 2 tf ,tt ,bufmat ,rho ,
406 3 area ,eint ,thk0 ,
407 4 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
408 5 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
409 5 depbxx ,depbyy ,depbxy ,
410 6 epsxx ,epsyy ,epsxy ,epsyz ,epszx ,
411 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
412 7 momoxx ,momoyy ,momoxy ,
413 8 signxx ,signyy ,signxy ,signyz ,signzx ,
414 8 momnxx ,momnyy ,momnxy ,
415 9 sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
416 a ssp ,viscmx ,thkn ,lbuf%PLA,uvar ,
417 b off ,ngl ,ipm ,mat ,etse ,
418 c gs ,sigy ,epspl ,israte ,ipla ,
419 d shf )
420 ELSEIF (mtn == 86) THEN
421 CALL sigeps86g(
422 1 jlt ,nuvar ,npf ,
423 2 tf ,tt ,bufmat ,rho ,
424 3 area ,eint ,thk0 ,
425 4 epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
426 5 depsxx ,depsyy ,depsxy ,depsyz ,depszx ,
427 5 depbxx ,depbyy ,depbxy ,
428 6 epsxx ,epsyy ,epsxy ,epsyz ,epszx ,
429 7 sigoxx ,sigoyy ,sigoxy ,sigoyz ,sigozx ,
430 7 momoxx ,momoyy ,momoxy ,
431 8 signxx ,signyy ,signxy ,signyz ,signzx ,
432 8 momnxx ,momnyy ,momnxy ,
433 9 sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
434 a ssp ,viscmx ,thkn ,lbuf%PLA,uvar ,
435 b off ,ngl ,ipm ,mat ,etse ,
436 c gs ,sigy ,epspl ,israte ,ipla)
437 ENDIF ! IF (MTN == 1) THEN
438C-----------------------
439C DAMPING
440C-----------------------
441 if (idamp_freq_range > 0) then
442 nuvarv = elbuf_str%BUFLY(1)%NVAR_VISC
443 uvarv => elbuf_str%BUFLY(1)%VISC(ir,is,1)%VAR
444 nvar_damp = 28 + 16
445 flag_incr = 1
446 call damping_range_shell(damp_buf,nel ,nuvarv ,nvar_damp,dt1 ,
447 . rho ,ssp ,mat_elem%mat_param(imat)%young,mat_elem%mat_param(imat)%shear,
448 . epspxx ,epspyy ,epspxy ,epspyz ,epspzx ,
449 . sigvxx ,sigvyy ,sigvxy ,sigvyz ,sigvzx ,
450 . uvarv ,off ,etse ,flag_incr)
451
452 call damping_range_shell_mom(damp_buf,nel ,nuvarv ,dt1 ,dtinv ,
453 . mat_elem%mat_param(imat)%young,mat_elem%mat_param(imat)%shear,depbxx ,depbyy ,depbxy ,
454 . momnxx ,momnyy ,momnxy ,thk0 ,uvarv ,
455 . off ,etse)
456 endif
457C-----------------------
458C ORTHOTROPE
459C-----------------------
460 IF (igtyp /= 1) THEN
461 DO i=jft,jlt
462 tens(1,i)= signxx(i)
463 tens(2,i)= signyy(i)
464 tens(3,i)= signxy(i)
465 tens(4,i)= signyz(i)
466 tens(5,i)= signzx(i)
467 ENDDO
468 CALL uroto(jft,jlt,tens,dir,nel)
469 DO i=jft,jlt
470 signxx(i)= tens(1,i)
471 signyy(i)= tens(2,i)
472 signxy(i)= tens(3,i)
473 signyz(i)= tens(4,i)
474 signzx(i)= tens(5,i)
475 ENDDO
476 DO i=jft,jlt
477 tens(1,i)= sigvxx(i)
478 tens(2,i)= sigvyy(i)
479 tens(3,i)= sigvxy(i)
480 tens(4,i)= sigvyz(i)
481 tens(5,i)= sigvzx(i)
482 ENDDO
483 CALL uroto(jft,jlt,tens,dir,nel)
484 DO i=jft,jlt
485 sigvxx(i)= tens(1,i)
486 sigvyy(i)= tens(2,i)
487 sigvxy(i)= tens(3,i)
488 sigvyz(i)= tens(4,i)
489 sigvzx(i)= tens(5,i)
490 ENDDO
491 DO i=jft,jlt
492 tens(1,i)= momnxx(i)
493 tens(2,i)= momnyy(i)
494 tens(3,i)= momnxy(i)
495 tens(4,i)= zero
496 tens(5,i)= zero
497 ENDDO
498 CALL uroto(jft,jlt,tens,dir,nel)
499 DO i=jft,jlt
500 momnxx(i)= tens(1,i)
501 momnyy(i)= tens(2,i)
502 momnxy(i)= tens(3,i)
503 ENDDO
504 ENDIF ! IF (IGTYP /= 1)
505C-----------------------
506C forces and moments
507C-----------------------
508 DO i=jft,jlt
509 for_g(i,1) = signxx(i)+sigvxx(i)
510 for_g(i,2) = signyy(i)+sigvyy(i)
511 for_g(i,3) = signxy(i)+sigvxy(i)
512 for_g(i,4) = signyz(i)+sigvyz(i)
513 for_g(i,5) = signzx(i)+sigvzx(i)
514 mom(i,1) = momnxx(i)
515 mom(i,2) = momnyy(i)
516 mom(i,3) = momnxy(i)
517 ENDDO
518 for(jft:jlt,1:5) = for_g(jft:jlt,1:5)
519C----------------------
520C THICKNESS UPDATE
521C----------------------
522 DO i=jft,jlt
523 thk(i) = max(thkn(i),em30)
524 ENDDO
525C-----------------------------------------------
526C FACTORS FOR B.L. SHELLS (Zeng&Combescure)
527C-----------------------------------------------
528 DO i=jft,jlt
529 zcfac(i,1) = etse(i)
530 zcfac(i,2) = zcfac(i,1)
531 ENDDO
532C---------------------------
533C membrane viscosity
534C---------------------------
535 IF (dm > zero) THEN
536 DO i=jft,jlt
537 viscmx(i) = max(viscmx(i),dm)
538 visc = onep414*dm*rho(i)*ssp(i)*sqrt(area(i))*dtinv
539 for(i,1) = for(i,1) + visc*(exx(i)+half*eyy(i))
540 for(i,2) = for(i,2) + visc*(eyy(i)+half*exx(i))
541 for(i,3) = for(i,3) + visc* exy(i)*third
542 ENDDO
543 ENDIF
544C
545 DO i=jft,jlt
546 for(i,1)=for(i,1)*off(i)
547 for(i,2)=for(i,2)*off(i)
548 for(i,3)=for(i,3)*off(i)
549 for(i,4)=for(i,4)*off(i)
550 for(i,5)=for(i,5)*off(i)
551 mom(i,1)=mom(i,1)*off(i)
552 mom(i,2)=mom(i,2)*off(i)
553 mom(i,3)=mom(i,3)*off(i)
554 ENDDO
555C
556 DO i=jft,jlt
557 degmb(i) = degmb(i)+ for(i,1)*exx(i)+for(i,2)*eyy(i)
558 . + for(i,3)*exy(i)+for(i,4)*eyz(i)+for(i,5)*exz(i)
559 degfx(i) = degfx(i)+mom(i,1)*kxx(i)+mom(i,2)*kyy(i)
560 . +mom(i,3)*kxy(i)
561 vol2 = half*thk0(i)*area(i)*off(i)
562 eint(i,1) = eint(i,1) + degmb(i)*vol2
563 eint(i,2) = eint(i,2) + degfx(i)*thk0(i)*vol2
564 ENDDO
565C----------------------------
566C Ductile rupture test
567C INDX used in IELOF
568C----------------------------
569 nindx=0
570 DO i=jft,jlt
571 IF (off(i) == four_over_5 . and. ioff_duct(i) == 0) THEN
572 off(i)= zero
573 nindx=nindx+1
574 indx(nindx)=i
575 ENDIF
576 ENDDO
577c--------------------------------------------------------
578c SHOOTING NODES ALGORITHM ACTIVATION
579c--------------------------------------------------------
580 DO i = 1,nel
581 IF ((off_old(i) > zero) .AND. (off(i) == zero)) THEN
582 idel7nok = 1
583 ENDIF
584 ENDDO
585c--------------------------------------------------------
586 IF (nindx > 0) THEN
587 IF (imconv == 1) THEN
588 DO i = 1, nindx
589#include "lockon.inc"
590 WRITE(iout, 1000) ngl(indx(i))
591 WRITE(istdo,1100) ngl(indx(i)),tt
592#include "lockoff.inc"
593 ENDDO
594 ENDIF
595 ENDIF
596 iofc = nindx
597C-----------
598 1000 FORMAT(1x,'-- RUPTURE OF SHELL ELEMENT NUMBER ',i10)
599 1100 FORMAT(1x,'-- RUPTURE OF SHELL ELEMENT :',i10,' AT TIME :',g11.4)
600C-----------
601 RETURN
subroutine roto(jft, jlt, tab, ltab, dir, nel)
Definition cepsini.F:725
subroutine uroto(jft, jlt, tab, ltab, dir, nel)
Definition cepsini.F:775
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine sigeps01g(jft, jlt, g, thk, off, gs, a1, a2, nu, thk0, nel, f_def, ismstr, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, zshift)
Definition sigeps01g.F:36
subroutine sigeps02g(elbuf_str, mat_param, jft, jlt, for, mom, thk, eint, off, dt1c, israte, g, a1, a2, vol0, nu, thk0, gs, epsp, iofc, kfts, ngl, indx, ipla, ir, is, degmb, degfx, depsxx, depsyy, mx, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, etse, exz, eyz, nel, ioff_duct, nuvar, uvar)
Definition sigeps02g.F:44
subroutine sigeps22g(elbuf_str, jft, jlt, pm, for, mom, thk, off, dt1c, nu, thk0, gs, epsp, iofc, indx, nel, ngl, exz, eyz, mx, ioff_duct, degmb, degfx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy)
Definition sigeps22g.F:41
subroutine sigeps36g(nel, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, off, ngl, ipm, mat, etse, gs, yld, epsp, israte, ipla, shf, nvartmp, vartmp)
Definition sigeps36g.F:48
subroutine sigeps43g(nel, nuvar, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, sigy, shf, seq_output, epsp)
Definition sigeps43g.F:47
subroutine sigeps56g(nel, nuvar, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, yld, epsp, israte, ipla)
Definition sigeps56g.F:46
subroutine sigeps60g(nel, nuvar, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, yld, epsp, israte, ipla, shf)
Definition sigeps60g.F:49
subroutine sigeps86g(nel, nuvar, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, yld, epsp, israte, ipla)
Definition sigeps86g.F:46