diff options
author | 2019-08-30 08:29:35 -0700 | |
---|---|---|
committer | 2019-08-30 08:29:35 -0700 | |
commit | a7105f2e97c79de807e1ff57a2f7d9df6d471cb8 (patch) | |
tree | 43dc35faaf67606613957360f8132463ca76b556 /Source/Parallelization/WarpXComm.cpp | |
parent | d51022db75ab54898d68451fc4e15bdfa373e2a8 (diff) | |
parent | e0fff837554473383fe0a7d3a39fda46344825a6 (diff) | |
download | WarpX-a7105f2e97c79de807e1ff57a2f7d9df6d471cb8.tar.gz WarpX-a7105f2e97c79de807e1ff57a2f7d9df6d471cb8.tar.zst WarpX-a7105f2e97c79de807e1ff57a2f7d9df6d471cb8.zip |
Merge pull request #289 from ablelly/merged_overlap_pml
Extended PML
Diffstat (limited to 'Source/Parallelization/WarpXComm.cpp')
-rw-r--r-- | Source/Parallelization/WarpXComm.cpp | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/Source/Parallelization/WarpXComm.cpp b/Source/Parallelization/WarpXComm.cpp index 9d85783b0..feb9d3564 100644 --- a/Source/Parallelization/WarpXComm.cpp +++ b/Source/Parallelization/WarpXComm.cpp @@ -18,7 +18,8 @@ WarpX::ExchangeWithPmlB (int lev) Bfield_fp[lev][2].get() }, { Bfield_cp[lev][0].get(), Bfield_cp[lev][1].get(), - Bfield_cp[lev][2].get() }); + Bfield_cp[lev][2].get() }, + do_pml_in_domain); } } @@ -31,7 +32,8 @@ WarpX::ExchangeWithPmlE (int lev) Efield_fp[lev][2].get() }, { Efield_cp[lev][0].get(), Efield_cp[lev][1].get(), - Efield_cp[lev][2].get() }); + Efield_cp[lev][2].get() }, + do_pml_in_domain); } } @@ -40,7 +42,8 @@ WarpX::ExchangeWithPmlF (int lev) { if (do_pml && pml[lev]->ok()) { pml[lev]->ExchangeF(F_fp[lev].get(), - F_cp[lev].get()); + F_cp[lev].get(), + do_pml_in_domain); } } @@ -250,9 +253,10 @@ WarpX::FillBoundaryE (int lev, PatchType patch_type) if (do_pml && pml[lev]->ok()) { pml[lev]->ExchangeE(patch_type, - { Efield_fp[lev][0].get(), + { Efield_fp[lev][0].get(), Efield_fp[lev][1].get(), - Efield_fp[lev][2].get() }); + Efield_fp[lev][2].get() }, + do_pml_in_domain); pml[lev]->FillBoundaryE(patch_type); } @@ -265,9 +269,10 @@ WarpX::FillBoundaryE (int lev, PatchType patch_type) if (do_pml && pml[lev]->ok()) { pml[lev]->ExchangeE(patch_type, - { Efield_cp[lev][0].get(), + { Efield_cp[lev][0].get(), Efield_cp[lev][1].get(), - Efield_cp[lev][2].get() }); + Efield_cp[lev][2].get() }, + do_pml_in_domain); pml[lev]->FillBoundaryE(patch_type); } @@ -292,9 +297,10 @@ WarpX::FillBoundaryB (int lev, PatchType patch_type) if (do_pml && pml[lev]->ok()) { pml[lev]->ExchangeB(patch_type, - { Bfield_fp[lev][0].get(), + { Bfield_fp[lev][0].get(), Bfield_fp[lev][1].get(), - Bfield_fp[lev][2].get() }); + Bfield_fp[lev][2].get() }, + do_pml_in_domain); pml[lev]->FillBoundaryB(patch_type); } const auto& period = Geom(lev).periodicity(); @@ -306,9 +312,10 @@ WarpX::FillBoundaryB (int lev, PatchType patch_type) if (do_pml && pml[lev]->ok()) { pml[lev]->ExchangeB(patch_type, - { Bfield_cp[lev][0].get(), - Bfield_cp[lev][1].get(), - Bfield_cp[lev][2].get() }); + { Bfield_cp[lev][0].get(), + Bfield_cp[lev][1].get(), + Bfield_cp[lev][2].get() }, + do_pml_in_domain); pml[lev]->FillBoundaryB(patch_type); } const auto& cperiod = Geom(lev-1).periodicity(); @@ -331,7 +338,8 @@ WarpX::FillBoundaryF (int lev, PatchType patch_type) { if (do_pml && pml[lev]->ok()) { - pml[lev]->ExchangeF(patch_type, F_fp[lev].get()); + pml[lev]->ExchangeF(patch_type, F_fp[lev].get(), + do_pml_in_domain); pml[lev]->FillBoundaryF(patch_type); } @@ -342,7 +350,8 @@ WarpX::FillBoundaryF (int lev, PatchType patch_type) { if (do_pml && pml[lev]->ok()) { - pml[lev]->ExchangeF(patch_type, F_cp[lev].get()); + pml[lev]->ExchangeF(patch_type, F_cp[lev].get(), + do_pml_in_domain); pml[lev]->FillBoundaryF(patch_type); } |