41
42
43
44 USE elbufdef_mod
46
47
48
49#include "implicit_f.inc"
50
51
52
53#include "mvsiz_p.inc"
54
55
56
57#include "vect01_c.inc"
58#include "com01_c.inc"
59#include "com04_c.inc"
60#include "param_c.inc"
61#include "tabsiz_c.inc"
62#include "scr14_c.inc"
63#include "ige3d_c.inc"
64
65
66
67 INTEGER KXIG3D(NIXIG3D,*),IXIG3D(*),IGEO(NPROPGI,*),
68 . NANIM3D_L, IPARG(NPARG,*), NISOELCUT, NG, NBG, NCTRL, NEL_P, ITAB(*),
69 . PX,PY,PZ
70 INTEGER IG3DSOLID(8,27,*)
71 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
73 . x(3,*),d(3,*),v(3,*),a(3,*),wige(*),knot(*),
74 . x_temp(3,*),d_temp(3,*),v_temp(3,*),a_temp(3,*),
75 . cont(3,*),cont_temp(3,*),
76 . fint(3,*),fint_temp(3,*),fext(3,*),fext_temp(3,*),
77 . freac(6,*),freact_temp(3,*),knotlocpc(deg_max,3,*),knotlocel(2,3,*)
79 . DIMENSION(6,*) :: tabstresl
80
81
82
83 INTEGER IDX(MVSIZ),IDY(MVSIZ),IDZ(MVSIZ),
84 . IDX2(MVSIZ),IDY2(MVSIZ)
85,
86 . O, , Q, BID, COUNT, PROJEC,
87 . ITENS, IDBRICK
88,
89 . IR, IS, IT, ING, DECAL, COUNT2, COUNT3
90
92 . xx(nctrl,mvsiz),yy(nctrl,mvsiz),zz(nctrl,mvsiz),
93 . dx(nctrl,mvsiz),dy(nctrl,mvsiz),dz(nctrl,mvsiz),
94 . ux(nctrl,mvsiz),uy(nctrl,mvsiz),uz(nctrl,mvsiz),
95 . vx(nctrl,mvsiz),vy(nctrl,mvsiz),vz(nctrl,mvsiz),
96 . ax(nctrl,mvsiz),ay(nctrl,mvsiz),az(nctrl,mvsiz),
97 . contx(nctrl,mvsiz),conty(nctrl,mvsiz),contz(nctrl,mvsiz),
98 . fintx(nctrl,mvsiz),finty(nctrl,mvsiz),fintz(nctrl,mvsiz),
99 . fextx(nctrl,mvsiz),fexty(nctrl,mvsiz),fextz(nctrl,mvsiz),
100 . freactx(nctrl,mvsiz),freacty(nctrl,mvsiz),freactz(nctrl,mvsiz),
101 . ww(nctrl,mvsiz),pasx, pasy, pasz, r(nctrl),
102 . xi(3), xxi(3), di(3), vi(3), ai(3),conti(3),
103 . finti(3),fexti(3),freacti(3),
104 . s(6), zr, zs, zt, detjac, pgauss,knotlocx(px+1,nctrl,mvsiz),
105 . knotlocy(py+1,nctrl,mvsiz),knotlocz(pz+1,nctrl,mvsiz),
106 . knotlocelx(2,mvsiz),
107 . knotlocely(2,mvsiz),knotlocelz(2,mvsiz)
108 TYPE(L_BUFEL_) ,POINTER :: LBUF
110 . ALLOCATABLE, DIMENSION(:) :: mab
112 . ALLOCATABLE, DIMENSION(:,:) :: ri,fi
114 . rbid,tbid(nctrl,3)
115
116 double precision
117 . w_gauss(9,9),a_gauss(9,9)
118 DATA w_gauss /
119 1 2.d0 ,0.d0 ,0.d0 ,
120 1 0.d0 ,0.d0 ,0.d0 ,
121 1 0.d0 ,0.d0 ,0.d0 ,
122 2 1.d0 ,1.d0 ,0.d0 ,
123 2 0.d0 ,0.d0 ,0.d0 ,
124 2 0.d0 ,0.d0 ,0.d0 ,
125 3 0.555555555555556d0,0.888888888888889d0,0.555555555555556d0,
126 3 0.d0 ,0.d0 ,0.d0 ,
127 3 0.d0 ,0.d0 ,0.d0 ,
128 4 0.347854845137454d0,0.652145154862546d0,0.652145154862546d0,
129 4 0.347854845137454d0,0.d0 ,0.d0 ,
130 4 0.d0 ,0.d0 ,0.d0 ,
131 5 0.236926885056189d0,
132 5 0.478628670499366d0,0.236926885056189d0,0.d0 ,
133 5 0.d0 ,0.d0 ,0.d0 ,
134 6 0.171324492379170d0,0.360761573048139d0,0.46
135 6 0.467913934572691d0,0.360761573048139d0,0.171324492379170d0,
136 6 0.d0 ,0.d0 ,0.d0 ,
137 7 0.129484966168870d0,0.279705391489277d0,0.381830050505119d0,
138 7 0.417959183673469d0,0.381830050505119d0,0.279705391489277d0,
139 7 0.129484966168870d0,0.d0 ,0.d0 ,
140 8 0.101228536290376d0,0.222381034453374d0,0.313706645877887d0,
141 8 0.362683783378362d0,0.362683783378362d0,0.313706645877887d0,
142 8 0.222381034453374d0,0.1012285362903
143 9 0.081274388361574d0,0.180648160694857d0,0.260610696402935d0,
144 9 0.312347077040003d0,0.330239355001260d0,0.312347077040003d0,
145 9 0.260610696402935d0,0.180648160694857d0,0.081274388361574d0/
146 DATA a_gauss /
147 1 0.d0 ,0.d0 ,0.d0 ,
148 1 0.d0 ,0.d0 ,0.d0 ,
149 1 0.d0 ,0.d0 ,0.d0 ,
150 2 -.577350269189625d0,0.577350269189625d0,0.d0 ,
151 2 0.d0 ,0.d0 ,0.d0 ,
152 2 0.d0 ,0.d0 ,0.d0 ,
153 3 -.774596669241483d0,0.d0 ,0.774596669241483d0,
154 3 0.d0 ,0.d0 ,0.d0 ,
155 3 0.d0 ,0.d0 ,0.d0 ,
156 4 -.861136311594053d0,-.339981043584856d0,0.339981043584856d0,
157 4 0.861136311594053d0,0.d0 ,0.d0 ,
158 4 0.d0 ,0.d0 ,0.d0 ,
159 5 -.906179845938664d0,-.538469310105683d0,0.d0 ,
160 5 0.538469310105683d0,0.906179845938664d0,0.d0 ,
161 5 0.d0 ,0.d0 ,0.d0 ,
162 6 -.932469514203152d0,-.661209386466265d0,-.238619186083197d0,
163 6 0.238619186083197d0,0.661209386466265d0,0.932469514203152d0,
164 6 0.d0 ,0.d0 ,0.d0 ,
165 7 -.949107912342759d0,-.741531185599394d0,-.405845151377397d0,
166 7 0.d0 ,0.405845151377397d0,0.741531185599394d0,
167 7 0.949107912342759d0,0.d0 ,0.d0 ,
168 8 -.960289856497536d0,-.796666477413627d0,-.525532409916329d0,
169 8 -.183434642495650d0,0.183434642495650d0,0.525532409916329d0,
170 8 0.796666477413627d0,0.960289856497536d0,0.d0 ,
171 9 -.968160239507626d0,-.836031107326636d0,-.613371432700590d0,
172 9 -.324253423403809d0,0.d0 ,0.324253423403809d0,
173 9 0.613371432700590d0,0.836031107326636d0,0.968160239507626d0/
174
175
176
177 ierror = 0
178 iprop=iparg(62,ng)
179 iad_knot = igeo(40,iprop)
180 n1 = igeo(44,iprop)
181 n2 = igeo(45,iprop)
182 n3 = igeo(46,iprop)
183 idfrstlocknt = igeo(47,iprop)
184 nknot1 = n1+px
185 nknot2 = n2+py
186 nknot3 = n3+pz
187 knotlocx = zero
188 knotlocy = zero
189 knotlocz = zero
190 knotlocelx = zero
191 knotlocely = zero
192 knotlocelz = zero
193
194 ALLOCATE(mab(sixig3d),ri(6,sixig3d),
195 . fi(6,sixig3d), stat=ierror)
196
197 IF(ierror/=0)THEN
198 CALL ancmsg(msgid=249,anmode=aninfo)
200 END IF
201
202 mab(:) = zero
203 ri(:,:) = zero
204 decal = nisoelcut
205
207
208 DO ing=ng,ng+nbg-1
209
210 nft=iparg(3,ing)
211 nel=iparg(2,ing)
213
214 DO i=lft,llt
215 DO j=1,nctrl
216 IF( j <= kxig3d(3,i+nft) ) THEN
217 xx(j,i)=x(1,ixig3d(kxig3d(4,i+nft)+j-1))
218 yy(j,i)=x(2,ixig3d(kxig3d(4,i+nft)+j-1))
219 zz(j,i)=x(3,ixig3d(kxig3d(4,i+nft)+j-1))
220 IF(anim_v(1)==1) THEN
221 vx(j,i)=v(1,ixig3d(kxig3d(4,i+nft)+j-1))
222 vy(j,i)=v(2,ixig3d(kxig3d(4,i+nft)+j-1))
223 vz(j,i)=v(3,ixig3d(kxig3d(4,i+nft)+j-1))
224 ENDIF
225 IF(anim_v(2)==1) THEN
226 dx(j,i)=d(1,ixig3d(kxig3d(4,i+nft)+j-1))
227 dy(j,i)=d(2,ixig3d(kxig3d(4,i+nft)+j-1))
228 dz(j,i)=d(3,ixig3d(kxig3d(4,i+nft)+j-1))
229 ENDIF
230 IF(anim_v(3)==1) THEN
231 ax(j,i)=a(1,ixig3d(kxig3d(4,i+nft)+j-1))
232 ay(j,i)=a(2,ixig3d(kxig3d(4,i+nft)+j-1))
233 az(j,i)=a(3,ixig3d(kxig3d(4,i+nft)+j-1))
234 ENDIF
235 IF(anim_v(4)>0)THEN
236 contx(j,i)=cont(1,ixig3d(kxig3d(4,i+nft)+j-1))
237 conty(j,i)=cont(2,ixig3d(kxig3d(4,i+nft)+j-1))
238 contz(j,i)=cont(3,ixig3d(kxig3d(4,i+nft)+j-1))
239 ENDIF
240 IF(anim_v(5)==1) THEN
241 fintx(j,i)=fint(1,ixig3d(kxig3d(4,i+nft)+j-1))
242 finty(j,i)=fint(2,ixig3d(kxig3d(4,i+nft)+j-1))
243 fintz(j,i)=fint(3,ixig3d(kxig3d(4,i+nft)+j-1))
244 ENDIF
245 IF(anim_v(6)==1) THEN
246 fextx(j,i)=fext(1,ixig3d(kxig3d(4,i+nft)+j-1))
247 fexty(j,i)=fext(2,ixig3d(kxig3d(4,i+nft)+j-1))
248 fextz(j,i)=fext(3,ixig3d(kxig3d(4,i+nft)+j-1))
249 ENDIF
250 IF(anim_v(17)==1) THEN
251 freactx(j,i)=freac(1,ixig3d(kxig3d(4,i+nft)+j-1))
252 freacty(j,i)=freac(2,ixig3d(kxig3d(4,i+nft)+j-1))
253 freactz(j,i)=freac(3,ixig3d(kxig3d(4,i+nft)+j-1))
254 ENDIF
255 ww(j,i)=1
256 DO k=1,px+1
257 knotlocx(k,j,i)=knotlocpc(k,1,(kxig3d(2,i+nft)-1)*numnod+ixig3d(kxig3d(4,i+nft)+j-1))
258 ENDDO
259 DO k=1,py+1
260 knotlocy(k,j,i)=knotlocpc(k,2,(kxig3d(2,i+nft)-1)*numnod+ixig3d(kxig3d(4,i+nft)+j-1))
261 ENDDO
262 DO k=1,pz+1
263 knotlocz(k,j,i)=knotlocpc(k,3,(kxig3d(2,i+nft)-1)*numnod+ixig3d(kxig3d(4,i+nft)+j-1))
264 ENDDO
265 ENDIF
266 ENDDO
267 idx(i) = kxig3d(6,i+nft)
268 idy(i) = kxig3d(7,i+nft)
269 idz(i) = kxig3d(8,i+nft)
270 idx2(i) = kxig3d(9,i+nft)
271 idy2(i) = kxig3d(10,i+nft)
272 idz2(i) = kxig3d(11,i+nft)
273 knotlocelx(1,i) = knotlocel(1,1,i+nft)
274 knotlocely(1,i) = knotlocel(1,2,i+nft)
275 knotlocelz(1,i) = knotlocel(1,3,i+nft)
276 knotlocelx(2,i) = knotlocel(2,1,i+nft)
277 knotlocely(2,i) = knotlocel(2,2,i+nft)
278 knotlocelz(2,i) = knotlocel(2,3,i+nft)
279 ENDDO
280
281 count = 0
282
283 DO i=lft,llt
284
285 pasx = (knotlocelx(2,i) - knotlocelx(1,i)) / three
286 pasy = (knotlocely(2,i) - knotlocely(1,i)) / three
287 pasz = (knotlocelz(2,i) - knotlocelz(1,i)) / three
288
289
290
291
292
293
294
295 DO n=1,4
296 DO m=1,4
297 DO l=1,4
298
299 count = count+1
301
302 DO itens=1,3
303 xxi(itens) = zero
304 IF(anim_v(1)==1) THEN
305 vi(itens) = zero
306 ENDIF
307 IF(anim_v(2)==1) THEN
308 di(itens) = zero
309 ENDIF
310 IF(anim_v(3)==1) THEN
311 ai(itens) = zero
312 ENDIF
313 IF(anim_v(4)>0)THEN
314 conti(itens) = zero
315 ENDIF
316 IF(anim_v(5)>0)THEN
317 finti(itens) = zero
318 ENDIF
319 IF(anim_v(6)>0)THEN
320 fexti(itens) = zero
321 ENDIF
322 IF(anim_v(17)>0)THEN
323 freacti(itens) = zero
324 ENDIF
325 ENDDO
326
327 xi(1) = knotlocelx(1,i) + (l-1)*pasx
328 xi(2) = knotlocely(1,i) + (m-1)*pasy
329 xi(3) = knotlocelz(1,i) + (n-1)*pasz
330
331
332
333
334
335
336
337
338
339
341 1 i ,bid ,xx(:,i) ,yy(:,i),
342 2 zz(:,i),ww(:,i) ,idx(i) ,idy(i) ,
343 3 idz(i) ,knotlocx(:,:,i) ,knotlocy(:,:,i),knotlocz(:,:,i),
344 4 r ,nctrl ,
345 5 xi(1) ,xi(2) ,xi(3) ,knot(iad_knot+1),
346 6 knot(iad_knot+nknot1+1),knot(iad_knot+nknot1+nknot2+1),px-1,
347 7 py-1 ,pz-1 ,0 ,
348 8 idx2(i),idy2(i) ,idz2(i) ,
349 9 knotlocelx(:,i),knotlocely(:,i),knotlocelz(:,i))
350
351 DO j=1,nctrl
352 xxi(1) = xxi(1) + r(j)*xx(j,i)
353 xxi(2) = xxi(2) + r(j)*yy(j,i)
354 xxi(3) = xxi(3) + r(j)*zz(j,i)
355 IF(anim_v(1)==1) THEN
356 vi(1) = vi(1) + r(j)*vx(j,i)
357 vi(2) = vi(2) + r(j)*vy(j,i)
358 vi(3) = vi(3) + r(j)*vz(j,i)
359 ENDIF
360 IF(anim_v(2)==1) THEN
361 di(1) = di(1) + r(j)*dx(j,i)
362 di(2) = di(2) + r(j)*dy(j,i)
363 di(3) = di(3) + r(j)*dz(j,i)
364 ENDIF
365 IF(anim_v(3)==1) THEN
366 ai(1) = ai(1) + r(j)*ax(j,i)
367 ai(2) = ai(2) + r(j)*ay(j,i)
368 ai(3) = ai(3) + r(j)*az(j,i)
369 ENDIF
370 IF(anim_v(4)>0)THEN
371 conti(1) = conti(1) + r(j)*contx(j,i)
372 conti(2) = conti(2) + r(j)*conty(j,i)
373 conti(3) = conti(3) + r(j)*contz(j,i)
374 ENDIF
375 IF(anim_v(5)>0)THEN
376 finti(1) = finti(1) + r(j)*fintx(j,i)
377 finti(2) = finti(2) + r(j)*finty(j,i)
378 finti(3) = finti(3) + r(j)*fintz(j,i)
379 ENDIF
380 IF(anim_v(6)>0)THEN
381 fexti(1) = fexti(1) + r(j)*fextx(j,i)
382 fexti(2) = fexti(2) + r(j)*fexty(j,i)
383 fexti(3) = fexti(3) + r(j)*fextz(j,i)
384 ENDIF
385 IF(anim_v(17)>0)THEN
386 freacti(1) = freacti(1) + r(j)*freactx(j,i)
387 freacti(2) = freacti(2) + r(j)*freacty(j,i)
388 freacti(3) = freacti(3) + r(j)*freactz(j,i)
389 ENDIF
390 ENDDO
391
392 DO itens=1,3
393 x_temp(itens,count + decal*64) = xxi(itens)
394 IF(anim_v(1)==1) THEN
395 v_temp(itens,count + decal*64) = vi(itens)
396 ENDIF
397 IF(anim_v(2)==1) THEN
398 d_temp(itens,count + decal*64) = di(itens)
399 ENDIF
400 IF(anim_v(3)==1) THEN
401 a_temp(itens,count + decal*64) = ai(itens)
402 ENDIF
403 IF(anim_v(4)>0)THEN
404 cont_temp(itens,count + decal*64) = conti(itens)
405 ENDIF
406 IF(anim_v(5)>0)THEN
407 fint_temp(itens,count + decal*64) = finti(itens)
408 ENDIF
409 IF(anim_v(6)>0)THEN
410 fext_temp(itens,count + decal*64) = fexti(itens)
411 ENDIF
412 IF(anim_v(17)>0)THEN
413 freact_temp(itens,count + decal*64) = freacti(itens)
414 ENDIF
415 ENDDO
416
417 ENDDO
418 ENDDO
419 ENDDO
420
421 idbrick=0
422 DO l=1,2+1
423 DO m=0,2
424 DO n=0,2
425 idbrick = idbrick+1
426 ig3dsolid(1,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + l +m *(2+2)+n *((2+2)*(2+2))
427 ig3dsolid(2,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + (l+1)+m *(2+2)+n *((2+2)*(2+2))
428 ig3dsolid(3,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + (l+1)+(m+1)*(2+2)+n *((2+2)*(2+2))
429 ig3dsolid(4,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + l +(m+1)*(2+2)+n *((2+2)*(2+2))
430 ig3dsolid(5,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + l +m *(2+2)+(n+1)*((2+2)*(2+2))
431 ig3dsolid(6,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + (l+1)+m *(2+2)+(n+1)*((2+2)*(2+2))
432 ig3dsolid(7,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + (l+1)+(m+1)*(2+2)+(n+1)*
433 ig3dsolid(8,idbrick,i+nft) = numnod + 64*(i-1) + decal*64 - 1 + l +(m+1)*(
434 ENDDO
435 ENDDO
436 ENDDO
437
438 ENDDO
439
440
441
442 count2 = 0
443
444 DO ir=1,px
445 DO is=1,py
446 DO it=1,pz
447
448 count2 = count2+1
449 lbuf => elbuf_tab(ing)%BUFLY(1)%LBUF(ir,is,it)
450
451 zr = a_gauss(ir,px)
452 zs = a_gauss(is,py)
453 zt = a_gauss(it,pz)
454 pgauss = w_gauss(ir,px)*w_gauss(is,py)*w_gauss(it,pz)
455
456 DO i=lft,llt
457 jj = 6*(i-1)
458
459
460
461
462
463
464
466 1 i ,bid ,xx(:,i),yy(:,i),
467 2 zz(:,i),ww(:,i),idx(i) ,idy(i) ,
468 3 idz(i) ,knotlocx(:,:,i) ,knotlocy(:,:,i),knotlocz(:,:,i) ,
469 4 tbid ,r ,detjac ,nctrl ,
470 5 zr ,zs ,zt ,knot(iad_knot+1),
471 6 knot(iad_knot+nknot1+1),knot(iad_knot+nknot1+nknot2+1),px-1,
472 7 py-1 ,pz-1 ,1 ,
473 8 idx2(i),idy2(i) ,idz2(i) ,
474 9 knotlocelx(:,i),knotlocely(:,i),knotlocelz(:,i))
475
476 DO j=1,nctrl
477 inctrl = ixig3d(kxig3d(4,i+nft)+j-1)
478 mab(inctrl) = mab(inctrl) + r(j)*detjac*pgauss
479 DO itens=1,6
480 ri(itens,inctrl) = ri(itens,inctrl) + r(j)*lbuf%SIG((itens-1)*nel+i)*detjac*pgauss
481 ENDDO
482 ENDDO
483 ENDDO
484
485 ENDDO
486 ENDDO
487 ENDDO
488
489 decal = decal + nel
490
491 ENDDO
492
493 DO ing=ng,ng+nbg-1
494
495 nft=iparg(3,ing)
496 nel=iparg(2,ing)
498
499 DO i=lft,llt
500 DO j=1,nctrl
501 inctrl = ixig3d(kxig3d(4,i+nft)+j-1)
502 DO itens=1,6
503 fi(itens,inctrl) = ri(itens,inctrl)/mab(inctrl)
504 ENDDO
505 ENDDO
506 ENDDO
507
508 ENDDO
509
511
512 DO ing=ng,ng+nbg-1
513
514 nft=iparg(3,ing)
515 nel=iparg(2,ing)
517
518 DO i=lft,llt
519
520 pasx = (knotlocelx(2,i) - knotlocelx(1,i)) / three
521 pasy = (knotlocely(2,i) - knotlocely(1,i)) / three
522 pasz = (knotlocelz(2,i) - knotlocelz(1,i)) / three
523
524
525
526
527
528
529
530 DO n=1,4
531 DO m=1,4
532 DO l=1,4
533
534 xi(1) = knotlocelx(1,i) + (l-1)*pasx
535 xi(2) = knotlocely(1,i) + (m-1)*pasy
536 xi(3) = knotlocelz(1,i) + (n-1)*pasz
537
538
539
540
541
542
543
544
545
546
548 1 i ,bid ,xx(:,i) ,yy(:,i),
549 2 zz(:,i),ww(:,i) ,idx(i) ,idy(i) ,
550 3 idz(i) ,knotlocx(:,:,i) ,knotlocy(:,:,i),knotlocz(:,:,i) ,
551 4 r ,nctrl ,
552 5 xi(1) ,xi(2) ,xi(3) ,knot(iad_knot+1),
553 6 knot(iad_knot+nknot1+1),knot(iad_knot+nknot1+nknot2+1),px-1,
554 7 py-1 ,pz-1 ,0 ,
555 8 idx2(i),idy2(i) ,idz2(i) ,
556 9 knotlocelx(:,i),knotlocely(:,i),knotlocelz(:,i))
558
559 DO itens=1,6
560 s(itens) = zero
561 ENDDO
562
563 DO j=1,nctrl
564 inctrl = ixig3d(kxig3d(4,i+nft)+j-1)
565 DO itens=1,6
566 s(itens) = s(itens) + r(j)*fi(itens,inctrl)
567 ENDDO
568 ENDDO
569
570 DO itens=1,6
571 tabstresl(itens,
count3 + nisoelcut*64) = s(itens)
572 ENDDO
573
574 ENDDO
575 ENDDO
576 ENDDO
577 ENDDO
578
579 ENDDO
580
581 DEALLOCATE(mab,ri,fi)
582
583 nisoelcut = decal
584
585 RETURN
subroutine count3(irect, mnn, n, nrt, ntag)
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)
subroutine ig3donederiv(itel, n, xxi, yyi, zzi, wwi, idx, idy, idz, knotlocx, knotlocy, knotlocz, drdx, r, detjac, nctrl, gaussx, gaussy, gaussz, kx, ky, kz, px, py, pz, boolg, idx2, idy2, idz2, knotlocelx, knotlocely, knotlocelz)
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)