36 . IXC ,IXTG ,X ,IPARG ,ELBUF_TAB,
37 . IPART ,IPARTC ,IPARTTG ,IAD_ELEM,FR_ELEM ,
38 . WEIGHT ,AREA_SH4,AREA_SH3,AREA_NOD,THICK_SH4 ,
39 . THICK_SH3 ,THICK_NOD , ERR_THK_SH4, ERR_THK_SH3,
46 use element_mod ,
only : nixc,nixtg
50#include "implicit_f.inc"
57#include "remesh_c.inc"
58#include "vect01_c.inc"
65 . IXC(NIXC,*), IXTG(NIXTG,*), IPARG(NPARG,*),
66 . IPART(LIPART1,*), IPARTC(*), IPARTTG(*),
67 . IAD_ELEM(2,*), FR_ELEM(*), WEIGHT(*),
68 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*)
70 . x(3,*), area_sh4(*), area_sh3(*), area_nod(*),
71 . thick_sh4(*), thick_sh3(*), thick_nod(*),
72 . err_thk_sh4(*), err_thk_sh3(*)
73 TYPE(elbuf_struct_),
DIMENSION(NGROUP),
TARGET :: ELBUF_TAB
79 . nn,level,my_level,m,son,ll,m1,m2,m3,m4,mc
83 . x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,
84 . x31,y31,z31,x42,y42,z42,x32,y32,z32,e3x,e3y,e3z
86 . tn1,tn2,tn3,tn4,tpg1,tpg2,tpg3,tpg4,unt
87 TYPE(g_bufel_) ,
POINTER :: GBUF
97 IF(sh4tree(3,n)>=0)
THEN
104 gbuf => elbuf_tab(ng)%GBUF
107 IF (gbuf%OFF(i) == zero)
THEN
131 IF(sh4tree(3,n)>=0)
THEN
138 gbuf => elbuf_tab(ng)%GBUF
141 IF (gbuf%OFF(i) == zero)
THEN
152 DO level=0,levelmax-1
158 IF(sh3tree(3,n)>=0)
THEN
165 gbuf => elbuf_tab(ng)%GBUF
168 IF (gbuf%OFF(i) == zero)
THEN
191 IF(sh3tree(3,n)>=0)
THEN
198 gbuf => elbuf_tab(ng)%GBUF
201 IF (gbuf%OFF(i) == zero)
THEN
224 gbuf => elbuf_tab(ng)%GBUF
227 IF (gbuf%OFF(i) == zero) cycle
262 area=sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
264 at =
area * thick_sh4(n)
266 area_nod(n1)=area_nod(n1)+
area
267 area_nod(n2)=area_nod(n2)+
area
268 area_nod(n3)=area_nod(n3)+
area
269 area_nod(n4)=area_nod(n4)+
area
270 thick_nod(n1)=thick_nod(n1)+at
271 thick_nod(n2)=thick_nod(n2)+at
272 thick_nod(n3)=thick_nod(n3)+at
273 thick_nod(n4)=thick_nod(n4)+at
287 gbuf => elbuf_tab(ng)%GBUF
290 IF (gbuf%OFF(i) == zero) cycle
318 area=sqrt(e3x*e3x+e3y*e3y+e3z*e3z)
320 at=
area * thick_sh3(n)
322 area_nod(n1)=area_nod(n1)+
area
323 area_nod(n2)=area_nod(n2)+
area
324 area_nod(n3)=area_nod(n3)+
area
325 thick_nod(n1)=thick_nod(n1)+at
326 thick_nod(n2)=thick_nod(n2)+at
327 thick_nod(n3)=thick_nod(n3)+at
337 IF(sh4tree(3,n) >= 0)
THEN
345 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
346 tn2=abs(thick_nod(n2)/
max
347 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
348 tn4=abs(thick_nod(n4)/
max(em30,area_nod(n4))*unt-one)
349 err_thk_sh4(n)=fourth*(tn1+tn2+tn3+tn4)
358 IF(sh3tree(3,n) >= 0)
THEN
365 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
366 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
367 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
368 err_thk_sh3(n)=third*(tn1+tn2+tn3)
376 DO level=levelmax-1,0,-1
390 area=fourth*area_nod(mc)
391 at =fourth*thick_nod(mc)
393 area_nod(n1) =area_nod(n1)+
area
394 area_nod(n2) =area_nod(n2)+
area
395 area_nod(n3) =area_nod(n3)+
area
396 area_nod(n4) =area_nod(n4)+
area
397 thick_nod(n1)=thick_nod(n1)+at
398 thick_nod(n2)=thick_nod(n2)+at
399 thick_nod(n3)=thick_nod(n3)+at
400 thick_nod(n4)=thick_nod(n4)+at
410 area=half*area_nod(m1)
411 at =half*thick_nod(m1)
413 area_nod(n1) =area_nod(n1)+
area
414 area_nod(n2) =area_nod(n2)+
area
415 thick_nod(n1)=thick_nod(n1)+at
416 thick_nod(n2)=thick_nod(n2)+at
425 area=half*area_nod(m2)
426 at =half*thick_nod(m2)
428 area_nod(n2) =area_nod(n2)+
area
429 area_nod(n3) =area_nod(n3)+
area
430 thick_nod(n2)=thick_nod(n2)+at
431 thick_nod(n3)=thick_nod(n3)+at
440 area=half*area_nod(m3)
441 at =half*thick_nod(m3)
443 area_nod(n3) =area_nod(n3)+
area
444 area_nod(n4) =area_nod(n4)+
area
445 thick_nod(n3)=thick_nod(n3)+at
446 thick_nod(n4)=thick_nod(n4)+at
455 area=half*area_nod(m4)
456 at =half*thick_nod(m4)
458 area_nod(n4) =area_nod(n4)+
area
459 area_nod(n1) =area_nod(n1)+
area
460 thick_nod(n4)=thick_nod(n4)+at
461 thick_nod(n1)=thick_nod(n1)+at
481 area=half*area_nod(m1)
482 at =half*thick_nod(m1)
484 area_nod(n1) =area_nod(n1)+
area
485 area_nod(n2) =area_nod(n2)+
area
486 thick_nod(n1)=thick_nod(n1)+at
487 thick_nod(n2)=thick_nod(n2)+at
495 area=half*area_nod(m2)
496 at =half*thick_nod(m2)
498 area_nod(n2) =area_nod(n2)+
area
499 area_nod(n3) =area_nod(n3)+
area
500 thick_nod(n2)=thick_nod(n2)+at
501 thick_nod(n3)=thick_nod(n3)+at
509 area=half*area_nod(m3)
510 at =half*thick_nod(m3)
512 area_nod(n3) =area_nod(n3)+
area
513 area_nod(n1) =area_nod(n1)+
area
514 thick_nod(n3)=thick_nod(n3)+at
515 thick_nod(n1)=thick_nod(n1)+at
524 IF(sh4tree(3,n) >= 0)
THEN
532 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
533 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
534 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
535 tn4=abs(thick_nod(n4)/
max(em30,area_nod(n4))*unt-one
536 err_thk_sh4(n)=fourth*(tn1+tn2+tn3+tn4)
543 IF(sh3tree(3,n) >= 0)
THEN
550 tn1=abs(thick_nod(n1)/
max(em30,area_nod(n1))*unt-one)
551 tn2=abs(thick_nod(n2)/
max(em30,area_nod(n2))*unt-one)
552 tn3=abs(thick_nod(n3)/
max(em30,area_nod(n3))*unt-one)
553 err_thk_sh3(n)=third*(tn1+tn2+tn3)
559 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)