47 5 DT2T, NELTST, ITYPTST, STIFN,
48 6 STIFR, MS, IN, FSKYI,
49 7 ISKY, PARTSAV, IPARTX, BUFMAT,
50 8 BUFGEO, GRESAV, GRTH, IGRTH,
59#include "implicit_f.inc"
72 INTEGER,
INTENT(IN) :: IGRE
73 INTEGER NFT,NEL,KXX(NIXX,*),IXX(*), NPC(*),ISKY(*),
74 . (*),NELTST ,ITYPTST,
75 . ITAB(*),GRTH(*),IGRTH(*)
78 . GEO(,*), PM(*), X(3,*),VR(3,*), V(3,*), F(3,*), AR(3,*),
79 . EV(*),PLD(*),SKEW(LSKEW,*),FSKYI(*),
80 . STIFN(*),STIFR(*),(*), IN(*),PARTSAV(*),
81 . bufmat(*),bufgeo(*) ,gresav(*)
83 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
90 . dte, dtc, xkm, xcm, xkr, xcr, xm, xine, eusr
91 INTEGER I, J, K, IPROP, IMAT, ISENS, NX,
92 . nb1, nb2, nb3, nb4, nb5, nbfi, uid,
93 . igtyp,nuvar,nuvarn,nuparam,
95 . uix(maxnx),kvar,kvarn
97 . xusr(3,maxnx),vusr(3,maxnx),vrusr(3,maxnx),umass(maxnx),
98 . uforc(3,maxnx),ustifm(maxnx
99 . umomt(3,maxnx),uvism(maxnx),uiner(maxnx)
101 TYPE(g_bufel_),
POINTER :: GBUF
103 GBUF => elbuf_str%GBUF
114 IF (iparit /= 0)
THEN
118#include "lockoff.inc"
121 igtyp = nint(geo(12,iprop))
122 nuvar = nint(geo(25,iprop))
123 nuvarn= nint(geo(35,iprop))
134 kvarn = nuvarn*nx*(i-1)+1
137 CALL xcoor3(x ,kxx(1,j) ,ixx ,itab ,nx ,
141 CALL xdefo3(v ,vr ,kxx(1,j) ,ixx ,nx ,
151 IF (igtyp == 28)
THEN
156 2 xusr ,vusr ,vrusr ,uix ,uid ,
157 3 iout ,iprop ,imat ,gbuf%OFF(i) ,keusr ,
158 4 eusr ,umass ,uiner ,ustifm ,ustifr ,
159 5 uvism ,uvisr ,uforc ,umomt ,
160 6 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn) ,dt1u , dte)
161 ELSEIF (igtyp == 29)
THEN
180 2 xusr ,vusr ,vrusr ,uix ,uid ,
181 3 iout ,iprop ,imat ,gbuf%OFF(i) ,keusr ,
182 4 eusr ,umass ,uiner ,ustifm ,ustifr ,
183 5 uvism ,uvisr ,uforc ,umomt ,
184 6 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn) ,dt1u , dte)
185 ELSEIF (igtyp == 30)
THEN
204 2 xusr ,vusr ,vrusr ,uix ,uid ,
205 3 iout ,iprop ,imat ,gbuf%OFF(i) ,keusr ,
206 4 eusr ,umass ,uiner ,ustifm ,ustifr ,
207 5 uvism ,uvisr ,uforc ,umomt ,
208 6 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn) ,dt1u , dte)
209 ELSEIF (igtyp == 31)
THEN
228 2 xusr ,vusr ,vrusr ,uix ,uid ,
229 3 iout ,iprop ,imat ,gbuf%OFF(i) ,keusr ,
231 5 uvism ,uvisr ,uforc ,umomt ,
232 6 nuvar ,gbuf%VAR(kvar) ,nuvarn ,gbuf%VARN(kvarn) ,dt1u , dte)
236 IF (gbuf%OFF(i) /= zero)
THEN
258 1 nx, kxx(1,j), ixx, x,
259 2 v, vr, umass, uiner,
260 3 uforc, umomt, keusr, eusr,
261 4 gbuf%EINT(i),partsav, ipartx(j), gresav,
262 5 grth, igrth(j), igre)
264 IF (iparit == 0)
THEN
265 CALL xcum3(nx,kxx(1,j),ixx,uforc ,ustifm,
266 2 uvism,ms, f, stifn )
268 CALL xcum3p(nx,kxx(1,j),ixx,uforc ,ustifm,
269 2 uvism, ms, niskyl, fskyi ,isky)
subroutine xforc3(nft, nel, geo, pm, itab, kxx, ixx, x, v, vr, f, ar, ev, npc, pld, skew, dt2t, neltst, ityptst, stifn, stifr, ms, in, fskyi, isky, partsav, ipartx, bufmat, bufgeo, gresav, grth, igrth, elbuf_str, igre)