37 4 ELBUF_TAB,IPARG,PM ,NTAG ,TEMP ,
38 5 TSTIF ,E ,IAD_ELEM,FR_ELEM )
44 use element_mod ,
only : nixq
48#include "implicit_f.inc"
59 INTEGER IPARG(NPARG,*), NELW(*) ,IXQ(NIXQ,*),
60 . NTAG(*), IAD_ELEM(2,*), FR_ELEM(*)
62 . pm(npropm,*), x(3,*),e(*),
64 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
68 INTEGER I, II, N1, N2, IE, NG, MAT, IFA, LENR,
72 . ny, nz, dy, dz, dd, grad, phi, tempe, vol,
74 INTEGER :: LLT ,NFT ,MTN ,IAD ,ITY ,NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,JTHE ,JLAG ,JMULT ,JHBE
75 INTEGER :: JIVF, NVAUX, JPOR, JCVT, JCLOSE, JPLASOL, IREP, IINT, IGTYP
76 INTEGER :: ISORTH, ISORTHG, ISRAT, ISROT, ICSEN, IFAILURE, JSMS
79 TYPE(g_bufel_) ,
POINTER :: GBUF
81 DATA IFACE/ 2, 3, 3, 4, 4, 5, 5, 2/
89 ifa = nelw(ie) - 10*ii
90 n1 = ixq(iface(1,ifa),ii)
91 n2 = ixq(iface(2,ifa),ii)
92 IF(ntag(n1)>0) ntag(n1) = ntag(n1) + 1
93 IF(ntag(n2)>0) ntag(n2) = ntag(n2) + 1
99 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
108 n1 = ixq(iface(1,ifa),ii)
109 n2 = ixq(iface(2,ifa),ii)
110 IF(ntag(n1)+ntag(n2)>0)
THEN
114 DO 200 ng=ii/nvsiz,ngroup
116 2 mtn ,llt ,nft ,iad ,ity ,
117 3 npt ,jale ,ismstr ,jeul ,jtur ,
118 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
119 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
120 6 irep ,iint ,igtyp ,israt ,isrot ,
121 7 icsen ,isorth ,isorthg ,ifailure,jsms )
123 IF(ii>nft+llt)
GO TO 200
124 IF(iparg(8,ng)==1)
GO TO 600
125 IF(jthe/=1)
GO TO 600
131 gbuf => elbuf_tab(ng)%GBUF
141 IF(ntag(n1)>1) ee = ee + e(n1) / (ntag(n1)-1)
142 IF(ntag(n2)>1) ee = ee + e(n2) / (ntag(n2)-1)
160 . -x(2,ixq(2,ii))-x(2,ixq(3,ii))
161 . -x(2,ixq(4,ii))-x(2,ixq(5,ii))
164 . -x(3,ixq(2,ii))-x(3,ixq(3,ii))
165 . -x(3,ixq(4,ii))-x(3,ixq(5,ii))
171 grad = four*(dy*ny+dz*nz) /
max(em15,dd)
173 IF(tempe<=pm(80,mat))
THEN
174 coef=pm(75,mat)+pm(76,mat)*tempe
176 coef=pm(77,mat)+pm(78,mat)*tempe
182 phi = tstife*tstif*(temp-tempe)
183 2 /
max(em20,(tstife+tstif))
185 + * (
min(ntag(n1),1) +
min(ntag(n2),1) )
190 phi = (phi + ee) /
max(vol,em20)
191 gbuf%EINT(i) = gbuf%EINT(i) + phi
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)