30
31
32
33 USE elbufdef_mod
35
36
37
38#include "implicit_f.inc"
39
40
41
42#include "com01_c.inc"
43#include "com04_c.inc"
44#include "param_c.inc"
45
46
47
48 INTEGER IPARG(NPARG,NGROUP),
49 . KXIG3D(NIXIG3D,*)
50
52 . pm(npropm,*),stifint(*)
53 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
54 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
55
56
57
58 INTEGER :: J, K, N, NG, IEL, ITEL, NUMFAKECP, ITSURF
59 my_real :: av1,cv1, vol(numelig3d), vnige(numfakenodigeo), bnige(numfakenodigeo)
60 TYPE(G_BUFEL_) ,POINTER :: GBUF
61
62
63
64
65 DO ng=1,ngroup
66 IF (iparg(5,ng) == 101) THEN
67 DO itel=1,iparg(2,ng)
68 gbuf => elbuf_tab(ng)%GBUF
69 vol(itel+iparg(3,ng)) = gbuf%VOL(itel)
70 ENDDO
71 ENDIF
72 ENDDO
73
74 vnige = 0
75 bnige = 0
76
77 DO itsurf=1,nsurf
78 IF(igrsurf(itsurf)%NSEG_IGE>0) THEN
79 DO j=1,igrsurf(itsurf)%NSEG_IGE
80 iel=igrsurf(itsurf)%ELEM_IGE(j)
81 av1 = vol(iel)/56
82 cv1 = pm(32,kxig3d(1,iel))*av1
83 DO k=1,4
84 numfakecp=igrsurf(itsurf)%NODES_IGE(j,k)
85 vnige(numfakecp-numnod)=vnige(numfakecp-numnod)+av1
86 bnige(numfakecp-numnod)=bnige(numfakecp-numnod)+cv1
87 ENDDO
88 ENDDO
89 ENDIF
90 ENDDO
91
92 DO n=1,numfakenodigeo
93 bnige(n)=bnige(n)/
max(em30,vnige(n))
94 stifint(numnod+n)=stifint(numnod+n)+bnige(n)*(2.*vnige(n))**third
95 ENDDO
96
97
98
99
100
101
102
103 RETURN