/home/eoseret/qaas_runs_CPU_9468/171-152-3172/intel/CloverLeafFC/build/CloverLeafFC/CloverLeaf_ref/kernels/advec_cell_kernel.f90: 81 - 261
--------------------------------------------------------------------------------

81:     !$OMP PARALLEL
82: 
83:     IF(dir.EQ.g_xdir) THEN
84: 
85:       IF(sweep_number.EQ.1)THEN
86:         !$OMP DO
87:         DO k=y_min-2,y_max+2
88:         !$OMP SIMD
89:           DO j=x_min-2,x_max+2
90:             pre_vol(j,k)=volume(j,k)+(vol_flux_x(j+1,k  )-vol_flux_x(j,k)+vol_flux_y(j  ,k+1)-vol_flux_y(j,k))
91:             post_vol(j,k)=pre_vol(j,k)-(vol_flux_x(j+1,k  )-vol_flux_x(j,k))
92:           ENDDO
93:         ENDDO
94:       !$OMP END DO
95:       ELSE
96:         !$OMP DO
97:         DO k=y_min-2,y_max+2
98:         !$OMP SIMD
99:           DO j=x_min-2,x_max+2
100:             pre_vol(j,k)=volume(j,k)+vol_flux_x(j+1,k)-vol_flux_x(j,k)
101:             post_vol(j,k)=volume(j,k)
[...]
108:       !$OMP            diffuw,diffdw,limiter,wind)
109:       DO k=y_min,y_max
110:         DO j=x_min,x_max+2
111: 
112:           IF(vol_flux_x(j,k).GT.0.0)THEN
113:             upwind   =j-2
114:             donor    =j-1
115:             downwind =j
116:             dif      =donor
117:           ELSE
118:             upwind   =MIN(j+1,x_max+2)
[...]
124:           sigmat=ABS(vol_flux_x(j,k))/pre_vol(donor,k)
125:           sigma3=(1.0_8+sigmat)*(vertexdx(j)/vertexdx(dif))
126:           sigma4=2.0_8-sigmat
127: 
128:           sigma=sigmat
129:           sigmav=sigmat
130: 
131:           diffuw=density1(donor,k)-density1(upwind,k)
132:           diffdw=density1(downwind,k)-density1(donor,k)
133:           wind=1.0_8
134:           IF(diffdw.LE.0.0) wind=-1.0_8
135:           IF(diffuw*diffdw.GT.0.0)THEN
136:             limiter=(1.0_8-sigmav)*wind*MIN(ABS(diffuw),ABS(diffdw)&
137:               ,one_by_six*(sigma3*ABS(diffuw)+sigma4*ABS(diffdw)))
138:           ELSE
139:             limiter=0.0
140:           ENDIF
141:           mass_flux_x(j,k)=vol_flux_x(j,k)*(density1(donor,k)+limiter)
142: 
143:           sigmam=ABS(mass_flux_x(j,k))/(density1(donor,k)*pre_vol(donor,k))
144:           diffuw=energy1(donor,k)-energy1(upwind,k)
145:           diffdw=energy1(downwind,k)-energy1(donor,k)
146:           wind=1.0_8
147:           IF(diffdw.LE.0.0) wind=-1.0_8
148:           IF(diffuw*diffdw.GT.0.0)THEN
149:             limiter=(1.0_8-sigmam)*wind*MIN(ABS(diffuw),ABS(diffdw)&
150:               ,one_by_six*(sigma3*ABS(diffuw)+sigma4*ABS(diffdw)))
151:           ELSE
152:             limiter=0.0
153:           ENDIF
154: 
155:           ener_flux(j,k)=mass_flux_x(j,k)*(energy1(donor,k)+limiter)
[...]
161:       !$OMP DO PRIVATE(pre_mass_s,post_mass_s,post_ener_s,advec_vol_s)
162:       DO k=y_min,y_max
163:       !$OMP SIMD
164:         DO j=x_min,x_max
165:           pre_mass_s=density1(j,k)*pre_vol(j,k)
166:           post_mass_s=pre_mass_s+mass_flux_x(j,k)-mass_flux_x(j+1,k)
167:           post_ener_s=(energy1(j,k)*pre_mass_s+ener_flux(j,k)-ener_flux(j+1,k))/post_mass_s
168:           advec_vol_s=pre_vol(j,k)+vol_flux_x(j,k)-vol_flux_x(j+1,k)
169:           density1(j,k)=post_mass_s/advec_vol_s
170:           energy1(j,k)=post_ener_s
171:         ENDDO
172:       ENDDO
173:     !$OMP END DO
174: 
175:     ELSEIF(dir.EQ.g_ydir) THEN
176: 
177:       IF(sweep_number.EQ.1)THEN
178:         !$OMP DO
179:         DO k=y_min-2,y_max+2
180:         !$OMP SIMD
181:           DO j=x_min-2,x_max+2
182:             pre_vol(j,k)=volume(j,k)+(vol_flux_y(j  ,k+1)-vol_flux_y(j,k)+vol_flux_x(j+1,k  )-vol_flux_x(j,k))
183:             post_vol(j,k)=pre_vol(j,k)-(vol_flux_y(j  ,k+1)-vol_flux_y(j,k))
184:           ENDDO
185:         ENDDO
186:       !$OMP END DO
187:       ELSE
188:         !$OMP DO
189:         DO k=y_min-2,y_max+2
190:         !$OMP SIMD
191:           DO j=x_min-2,x_max+2
192:             pre_vol(j,k)=volume(j,k)+vol_flux_y(j  ,k+1)-vol_flux_y(j,k)
193:             post_vol(j,k)=volume(j,k)
[...]
200:       !$OMP            diffuw,diffdw,limiter,wind)
201:       DO k=y_min,y_max+2
202:         DO j=x_min,x_max
203: 
204:           IF(vol_flux_y(j,k).GT.0.0)THEN
[...]
210:             upwind   =MIN(k+1,y_max+2)
[...]
216:           sigmat=ABS(vol_flux_y(j,k))/pre_vol(j,donor)
217:           sigma3=(1.0_8+sigmat)*(vertexdy(k)/vertexdy(dif))
218:           sigma4=2.0_8-sigmat
219: 
220:           sigma=sigmat
221:           sigmav=sigmat
222: 
223:           diffuw=density1(j,donor)-density1(j,upwind)
224:           diffdw=density1(j,downwind)-density1(j,donor)
225:           wind=1.0_8
226:           IF(diffdw.LE.0.0) wind=-1.0_8
227:           IF(diffuw*diffdw.GT.0.0)THEN
228:             limiter=(1.0_8-sigmav)*wind*MIN(ABS(diffuw),ABS(diffdw)&
229:               ,one_by_six*(sigma3*ABS(diffuw)+sigma4*ABS(diffdw)))
230:           ELSE
231:             limiter=0.0
232:           ENDIF
233:           mass_flux_y(j,k)=vol_flux_y(j,k)*(density1(j,donor)+limiter)
234: 
235:           sigmam=ABS(mass_flux_y(j,k))/(density1(j,donor)*pre_vol(j,donor))
236:           diffuw=energy1(j,donor)-energy1(j,upwind)
237:           diffdw=energy1(j,downwind)-energy1(j,donor)
238:           wind=1.0_8
239:           IF(diffdw.LE.0.0) wind=-1.0_8
240:           IF(diffuw*diffdw.GT.0.0)THEN
241:             limiter=(1.0_8-sigmam)*wind*MIN(ABS(diffuw),ABS(diffdw)&
242:               ,one_by_six*(sigma3*ABS(diffuw)+sigma4*ABS(diffdw)))
243:           ELSE
244:             limiter=0.0
245:           ENDIF
246:           ener_flux(j,k)=mass_flux_y(j,k)*(energy1(j,donor)+limiter)
[...]
252:       !$OMP DO PRIVATE(pre_mass_s,post_mass_s,post_ener_s,advec_vol_s)
253:       DO k=y_min,y_max
254:       !$OMP SIMD
255:         DO j=x_min,x_max
256:           pre_mass_s=density1(j,k)*pre_vol(j,k)
257:           post_mass_s=pre_mass_s+mass_flux_y(j,k)-mass_flux_y(j,k+1)
258:           post_ener_s=(energy1(j,k)*pre_mass_s+ener_flux(j,k)-ener_flux(j,k+1))/post_mass_s
259:           advec_vol_s=pre_vol(j,k)+vol_flux_y(j,k)-vol_flux_y(j,k+1)
260:           density1(j,k)=post_mass_s/advec_vol_s
261:           energy1(j,k)=post_ener_s
