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