36 4 ELBUF_TAB,IPARG,PM ,NTAG ,TEMP ,
37 5 TSTIF ,E ,IAD_ELEM,FR_ELEM )
46#include "implicit_f.inc"
57 INTEGER IPARG(NPARG,*), NELW(*) ,IXQ(NIXQ,*),
58 . NTAG(*), IAD_ELEM(2,*), FR_ELEM(*)
60 . pm(npropm,*), x(3,*),e(*),
62 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
66 INTEGER I, II, N1, N2, IE, NG, MAT, IFA, LENR,
69 . y1, y2, y3, y4, z1, z2, z3, z4,
70 . ny, nz, dy, dz, dd, grad, phi, tempe, vol,
72 INTEGER :: LLT ,NFT ,MTN ,IAD ,ITY ,NPT ,JALE ,ISMSTR ,JEUL ,JTUR ,JTHE ,JLAG ,JMULT ,JHBE
73 INTEGER :: JIVF, NVAUX, JPOR, JCVT, JCLOSE, JPLASOL, IREP, IINT, IGTYP
74 INTEGER :: ISORTH, ISORTHG, ISRAT, ISROT, ICSEN, IFAILURE, JSMS
77 TYPE(g_bufel_) ,
POINTER :: GBUF
79 DATA IFACE/ 2, 3, 3, 4, 4, 5, 5, 2/
87 ifa = nelw(ie) - 10*ii
88 n1 = ixq(iface(1,ifa),ii)
89 n2 = ixq(iface(2,ifa),ii)
90 IF(ntag(n1)>0) ntag(n1) = ntag(n1) + 1
91 IF(ntag(n2)>0) ntag(n2) = ntag(n2) + 1
97 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
106 n1 = ixq(iface(1,ifa),ii)
107 n2 = ixq(iface(2,ifa),ii)
108 IF(ntag(n1)+ntag(n2)>0)
THEN
112 DO 200 ng=ii/nvsiz,ngroup
114 2 mtn ,llt ,nft ,iad ,ity ,
115 3 npt ,jale ,ismstr ,jeul ,jtur ,
116 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
117 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
118 6 irep ,iint ,igtyp ,israt ,isrot ,
119 7 icsen ,isorth ,isorthg ,ifailure,jsms )
121 IF(ii>nft+llt)
GO TO 200
122 IF(iparg(8,ng)==1)
GO TO 600
123 IF(jthe/=1)
GO TO 600
129 gbuf => elbuf_tab(ng)%GBUF
139 IF(ntag(n1)>1) ee = ee + e(n1) / (ntag(n1)-1)
140 IF(ntag(n2)>1) ee = ee + e(n2) / (ntag(n2)-1)
158 . -x(2,ixq(2,ii))-x(2,ixq(3,ii))
159 . -x(2,ixq(4,ii))-x(2,ixq(5,ii))
162 . -x(3,ixq(2,ii))-x(3,ixq(3,ii))
163 . -x(3,ixq(4,ii))-x(3,ixq(5,ii))
169 grad = four*(dy*ny+dz*nz) /
max(em15,dd)
171 IF(tempe<=pm(80,mat))
THEN
172 coef=pm(75,mat)+pm(76,mat)*tempe
174 coef=pm(77,mat)+pm(78,mat)*tempe
180 phi = tstife*tstif*(temp-tempe)
181 2 /
max(em20,(tstife+tstif))
183 + * (
min(ntag(n1),1) +
min(ntag(n2),1) )
188 phi = (phi + ee) /
max(vol,em20)
189 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)