76
77
78
79 USE elbufdef_mod
82 USE defaults_mod
84 USE format_mod , ONLY : fmt_10i
85 use glob_therm_mod
87 use element_mod , only : nixs,nixc,nixt,nixp,nixr,nixtg
88
89
90
91#include "implicit_f.inc"
92
93
94
95#include "mvsiz_p.inc"
96
97
98
99#include "vect01_c.inc"
100#include "param_c.inc"
101#include "scr03_c.inc"
102#include "com01_c.inc"
103#include "com04_c.inc"
104#include "scr12_c.inc"
105#include "units_c.inc"
106#include "random_c.inc"
107#include "scr17_c.inc"
108
109
110
111 INTEGER NVC, IHBE, ISOLNOD, ISUBSTACK
112 INTEGER IXC(NIXC,*),IXS(NIXS,*),IXTG(NIXTG,*),
113 . IPARTS(*),IPARTC(*),IPARTT(*),IGEO(NPROPGI,*),
114 . NSHNOD(*), (*), SH3TREE(*),SH3TRIM(*),
115 . PERTURB(NPERTURB),IXT(NIXT,*),IPARTTR(*),IXP(NIXP,*),IPARTP(*),
116 . ITAB(*),IXR(NIXR,*),IMERGE2(NUMNOD+1),NEL,IPARTR(*),
117 . IADMERGE2(NUMNOD+1)
118 INTEGER*8 I8MI(6,*)
119 INTEGER,INTENT(IN) :: IBEAM_VECTOR(NUMELP)
121 . pm(npropm,*), geo(npropg,*),ms(*),msc(*),mss(8,*),
122 . mstg(*),intg(*),ptg(3,*),in(*),inc(*),thkc(*),thkt(*),
123 . x(3,*),v(3,*),veul(lveul,*),dtelem(*),partsav(20,*),
124 . msnf(*), mssf(8,*), wma(*), etnod(*), stc(*), sttg(*),
125 . mcp(*),mcpc(*),temp(*),mcps(8,*),
126 . xrefc(4,3,*),xreftg(3,3,*),xrefs(8,3,*), mssa(*), volnod(*),
127 . bvolnod(*), bns(8,*), vns(8,*),rnoise(*),part_area(*),ele_area(*),
128 . mst(*),msp(*),stt(*),stp(*),strp(*),inp(*),stifint(*),mcpp(*),
129 . inr(3,*),msr(3,*),msrt(*),str(*)
130 my_realINTENT(IN) :: rbeam_vector(3,numelp)
131 TYPE(ELBUF_STRUCT_), TARGET :: ELBUF_STR
132 TYPE(DEFAULTS_), INTENT(IN) :: DEFAULTS
133 type(glob_therm_) ,intent(inout) :: glob_therm
134
135
136
137 INTEGER , IGTYP,IMAT,IPROP, NDEPAR, NREFSTA, , NF1
138 INTEGER MXT(MVSIZ), (MVSIZ), NGL(MVSIZ),
139 . IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),
140 . (MVSIZ),IX6(MVSIZ),IX7(MVSIZ),IX8(MVSIZ),IBID(MVSIZ),II(6),
141 . ID, IPID, J, I0,I1,I2,I3,ITMP, KK, K,IMASS,KK1,IMAS_DS,
142 . IVECT(MVSIZ)
144 .
area(mvsiz), rho(mvsiz),vol(mvsiz),
145 . x1(mvsiz),x2(mvsiz),x3(mvsiz),x4(mvsiz),x5(mvsiz),x6(mvsiz),
146 . x7(mvsiz),x8(mvsiz),y1(mvsiz),y2(mvsiz),y3(mvsiz),y4(mvsiz),
147 . y5(mvsiz),y6(mvsiz),y7(mvsiz),y8(mvsiz),z1(mvsiz),z2(mvsiz),
148 . z3(mvsiz),z4(mvsiz),z5(mvsiz),z6(mvsiz),z7(mvsiz),z8(mvsiz),
149 . rx(mvsiz) ,ry(mvsiz) ,rz(mvsiz) ,sx(mvsiz) ,
150 . sy(mvsiz) ,sz(mvsiz) ,tx(mvsiz) ,ty(mvsiz) ,tz(mvsiz) ,
151 . e1x(mvsiz),e1y(mvsiz),e1z(mvsiz),e2x(mvsiz),
152 . e2y(mvsiz),e2z
153 . f1x(mvsiz) ,f1y(mvsiz) ,f1z(mvsiz) ,
154 . f2x(mvsiz) ,f2y(mvsiz) ,f2z(mvsiz),bid(mvsiz),rhocp(mvsiz),
155 . temp0(mvsiz) ,fill(mvsiz),bidg(mvsiz),
156 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
157 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
158 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),volu(mvsiz),
159 . x2l(mvsiz),x3l(mvsiz),y3l(mvsiz),
160 . x31(mvsiz),y31(mvsiz
161 .
bidon,
noise, xl(mvsiz),length,uiner(mvsiz),massr(mvsiz),
162 . xm, xine,ratio,kx,ems(mvsiz),rhor,vect(3,mvsiz)
163 my_real,
DIMENSION(:),
ALLOCATABLE :: stifntmp !numnod
164 double precision
165 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
166 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
167 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
168 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
169 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
170 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),voldp(mvsiz)
171 CHARACTER(LEN=NCHARTITLE) :: TITR
172
173 TYPE(ELBUF_STRUCT_) ,POINTER :: BIDBUF
174 TYPE (STACK_PLY) ::
175 TYPE(),POINTER :: GBUF
176 TYPE (DRAPE_), DIMENSION(NUMELC_DRAPE + NUMELTG_DRAPE) :: DRAPE
177
178
179 ALLOCATE(stifntmp(numnod))
180 gbuf => elbuf_str%GBUF
181
182 bidbuf => null()
183
184 ibid(1:mvsiz) = 0
185 bid(1:mvsiz) = zero
186 nrefsta = nxref
187 nxref = 0
188 nf1=nft+1
189 IF (ity == 1.AND. ismstr == 10) ismstr = 4
190 imas_ds = defaults%SOLID%IMAS
191
192 IF(ity == 1.AND.isolnod == 4)THEN
193
194 CALL s4coor3(x ,xrefs(1,1,nft+1),ixs(1,nft+1),ngl ,
195 . mxt ,pid ,ix1 ,ix2 ,ix3 ,ix4 ,
196 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
197 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 )
198 DO i=1,nel
199 rho(i) = pm(89,mxt(i))
200 dtelem(nft+i) = ep30
201 fill(i) = one
202 rhocp(i) = pm(69,mxt(i))
203 temp0(i) = pm(79,mxt(i))
204 ENDDO
205 CALL s4deri3(vol,veul(1,nft+1) ,geo ,igeo ,rx ,
206 . ry ,rz ,sx ,sy ,
207 . sz ,tx ,ty ,tz ,
208 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
209 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
210 . px1 ,px2 ,px3 ,px4 ,
211 . py1 ,py2 ,py3 ,py4 ,
212 . pz1 ,pz2 ,pz3 ,pz4 ,bidg,
213 . deltax,volu ,ngl ,pid ,mxt ,
214 . pm ,voldp )
215 IF(jlag+jale+jeul /= 0) THEN
217 1 rho ,ms ,partsav,x ,v ,
218 2 iparts(nft+1),mss(1,nft+1),msnf ,mssf(1,nft+1),wma ,
219 3 rhocp ,mcp ,mcps(1,nft+1) ,temp0,
220 4 temp ,mssa ,ix1 ,ix2 ,ix3 ,ix4 ,
221 5 fill, volu ,imas_ds ,glob_therm%NINTEMP
222 ENDIF
223 IF(i7stifs /= 0)THEN
224 ncc=4
225 CALL sbulk3(volu ,ix1 ,ncc,mxt,pm ,
226 2 volnod,bvolnod,vns(1,nf1),bns(1,nf1),bid,
227 3 bid ,fill )
228 ENDIF
229
230 ELSEIF(ity == 1.AND.isolnod == 10)THEN
231
232 ELSEIF(ity == 1.AND.isolnod == 16)THEN
233
234 ELSEIF(ity == 1.AND.isolnod == 20)THEN
235
236
237 ELSEIF(ity == 1)THEN
238
239 DO i=1,nel
240 rhocp(i) = zero
241 temp0(i) = zero
242 ENDDO
243 CALL scoor3(x,xrefs(1,1,nft+1),ixs(1,nft+1),geo ,mxt ,pid ,ngl ,
244 . ix1 ,ix2 ,ix3 ,ix4 ,ix5 ,ix6 ,ix7 ,ix8 ,
245 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
246 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
247 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8 ,
248 . rx ,ry ,rz ,sx ,sy ,sz ,tx ,ty ,tz ,
249 . e1x ,e1y ,e1z ,e2x ,e2y ,e2z ,e3x ,e3y ,e3z ,
250 . f1x ,f1y ,f1z ,f2x ,f2y ,f2z ,temp0, temp,glob_therm%NINTEMP,
251 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
252 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
253 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 )
254 IF((jeul == 0.OR.integ8 == 0).AND. npt /= 8) THEN
255 DO i=1,nel
256 rho(i) = pm(89,mxt(i))
257 dtelem(nft+i) = ep30
258 fill(i) = one
259 ENDDO
260 CALL sderi3(vol ,veul(1,nft+1) ,geo ,igeo ,
261 . xd1 ,xd2 ,xd3 ,xd4 ,xd5 ,xd6 ,xd7 ,xd8 ,
262 . yd1 ,yd2 ,yd3 ,yd4 ,yd5 ,yd6 ,yd7 ,yd8 ,
263 . zd1 ,zd2 ,zd3 ,zd4 ,zd5 ,zd6 ,zd7 ,zd8 ,
264 . rx ,ry ,rz ,sx ,sy ,sz ,ngl ,pid ,
265 . px1 ,px2 ,px3 ,px4 ,py1 ,py2 ,py3 ,py4 ,
266 . pz1 ,pz2 ,pz3 ,pz4, volu ,voldp,nel ,jeul ,
267 . nxref,imulti_fvm )
269 . x1 ,x2 ,x3 ,x4 ,x5 ,x6 ,x7 ,x8 ,
270 . y1 ,y2 ,y3 ,y4 ,y5 ,y6 ,y7 ,y8 ,
271 . z1 ,z2 ,z3 ,z4 ,z5 ,z6 ,z7 ,z8,
272 . deltax, volu)
274 1 rho , ms , partsav, x , v ,
275 2 iparts(nft+1), mss(1,nft+1) , volu ,
276 3 msnf , mssf(1,nft+1), bid ,
277 4 bid , bid , wma , rhocp, mcp,
278 5 mcps(1,nft+1), mssa ,bid , bid ,fill ,
279 6 ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8)
280 ENDIF
281 IF(i7stifs /= 0)THEN
282 ncc=8
283 CALL sbulk3(volu ,ix1 ,ncc,mxt,pm ,
284 2 volnod,bvolnod,vns(1,nf1),bns(1,nf1),bid,
285 3 bid ,fill )
286 ENDIF
287
288 ELSEIF (ity == 3) THEN
289
290 imat = ixc(1,1+nft)
291 iprop = ixc(nixc-1,1+nft)
292
293 CALL ccoori(x,xrefc(1,1,nft+1),ixc(1,nft+1),
294 . x1 ,x2 ,x3 ,x4
295 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
296 . ix1 ,ix2 ,ix3 ,ix4 ,ngl )
297 CALL cveok3(nvc,4,ix1,ix2,ix3,ix4)
298
300 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
301 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
302 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
303
304
305 IF (imasadd > 0) THEN
306 DO i=1,nel
307 ele_area(i+nft) =
area(i)
308 ENDDO
309 ENDIF
310
311 CALL cinmas(x,xrefc(1,1,nft+1),ixc,geo,pm,ms,in,
312 . thkc,ihbe,partsav,v,ipartc(nft+1),
313 . msc(nft+1),inc(nft+1),
area,
314 . i8mi ,igeo ,etnod ,imat ,iprop ,
315 . nshnod ,stc(nft+1),sh4tree ,mcp ,mcpc(nft+1) ,
316 . temp ,bid , bid,bid
317 . bid,bid,isubstack,ibid,bidbuf,
318 . stack,bidg ,rnoise,drape,glob_therm%NINTEMP,
319 . perturb,ix1 ,ix2 ,ix3 ,ix4 ,ibid, ibid)
320
321 ndepar=numels+nft
322 DO i=1,nel
323 dtelem(ndepar+i) = ep30
324 ENDDO
325
326 ELSEIF(ity == 7)THEN
327
328 imat = ixtg(1,1+nft)
329 iprop = ixtg(nixtg-1,1+nft)
330
331 CALL c3coori(x,xreftg(1,1,nft+1),ixtg(1,nft+1),ngl,
332 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
333 . z1 ,z2 ,z3 ,ix1 ,ix2 ,ix3 )
334 CALL c3veok3(nvc,ix1 ,ix2 ,ix3 )
336 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
337 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
338 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
339 . x31, y31
340
341
342 IF (imasadd > 0) THEN
343 DO i=1,nel
344 ele_area(i+nft+numelc) =
area(i)
345 ENDDO
346 ENDIF
347
348 CALL c3inmas(x,xreftg(1,1,nft+1),ixtg,geo,pm,ms,in,thkt,
349 . partsav,v,ipartt(nft+1),mstg(nft+1),intg(nft+1),
350 . ptg(1,nft+1),igeo ,imat ,iprop ,
area ,
351 . etnod,nshnod,sttg(nft+1), sh3tree,mcp ,
352 . mcps(1,nft+1) , temp,sh3trim,isubstack,ibid,
353 . bidbuf, stack,bidg ,rnoise, drape,
354 . perturb,ix1 ,ix2
355 . x2l ,x3l ,y3l ,ibid, ibid)
356
357 ndepar=numels+numelc+numelt+numelp+numelr+nft
358 DO i=1,nel
359 dtelem(ndepar+i) = ep30
360 ENDDO
361
362 ELSEIF(ity == 4)THEN
363
364 stifntmp(1:numnod)=zero
365 CALL tcoori(x,ixt(1,nft+1),mxt, pid, ix1, ix2,
366 . x1, x2, y1, y2, z1, z2)
367
368 gbuf%AREA(1:nel)= geo(1,pid(1:nel))
369 CALL tmass(x ,ixt ,geo ,pm ,ms ,
370 . stifntmp ,partsav ,v ,iparttr(nft+1),mst(nft+1),
371 . stifint,stt(nft+1) ,gbuf%AREA , mxt, ix1
372 . x1, x2, y1, y2, z1, z2)
373 ndepar=numels+numelc+nft
374 DO i=1,nel
375 dtelem(ndepar + i) = ep30
376 ENDDO
377
378 ELSEIF(ity == 5)THEN
379
380 stifntmp(1:numnod)=zero
381 CALL pcoori(x,ixp(1,nft+1),
382 . mxt,pid ,ix1,ix2,ix3,deltax,
383 . x1,x2,x3, y1,y2,y3, z1,z2,z3,
384 . ibeam_vector(nft+1),rbeam_vector(1,nft+1),ivect,vect)
385
387 .
388 . msp(nft+1),inp(nft+1),igeo , stp(nft+1),
389 . x1,x2, y1,y2, z1,z2,
390 . ix1,ix2,mxt,pid,
area,deltax,strp(nft+1),
391 . mcpp,temp,glob_therm%NINTEMP)
392 ndepar=numels+numelc+numelt+nft
393 DO i=1,nel
394 dtelem(ndepar+i)=ep30
395 ENDDO
396
397 ELSEIF (ity == 6) THEN
398
399 i0=ixr(1,1+nft)
400 igtyp = igeo(11,i0)
401
402 IF(igtyp == 23) THEN
404 DO i=1,6
405 ii(i) = (i-1)*nel + 1
406 ENDDO
407
408 noise = two*sqrt(three)*xalea
409
410 DO i=1,numgeo
411 igtyp=igeo(11,i)
413 CALL fretitl2(titr,igeo(npropgi-ltitr+1,i),ltitr)
414 IF(igtyp == 23) geo(4,i) = ep30
415 ENDDO
416
417 ipid=ixr(1,nft+1)
419 CALL fretitl2(titr,igeo(npropgi-ltitr+1,ipid),ltitr)
420 DO i=1,nel
421 j=i+nft
422 i0=ixr(1,j)
423 i1=ixr(2,j)
424 i2=ixr(3,j)
425 i3=ixr(4,j)
426
427 IF (i1 == i2 .OR. i1 == i3 .OR. i2 == i3) THEN
428 IF (i1 == i2 .OR. i1 == i3) itmp = i1
429 IF (i2 == i3) itmp = i2
430 IF (imerge2(itmp) /= 0) THEN
432 . msgtype=msgwarning,
433 . anmode=aninfo_blind_1,
434 . i1=ixr(nixr,j),
435 . i2=itab(itmp))
436 WRITE (iout,1000) itab(itmp)
437 kk = 0
438 DO k=1,iadmerge2(itmp+1) - iadmerge2(itmp)
439 kk = kk + 1
440 IF (kk == 10) THEN
441 WRITE (iout,fmt=fmt_10i)
442 . (itab(imerge2(iadmerge2(itmp)+kk1)),kk1=0,kk-1)
443 kk = 0
444 ENDIF
445 ENDDO
446 IF (kk /= 0) THEN
447 WRITE (iout,fmt=fmt_10i)
448 . (itab(imerge2(iadmerge2(itmp)+kk1)),kk1=0,kk-1)
449 ENDIF
450 ELSE
452 . msgtype=msgerror,
453 . anmode=aninfo_blind_1,
454 . i1=ixr(nixr,j) )
455 ENDIF
456 ENDIF
457
458 igtyp=igeo(11,i0)
459 IF (igtyp /= 23 ) THEN
461 . msgtype=msgerror,
462 . anmode=aninfo_blind_1,
464 . c1=titr)
465 ENDIF
466 ENDDO
467
468 DO i=1,nel
469 j=i+nft
470 i0=ixr(1,j)
471 i1=ixr(2,j)
472 i2=ixr(3,j)
473 i3=ixr(4,j)
474 igtyp=igeo(11,i0)
475
476 length = sqrt(
477 + (x(1,i1)-x(1,i2))*(x(1,i1)-x(1,i2))
478 + + (x(2,i1)-x(2,i2))*(x(2,i1)-x(2,i2))
479 + + (x(3,i1)-x(3,i2))*(x(3,i1)-x(3,i2)) )
480 IF(igtyp == 23) THEN
481 imat = ixr(5,i+nft)
482 rhor = pm(1,imat)
483 imass = igeo(4,i0)
484 mtn = 0
485 uiner(i) = zero
486
487 IF(imass == 1) THEN
488 massr(i) = geo(1,i0)*length*rhor
489 IF (length == zero .AND. rhor /= zero) THEN
490 ipid = ixr(1,i)
491 CALL fretitl2(titr,igeo(npropgi-ltitr+1,i0),ltitr)
493 . msgtype=msgerror,
494 . anmode=aninfo_blind_1,
496 . c1=titr,
497 . i2=ixr(nixr,i))
498 ENDIF
499 ELSEIF(imass == 2) THEN
500 massr(i) = geo(1,i0)*rhor
501 ENDIF
502
503 xm = massr(i)
504 xine= geo(2,i0)
505
506 ratio = xm * length * length
507 ENDIF
508 ENDDO
509
510
511 IF (i7stifs /= 0) THEN
512 DO i=1,nel
513 j=i+nft
514 imat = ixr(5,i+nft)
515 kx = pm(32, imat)
516 str(j)= kx
517 ENDDO
518 ENDIF
519
520
521 mtn = 0
522
523 CALL r23mass(ixr ,geo ,ms ,in,partsav ,
524 2 x ,v ,ipartr(nft+1),xl ,msr(1,nft+1),
525 3 inr(1,nft+1),msrt,ems ,massr ,uiner,mtn)
526
527
528
529 ndepar=numels+numelc+numelt+numelp+nft
530 DO i=1,nel
531 j=i+nft
532 i0=ixr(1,j)
533 igtyp=igeo(11,i0)
534 ipid=ixr(1,i+nft)
535 IF (igtyp == 23) THEN
536 imat = ixr(5,i+nft)
537 mtn = 0
538 dtelem(ndepar+i) = ep20
539 geo(4,i0)=
min(geo(4,i0),dtelem(ndepar+i))
540 ENDIF
541 ENDDO
542 ENDIF
543 ENDIF
544
545 nxref = nrefsta
546 DEALLOCATE(stifntmp)
547
548 1000 FORMAT('LIST OF POSSIBLE CNODES MERGED WITH NODE ID=',i10)
549 RETURN
subroutine c3coori(x, xreftg, ixp, ngl, x1, x2, x3, y1, y2, y3, z1, z2, z3, ix1, ix2, ix3)
subroutine c3inmas(x, xreftg, ixtg, geo, pm, ms, tiner, thke, partsav, v, ipart, mstg, intg, ptg, igeo, imat, iprop, area, etnod, nshnod, sttg, sh3tree, mcp, mcptg, temp, sh3trim, isubstack, nlay, elbuf_str, stack, thki, rnoise, drape, perturb, ix1, ix2, ix3, nintemp, x2, x3, y3, idrape, indx)
subroutine c3veok3(nvc, ix1, ix2, ix3)
subroutine ccoori(x, xrefc, ixc, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, ix1, ix2, ix3, ix4, ngl)
subroutine ceveci(jft, jlt, area, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine cinmas(x, xrefc, ix, geo, pm, ms, tiner, thke, ihbe, partsav, v, ipart, msc, inc, area, i8mi, igeo, etnod, imid, iprop, nshnod, stc, sh4tree, mcp, mcps, temp, ms_layer, zi_layer, ms_layerc, zi_layerc, msz2c, zply, isubstack, nlay, elbuf_str, stack, thki, rnoise, drape, nintemp, perturb, ix1, ix2, ix3, ix4, idrape, indx)
subroutine cveok3(nvc, nod, ix1, ix2, ix3, ix4)
subroutine area(d1, x, x2, y, y2, eint, stif0)
integer, parameter nchartitle
subroutine noise(dt2r, in, j, buf, v, a, ixs, elbuf_tab, iparg, weight, ixq)
subroutine pcoori(x, ncp, mxt, mxg, nc1, nc2, nc3, deltax, x1, x2, x3, y1, y2, y3, z1, z2, z3, ibeam_vector, rbeam_vector, ivect, vect)
subroutine pmass(geo, pm, stifn, stifr, partsav, v, ipart, msp, inp, igeo, stp, x1, x2, y1, y2, z1, z2, nc1, nc2, imat, mxg, area, al, strp, mcpp, temp, nintemp)
subroutine r23mass(ixr, geo, ms, xin, partsav, x, v, ipart, xl, msr, inr, msrt, ems, mass, uiner, mtyp)
subroutine s4mass3(rho, ms, partsav, x, v, ipart, mss, msnf, mssf, wma, rhocp, mcp, mcps, temp0, temp, mssa, ix1, ix2, ix3, ix4, fill, volu, imas_ds, nintemp)
subroutine sbulk3(volu, nc, nnc, mat, pm, volnod, bvolnod, vns, bns, vnsx, bnsx, fill)
subroutine smass3(rho, ms, partsav, x, v, ipart, mss, volu, msnf, mssf, in, vr, ins, wma, rhocp, mcp, mcps, mssa, rhof, frac, fill, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8)
subroutine c3evec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x31, y31, z31, x2l, x3l, y3l)
subroutine s4coor3(x, xrefs, ixs, ngl, mxt, ngeo, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4)
subroutine s4deri3(vol, veul, geo, igeo, rx, ry, rz, sx, sy, sz, tx, ty, tz, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, deltax, det, ngl, ngeo, mxt, pm, voldp)
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
subroutine sderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det, voldp, nel, jeul, nxref, imulti_fvm)
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
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)
subroutine tcoori(x, ncp, mxt, mxg, nc1, nc2, x1, x2, y1, y2, z1, z2)
subroutine tmass(x, nc, geo, pm, ms, stifn, partsav, v, ipart, mst, stifint, stt, area, mxt, nc1, nc2, x1, x2, y1, y2, z1, z2)