40#include "implicit_f.inc"
58 my_real,
DIMENSION(:),
ALLOCATABLE ::
60 my_real,
POINTER,
DIMENSION(:) ::
70 stifn => nloc_dmg%STIFNL(1:nloc_dmg%L_NLOC,1)
71 mass => nloc_dmg%MASS(1:nloc_dmg%L_NLOC)
74 ALLOCATE(dtn(nloc_dmg%L_NLOC))
75 dtn(1:nloc_dmg%L_NLOC) = zero
80 npos = nloc_dmg%POSI(n)
82 nddl = nloc_dmg%POSI(n+1) - npos
84 DO i = npos,npos+nddl-1
85 dtn(i) = dtfac1(11)*cdamp*sqrt(two*mass(i)/
max(stifn(i),em20))
86 dtnod =
min(dtnod,dtn(i))
90 dtnod_nlocal =
min(dtnod_nlocal,dtnod)
96 IF ((idtmin(11)==3).OR.(idtmin(11)==4).OR.(idtmin(11)==8))
THEN
98 IF (dtnod < dtmin1(11)*(sqrt(csta)))
THEN
101 npos = nloc_dmg%POSI(n)
103 nddl = nloc_dmg%POSI(n+1) - npos
105 DO i = npos,npos+nddl-1
106 IF (dtn(i) < dtmin1(11))
THEN
107 dt2p = dtmin1(11)/(dtfac1(11)*cdamp)
108 mass(i) = csta*
max(mass
112 dtnod = dtmin1(11)*(sqrt(csta))
118 IF (dtnod < dt2t)
THEN
119 dt2t =
min(dt2t,dtnod)
121#include "lockoff.inc"
126 npos = nloc_dmg%POSI(n)
130 stifn(npos:npos+nddl-1) = em20
134 IF (
ALLOCATED(dtn))
DEALLOCATE