36
37
38
39
40
41
42
43
44
45
46
47
48
50 USE elbufdef_mod
54
55
56
57#include "implicit_f.inc"
58
59
60
61#include "com01_c.inc"
62#include "vect01_c.inc"
63#include "param_c.inc"
64#include "inter22.inc"
65
66
67
68 INTEGER,INTENT(IN) :: IFUNC, IFLOW(*),IPARG(NPARG,*),IX(NIX,*),ITAB(*),NIX,NV46
70 REAL,INTENT(INOUT) :: WA4(*)
71
72 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
73
74
75
76 INTEGER :: IADI, IADR, I, ITYP, NINOUT, NNO, , II1, II2,K1,K,
77 . IR1, IR2, J, JJ, NNO_L, NNI_L, II3, II4, JJJ, ,
78 . IALEL,NNOD,IPOS,IV,NGv,J1,J2,IBV, MLW,NumNodCell
79
80
81TYPE(G_BUFEL_) ,POINTER :: GBUF,GBUFv
82 my_real,
ALLOCATABLE,
DIMENSION(:) :: count_vol
84 INTEGER,DIMENSION(:,:), POINTER :: pAdjBRICK
85
86
87
88
89
90
91
92
93 IF(int22==0)RETURN
94
95
96
97
98 nnod = nix-3
99 inew = 29-ifunc
100
101
102
103
104
105
106
107
108 nbf = 1
110 nin = 1
111
112 DO ng = 1, ngroup
113 mlw = iparg(1,ng)
114 nel = iparg(2,ng)
115 nft = iparg(3,ng)
116 ityp = iparg(5,ng)
117 ialel = iparg(7,ng)+iparg(11,ng)
118 IF(ityp/=1 .AND. ityp/=2)cycle
119 IF(ialel==0)cycle
120 IF(mlw/=6 .AND. mlw/=11 .AND. mlw/=37.AND.mlw/=51)cycle
121 gbuf => elbuf_tab(ng)%GBUF
122 nin = 1
123 DO i=1,nel
124 ib = nint(gbuf%TAG22(i))
125
126
127
128 IF(ib==0)cycle
129
130
131
132 icell = 0
134 DO WHILE (icell<=ncell)
135 icell = icell +1
136 IF (icell>ncell .AND. ncell/=0)icell=9
137 node_id =
brick_list(nin,ib)%POLY(icell)%ID_FREE_NODE
138 IF(node_id<=0)EXIT
139 IF(inew == 1)THEN
141 ELSE
142 wa4(node_id) =
brick_list(nin,ib)%POLY(icell)%VOLD
143 ENDIF
144 ENDDO
145 enddo!next i
146 enddo
147
148
149
150 RETURN
type(brick_entity), dimension(:,:), allocatable, target brick_list