37
38
39
41
42
43
44#include "implicit_f.inc"
45
46
47
48#include "mvsiz_p.inc"
49#include "param_c.inc"
50#include "inter22.inc"
51
52
53
54 INTEGER, INTENT(IN) :: NEL
55 INTEGER, INTENT(IN) :: NFT
56 INTEGER, INTENT(IN) :: JEUL
58 . fskym(*), rho(*),volu(*),volgp(lveul,*), off(*),tag22(*)
59 INTEGER IADS(8,*),IXS(NIXS,*)
60
61
62
63#include "com01_c.inc"
64
65
66
67 INTEGER I,IFLAG,II, K, NIN, NCELL, ICELL, IB, J,MCELL
70
71 iflag=integ8*jeul
72 nin = 1
73 fac = zero
74
75
76
77
78
79 IF(iflag/=1)THEN
80 IF(int22==0)THEN
81
82 tnod(1:nel,1:8) = one
83 DO i=1,nel
84 dmass(i)=one_over_8*rho(i)*volu(i)*off(i)
85 ENDDO
86
87 ELSE
88 DO i=1,nel
89 ib = nint(tag22(i))
90 IF(ib>0)THEN
92 IF(ncell==0)THEN
93 tnod(i,1:8) = one
94 dmass(i)=one_over_8*rho(i)*volu(i)*off(i)
95 cycle
96 ENDIF
97 tnod(i,1:8) = zero
99 IF(mcell==0)cycle
101 IF(fac>0)THEN
102 fac=one/fac
103 DO j=1,8
105 IF(icell/=mcell)cycle
106 tnod(i,j) = one
107 ENDDO
108 ELSE
109 fac = zero
110 ENDIF
111 ELSE
112 fac = one_over_8
113 tnod(i,1:8) = one
114 ENDIF
115 dmass(i)=fac*rho(i)*volu(i)*off(i)
116 ENDDO
117 ENDIF
118 endif
119
120
121
122
123
124
125 IF(iflag==1)THEN
126 tnod(1:nel,1:8) = one
127 DO i=1,nel
128 dmass(i)=rho(i)*volgp(1,i)*off(i)
129 ENDDO
130 ENDIF
131 DO i=1,nel
132 ii = i +nft
133 k = iads(1,ii)
134 fskym(k)= tnod(i,1)*dmass(i)
135 ENDDO
136
137 IF(iflag==1)THEN
138 DO i=1,nel
139 dmass(i)=rho(i)*volgp(2,i)*off(i)
140 ENDDO
141 ENDIF
142 DO i=1,nel
143 ii = i +nft
144 k = iads(2,ii)
145 fskym(k)= tnod(i,2)*dmass(i)
146 ENDDO
147
148 IF(iflag==1)THEN
149 DO i=1,nel
150 dmass(i)=rho(i)*volgp(3,i)*off(i)
151 ENDDO
152 ENDIF
153 DO i=1,nel
154 ii = i +nft
155 k = iads(3,ii)
156 fskym(k)= tnod(i,3)*dmass(i)
157 ENDDO
158
159 IF(iflag==1)THEN
160 DO i=1,nel
161 dmass(i)=rho(i)*volgp(4,i)*off(i)
162 ENDDO
163 ENDIF
164 DO i=1,nel
165 ii = i +nft
166 k = iads(4,ii)
167 fskym(k)= tnod(i,4)*dmass(i)
168 ENDDO
169
170 IF(iflag==1)THEN
171 DO i=1,nel
172 dmass(i)=rho(i)*volgp(5,i)*off(i)
173 ENDDO
174 ENDIF
175 DO i=1,nel
176 ii = i +nft
177 k = iads(5,ii)
178 fskym(k)= tnod(i,5)*dmass(i)
179 ENDDO
180
181 IF(iflag==1)THEN
182 DO i=1,nel
183 dmass(i)=rho(i)*volgp(6,i)*off(i)
184 ENDDO
185 ENDIF
186 DO i=1,nel
187 ii = i +nft
188 k = iads(6,ii)
189 fskym(k)= tnod(i,6)*dmass(i)
190 ENDDO
191
192 IF(iflag==1)THEN
193 DO i=1,nel
194 dmass(i)=rho(i)*volgp(7,i)*off(i)
195 ENDDO
196 ENDIF
197 DO i=1,nel
198 ii = i +nft
199 k = iads(7,ii)
200 fskym(k)= tnod(i,7)*dmass(i)
201 ENDDO
202
203 IF(iflag==1)THEN
204 DO i=1,nel
205 dmass(i)=rho(i)*volgp(8,i)*off(i)
206 ENDDO
207 ENDIF
208 DO i=1,nel
209 ii = i +nft
210 k = iads(8,ii)
211 fskym(k)= tnod(i,8)*dmass(i)
212 ENDDO
213
214 RETURN
type(brick_entity), dimension(:,:), allocatable, target brick_list