diff options
author | 2019-05-07 17:47:56 -0700 | |
---|---|---|
committer | 2019-05-07 17:47:56 -0700 | |
commit | cae3e9ce6769fd5c626e27fad473da17a2b027fb (patch) | |
tree | ccf007c13beeefe046c618806be1354b96e0fe0e /Source/Particles/PhysicalParticleContainer.cpp | |
parent | 891a5c582b7d17865852d87359ddfd892ac22d29 (diff) | |
download | WarpX-cae3e9ce6769fd5c626e27fad473da17a2b027fb.tar.gz WarpX-cae3e9ce6769fd5c626e27fad473da17a2b027fb.tar.zst WarpX-cae3e9ce6769fd5c626e27fad473da17a2b027fb.zip |
NCI filter initialized. See how to apply it
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r-- | Source/Particles/PhysicalParticleContainer.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp index 17e6d98d9..4a60fc630 100644 --- a/Source/Particles/PhysicalParticleContainer.cpp +++ b/Source/Particles/PhysicalParticleContainer.cpp @@ -1104,6 +1104,26 @@ PhysicalParticleContainer::Evolve (int lev, const auto& mypc = WarpX::GetInstance().GetPartContainer(); const int nstencilz_fdtd_nci_corr = mypc.nstencilz_fdtd_nci_corr; + + + + + + + + + const auto& nci_godfrey_filter_exeybz = WarpX::GetInstance().nci_godfrey_filter_exeybz; + const auto& nci_godfrey_filter_bxbyez = WarpX::GetInstance().nci_godfrey_filter_bxbyez; + + + + + + + + + + BL_ASSERT(OnSameGrids(lev,jx)); MultiFab* cost = WarpX::getCosts(lev); @@ -1171,53 +1191,73 @@ PhysicalParticleContainer::Evolve (int lev, #endif // both 2d and 3d + // bilinear_filter.ApplyStencil(*j_fp[lev][idim], *current_fp[lev][idim]); + filtered_Ex.resize(amrex::convert(tbox,WarpX::Ex_nodal_flag)); + nci_godfrey_filter_exeybz[lev]->ApplyStencil(Ex[pti], filtered_Ex) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_Ex), BL_TO_FORTRAN_ANYD(filtered_Ex), BL_TO_FORTRAN_ANYD(Ex[pti]), mypc.fdtd_nci_stencilz_ex[lev].data(), &nstencilz_fdtd_nci_corr); + */ exfab = &filtered_Ex; filtered_Ez.resize(amrex::convert(tbox,WarpX::Ez_nodal_flag)); + nci_godfrey_filter_bxbyez[lev]->ApplyStencil(Ez[pti], filtered_Ez) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_Ez), BL_TO_FORTRAN_ANYD(filtered_Ez), BL_TO_FORTRAN_ANYD(Ez[pti]), mypc.fdtd_nci_stencilz_by[lev].data(), &nstencilz_fdtd_nci_corr); + */ ezfab = &filtered_Ez; filtered_By.resize(amrex::convert(tbox,WarpX::By_nodal_flag)); + nci_godfrey_filter_bxbyez[lev]->ApplyStencil(By[pti], filtered_By) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_By), BL_TO_FORTRAN_ANYD(filtered_By), BL_TO_FORTRAN_ANYD(By[pti]), mypc.fdtd_nci_stencilz_by[lev].data(), &nstencilz_fdtd_nci_corr); + */ byfab = &filtered_By; #if (AMREX_SPACEDIM == 3) filtered_Ey.resize(amrex::convert(tbox,WarpX::Ey_nodal_flag)); + nci_godfrey_filter_exeybz[lev]->ApplyStencil(Ey[pti], filtered_Ey) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_Ey), BL_TO_FORTRAN_ANYD(filtered_Ey), BL_TO_FORTRAN_ANYD(Ey[pti]), mypc.fdtd_nci_stencilz_ex[lev].data(), &nstencilz_fdtd_nci_corr); + */ eyfab = &filtered_Ey; filtered_Bx.resize(amrex::convert(tbox,WarpX::Bx_nodal_flag)); + nci_godfrey_filter_bxbyez[lev]->ApplyStencil(Bx[pti], filtered_Bx) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_Bx), BL_TO_FORTRAN_ANYD(filtered_Bx), BL_TO_FORTRAN_ANYD(Bx[pti]), mypc.fdtd_nci_stencilz_by[lev].data(), &nstencilz_fdtd_nci_corr); + */ bxfab = &filtered_Bx; filtered_Bz.resize(amrex::convert(tbox,WarpX::Bz_nodal_flag)); + nci_godfrey_filter_exeybz[lev]->ApplyStencil(Bz[pti], filtered_Bz) + /* WRPX_PXR_GODFREY_FILTER(BL_TO_FORTRAN_BOX(filtered_Bz), BL_TO_FORTRAN_ANYD(filtered_Bz), BL_TO_FORTRAN_ANYD(Bz[pti]), mypc.fdtd_nci_stencilz_ex[lev].data(), &nstencilz_fdtd_nci_corr); + */ bzfab = &filtered_Bz; #endif } |