OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
s_hg5.F File Reference
#include "implicit_f.inc"
#include "comlock.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "com04_c.inc"
#include "com06_c.inc"
#include "tabsiz_c.inc"
#include "vectorize.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine s_hg5 (pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, fhour, partsav, iparts, nft, mtn, jlag, eani, pid, ivector, dt1, mat, geo, nel, isctl, sti, cxx)

Function/Subroutine Documentation

◆ s_hg5()

subroutine s_hg5 ( intent(in) pm,
intent(in) rho,
intent(in) off,
intent(in) vx1,
intent(in) vx2,
intent(in) vx3,
intent(in) vx4,
intent(in) vx5,
intent(in) vx6,
intent(in) vx7,
intent(in) vx8,
intent(in) vy1,
intent(in) vy2,
intent(in) vy3,
intent(in) vy4,
intent(in) vy5,
intent(in) vy6,
intent(in) vy7,
intent(in) vy8,
intent(in) vz1,
intent(in) vz2,
intent(in) vz3,
intent(in) vz4,
intent(in) vz5,
intent(in) vz6,
intent(in) vz7,
intent(in) vz8,
intent(inout) f11,
intent(inout) f21,
intent(inout) f31,
intent(inout) f12,
intent(inout) f22,
intent(inout) f32,
intent(inout) f13,
intent(inout) f23,
intent(inout) f33,
intent(inout) f14,
intent(inout) f24,
intent(inout) f34,
intent(inout) f15,
intent(inout) f25,
intent(inout) f35,
intent(inout) f16,
intent(inout) f26,
intent(inout) f36,
intent(inout) f17,
intent(inout) f27,
intent(inout) f37,
intent(inout) f18,
intent(inout) f28,
intent(inout) f38,
intent(in) px1h1,
intent(in) px1h2,
intent(in) px1h3,
intent(in) px2h1,
intent(in) px2h2,
intent(in) px2h3,
intent(in) px3h1,
intent(in) px3h2,
intent(in) px3h3,
intent(in) px4h1,
intent(in) px4h2,
intent(in) px4h3,
intent(in) vol,
intent(inout) fhour,
intent(inout) partsav,
integer, dimension(numels) iparts,
integer, intent(in) nft,
integer, intent(in) mtn,
integer, intent(in) jlag,
intent(inout) eani,
integer, dimension(mvsiz) pid,
integer, intent(in) ivector,
intent(in) dt1,
integer, dimension(mvsiz) mat,
intent(in) geo,
integer, intent(in) nel,
integer, intent(in) isctl,
intent(inout) sti,
intent(in) cxx )

Definition at line 28 of file s_hg5.F.

