33 . IXIG3D,IGEO ,KNOT ,WIGE ,
34 . KNOTLOCPC,KNOTLOCEL )
42#include "implicit_f.inc"
52 INTEGER KXIG3D(NIXIG3D,*),IGEO(NPROPGI,*), IXIG3D(*)
55 . x(3,*) ,v(3,*), knot(*), wige(*),knotlocpc(deg_max,3,*),
57 TYPE(intbuf_struct_) INTBUF_TAB(*)
61 INTEGER I,K,N,J,JS,NCTRL, IPID, N1, N2, N3,
62 . PX, PY, PZ, IDX, IDY, IDZ, IDX2, IDY2, IDZ2, IAD_KNOT
64 . xi, yi, zi, vxi, vyi, vzi,zr, zs, zt
65 INTEGER NKNOT1,,NKNOT3
67 . x_igeo(64),y_igeo(64),z_igeo(64),
68 . vx_igeo(64),vy_igeo(64),vz_igeo(64),
72 . knotlocely(2),knotlocelz(2)
73 my_real,
DIMENSION(:,:),
ALLOCATABLE ::
74 . knotlocx,knotlocy,knotlocz
80 DO i=1,intbuf_tab(n)%S_NIGE
82 js=intbuf_tab(n)%NIGE(i)
84 knotlocelx(1) = knotlocel(1,1,js)
85 knotlocely(1) = knotlocel(1,2,js)
86 knotlocelz(1) = knotlocel(1,3,js)
87 knotlocelx(2) = knotlocel(2,1,js)
88 knotlocely(2) = knotlocel(2,2,js)
89 knotlocelz(2) = knotlocel(2,3,js)
93 iad_knot = igeo(40,ipid)
98 ALLOCATE (knotlocx(px+1,nctrl),knotlocy(py+1,nctrl),knotlocz(pz+1,nctrl))
101 x_igeo(j)=x(1,ixig3d(kxig3d(4,js)+j-1))
102 y_igeo(j)=x(2,ixig3d(kxig3d(4,js)+j-1))
103 z_igeo(j)=x(3,ixig3d(kxig3d(4,js)+j-1))
104 vx_igeo(j)=v(1,ixig3d(kxig3d(4,js)+j-1))
105 vy_igeo(j)=v(2,ixig3d(kxig3d(4,js)+j-1))
106 vz_igeo(j)=v(3,ixig3d(kxig3d(4,js)+j-1))
107 w_igeo(j)=wige(ixig3d(kxig3d(4,js)+j-1))
110 knotlocx(k,j)=knotlocpc(k,1,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
113 knotlocy(k,j)=knotlocpc(k,2,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
116 knotlocz(k,j)=knotlocpc(k,3,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
139 zr = intbuf_tab(n)%RIGE(3*(i-1)+1)
140 zs = intbuf_tab(n)%RIGE(3*(i-1)+2)
141 zt = intbuf_tab(n)%RIGE(3*(i-1)+3)
153 1 js ,n ,x_igeo ,y_igeo,
154 2 z_igeo,w_igeo ,idx ,idy ,
155 3 idz ,knotlocx ,knotlocy,knotlocz,
157 5 zr ,zs ,zt ,knot(iad_knot+1),
158 6 knot(iad_knot+nknot1+1),knot(iad_knot+nknot1+nknot2+1),px-1,
161 9 knotlocelx,knotlocely,knotlocelz)
165 xi = xi + r(j)*x_igeo(j)
166 yi = yi + r(j)*y_igeo(j)
167 zi = zi + r(j)*z_igeo(j)
168 vxi = vxi + r(j)*vx_igeo(j)
169 vyi = vyi + r(j)*vy_igeo(j)
170 vzi = vzi + r(j)*vz_igeo(j)
172 intbuf_tab(n)%XIGE(3*(i-1)+1)=xi
173 intbuf_tab(n)%XIGE(3*(i-1)+2)=yi
174 intbuf_tab(n)%XIGE(3*(i-1)+3)=zi
175 intbuf_tab(n)%VIGE(3*(i-1)+1)=vxi
176 intbuf_tab(n)%VIGE(3*(i-1)+2)=vyi
177 intbuf_tab(n)%VIGE(3*(i-1)+3)=vzi
178 DEALLOCATE (knotlocx,knotlocy,knotlocz)
subroutine ig3donebasis(itel, n, xxi, yyi, zzi, wwi, idx, idy, idz, knotlocx, knotlocy, knotlocz, r, nctrl, gaussx, gaussy, gaussz, kx, ky, kz, px, py, pz, boolg, idx2, idy2, idz2, knotlocelx, knotlocely, knotlocelz)