diff options
Diffstat (limited to 'Source/WarpX.cpp')
-rw-r--r-- | Source/WarpX.cpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp index 927feb900..21cc5e4db 100644 --- a/Source/WarpX.cpp +++ b/Source/WarpX.cpp @@ -142,8 +142,8 @@ int WarpX::current_centering_noz = 2; bool WarpX::use_fdtd_nci_corr = false; bool WarpX::galerkin_interpolation = true; -bool WarpX::use_filter = false; -bool WarpX::use_kspace_filter = false; +bool WarpX::use_filter = true; +bool WarpX::use_kspace_filter = true; bool WarpX::use_filter_compensation = false; bool WarpX::serialize_ics = false; @@ -556,6 +556,12 @@ WarpX::ReadParameters () pp_warpx.query("n_buffer", n_buffer); pp_warpx.query("const_dt", const_dt); + // Filter currently not working with FDTD solver in RZ geometry: turn OFF by default + // (see https://github.com/ECP-WarpX/WarpX/issues/1943) +#ifdef WARPX_DIM_RZ + if (WarpX::maxwell_solver_id != MaxwellSolverAlgo::PSATD) WarpX::use_filter = false; +#endif + // Read filter and fill IntVect filter_npass_each_dir with // proper size for AMREX_SPACEDIM pp_warpx.query("use_filter", use_filter); @@ -568,12 +574,26 @@ WarpX::ReadParameters () filter_npass_each_dir[2] = parse_filter_npass_each_dir[2]; #endif + // TODO When k-space filtering will be implemented also for Cartesian geometries, + // this code block will have to be applied in all cases (remove #ifdef condition) #ifdef WARPX_DIM_RZ if (WarpX::maxwell_solver_id == MaxwellSolverAlgo::PSATD) { // With RZ spectral, only use k-space filtering use_kspace_filter = use_filter; use_filter = false; } + else // FDTD + { + // Filter currently not working with FDTD solver in RZ geometry + // (see https://github.com/ECP-WarpX/WarpX/issues/1943) + if (use_filter) + { + amrex::Print() << "\nWARNING:" + << "\nFilter currently not working with FDTD solver in RZ geometry:" + << "\nwe recommend setting warpx.use_filter = 0 in the input file.\n" + << std::endl; + } + } #endif pp_warpx.query("num_mirrors", num_mirrors); |