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 )
46 use element_mod ,
only : nixc,nixtg
50#include "implicit_f.inc"
60 INTEGER IPARI(NPARI,*), IPARTTG(*), IPARTC(*) ,
61 . IXC(NIXC,*), IXTG(NIXTG,*),IPART(LIPART1,*) ,
62 . IREPFORTH(*), PFRICORTH(*),IGEO(NPROPGI,*),ITAB(*),
63 . (*), KNOD2ELTG(*), (*), NOD2ELTG(*),
66 my_real x(3,*), phiforth(*), vforth(3,*) ,geo(npropg,*),pm(npropm,*),
67 . pm_stack(20,*) ,thk(*) ,skew(lskew,*)
68 TYPE(intbuf_struct_) INTBUF_TAB(*)
69 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
74 INTEGER N ,NIF ,IREP ,NLAY ,IORTH ,IE ,NRTM ,I ,NELTG ,NELC ,STAT ,
75 . NRT_SH,J,INRT ,NTY ,IL ,N3 ,N4 ,IP ,IPORTH , IGTYP ,ID ,ISU2 ,ILEV ,ISU1,NRT1,NRT2,NSHIF,
78 . VX ,VY ,VZ ,E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z ,E3X ,E3Y ,E3Z ,
79 . rx ,ry ,rz ,sx ,sy ,sz ,suma ,s1 ,s2 ,vr ,vs ,cp , sp ,
80 . aa ,bb ,d1 ,d2 ,s ,det ,phi ,u1x ,u1y ,u2x ,u2y ,w1x ,w1y ,w2x ,w2y ,
87 IF(nty == 7.OR.nty==24.OR.nty==25)
THEN
90 iorth = intbuf_fric_tab(nif)%IORTHFRIC
96 CALL incoq3(intbuf_tab(n)%IRECTM,ixc ,ixtg ,n ,nelc ,
97 . neltg ,i ,geo ,pm ,knod2elc ,
98 . knod2eltg ,nod2elc ,nod2eltg,thk,nty,igeo,
104 igtyp = igeo(11,ixtg(nixtg-1,ie))
105 pid = ixtg(nixtg-1,ie)
109 igtyp = igeo(11,ixc(nixc-1,ie))
113 iporth = pfricorth(ip)
118 phi = phiforth(iporth)
119 irep = irepforth(iporth)
121 intbuf_tab(n)%IREP_FRICM(i) = irep
122 vx = vforth(1,iporth)
123 vy = vforth(2,iporth)
124 vz = vforth(3,iporth)
127 . i ,vx , vy ,vz , phi ,
128 . irep ,x ,intbuf_tab(n)%IRECTM,itab ,
129 . intbuf_tab(n)%DIR_FRICM,ip ,ipart )
133 ELSEIF(igtyp == 9.OR.igtyp==10.OR.igtyp==11.OR.igtyp==17.OR.igtyp==51.OR.igtyp==52)
THEN
136 intbuf_tab(n)%IREP_FRICM(i) = irep
138 intbuf_tab(n)%IREP_FRICM(i) = irep
139 IF(igtyp==9.OR.igtyp==10)
THEN
157 il = iabs(nlay)/2 + 1
163 . irep ,x ,intbuf_tab(n)%IRECTM,itab ,
164 . intbuf_tab(n)%DIR_FRICM,ip ,ipart )
168 intbuf_tab(n)%IREP_FRICM(i) = 10
192 . I ,VX , VY ,VZ , PHI ,
193 . IREP ,X ,IRECTM , ITAB ,
194 . DIR_FRICM,IP ,IPART )
202#include "implicit_f.inc"
206#include "scr17_c.inc"
212 . IRECTM(4,*),ITAB(*),IPART(LIPART1,*)
213 my_real VX ,VY ,VZ ,PHI ,X(3,*), DIR_FRICM(2,*)
218 INTEGER N1 ,N2,N3 ,N4
220 . E1X ,E1Y ,E1Z ,E2X ,E2Y ,E2Z ,E3X ,E3Y ,E3Z ,
221 . rx ,ry ,rz ,sx ,sy ,sz
222 . aa ,bb ,d1 ,d2 ,s ,det ,u1x ,u1y ,u2x ,u2y ,w1x ,w1y ,w2x ,w2y ,
234 e1x= x(1,n2) + x(1,n3) - x(1,n1) - x(1,n4)
235 e1y= x(2,n2) + x(2,n3) - x(2,n1) - x(2,n4)
236 e1z= x(3,n2) + x(3,n3) - x(3,n1) - x(3,n4)
238 e2x= x(1,n3) + x(1,n4) - x(1,n1) - x(1,n2)
239 e2y= x(2,n3) + x(2,n4) - x(2,n1) - x(2,n2)
240 e2z= x(3,n3) + x(3,n4) - x(3,n1) - x(3,n2)
244 e1x= x(1,n2) - x(1,n1)
245 e1y= x(2,n2) - x(2,n1)
246 e1z= x(3,n2) - x(3,n1)
247 e2x= x(1,n3) - x(1,n1)
248 e2y= x(2,n3) - x(2,n1)
249 e2z= x(3,n3) - x(3,n1)
258 e3x = e1y*e2z-e1z*e2y
259 e3y = e1z*e2x-e1x*e2z
260 e3z = e1x*e2y-e1y*e2x
262 suma = e3x*e3x+e3y*e3y+e3z*e3z
263 suma = one/
max(sqrt(suma),em20)
269 s1 = e1x*e1x+e1y*e1y+e1z*e1z
270 s2 = e2x*e2x+e2y*e2y+e2z*e2z
272 e1x = e1x + (e2y *e3z-e2z*e3y)*suma
273 e1y = e1y + (e2z *e3x-e2x*e3z)*suma
274 e1z = e1z + (e2x *e3y-e2y*e3x)*suma
276 suma = e1x*e1x+e1y*e1y+e1z*e1z
277 suma = one/
max(sqrt(suma),em20)
282 e2x = e3y * e1z - e3z * e1y
283 e2y = e3z * e1x - e3x * e1z
284 e2z = e3x * e1y - e3y * e1x
287 v = vx*e3x + vy*e3y + vz*e3z
291 v =sqrt(vx*vx+vy*vy+vz*vz)
295 . anmode=aninfo_blind_1,
309 vr = vx*e1x+vy*e1y+vz*e1z
310 vs = vx*e2x+vy*e2y+vz*e2z
319 u1x = rx*e1x+ry*e1y+rz*e1z
320 u1y = rx*e2x+ry*e2y+rz*e2z
321 u2x = sx*e1x+sy*e1y+sz*e1z
322 u2y = sx*e2x+sy*e2y+sz*e2z
323 det = u1x*u2y-u1y*u2x
334 s = sqrt(aa**2 + bb**2)
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)