35 . IXC ,IXTG ,X ,IPARG ,ELBUF_TAB,
36 . IPART ,IPARTC ,IPARTTG ,IAD_ELEM,FR_ELEM ,
37 . WEIGHT ,AREA_SH4,AREA_SH3,AREA_NOD,THICK_SH4 ,
38 . THICK_SH3 ,THICK_NOD , ERR_THK_SH4, ERR_THK_SH3,
48#include
"implicit_f.inc"
55#include "remesh_c.inc"
56#include
"vect01_c.inc"
63 . IXC(NIXC,*), (NIXTG,*), IPARG(NPARG,*),
64 . IPART(LIPART1,*), IPARTC(*), IPARTTG(*),
65 . IAD_ELEM(2,*), FR_ELEM(*), WEIGHT(*),
66 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*)
68 . x(3,*), area_sh4(*), area_sh3(*), area_nod(*),
69 . thick_sh4(*), thick_sh3(*), thick_nod(*),
70 . err_thk_sh4(*), err_thk_sh3(*)
71 TYPE(elbuf_struct_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
77 . nn,level,my_level,m,son,ll,m1,m2,m3,m4,mc
81 . x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,
82 . x31,y31,z31,x42,y42,z42,x32,y32,z32,e3x,e3y,e3z
84 . tn1,tn2,tn3,tn4,tpg1,tpg2,tpg3,tpg4,unt
85 TYPE(g_bufel_) ,
POINTER :: GBUF
95 IF(sh4tree(3,n)>=0)
THEN
102 gbuf => elbuf_tab(ng)%GBUF
105 IF (gbuf%OFF(i) == zero)
THEN
129 IF(sh4tree(3,n)>=0)
THEN
136 gbuf => elbuf_tab(ng)%GBUF
139 IF (gbuf%OFF(i) == zero)
THEN
150 DO level=0,levelmax-1
156 IF(sh3tree(3,n)>=0)
THEN
163 gbuf => elbuf_tab(ng)%GBUF
166 IF (gbuf%OFF(i) == zero)
THEN
189 IF(sh3tree(3,n)>=0)
THEN
196 gbuf => elbuf_tab(ng)%GBUF
199 IF (gbuf%OFF(i) == zero)
THEN
222 gbuf => elbuf_tab(ng)%GBUF
225 IF (gbuf%OFF(i) == zero) cycle
260 area=sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
262 at =
area * thick_sh4(n)
264 area_nod(n1)=area_nod(n1)+
area
265 area_nod(n2)=area_nod(n2)+
area
266 area_nod(n3)=area_nod(n3)+
area
267 area_nod(n4)=area_nod(n4)+
area
268 thick_nod(n1)=thick_nod(n1)+at
269 thick_nod(n2)=thick_nod(n2)+at
270 thick_nod(n3)=thick_nod(n3)+at
271 thick_nod(n4)=thick_nod(n4)+at
285 gbuf => elbuf_tab(ng)%GBUF
288 IF (gbuf%OFF(i) == zero) cycle
316 area=sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
318 at=
area * thick_sh3(n)
320 area_nod(n1)=area_nod(n1)+
area
321 area_nod(n2)=area_nod(n2)+
area
322 area_nod(n3)=area_nod(n3)+
area
323 thick_nod(n1)=thick_nod(n1)+at
324 thick_nod(n2)=thick_nod(n2)+at
325 thick_nod(n3)=thick_nod(n3)+at
335 IF(sh4tree(3,n) >= 0)
THEN
343 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
344 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
345 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
346 tn4=abs(thick_nod(n4)/
max(em30,area_nod(n4))*unt-one)
347 err_thk_sh4(n)=fourth*(tn1+tn2+tn3+tn4)
356 IF(sh3tree(3,n) >= 0)
THEN
363 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
364 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
365 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
366 err_thk_sh3(n)=third*(tn1+tn2+tn3)
374 DO level=levelmax-1,0,-1
388 area=fourth*area_nod(mc)
389 at =fourth*thick_nod(mc)
391 area_nod(n1) =area_nod(n1)+
area
392 area_nod(n2) =area_nod(n2)+
area
393 area_nod(n3) =area_nod(n3)+
area
394 area_nod(n4) =area_nod(n4)+
area
395 thick_nod(n1)=thick_nod(n1)+at
396 thick_nod(n2)=thick_nod(n2)+at
397 thick_nod(n3)=thick_nod(n3)+at
398 thick_nod(n4)=thick_nod(n4)+at
408 area=half*area_nod(m1)
409 at =half*thick_nod(m1)
411 area_nod(n1) =area_nod(n1)+
area
412 area_nod(n2) =area_nod(n2)+
area
413 thick_nod(n1)=thick_nod(n1)+at
414 thick_nod(n2)=thick_nod(n2)+at
423 area=half*area_nod(m2)
424 at =half*thick_nod(m2)
426 area_nod(n2) =area_nod(n2)+
area
427 area_nod(n3) =area_nod(n3)+
area
428 thick_nod(n2)=thick_nod(n2)+at
429 thick_nod(n3)=thick_nod(n3)+at
438 area=half*area_nod(m3)
439 at =half*thick_nod(m3)
441 area_nod(n3) =area_nod(n3)+
area
442 area_nod(n4) =area_nod(n4)+
area
443 thick_nod(n3)=thick_nod(n3)+at
444 thick_nod(n4)=thick_nod(n4)+at
453 area=half*area_nod(m4)
454 at =half*thick_nod(m4)
456 area_nod(n4) =area_nod(n4)+
area
457 area_nod(n1) =area_nod(n1)+
area
458 thick_nod(n4)=thick_nod(n4)+at
459 thick_nod(n1)=thick_nod(n1)+at
479 area=half*area_nod(m1)
480 at =half*thick_nod(m1)
482 area_nod(n1) =area_nod(n1)+
area
483 area_nod(n2) =area_nod(n2)+
area
484 thick_nod(n1)=thick_nod(n1)+at
485 thick_nod(n2)=thick_nod(n2)+at
493 area=half*area_nod(m2)
494 at =half*thick_nod(m2)
496 area_nod(n2) =area_nod(n2)+
area
497 area_nod(n3) =area_nod(n3)+
area
498 thick_nod(n2)=thick_nod(n2)+at
499 thick_nod(n3)=thick_nod(n3)+at
507 area=half*area_nod(m3)
508 at =half*thick_nod(m3)
510 area_nod(n3) =area_nod(n3)+
area
511 area_nod(n1) =area_nod(n1)+
area
512 thick_nod(n3)=thick_nod(n3)+at
513 thick_nod(n1)=thick_nod(n1)+at
522 IF(sh4tree(3,n) >= 0)
THEN
530 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
531 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
532 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
533 tn4=abs(thick_nod(n4)/
max(em30,area_nod(n4))*unt-one)
534 err_thk_sh4(n)=fourth*(tn1+tn2+tn3+tn4)
541 IF(sh3tree(3,n) >= 0)
THEN
548 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
549 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
550 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
551 err_thk_sh3(n)=third*(tn1+tn2+tn3)
557 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)