From 508bd25e6a34483b3112b699eb7f351d7e118776 Mon Sep 17 00:00:00 2001 From: Ilker Topcuoglu Date: Tue, 24 Sep 2024 16:24:14 -0600 Subject: [PATCH] Added the overset mask (mask_cell) to non-linear error calculation --- amr-wind/utilities/console_io.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/amr-wind/utilities/console_io.cpp b/amr-wind/utilities/console_io.cpp index 2e52935dae..a908efb56d 100644 --- a/amr-wind/utilities/console_io.cpp +++ b/amr-wind/utilities/console_io.cpp @@ -224,6 +224,8 @@ void print_nonlinear_residual( const auto& mesh = sim.mesh(); const auto& velocity_new = sim.pde_manager().icns().fields().field; + const auto& oset_mask = sim.repo().get_int_field("mask_cell"); + const int ncomp = AMREX_SPACEDIM; for (int lev = 0; lev < nlevels; ++lev) { @@ -244,12 +246,19 @@ void print_nonlinear_residual( const auto& velstar_arr = vel_star(lev).const_arrays(); const auto& veldiff_arr = vel_diff(lev).arrays(); const auto& levelmask_arr = level_mask.const_arrays(); + const auto& osetmask_arr = oset_mask(lev).const_arrays(); + amrex::ParallelFor( velocity_new(lev), amrex::IntVect(0), AMREX_SPACEDIM, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k, int n) noexcept { - veldiff_arr[nbx](i, j, k, n) = (velnew_arr[nbx](i, j, k, n) - - velstar_arr[nbx](i, j, k, n)) * - levelmask_arr[nbx](i, j, k); + if (osetmask_arr[nbx](i, j, k) == 0) { + veldiff_arr[nbx](i, j, k, n) = 0.; + } else { + veldiff_arr[nbx](i, j, k, n) = + (velnew_arr[nbx](i, j, k, n) - + velstar_arr[nbx](i, j, k, n)) * + levelmask_arr[nbx](i, j, k); + } }); }