diff options
author | 2021-07-01 21:50:30 -0700 | |
---|---|---|
committer | 2021-07-01 21:50:30 -0700 | |
commit | f44102d14f98f233f292d86fdfdd0ab33f08f43c (patch) | |
tree | b4ae27d186d211ec08966d9d9f0f652c84787fe5 /Source/WarpX.cpp | |
parent | a79985f83a2486e35bc28f2d580f7fe4a2c802f2 (diff) | |
download | WarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.tar.gz WarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.tar.zst WarpX-f44102d14f98f233f292d86fdfdd0ab33f08f43c.zip |
Filter Always ON by Default (#2031)
* Filter Always ON by Default
* Fix CI Tests
* Update Docs
* Fix CI Test dirichletbc
* Default WarpX::use_filter = 0 with RZ FDTD, Add Warnings
* Set WarpX::use_kspace_filter = true by Default, too
* RZ: Fix Bug with PSATD Binary and FDTD Runtime Solver
* Default use_kspace_filter = true, Fix Runtime Issue with Rho Functor
Diffstat (limited to '')
-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); |