34 A IPARI ,INTBUF_TAB,INTBUF_FRIC_TAB,IGEO ,GEO ,
35 B X , IXTG ,IXC ,IPARTTG , IPARTC ,
36 C PFRICORTH,IREPFORTH,PHIFORTH , VFORTH ,KNOD2ELC ,
37 D KNOD2ELTG,NOD2ELTG ,NOD2ELC ,IWORKSH ,PM ,
38 E PM_STACK ,THK ,SKEW ,ITAB ,IPART )
49#include "implicit_f.inc"
59 INTEGER IPARI(NPARI,*), IPARTTG(*), IPARTC(*) ,
60 . IXC(NIXC,*), IXTG(NIXTG,*),IPART(LIPART1,*) ,
61 . IREPFORTH(*), PFRICORTH(*),IGEO(NPROPGI,*),ITAB(*),
62 . KNOD2ELC(*), KNOD2ELTG(*), NOD2ELC(*), NOD2ELTG(*),
65 my_real x(3,*), phiforth(*), vforth(3,*) ,geo(npropg,*),pm(npropm,*),
66 . pm_stack(20,*) ,thk(*) ,skew(lskew,*)
67 TYPE(intbuf_struct_) INTBUF_TAB(*)
68 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
73 INTEGER N ,NIF ,IREP ,NLAY ,IORTH ,IE
79 . aa ,bb ,d1 ,d2 ,s ,det ,phi ,u1x ,u1y ,u2x ,u2y ,w1x ,w1y ,w2x ,w2y ,
86 IF(nty == 7.OR.nty==24.OR.nty==25)
THEN
89 iorth = intbuf_fric_tab(nif)%IORTHFRIC
95 CALL incoq3(intbuf_tab(n)%IRECTM,ixc ,ixtg ,n ,nelc ,
96 . neltg ,i ,geo ,pm ,knod2elc ,
97 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
103 igtyp = igeo(11,ixtg(nixtg-1,ie))
104 pid = ixtg(nixtg-1,ie)
108 igtyp = igeo(11,ixc(nixc-1,ie))
112 iporth = pfricorth(ip)
117 phi = phiforth(iporth)
118 irep = irepforth(iporth)
120 intbuf_tab(n)%IREP_FRICM(i) = irep
121 vx = vforth(1,iporth)
127 . irep ,x ,intbuf_tab(n)%IRECTM,itab ,
128 . intbuf_tab(n)%DIR_FRICM,ip ,ipart )
132 ELSEIF(igtyp == 9.OR.igtyp==10.OR.igtyp==11.OR.igtyp==17.OR.igtyp==51.OR.igtyp==52)
THEN
135 intbuf_tab(n)%IREP_FRICM(i) = irep
137 intbuf_tab(n)%IREP_FRICM(i) = irep
138 IF(igtyp==9.OR.igtyp==10)
THEN
156 il = iabs(nlay)/2 + 1
161 . i ,vx , vy ,vz , phi ,
162 . irep ,x ,intbuf_tab(n)%IRECTM,itab ,
163 . intbuf_tab(n)%DIR_FRICM,ip ,ipart )
167 intbuf_tab(n)%IREP_FRICM(i) = 10
191 . I ,VX , VY ,VZ , PHI ,
192 . IREP ,X ,IRECTM , ITAB ,
193 . DIR_FRICM,IP ,IPART )
201#include "implicit_f.inc"
205#include "scr17_c.inc"
211 . IRECTM(4,*),ITAB(*),(LIPART1,*)
212 my_real VX ,VY ,VZ ,PHI ,X(3,*), DIR_FRICM(2,*)
217 INTEGER N1 ,N2,N3 ,N4
219 . E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z , ,E3Y ,E3Z ,
221 . aa ,bb ,d1 ,d2 ,s ,det ,u1x ,u1y ,u2x ,u2y ,w1x ,w1y ,w2x ,w2y
233 e1x= x(1,n2) + x(1,n3) - x(1,n1) - x(1,n4)
235 e1z= x(3,n2) + x(3,n3) - x(3,n1) - x(3,n4)
237 e2x= x(1,n3) + x(1,n4) - x(1,n1) - x(
238 e2y= x(2,n3) + x(2,n4) - x(2,n1) -
243 e1x= x(1,n2) - x(1,n1)
244 e1y= x(2,n2) - x(2,n1)
245 e1z= x(3,n2) - x(3,n1)
246 e2x= x(1,n3) - x(1,n1)
247 e2y= x(2,n3) - x(2,n1)
248 e2z= x(3,n3) - x(3,n1)
257 e3x = e1y*e2z-e1z*e2y
258 e3y = e1z*e2x-e1x*e2z
259 e3z = e1x*e2y-e1y*e2x
261 suma = e3x*e3x+e3y*e3y+e3z*e3z
262 suma = one/
max(sqrt(suma),em20)
268 s1 = e1x*e1x+e1y*e1y+e1z*e1z
269 s2 = e2x*e2x+e2y*e2y+e2z*e2z
271 e1x = e1x + (e2y *e3z-e2z*e3y)*suma
272 e1y = e1y + (e2z *e3x-e2x*e3z)*suma
273 e1z = e1z + (e2x *e3y-e2y*e3x)*suma
275 suma = e1x*e1x+e1y*e1y+e1z*e1z
276 suma = one/
max(sqrt(suma),em20)
281 e2x = e3y * e1z - e3z * e1y
282 e2y = e3z * e1x - e3x * e1z
283 e2z = e3x * e1y - e3y * e1x
286 v = vx*e3x + vy*e3y + vz*e3z
290 v =sqrt(vx*vx+vy*vy+vz*vz)
294 . anmode=aninfo_blind_1,
308 vr = vx*e1x+vy*e1y+vz*e1z
309 vs = vx*e2x+vy*e2y+vz*e2z
318 u1x = rx*e1x+ry*e1y+rz*e1z
319 u1y = rx*e2x+ry*e2y+rz*e2z
320 u2x = sx*e1x+sy*e1y+sz*e1z
321 u2y = sx*e2x+sy*e2y+sz*e2z
322 det = u1x*u2y-u1y*u2x
333 s = sqrt(aa**2 + bb**2)
subroutine incoq3(irect, ixc, ixtg, nint, nel, neltg, is, geo, pm, knod2elc, knod2eltg, nod2elc, nod2eltg, thk, nty, igeo, pm_stack, iworksh)
subroutine inintr_orthdirfric(ipari, intbuf_tab, intbuf_fric_tab, igeo, geo, x, ixtg, ixc, iparttg, ipartc, pfricorth, irepforth, phiforth, vforth, knod2elc, knod2eltg, nod2eltg, nod2elc, iworksh, pm, pm_stack, thk, skew, itab, ipart)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)