From 50b7f7436f99a1b202c9cf97150b49996f4a5d81 Mon Sep 17 00:00:00 2001 From: prkkumar Date: Wed, 28 Aug 2024 10:39:28 -0700 Subject: [PATCH] remove set_pre_rhs_action --- .../Reaction-Diffusion/Source/main.cpp | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/ExampleCodes/SUNDIALS/Reaction-Diffusion/Source/main.cpp b/ExampleCodes/SUNDIALS/Reaction-Diffusion/Source/main.cpp index cda2385e..504469fd 100644 --- a/ExampleCodes/SUNDIALS/Reaction-Diffusion/Source/main.cpp +++ b/ExampleCodes/SUNDIALS/Reaction-Diffusion/Source/main.cpp @@ -163,13 +163,11 @@ void main_main () WriteSingleLevelPlotfile(pltfile, phi, {"phi"}, geom, time, 0); } - auto pre_rhs_function = [&](MultiFab& S_data, const Real /* time */) { + auto rhs_fast_function = [&](MultiFab& S_rhs, MultiFab& S_data, + const Real /* time */) { + // fill periodic ghost cells S_data.FillBoundary(geom.periodicity()); - }; - - auto rhs_function = [&](MultiFab& S_rhs, const MultiFab& S_data, - const Real /* time */) { // loop over boxes auto& phi_data = S_data; @@ -195,16 +193,18 @@ void main_main () phi_rhs_array(i,j,k) = diffusion_coef*( (phi_array(i+1,j,k) - 2.*phi_array(i,j,k) + phi_array(i-1,j,k)) / (dx[0]*dx[0]) +(phi_array(i,j+1,k) - 2.*phi_array(i,j,k) + phi_array(i,j-1,k)) / (dx[1]*dx[1]) #if (AMREX_SPACEDIM == 3) - +(phi_array(i,j,k+1) - 2.*phi_array(i,j,k) + phi_array(i,j,k-1)) / (dx[2]*dx[2]) ) + +(phi_array(i,j,k+1) - 2.*phi_array(i,j,k) + phi_array(i,j,k-1)) / (dx[2]*dx[2]) ); #endif - + reaction_coef*phi_array(i,j,k); }); } }; - auto rhs_fast_function = [&](MultiFab& S_rhs, const MultiFab& S_data, + auto rhs_function = [&](MultiFab& S_rhs, MultiFab& S_data, const Real /* time */) { + // fill periodic ghost cells + S_data.FillBoundary(geom.periodicity()); + // loop over boxes auto& phi_data = S_data; auto& phi_rhs = S_rhs; @@ -226,17 +226,13 @@ void main_main () // fill the right-hand-side for phi amrex::ParallelFor(bx, [=] AMREX_GPU_DEVICE (int i, int j, int k) { - phi_rhs_array(i,j,k) = diffusion_coef*( (phi_array(i+1,j,k) - 2.*phi_array(i,j,k) + phi_array(i-1,j,k)) / (dx[0]*dx[0]) - +(phi_array(i,j+1,k) - 2.*phi_array(i,j,k) + phi_array(i,j-1,k)) / (dx[1]*dx[1]) -#if (AMREX_SPACEDIM == 3) - +(phi_array(i,j,k+1) - 2.*phi_array(i,j,k) + phi_array(i,j,k-1)) / (dx[2]*dx[2]) ); -#endif + phi_rhs_array(i,j,k) = -1.*reaction_coef*phi_array(i,j,k); }); } }; + TimeIntegrator integrator(phi, time); - integrator.set_pre_rhs_action(pre_rhs_function); integrator.set_rhs(rhs_function); integrator.set_fast_rhs(rhs_fast_function); if (adapt_dt) {