aboutsummaryrefslogtreecommitdiff
path: root/Source/BoundaryConditions/WarpXEvolvePML.cpp
diff options
context:
space:
mode:
authorGravatar Edoardo Zoni <59625522+EZoni@users.noreply.github.com> 2020-12-23 08:01:37 -0800
committerGravatar GitHub <noreply@github.com> 2020-12-23 08:01:37 -0800
commitc30596fc489939d77da7ba34ed8dd0004a9b812c (patch)
tree892d954126c7fda40b84c4c6079a34c140f01e09 /Source/BoundaryConditions/WarpXEvolvePML.cpp
parentb4dbc8b72c0ee31ac2b90f63dafa930075d5aa0f (diff)
downloadWarpX-c30596fc489939d77da7ba34ed8dd0004a9b812c.tar.gz
WarpX-c30596fc489939d77da7ba34ed8dd0004a9b812c.tar.zst
WarpX-c30596fc489939d77da7ba34ed8dd0004a9b812c.zip
Use PML diagonal components only with div cleaning (#1592)
* Use PML diagonal components only with div cleaning * Apply @RemiLehe's suggestions and simplify allocations
Diffstat (limited to 'Source/BoundaryConditions/WarpXEvolvePML.cpp')
-rw-r--r--Source/BoundaryConditions/WarpXEvolvePML.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/Source/BoundaryConditions/WarpXEvolvePML.cpp b/Source/BoundaryConditions/WarpXEvolvePML.cpp
index 31c8cbd1e..a72ab9afb 100644
--- a/Source/BoundaryConditions/WarpXEvolvePML.cpp
+++ b/Source/BoundaryConditions/WarpXEvolvePML.cpp
@@ -43,6 +43,8 @@ WarpX::DampPML (int lev, PatchType patch_type)
WARPX_PROFILE("WarpX::DampPML()");
+ const bool dive_cleaning = WarpX::do_dive_cleaning;
+
if (pml[lev]->ok())
{
const auto& pml_E = (patch_type == PatchType::fine) ? pml[lev]->GetE_fp() : pml[lev]->GetE_cp();
@@ -110,15 +112,18 @@ WarpX::DampPML (int lev, PatchType patch_type)
amrex::ParallelFor(tex, tey, tez,
[=] AMREX_GPU_DEVICE (int i, int j, int k) {
warpx_damp_pml_ex(i, j, k, pml_Exfab, Ex_stag, sigma_fac_x, sigma_fac_y, sigma_fac_z,
- sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo);
+ sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo,
+ dive_cleaning);
},
[=] AMREX_GPU_DEVICE (int i, int j, int k) {
warpx_damp_pml_ey(i, j, k, pml_Eyfab, Ey_stag, sigma_fac_x, sigma_fac_y, sigma_fac_z,
- sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo);
+ sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo,
+ dive_cleaning);
},
[=] AMREX_GPU_DEVICE (int i, int j, int k) {
warpx_damp_pml_ez(i, j, k, pml_Ezfab, Ez_stag, sigma_fac_x, sigma_fac_y, sigma_fac_z,
- sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo);
+ sigma_star_fac_x, sigma_star_fac_y, sigma_star_fac_z, x_lo, y_lo, z_lo,
+ dive_cleaning);
});
amrex::ParallelFor(tbx, tby, tbz,