From 67ea88680892ece4e7f8802a3ecc400c7b4dd03d Mon Sep 17 00:00:00 2001 From: Revathi Jambunathan Date: Fri, 5 Jan 2024 11:37:55 -0800 Subject: [PATCH 1/3] add maxlevel for init when iniitalizing perturbation --- Source/Initialization/WarpXInitData.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index 0d5ba01fa39..922446f7148 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -882,7 +882,7 @@ WarpX::InitLevelData (int lev, Real /*time*/) } int IncludeBfieldPerturbation = 0; pp_warpx.query("IncludeBfieldPerturbation",IncludeBfieldPerturbation); - if (IncludeBfieldPerturbation == 1) { + if ( (IncludeBfieldPerturbation == 1) && (lev <= maxlevel_extEMfield_init) ) { #ifndef WARPX_DIM_RZ Reconnection_Perturbation::AddBfieldPerturbation (Bfield_fp[lev][0].get(), Bfield_fp[lev][1].get(), From 7bf0c9bf1dc4a3ef2c703fff817799ba277549ce Mon Sep 17 00:00:00 2001 From: Revathi Jambunathan Date: Fri, 5 Jan 2024 16:08:01 -0800 Subject: [PATCH 2/3] assert for managed memory --- Source/Initialization/WarpXInitData.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index 922446f7148..60ba0a52011 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -884,6 +884,14 @@ WarpX::InitLevelData (int lev, Real /*time*/) pp_warpx.query("IncludeBfieldPerturbation",IncludeBfieldPerturbation); if ( (IncludeBfieldPerturbation == 1) && (lev <= maxlevel_extEMfield_init) ) { #ifndef WARPX_DIM_RZ + amrex::ParmParse pp_amrex("amrex"); + int arena_is_managed = 0; + pp_amrex.query("the_arena_is_managed",arena_is_managed); +#ifdef AMREX_USE_GPU + WARPX_ALWAYS_ASSERT_WITH_MESSAGE(arena_is_managed == 1, + "For reconnection simulations with perturbation, managed memory should be used with amrex.the_arena_is_managed=1\n"); + +#endif Reconnection_Perturbation::AddBfieldPerturbation (Bfield_fp[lev][0].get(), Bfield_fp[lev][1].get(), Bfield_fp[lev][2].get(), From c8fa91623169ec444c806da5d77eb2fb08b401ce Mon Sep 17 00:00:00 2001 From: Revathi Jambunathan Date: Fri, 5 Jan 2024 16:11:17 -0800 Subject: [PATCH 3/3] tab space --- Source/Initialization/WarpXInitData.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp index 60ba0a52011..bf5652e2749 100644 --- a/Source/Initialization/WarpXInitData.cpp +++ b/Source/Initialization/WarpXInitData.cpp @@ -885,8 +885,8 @@ WarpX::InitLevelData (int lev, Real /*time*/) if ( (IncludeBfieldPerturbation == 1) && (lev <= maxlevel_extEMfield_init) ) { #ifndef WARPX_DIM_RZ amrex::ParmParse pp_amrex("amrex"); - int arena_is_managed = 0; - pp_amrex.query("the_arena_is_managed",arena_is_managed); + int arena_is_managed = 0; + pp_amrex.query("the_arena_is_managed",arena_is_managed); #ifdef AMREX_USE_GPU WARPX_ALWAYS_ASSERT_WITH_MESSAGE(arena_is_managed == 1, "For reconnection simulations with perturbation, managed memory should be used with amrex.the_arena_is_managed=1\n");