/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/aocc/CMakeFiles/clover_leaf.dir/CloverLeaf_ref/kernels/advec_mom_kernel.f90-pp.f90: 79 - 254
--------------------------------------------------------------------------------

79: # 79 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
80:     !$OMP PARALLEL
81: # 81 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
82:     IF(mom_sweep.EQ.1)THEN ! x 1
83:       !$OMP DO
84:       DO k=y_min-2,y_max+2
85:       !$OMP SIMD
86:         DO j=x_min-2,x_max+2
87:           post_vol(j,k)= volume(j,k)+vol_flux_y(j  ,k+1)-vol_flux_y(j,k)
88:           pre_vol(j,k)=post_vol(j,k)+vol_flux_x(j+1,k  )-vol_flux_x(j,k)
89:         ENDDO
90:       ENDDO
91:     !$OMP END DO
92:     ELSEIF(mom_sweep.EQ.2)THEN ! y 1
93:       !$OMP DO
94:       DO k=y_min-2,y_max+2
95:       !$OMP SIMD
96:         DO j=x_min-2,x_max+2
97:           post_vol(j,k)= volume(j,k)+vol_flux_x(j+1,k  )-vol_flux_x(j,k)
98:           pre_vol(j,k)=post_vol(j,k)+vol_flux_y(j  ,k+1)-vol_flux_y(j,k)
99:         ENDDO
100:       ENDDO
101:     !$OMP END DO
102:     ELSEIF(mom_sweep.EQ.3)THEN ! x 2
103:       !$OMP DO
104:       DO k=y_min-2,y_max+2
105:       !$OMP SIMD
106:         DO j=x_min-2,x_max+2
107:           post_vol(j,k)=volume(j,k)
108:           pre_vol(j,k)=post_vol(j,k)+vol_flux_y(j  ,k+1)-vol_flux_y(j,k)
109:         ENDDO
110:       ENDDO
111:     !$OMP END DO
112:     ELSEIF(mom_sweep.EQ.4)THEN ! y 2
113:       !$OMP DO
114:       DO k=y_min-2,y_max+2
115:       !$OMP SIMD
116:         DO j=x_min-2,x_max+2
117:           post_vol(j,k)=volume(j,k)
118:           pre_vol(j,k)=post_vol(j,k)+vol_flux_x(j+1,k  )-vol_flux_x(j,k)
119:         ENDDO
120:       ENDDO
121:     !$OMP END DO
122:     ENDIF
123: # 123 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
124:     IF(direction.EQ.1)THEN
125:       IF(which_vel.EQ.1)THEN
126:         !$OMP DO
127:         DO k=y_min,y_max+1
128:         !$OMP SIMD
129:           DO j=x_min-2,x_max+2
130:             ! Find staggered mesh mass fluxes, nodal masses and volumes.
131:             node_flux(j,k)=0.25_8*(mass_flux_x(j,k-1  )+mass_flux_x(j  ,k)  &
132:               +mass_flux_x(j+1,k-1)+mass_flux_x(j+1,k))
133:           ENDDO
134:         ENDDO
135:         !$OMP END DO
136:         !$OMP DO
137:         DO k=y_min,y_max+1
138:         !$OMP SIMD
139:           DO j=x_min-1,x_max+2
140:             ! Staggered cell mass post advection
141:             node_mass_post(j,k)=0.25_8*(density1(j  ,k-1)*post_vol(j  ,k-1)                   &
142:               +density1(j  ,k  )*post_vol(j  ,k  )                   &
143:               +density1(j-1,k-1)*post_vol(j-1,k-1)                   &
144:               +density1(j-1,k  )*post_vol(j-1,k  ))
145:             node_mass_pre(j,k)=node_mass_post(j,k)-node_flux(j-1,k)+node_flux(j,k)
146:           ENDDO
147:         ENDDO
148:       ENDIF
149: # 149 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
150:       !$OMP DO PRIVATE(upwind,downwind,donor,dif,sigma,width,limiter,vdiffuw,vdiffdw,auw,adw,wind,advec_vel_s)
151:       DO k=y_min,y_max+1
152:         DO j=x_min-1,x_max+1
153:           IF(node_flux(j,k).LT.0.0)THEN
154:             upwind=j+2
155:             donor=j+1
156:             downwind=j
157:             dif=donor
158:           ELSE
159:             upwind=j-1
160:             donor=j
161:             downwind=j+1
162:             dif=upwind
163:           ENDIF
164:           sigma=ABS(node_flux(j,k))/(node_mass_pre(donor,k))
165:           width=celldx(j)
166:           vdiffuw=vel1(donor,k)-vel1(upwind,k)
167:           vdiffdw=vel1(downwind,k)-vel1(donor,k)
168:           limiter=0.0
169:           IF(vdiffuw*vdiffdw.GT.0.0)THEN
170:             auw=ABS(vdiffuw)
171:             adw=ABS(vdiffdw)
172:             wind=1.0_8
173:             IF(vdiffdw.LE.0.0) wind=-1.0_8
174:             limiter=wind*MIN(width*((2.0_8-sigma)*adw/width+(1.0_8+sigma)*auw/celldx(dif))/6.0_8,auw,adw)
175:           ENDIF
176:           advec_vel_s=vel1(donor,k)+(1.0-sigma)*limiter
177:           mom_flux(j,k)=advec_vel_s*node_flux(j,k)
178:         ENDDO
179:       ENDDO
180:       !$OMP END DO
181:       !$OMP DO
182:       DO k=y_min,y_max+1
183:       !$OMP SIMD
184:         DO j=x_min,x_max+1
185:           vel1 (j,k)=(vel1 (j,k)*node_mass_pre(j,k)+mom_flux(j-1,k)-mom_flux(j,k))/node_mass_post(j,k)
186:         ENDDO
187:       ENDDO
188:     !$OMP END DO
189:     ELSEIF(direction.EQ.2)THEN
190:       IF(which_vel.EQ.1)THEN
191:         !$OMP DO
192:         DO k=y_min-2,y_max+2
193:         !$OMP SIMD
194:           DO j=x_min,x_max+1
195:             ! Find staggered mesh mass fluxes and nodal masses and volumes.
196:             node_flux(j,k)=0.25_8*(mass_flux_y(j-1,k  )+mass_flux_y(j  ,k  ) &
197:               +mass_flux_y(j-1,k+1)+mass_flux_y(j  ,k+1))
198:           ENDDO
199:         ENDDO
200:         !$OMP END DO
201:         !$OMP DO
202:         DO k=y_min-1,y_max+2
203:         !$OMP SIMD
204:           DO j=x_min,x_max+1
205:             node_mass_post(j,k)=0.25_8*(density1(j  ,k-1)*post_vol(j  ,k-1)                     &
206:               +density1(j  ,k  )*post_vol(j  ,k  )                     &
207:               +density1(j-1,k-1)*post_vol(j-1,k-1)                     &
208:               +density1(j-1,k  )*post_vol(j-1,k  ))
209:             node_mass_pre(j,k)=node_mass_post(j,k)-node_flux(j,k-1)+node_flux(j,k)
210:           ENDDO
211:         ENDDO
212:       ENDIF
213:       !$OMP DO PRIVATE(upwind,donor,downwind,dif,sigma,width,limiter,vdiffuw,vdiffdw,auw,adw,wind,advec_vel_s)
214:       DO k=y_min-1,y_max+1
215:         DO j=x_min,x_max+1
[...]
227: # 227 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
228:           sigma=ABS(node_flux(j,k))/(node_mass_pre(j,donor))
229:           width=celldy(k)
230:           vdiffuw=vel1(j,donor)-vel1(j,upwind)
231:           vdiffdw=vel1(j,downwind)-vel1(j,donor)
232:           limiter=0.0
233:           IF(vdiffuw*vdiffdw.GT.0.0)THEN
234:             auw=ABS(vdiffuw)
235:             adw=ABS(vdiffdw)
236:             wind=1.0_8
237:             IF(vdiffdw.LE.0.0) wind=-1.0_8
238:             limiter=wind*MIN(width*((2.0_8-sigma)*adw/width+(1.0_8+sigma)*auw/celldy(dif))/6.0_8,auw,adw)
239:           ENDIF
240:           advec_vel_s=vel1(j,donor)+(1.0_8-sigma)*limiter
241:           mom_flux(j,k)=advec_vel_s*node_flux(j,k)
242:         ENDDO
243:       ENDDO
244:       !$OMP END DO
245:       !$OMP DO
246:       DO k=y_min,y_max+1
247:       !$OMP SIMD
248:         DO j=x_min,x_max+1
249:           vel1 (j,k)=(vel1(j,k)*node_mass_pre(j,k)+mom_flux(j,k-1)-mom_flux(j,k))/node_mass_post(j,k)
250:         ENDDO
251:       ENDDO
252:     !$OMP END DO
253:     ENDIF
254: # 254 "/beegfs/hackathon/users/eoseret/qaas_runs_test/178-661-4073/intel/CloverLeaf1.3-FC/build/CloverLeaf1.3-FC/CloverLeaf_ref/kernels/advec_mom_kernel.f90"
