@@ -197,12 +197,17 @@ void VelocityToMomentum (const MultiFab& xvel_in,
197197 // Extrapolate momenta at top of domain (in case they need to be used in OmegaFromW)
198198 if (bx.bigEnd (2 ) == domain.bigEnd (2 ))
199199 {
200- ParallelFor (makeSlab (tbx,2 ,domain.bigEnd (2 )+1 ), [=] AMREX_GPU_DEVICE (int i, int j, int k) {
201- momx (i,j,k) = momx (i,j,k-1 );
202- });
203- ParallelFor (makeSlab (tby,2 ,domain.bigEnd (2 )+1 ), [=] AMREX_GPU_DEVICE (int i, int j, int k) {
204- momy (i,j,k) = momy (i,j,k-1 );
205- });
200+ if (bc_ptr_h[BCVars::xvel_bc].hi (2 ) != ERFBCType::ext_dir) {
201+ ParallelFor (makeSlab (tbx,2 ,domain.bigEnd (2 )+1 ), [=] AMREX_GPU_DEVICE (int i, int j, int k) {
202+ momx (i,j,k) = momx (i,j,k-1 );
203+ });
204+ }
205+
206+ if (bc_ptr_h[BCVars::yvel_bc].hi (2 ) != ERFBCType::ext_dir) {
207+ ParallelFor (makeSlab (tby,2 ,domain.bigEnd (2 )+1 ), [=] AMREX_GPU_DEVICE (int i, int j, int k) {
208+ momy (i,j,k) = momy (i,j,k-1 );
209+ });
210+ }
206211 }
207212 } // end MFIter
208213}
0 commit comments