32
33
34
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "scr02_c.inc"
44#include "scr18_c.inc"
45
46
47
48 INTEGER :: NEL,IMAT,NDDL
50 . dt2t
51 my_real,
DIMENSION(NEL),
INTENT(IN) ::
52 . le,off,thk
53 TYPE(NLOCAL_STR_), TARGET :: NLOC_DMG
54
55
56
57 INTEGER I
59 . l2,zeta,dtnl_th,dtnl,le_max
60
61
62 l2 = nloc_dmg%LEN(imat)**2
63 zeta = nloc_dmg%DENS(imat)
64 le_max = nloc_dmg%LE_MAX(imat)
65
66
67
68
69 IF (nodadt == 0) THEN
70 DO i = 1,nel
71
72 IF (off(i)/=zero) THEN
73
74 dtnl = (two*(
min(le(i),le_max))*sqrt(three*zeta))/
75 . sqrt(twelve*l2 + (
min(le(i),le_max))**2)
76
77 IF (nddl>1) THEN
78 IF (nddl > 2) THEN
79 dtnl_th = (two*(
min(thk(i)/nddl,le_max))*sqrt(three*zeta))/
80 . sqrt(twelve*l2 + (
min(thk(i)/nddl,le_max))**2)
81 ELSE
82 dtnl_th = (two*(
min(thk(i),le_max))*sqrt(three*zeta))/
83 . sqrt(twelve*l2 + (
min(thk(i),le_max))**2)
84 ENDIF
85 ELSE
86 dtnl_th = ep20
87 ENDIF
88
89 dt2t =
min(dt2t,dtfac1(1)*cdamp*dtnl_th,dtfac1(1)*cdamp*dtnl)
90 ENDIF
91 ENDDO
92 ENDIF
93