49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52C-----------------------------------------------
53C I m p l i c i t T y p e s
54C-----------------------------------------------
55#include "implicit_f.inc"
56#include "comlock.inc"
57C-----------------------------------------------
58C G l o b a l P a r a m e t e r s
59C-----------------------------------------------
60#include "mvsiz_p.inc"
61C-----------------------------------------------
62C C o m m o n B l o c k s
63C-----------------------------------------------
64#include "param_c.inc"
65#include "com04_c.inc"
66#include "com06_c.inc"
67#include "tabsiz_c.inc"
68C-----------------------------------------------
69C D u m m y A r g u m e n t s
70C-----------------------------------------------
71 INTEGER, INTENT(IN) :: NEL
72 INTEGER, INTENT(IN) :: NFT
73 INTEGER, INTENT(IN) :: MTN
74 INTEGER, INTENT(IN) :: JLAG,IVECTOR
75 INTEGER, INTENT(IN) :: ISCTL
76 INTEGER, DIMENSION(MVSIZ) :: MAT,PID
77 INTEGER, DIMENSION(NUMELS) :: IPARTS
78 my_real, DIMENSION(NPROPG,NUMGEO) ,INTENT(IN):: geo
79 my_real, DIMENSION(NPROPM,NUMMAT) ,INTENT(IN):: pm
80 my_real, DIMENSION(NEL,3,4) ,INTENT(INOUT):: fhour
81 my_real, DIMENSION(NPSAV,NPART) ,INTENT(INOUT):: partsav
82 my_real, DIMENSION(SEANI) ,INTENT(INOUT):: eani
83 my_real, DIMENSION(NEL) ,INTENT(IN):: rho
84 my_real, DIMENSION(MVSIZ) ,INTENT(IN):: off,vol,
85 . vx1,vx2,vx3,vx4,vx5,vx6,vx7,vx8,
86 . vy1,vy2,vy3,vy4,vy5,vy6,vy7,vy8,
87 . vz1,vz2,vz3,vz4,vz5,vz6,vz7,vz8,
88 . px1h1, px1h2, px1h3,
89 . px2h1, px2h2, px2h3,
90 . px3h1, px3h2, px3h3,
91 . px4h1, px4h2, px4h3,cxx
92 my_real, DIMENSION(MVSIZ) ,INTENT(INOUT)::
93 . f11,f21,f31,f12,f22,f32,
94 . f13,f23,f33,f14,f24,f34,
95 . f15,f25,f35,f16,f26,f36,
96 . f17,f27,f37,f18,f28,f38,sti
97 my_real, INTENT(IN):: dt1
98C-----------------------------------------------
99C L o c a l V a r i a b l e s
100C-----------------------------------------------
101 INTEGER I, FLUID,MX, J, II, IC, JST(MVSIZ+1)
102C REAL
103 my_real
104 . caq(mvsiz), fcl(mvsiz), fcq(mvsiz),ehou(mvsiz),
105 . h11(mvsiz), h12(mvsiz), h13(mvsiz), h14(mvsiz),
106 . h15(mvsiz), h16(mvsiz), h17(mvsiz), h18(mvsiz),
107 . h21(mvsiz), h22(mvsiz), h23(mvsiz), h24(mvsiz),
108 . h25(mvsiz), h26(mvsiz), h27(mvsiz), h28(mvsiz),
109 . h31(mvsiz), h32(mvsiz), h33(mvsiz), h34(mvsiz),
110 . h35(mvsiz), h36(mvsiz), h37(mvsiz), h38(mvsiz),
111 . hx1(mvsiz), hx2(mvsiz), hx3(mvsiz), hx4(mvsiz),
112 . hy1(mvsiz), hy2(mvsiz), hy3(mvsiz), hy4(mvsiz),
113 . hz1(mvsiz), hz2(mvsiz), hz3(mvsiz), hz4(mvsiz),
114 . hgx1(mvsiz), hgx2(mvsiz), hgx3(mvsiz), hgx4(mvsiz),
115 . hgy1(mvsiz), hgy2(mvsiz), hgy3(mvsiz), hgy4(mvsiz),
116 . hgz1(mvsiz), hgz2(mvsiz), hgz3(mvsiz), hgz4(mvsiz),
117 . g11(mvsiz),g21(mvsiz),g31(mvsiz),g41(mvsiz),
118 . g51(mvsiz),g61(mvsiz),g71(mvsiz),g81(mvsiz),
119 . g12(mvsiz),g22(mvsiz),g32(mvsiz),g42(mvsiz),
120 . g52(mvsiz),g62(mvsiz),g72(mvsiz),g82(mvsiz),
121 . g13(mvsiz),g23(mvsiz),g33(mvsiz),g43(mvsiz),
122 . g53(mvsiz),g63(mvsiz),g73(mvsiz),g83(mvsiz),
123 . e0,g0,c1,nu,ehourt ,qh,lamg,sfac,fdamp,dt05,
124 . lamgt(mvsiz),f_et(mvsiz),f_sti(mvsiz),e_max,s_max,fac1,sfac1,
125 . f_gt(mvsiz)
126C-----------------------------------------------
127C------recompute modulus for law42,88,90
128 mx = mat(1)
129 nu=pm(21,mx)
130 g0=pm(22,mx)
131 c1=pm(32,mx)
132 e0=pm(20,mx)
133 qh = geo(13,pid(1))
134 IF (isctl>0 .AND. nu>0.48999) qh = zep5*qh
135 lamgt(1:nel)=cxx(1:nel)*cxx(1:nel)*rho(1:nel)
136 f_et(1:nel)=one
137 SELECT CASE (mtn)
138 CASE (70)
139 e0=pm(24,mx)
140 lamg = third*(e0/(1-two*nu)+two*e0/(1+nu))
141 CASE (42,69)
142 c1 = third*e0/(1-two*nu)
143 g0 = half*g0
144 lamg = c1+four_over_3*g0
145 f_et(1:nel)=max(one,lamgt(1:nel)/lamg)
146 f_gt(1:nel)=max(one,(lamgt(1:nel)-c1)/g0/four_over_3)
147 CASE (1)
148 lamg = c1+four_over_3*g0
149 CASE (62)
150 g0 = half*g0
151 lamg = c1+four_over_3*g0
152 f_et(1:nel)=max(one,lamgt(1:nel)/lamg)
153 CASE (88)
154 c1 = third*e0/(1-two*nu)
155 lamg = c1+four_over_3*g0
156 f_et(1:nel)=max(one,lamgt(1:nel)/lamg)
157 CASE (90)
158 IF (qh==one) qh = fourth
159 lamg = c1+four_over_3*g0
160 f_et(1:nel)=max(one,qh*lamgt(1:nel)/lamg)
161 CASE DEFAULT
162! IF (ISCTL>0) QH = FOURTH*QH ! 2.5 for default
163 lamg = c1+four_over_3*g0
164 f_et(1:nel)=max(one,lamgt(1:nel)/lamg)
165 END SELECT
166! IF (QH>ONE) STI(1:NEL) = QH*STI(1:NEL)
167 f_sti(1:nel) = max(one,qh)
168 sfac = 0.038*qh*lamg
169! special case for stiffing
170 IF (mtn==62) THEN
171 DO i=1,nel
172 sfac1 = min(ten,f_et(i))
173 IF (sfac1>two) sfac1=ten
174 f_et(i)=sfac1*f_et(i)
175 f_sti(i)=sfac1*f_sti(i)
176 ENDDO
177 ELSEIF (mtn==42.OR.mtn==69) THEN
178 DO i=1,nel
179 IF (f_et(i)>one) THEN
180 sfac1 = min(four,f_gt(i))
181 f_et(i)=sfac1*f_et(i)
182 f_sti(i)=sfac1*f_sti(i)
183 END IF
184 ENDDO
185 END IF
186! law1,62 need high stiffness for distortion ctl (QH>1) but dt decreasing
187! reset QH=1 and increasing stif only after some hourglass strain
188 IF (mtn==1.OR.mtn==62) THEN
189 DO i=1,nel
190 s_max=zero
191 DO j=1,4
192 s_max=max(s_max,abs(fhour(i,1,j)),abs(fhour(i,2,j)),abs(fhour(i,3,j)))
193 END DO
194 fac1 = sfac*vol(i)**two_third
195 e_max=s_max/fac1
196 sfac1 = min(ten,2500*e_max)
197 sfac1 = max(one,sfac1)
198 f_et(i)=sfac1*f_et(i)
199 f_sti(i)=sfac1*f_sti(i)
200 END DO
201 END IF
202!
203 IF (isctl==0) f_et(1:nel)=one
204 DO i=1,nel
205 caq(i)=sfac*dt1*off(i)
206 fcl(i)=f_et(i)*caq(i)*vol(i)**third
207 sti(i)=f_sti(i)*sti(i)
208 ENDDO
209!
210 DO i=1,nel
211C 1 -1 1 -1 1 -1 1 -1
212 g11(i)= one-px1h1(i)
213 g21(i)=-one-px2h1(i)
214 g31(i)= one-px3h1(i)
215 g41(i)=-one-px4h1(i)
216 g51(i)= one+px3h1(i)
217 g61(i)=-one+px4h1(i)
218 g71(i)= one+px1h1(i)
219 g81(i)=-one+px2h1(i)
220 hgx1(i)=
221 & g11(i)*vx1(i)+g21(i)*vx2(i)+g31(i)*vx3(i)+g41(i)*vx4(i)
222 & +g51(i)*vx5(i)+g61(i)*vx6(i)+g71(i)*vx7(i)+g81(i)*vx8(i)
223 hgy1(i)=
224 & g11(i)*vy1(i)+g21(i)*vy2(i)+g31(i)*vy3(i)+g41(i)*vy4(i)
225 & +g51(i)*vy5(i)+g61(i)*vy6(i)+g71(i)*vy7(i)+g81(i)*vy8(i)
226 hgz1(i)=
227 & g11(i)*vz1(i)+g21(i)*vz2(i)+g31(i)*vz3(i)+g41(i)*vz4(i)
228 & +g51(i)*vz5(i)+g61(i)*vz6(i)+g71(i)*vz7(i)+g81(i)*vz8(i)
229 ENDDO
230C
231 DO i=1,nel
232C 1 1 -1 -1 -1 -1 1 1
233 g12(i)= one-px1h2(i)
234 g22(i)= one-px2h2(i)
235 g32(i)=-one-px3h2(i)
236 g42(i)=-one-px4h2(i)
237 g52(i)=-one+px3h2(i)
238 g62(i)=-one+px4h2(i)
239 g72(i)= one+px1h2(i)
240 g82(i)= one+px2h2(i)
241 hgx2(i)=
242 & g12(i)*vx1(i)+g22(i)*vx2(i)+g32(i)*vx3(i)+g42(i)*vx4(i)
243 & +g52(i)*vx5(i)+g62(i)*vx6(i)+g72(i)*vx7(i)+g82(i)*vx8(i)
244 hgy2(i)=
245 & g12(i)*vy1(i)+g22(i)*vy2(i)+g32(i)*vy3(i)+g42(i)*vy4(i)
246 & +g52(i)*vy5(i)+g62(i)*vy6(i)+g72(i)*vy7(i)+g82(i)*vy8(i)
247 hgz2(i)=
248 & g12(i)*vz1(i)+g22(i)*vz2(i)+g32(i)*vz3(i)+g42(i)*vz4(i)
249 & +g52(i)*vz5(i)+g62(i)*vz6(i)+g72(i)*vz7(i)+g82(i)*vz8(i)
250 ENDDO
251 DO i=1,nel
252C 1 -1 -1 1 -1 1 1 -1
253 g13(i)= one-px1h3(i)
254 g23(i)=-one-px2h3(i)
255 g33(i)=-one-px3h3(i)
256 g43(i)= one-px4h3(i)
257 g53(i)=-one+px3h3(i)
258 g63(i)= one+px4h3(i)
259 g73(i)= one+px1h3(i)
260 g83(i)=-one+px2h3(i)
261 hgx3(i)=
262 & g13(i)*vx1(i)+g23(i)*vx2(i)+g33(i)*vx3(i)+g43(i)*vx4(i)
263 & +g53(i)*vx5(i)+g63(i)*vx6(i)+g73(i)*vx7(i)+g83(i)*vx8(i)
264 hgy3(i)=
265 & g13(i)*vy1(i)+g23(i)*vy2(i)+g33(i)*vy3(i)+g43(i)*vy4(i)
266 & +g53(i)*vy5(i)+g63(i)*vy6(i)+g73(i)*vy7(i)+g83(i)*vy8(i)
267 hgz3(i)=
268 & g13(i)*vz1(i)+g23(i)*vz2(i)+g33(i)*vz3(i)+g43(i)*vz4(i)
269 & +g53(i)*vz5(i)+g63(i)*vz6(i)+g73(i)*vz7(i)+g83(i)*vz8(i)
270 ENDDO
271C
272 DO i=1,nel
273C 1 -1 1 -1 -1 1 -1 1
274 hgx4(i)=vx1(i)-vx2(i)+vx3(i)-vx4(i)-vx5(i)+vx6(i)-vx7(i)+vx8(i)
275 hgy4(i)=vy1(i)-vy2(i)+vy3(i)-vy4(i)-vy5(i)+vy6(i)-vy7(i)+vy8(i)
276 hgz4(i)=vz1(i)-vz2(i)+vz3(i)-vz4(i)-vz5(i)+vz6(i)-vz7(i)+vz8(i)
277 ENDDO
278! hourglass energy
279 dt05 = half*dt1
280 DO i=1,nel
281 hx1(i)=fhour(i,1,1)
282 hx2(i)=fhour(i,1,2)
283 hx3(i)=fhour(i,1,3)
284 hx4(i)=fhour(i,1,4)
285C
286 hy1(i)=fhour(i,2,1)
287 hy2(i)=fhour(i,2,2)
288 hy3(i)=fhour(i,2,3)
289 hy4(i)=fhour(i,2,4)
290C
291 hz1(i)=fhour(i,3,1)
292 hz2(i)=fhour(i,3,2)
293 hz3(i)=fhour(i,3,3)
294 hz4(i)=fhour(i,3,4)
295 ENDDO
296 DO i=1,nel
297 ehou(i)= dt05*(
298 & hz1(i)*hgz1(i) + hz2(i)*hgz2(i) +
299 & hz3(i)*hgz3(i) + hz4(i)*hgz4(i) +
300 & hx1(i)*hgx1(i) + hx2(i)*hgx2(i) +
301 & hx3(i)*hgx3(i) + hx4(i)*hgx4(i) +
302 & hy1(i)*hgy1(i) + hy2(i)*hgy2(i) +
303 & hy3(i)*hgy3(i) + hy4(i)*hgy4(i) )
304 ENDDO
305 DO i=1,nel
306 fhour(i,1:3,1:4) = fhour(i,1:3,1:4)*off(i)
307 ENDDO
308C
309 DO i=1,nel
310C
311 fhour(i,1,1) = fhour(i,1,1) + fcl(i)*hgx1(i)
312 fhour(i,1,2) = fhour(i,1,2) + fcl(i)*hgx2(i)
313 fhour(i,1,3) = fhour(i,1,3) + fcl(i)*hgx3(i)
314 fhour(i,1,4) = fhour(i,1,4) + fcl(i)*hgx4(i)
315 fhour(i,2,1) = fhour(i,2,1) + fcl(i)*hgy1(i)
316 fhour(i,2,2) = fhour(i,2,2) + fcl(i)*hgy2(i)
317 fhour(i,2,3) = fhour(i,2,3) + fcl(i)*hgy3(i)
318 fhour(i,2,4) = fhour(i,2,4) + fcl(i)*hgy4(i)
319 fhour(i,3,1) = fhour(i,3,1) + fcl(i)*hgz1(i)
320 fhour(i,3,2) = fhour(i,3,2) + fcl(i)*hgz2(i)
321 fhour(i,3,3) = fhour(i,3,3) + fcl(i)*hgz3(i)
322 fhour(i,3,4) = fhour(i,3,4) + fcl(i)*hgz4(i)
323 ENDDO
324 DO i=1,nel
325 hx1(i)=fhour(i,1,1)
326 hx2(i)=fhour(i,1,2)
327 hx3(i)=fhour(i,1,3)
328 hx4(i)=fhour(i,1,4)
329C
330 hy1(i)=fhour(i,2,1)
331 hy2(i)=fhour(i,2,2)
332 hy3(i)=fhour(i,2,3)
333 hy4(i)=fhour(i,2,4)
334C
335 hz1(i)=fhour(i,3,1)
336 hz2(i)=fhour(i,3,2)
337 hz3(i)=fhour(i,3,3)
338 hz4(i)=fhour(i,3,4)
339 ENDDO
340C
341 DO i=1,nel
342 f11(i) =-g11(i)*hx1(i)-g12(i)*hx2(i)-g13(i)*hx3(i)-hx4(i)
343 f12(i) =-g21(i)*hx1(i)-g22(i)*hx2(i)-g23(i)*hx3(i)+hx4(i)
344 f13(i) =-g31(i)*hx1(i)-g32(i)*hx2(i)-g33(i)*hx3(i)-hx4(i)
345 f14(i) =-g41(i)*hx1(i)-g42(i)*hx2(i)-g43(i)*hx3(i)+hx4(i)
346 f15(i) =-g51(i)*hx1(i)-g52(i)*hx2(i)-g53(i)*hx3(i)+hx4(i)
347 f16(i) =-g61(i)*hx1(i)-g62(i)*hx2(i)-g63(i)*hx3(i)-hx4(i)
348 f17(i) =-g71(i)*hx1(i)-g72(i)*hx2(i)-g73(i)*hx3(i)+hx4(i)
349 f18(i) =-g81(i)*hx1(i)-g82(i)*hx2(i)-g83(i)*hx3(i)-hx4(i)
350C
351 f21(i) =-g11(i)*hy1(i)-g12(i)*hy2(i)-g13(i)*hy3(i)-hy4(i)
352 f22(i) =-g21(i)*hy1(i)-g22(i)*hy2(i)-g23(i)*hy3(i)+hy4(i)
353 f23(i) =-g31(i)*hy1(i)-g32(i)*hy2(i)-g33(i)*hy3(i)-hy4(i)
354 f24(i) =-g41(i)*hy1(i)-g42(i)*hy2(i)-g43(i)*hy3(i)+hy4(i)
355 f25(i) =-g51(i)*hy1(i)-g52(i)*hy2(i)-g53(i)*hy3(i)+hy4(i)
356 f26(i) =-g61(i)*hy1(i)-g62(i)*hy2(i)-g63(i)*hy3(i)-hy4(i)
357 f27(i) =-g71(i)*hy1(i)-g72(i)*hy2(i)-g73(i)*hy3(i)+hy4(i)
358 f28(i) =-g81(i)*hy1(i)-g82(i)*hy2(i)-g83(i)*hy3(i)-hy4(i)
359C
360 f31(i) =-g11(i)*hz1(i)-g12(i)*hz2(i)-g13(i)*hz3(i)-hz4(i)
361 f32(i) =-g21(i)*hz1(i)-g22(i)*hz2(i)-g23(i)*hz3(i)+hz4(i)
362 f33(i) =-g31(i)*hz1(i)-g32(i)*hz2(i)-g33(i)*hz3(i)-hz4(i)
363 f34(i) =-g41(i)*hz1(i)-g42(i)*hz2(i)-g43(i)*hz3(i)+hz4(i)
364 f35(i) =-g51(i)*hz1(i)-g52(i)*hz2(i)-g53(i)*hz3(i)+hz4(i)
365 f36(i) =-g61(i)*hz1(i)-g62(i)*hz2(i)-g63(i)*hz3(i)-hz4(i)
366 f37(i) =-g71(i)*hz1(i)-g72(i)*hz2(i)-g73(i)*hz3(i)+hz4(i)
367 f38(i) =-g81(i)*hz1(i)-g82(i)*hz2(i)-g83(i)*hz3(i)-hz4(i)
368 ENDDO
369c
370 DO i=1,nel
371 ehou(i)= ehou(i) +dt05*(
372 & hz1(i)*hgz1(i) + hz2(i)*hgz2(i) +
373 & hz3(i)*hgz3(i) + hz4(i)*hgz4(i) +
374 & hx1(i)*hgx1(i) + hx2(i)*hgx2(i) +
375 & hx3(i)*hgx3(i) + hx4(i)*hgx4(i) +
376 & hy1(i)*hgy1(i) + hy2(i)*hgy2(i) +
377 & hy3(i)*hgy3(i) + hy4(i)*hgy4(i) )
378 ENDDO
379C
380 ehourt = zero
381 DO i=1,nel
382 ehourt= ehourt+ehou(i)
383 ENDDO
384
385C ALE/EULER : hourglassenergy is not calculated
386C
387 IF(jlag==1)THEN
388C
389 IF (ivector==0) THEN
390 DO i=1,nel
391 mx = iparts(i)
392 partsav(8,mx)=partsav(8,mx) + ehou(i)
393 ENDDO
394 ELSE
395 ic=1
396 jst(ic)=1
397 DO j=1+1,nel
398 IF (iparts(j)/=iparts(j-1)) THEN
399 ic=ic+1
400 jst(ic)=j
401 ENDIF
402 ENDDO
403 jst(ic+1)=nel+1
404 DO ii=1,ic
405 mx=iparts(jst(ii))
406 IF (jst(ii+1)-jst(ii)>15) THEN
407#include "vectorize.inc"
408 DO j=jst(ii),jst(ii+1)-1
409 partsav(8,mx)=partsav(8,mx) + ehou(j)
410 ENDDO
411 ELSE
412 DO j=jst(ii),jst(ii+1)-1
413 partsav(8,mx)=partsav(8,mx) + ehou(j)
414 ENDDO
415 ENDIF
416 ENDDO
417 ENDIF
418!$OMP ATOMIC
419 ehour = ehour + ehourt
420 ENDIF
421C
422#include "vectorize.inc"
423 DO i=1,nel
424 eani(nft+i) = eani(nft+i)+ehou(i)/max(em30,rho(i)*vol(i))
425 ENDDO
426 RETURN
#define my_real
Definition cppsort.cpp:32
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21