31 1 IPARTR,IGEO,GEO,NPBY,IPARG,ELBUF_TAB,
32 2 DT2T,NELTST,ITYPTST,NRBODY,ITAB)
40#include "implicit_f.inc"
53 INTEGER IXR(NIXR,*),IPART(LIPART1,*),IPARTR(*),
54 . IGEO(NPROPGI,*),NPBY(NNPBY,*),
55 . iparg(nparg,*),neltst,ityptst,nrbody,itab(*)
56 my_real stifn(*), stifr(*),ms(*) ,in(*),geo(npropg,*),dt2t
57 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
61 INTEGER I,J,K,M1,M2,IG,IGTYP,KAD,ITYP,NG,JFT,JLT,NEL,
62 . NB8,NFT,NUVAR,IRB,NV
64 TYPE(g_bufel_),
POINTER :: GBUF
67 IF ((nodadt==0).AND.(idtmins/=2))
THEN
75 gbuf => elbuf_tab(ng)%GBUF
81 ig = ipart(2,ipartr(j))
83 nuvar = nint(geo(25,ig))
88 irb = nint(gbuf%VAR(nv + 37))
94 dtrb1 = dtfac1(11)*sqrt(two*ms(m1)/
max(em20,stifn(m1)))
96 dtrb1 =
min(dtrb1,dtfac1(11)*sqrt(two*in(m1)/
max(em20,stifr(m1))))
100 irb = nint(gbuf%VAR(nv + 38))
106 dtrb2 = dtfac1(11)*sqrt(two*ms(m2)/
max(em20,stifn(m2)))
108 dtrb2 =
min(dtrb2,dtfac1(11)*sqrt(two*in(m2)/
max(em20,stifr(m2))))
112 dt =
min(dtrb1,dtrb2)
116 IF (dtrb1 < dtrb2)
THEN
subroutine joint_elem_timestep(ms, in, stifn, stifr, ixr, ipart, ipartr, igeo, geo, npby, iparg, elbuf_tab, dt2t, neltst, ityptst, nrbody, itab)