35 . MS ,IN ,WEIGHT ,NDOF ,D ,DR )
43#include "implicit_f.inc"
48 INTEGER IPARI(*),NDOF(*), WEIGHT(*)
51 . x(*),ms(*),in(*),d(3,*),dr(3,*)
53 TYPE(intbuf_struct_) INTBUF_TAB
58 . nsn,nmn,nrts,nrtm,ilev
69 CALL i2recu2(nsn ,nmn ,intbuf_tab%IRECTM,
70 1 intbuf_tab%DPARA,intbuf_tab%MSR,intbuf_tab%NSV,
72 2 ms ,x ,weight ,ndof ,
75 CALL i2recu1(nsn ,nmn ,intbuf_tab%IRECTM,
76 1 intbuf_tab%DPARA,intbuf_tab%MSR,intbuf_tab%NSV,
78 2 ms ,x ,weight ,ndof ,
82 CALL i2recu0(nsn ,nmn ,intbuf_tab%IRECTM,
83 1 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,
85 2 ms ,x ,weight ,ndof ,
99 SUBROUTINE i2recu0(NSN,NMN,IRECT,CRST,MSR ,
100 1 NSV,IRTL,MS ,X ,WEIGHT,
105#include "implicit_f.inc"
106#include "impl1_c.inc"
110 INTEGER NSN, NMN,NDOF(*),
111 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
114 . crst(2,*), d(3,*),ms(*),dr(3,*),x(3,*)
118 INTEGER NIR, I, J, , J2, J3, J4, K, , II, L, JJ,
122 . h(4), ss, tt, sp,sm,tp,tm,dr1(3),xs,ys,zs,xs0,ys0,zs0,nun,
141 IF (irect(3,l)==irect(4,l))
THEN
160 nd =
max(nd,ndof(nj))
183 d(k,i)=d(k,i)+h(j)*d(k,nj)
193 dr(k,i)=dr(k,i)+h(j)*dr(k,nj)
201 CALL velrot(dr(1,i),lsm,ds)
203 d(k,i) = d(k,i) + ds(k)
206 d(1,i)=d(1,i)+zs*dr(2,i)-ys*dr(3,i)
207 d(2,i)=d(2,i)-zs*dr(1,i)+xs*dr(3,i)
208 d(3,i)=d(3,i)+ys*dr(1,i)-xs*dr(2,i)
223 1 NSV,IRTL,MS ,X ,WEIGHT,
228#include "implicit_f.inc"
232 INTEGER NSN, NMN,NDOF(*),
233 . IRECT(4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
236 . DPARA(7,*), D(3,*),MS(*),DR(3,*),X(3,*)
240 INTEGER I, J, K, II, L, NIR(NSN),NJ
243 . RJ(3,3,4,NSN),RJT(3,3,4,NSN)
247 CALL i2matc(nsn,irect,dpara,nsv,irtl,x ,
264 d(k,i)=d(k,i)+rjt(k,1,j,ii)*d(1,nj)+
265 . rjt(k,2,j,ii)*d(2,nj)+rjt(k,3,j,ii)*d(3,nj)
269 dr(k,i)=dr(k,i)+rj(k,1,j,ii)*d(1,nj)+
270 . rj(k,2,j,ii)*d(2,nj)+rj(k,3,j,ii)*d(3,nj)
288 1 NSV,IRTL,MS ,X ,WEIGHT,
293#include "implicit_f.inc"
297 INTEGER NSN, NMN,NDOF(*),
298 . (4,*), MSR(*), NSV(*), IRTL(*),WEIGHT(*)
301 . DPARA(7,*), D(3,*),MS(*),DR(3,*),X(3,*)
305 INTEGER , J, K, II, L, NIR(NSN),NJ,NIRI
308 . rj(3,3,4,nsn),rjt(3,3,4,nsn),facm,x0,y0,z0,
309 . lsm(3),dr2(3),ds(3),xm(4),ym(4),zm(4),dt(3)
325 IF(irect(3,l)==irect
THEN
335 x0=facm*(xm(1)+xm(2)+xm(3)+xm(4))
336 y0=facm*(ym(1)+ym(2)+ym(3)+ym(4))
337 z0=facm*(zm(1)+zm(2)+zm(3)+zm(4))
355 dr2(k)=dr2(k)+rj(k,1,j,ii)*d(1,nj)+
356 . rj(k,2,j,ii)*d(2,nj)+rj(k,3,j,ii)*d(3,nj)
357 dt(k) = dt(k) + facm*d(k,nj)
362 dr(k,i)=dr(k,i)+rj(k,1,j,ii)*d(1,nj)+
363 . rj(k,2,j,ii)*d(2,nj)+rj(k,3,j,ii)*d(3,nj)
369 d(k,i)=d(k,i)+ ds(k)+ dt(k)
387#include "implicit_f.inc"
392 . IRECT(4,*), NSV(*), IRTL(*),II
395 . D(3,*),X(3,*),DPARA(7,*)
399 INTEGER I, J, J1,J2,J3,, L, JJ
402 . vmx, vmy, vmz,mgx,mgy,mgz,vrx,vry,vrz,
403 . x0,x1,x2,x3,x4,xs,y0,y1,y2,y3,y4,ys,z0,z1,
404 . z2,z3,z4,zs,a1,a2,a3,b1,b2,b3,c1,c2,c3,det
424 x0=fourth*(x1+x2+x3+x4)
425 y0=fourth*(y1+y2+y3+y4)
426 z0=fourth*(z1+z2+z3+z4)
451 vmx=fourth*(d(1,j1)+d(1,j2)+d(1,j3)+d(1,j4))
452 vmy=fourth*(d(2,j1)+d(2,j2)+d(2,j3)+d(2,j4))
453 vmz=fourth*(d(3,j1)+d(3,j2)+d(3,j3)+d(3,j4))
455 mgx = y1*d(3,j1) + y2*d(3,j2) + y3*d(3,j3) + y4*d(3,j4)
456 . - z1*d(2,j1) - z2*d(2,j2) - z3*d(2,j3) - z4*d(2,j4)
457 mgy = z1*d(1,j1) + z2*d(1,j2) + z3*d(1,j3) + z4*d(1,j4)
458 . - x1*d(3,j1) - x2*d(3,j2) - x3*d(3,j3) - x4*d(3,j4)
459 mgz = x1*d(2,j1) + x2*d(2,j2) + x3*d(2,j3) + x4*d(2,j4)
460 . - y1*d(1,j1) - y2*d(1,j2) - y3*d(1,j3) - y4*d(1,j4)
461 vrx=det*(mgx*b1+mgy*c3+mgz*c2)
462 vry=det*(mgy*b2+mgz*c1+mgx*c3)
463 vrz=det*(mgz*b3+mgx*c2+mgy*c1)
464 d(1,i)=vmx + vry*zs - vrz*ys
465 d(2,i)=vmy + vrz*xs - vrx*zs
466 d(3,i)=vmz + vrx*ys - vry*xs
481#include "implicit_f.inc"
486 . IRECT(4,*), NSV(*), IRTL(*), II,NDOF(*)
489 . X(3,*),D(3,*),DR(3,*), CRST(2,*)
493 INTEGER NIR, I, J, J1, J2, J3, J4, K, JD, L, JJ,
497 . h(4), ss, tt, sp,sm,tp,tm,dr1(3),xs,ys,zs,xs0,ys0,zs0
516 nd =
max(nd,ndof(nj))
540 d(k,i)=d(k,i)+h(j)*d(k,nj)
549 dr1(k)=dr1(k)+h(j)*dr(k,nj)
552 d(1,i)=d(1,i)+zs*dr1(2)-ys*dr1(3)
553 d(2,i)=d(2,i)-zs*dr1(1)+xs*dr1(3)
554 d(3,i)=d(3,i)+ys*dr1(1)-xs*dr1(2)
subroutine i2recu0(nsn, nmn, irect, crst, msr, nsv, irtl, ms, x, weight, ndof, d, dr)
subroutine i2recu2(nsn, nmn, irect, dpara, msr, nsv, irtl, ms, x, weight, ndof, d, dr)
subroutine i2recu1(nsn, nmn, irect, dpara, msr, nsv, irtl, ms, x, weight, ndof, d, dr)