aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/BoundaryConditions/WarpX_PML_kernels.H212
1 files changed, 106 insertions, 106 deletions
diff --git a/Source/BoundaryConditions/WarpX_PML_kernels.H b/Source/BoundaryConditions/WarpX_PML_kernels.H
index e0915c30a..a45ec6264 100644
--- a/Source/BoundaryConditions/WarpX_PML_kernels.H
+++ b/Source/BoundaryConditions/WarpX_PML_kernels.H
@@ -8,33 +8,33 @@ using namespace amrex;
// PML BX YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_bx_yee (int i, int j, int k, Array4<Real> const& Bx,
+void warpx_push_pml_bx_yee (int i, int j, int k, Array4<Real> const& Bx,
Array4<Real const> const& Ey, Array4<Real const> const& Ez,
Real dtsdy, Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
- Bx(i,j,k,0) += - dtsdy * (Ez(i,j+1,k,0) + Ez(i,j+1,k,1) + Ez(i,j+1,k,2)
+ Bx(i,j,k,0) += - dtsdy * (Ez(i,j+1,k,0) + Ez(i,j+1,k,1) + Ez(i,j+1,k,2)
- Ez(i,j,k,0) - Ez(i,j,k,1) - Ez(i,j,k,2)) ;
- Bx(i,j,k,1) += dtsdz * (Ey(i,j,k+1,0) + Ey(i,j,k+1,1) + Ey(i,j,k+1,2)
+ Bx(i,j,k,1) += dtsdz * (Ey(i,j,k+1,0) + Ey(i,j,k+1,1) + Ey(i,j,k+1,2)
- Ey(i,j,k,0) - Ey(i,j,k,1) - Ey(i,j,k,2)) ;
#else
- Bx(i,j,k,1) += dtsdz * (Ey(i,j+1,k,0) + Ey(i,j+1,k,1) + Ey(i,j+1,k,2)
+ Bx(i,j,k,1) += dtsdz * (Ey(i,j+1,k,0) + Ey(i,j+1,k,1) + Ey(i,j+1,k,2)
- Ey(i,j,k,0) - Ey(i,j,k,1) - Ey(i,j,k,2)) ;
-#endif
+#endif
}
//PML BY YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_by_yee (int i, int j, int k, Array4<Real> const& By,
+void warpx_push_pml_by_yee (int i, int j, int k, Array4<Real> const& By,
Array4<Real const> const& Ex, Array4<Real const> const& Ez,
Real dtsdx, Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
- By(i,j,k,0) += -dtsdz * (Ex(i,j,k+1,0) + Ex(i,j,k+1,1) + Ex(i,j,k+1,2)
+ By(i,j,k,0) += -dtsdz * (Ex(i,j,k+1,0) + Ex(i,j,k+1,1) + Ex(i,j,k+1,2)
- Ex(i,j,k,0) - Ex(i,j,k,1) - Ex(i,j,k,2));
#else
- By(i,j,k,0) += -dtsdz * (Ex(i,j+1,k,0) + Ex(i,j+1,k,1) + Ex(i,j+1,k,2)
+ By(i,j,k,0) += -dtsdz * (Ex(i,j+1,k,0) + Ex(i,j+1,k,1) + Ex(i,j+1,k,2)
- Ex(i,j,k,0) - Ex(i,j,k,1) - Ex(i,j,k,2));
#endif
By(i,j,k,1) += dtsdx * (Ez(i+1,j,k,0) + Ez(i+1,j,k,1) + Ez(i+1,j,k,2)
@@ -44,7 +44,7 @@ void warpx_push_pml_by_yee (int i, int j, int k, Array4<Real> const& By,
//PML BZ YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_bz_yee (int i, int j, int k, Array4<Real> const& Bz,
+void warpx_push_pml_bz_yee (int i, int j, int k, Array4<Real> const& Bz,
Array4<Real const> const& Ex, Array4<Real const> const& Ey,
Real dtsdx, Real dtsdy)
{
@@ -59,18 +59,18 @@ void warpx_push_pml_bz_yee (int i, int j, int k, Array4<Real> const& Bz,
//PML BX CKC
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_bx_ckc(int i, int j, int k, Array4<Real> const&Bx,
- Array4<Real const> const& Ey,
+void warpx_push_pml_bx_ckc(int i, int j, int k, Array4<Real> const&Bx,
+ Array4<Real const> const& Ey,
Array4<Real const> const& Ez,
- Real betaxy, Real betaxz, Real betayx, Real betayz,
- Real betazx, Real betazy, Real gammax, Real gammay,
+ Real betaxy, Real betaxz, Real betayx, Real betayz,
+ Real betazx, Real betazy, Real gammax, Real gammay,
Real gammaz, Real alphax, Real alphay, Real alphaz)
{
#if (AMREX_SPACEDIM == 3)
- Bx(i,j,k,0) += -alphay*(Ez(i ,j+1,k ,0) + Ez(i ,j+1,k ,1) + Ez(i ,j+1,k ,2)
- - Ez(i ,j ,k ,0) - Ez(i ,j ,k ,1) - Ez(i ,j ,k ,2))
- -betayx*(Ez(i+1,j+1,k ,0) + Ez(i+1,j+1,k ,1) + Ez(i+1,j+1,k ,2)
- - Ez(i+1,j ,k ,0) - Ez(i+1,j ,k ,1) - Ez(i+1,j ,k ,2)
+ Bx(i,j,k,0) += -alphay*(Ez(i ,j+1,k ,0) + Ez(i ,j+1,k ,1) + Ez(i ,j+1,k ,2)
+ - Ez(i ,j ,k ,0) - Ez(i ,j ,k ,1) - Ez(i ,j ,k ,2))
+ -betayx*(Ez(i+1,j+1,k ,0) + Ez(i+1,j+1,k ,1) + Ez(i+1,j+1,k ,2)
+ - Ez(i+1,j ,k ,0) - Ez(i+1,j ,k ,1) - Ez(i+1,j ,k ,2)
+ Ez(i-1,j+1,k ,0) + Ez(i-1,j+1,k ,1) + Ez(i-1,j+1,k ,2)
- Ez(i-1,j ,k ,0) - Ez(i-1,j ,k ,1) - Ez(i-1,j ,k ,2))
-betayz*(Ez(i ,j+1,k+1,0) + Ez(i ,j+1,k+1,1) + Ez(i ,j+1,k+1,2)
@@ -83,17 +83,17 @@ void warpx_push_pml_bx_ckc(int i, int j, int k, Array4<Real> const&Bx,
- Ez(i-1,j ,k+1,0) - Ez(i-1,j ,k+1,1) - Ez(i-1,j ,k+1,2)
+ Ez(i+1,j+1,k-1,0) + Ez(i+1,j+1,k-1,1) + Ez(i+1,j+1,k-1,2)
- Ez(i+1,j ,k-1,0) - Ez(i+1,j ,k-1,1) - Ez(i+1,j ,k-1,2)
- + Ez(i-1,j+1,k-1,0) + Ez(i-1,j+1,k-1,1) + Ez(i-1,j+1,k-1,2)
- - Ez(i-1,j ,k-1,0) - Ez(i-1,j ,k-1,1) - Ez(i-1,j ,k-1,2));
+ + Ez(i-1,j+1,k-1,0) + Ez(i-1,j+1,k-1,1) + Ez(i-1,j+1,k-1,2)
+ - Ez(i-1,j ,k-1,0) - Ez(i-1,j ,k-1,1) - Ez(i-1,j ,k-1,2));
Bx(i,j,k,1) += alphaz*(Ey(i ,j ,k+1,0) + Ey(i ,j ,k+1,1) + Ez(i ,j ,k+1,2)
- Ey(i ,j ,k ,0) - Ey(i ,j ,k ,1) - Ey(i ,j ,k ,2))
- +betazx*(Ey(i+1,j ,k+1,0) + Ey(i+1,j ,k+1,1) + Ey(i+1,j ,k+1,2)
+ +betazx*(Ey(i+1,j ,k+1,0) + Ey(i+1,j ,k+1,1) + Ey(i+1,j ,k+1,2)
- Ey(i+1,j ,k ,0) - Ey(i+1,j ,k ,1) - Ey(i+1,j ,k ,2)
+ Ey(i-1,j ,k+1,0) + Ey(i-1,j ,k+1,1) + Ey(i-1,j ,k+1,2)
- Ey(i-1,j ,k ,0) - Ey(i-1,j ,k ,1) - Ey(i-1,j ,k ,2))
- +betazy*(Ey(i ,j+1,k+1,0) + Ey(i ,j+1,k+1,1) + Ey(i ,j+1,k+1,2)
- - Ey(i ,j+1,k ,0) - Ey(i ,j+1,k ,1) - Ey(i ,j+1,k ,2)
- + Ey(i, j-1,k+1,0) + Ey(i ,j-1,k+1,1) + Ey(i ,j-1,k+1,2)
+ +betazy*(Ey(i ,j+1,k+1,0) + Ey(i ,j+1,k+1,1) + Ey(i ,j+1,k+1,2)
+ - Ey(i ,j+1,k ,0) - Ey(i ,j+1,k ,1) - Ey(i ,j+1,k ,2)
+ + Ey(i, j-1,k+1,0) + Ey(i ,j-1,k+1,1) + Ey(i ,j-1,k+1,2)
- Ey(i ,j-1,k ,0) - Ey(i ,j-1,k ,1) - Ey(i ,j-1,k ,2))
+gammaz*(Ey(i+1,j+1,k+1,0) + Ey(i+1,j+1,k+1,1) + Ey(i+1,j+1,k+1,2)
- Ey(i+1,j+1,k ,0) - Ey(i+1,j+1,k ,1) - Ey(i+1,j+1,k ,2)
@@ -101,29 +101,29 @@ void warpx_push_pml_bx_ckc(int i, int j, int k, Array4<Real> const&Bx,
- Ey(i-1,j+1,k ,0) - Ey(i-1,j+1,k ,1) - Ey(i-1,j+1,k ,2)
+ Ey(i+1,j-1,k+1,0) + Ey(i+1,j-1,k+1,1) + Ey(i+1,j-2,k+1,2)
- Ey(i+1,j-1,k ,0) - Ey(i+1,j-1,k ,1) - Ey(i+1,j-1,k ,2)
- + Ey(i-1,j-1,k+1,0) + Ey(i-1,j-1,k+1,1) + Ey(i-1,j-1,k+1,1)
+ + Ey(i-1,j-1,k+1,0) + Ey(i-1,j-1,k+1,1) + Ey(i-1,j-1,k+1,1)
- Ey(i-1,j-1,k ,0) - Ey(i-1,j-1,k ,1) - Ey(i-1,j-1,k ,2));
#else
Bx(i,j,k,1) += alphaz*(Ey(i ,j+1,k ,0) + Ey(i ,j+1,k ,1) + Ey(i ,j+1,k ,2)
- - Ey(i ,j ,k ,0) - Ey(i ,j ,k ,1) - Ey(i ,j ,k ,2))
+ - Ey(i ,j ,k ,0) - Ey(i ,j ,k ,1) - Ey(i ,j ,k ,2))
+betazx*(Ey(i+1,j+1,k ,0) + Ey(i+1,j+1,k ,1) + Ey(i+1,j+1,k ,2)
- Ey(i+1,j ,k ,0) - Ey(i+1,j ,k ,1) - Ey(i+1,j+1,k ,2)
+ Ey(i-1,j+1,k ,0) + Ey(i-1,j+1,k ,1) + Ey(i-1,j+1,k ,2)
- Ey(i-1,j ,k ,0) - Ey(i-1,j ,k ,1) - Ey(i-1,j ,k ,2));
-
+
#endif
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_by_ckc(int i, int j, int k, Array4<Real> const&By,
- Array4<Real const> const& Ex,
+void warpx_push_pml_by_ckc(int i, int j, int k, Array4<Real> const&By,
+ Array4<Real const> const& Ex,
Array4<Real const> const& Ez,
- Real betaxy, Real betaxz, Real betayx, Real betayz,
- Real betazx, Real betazy, Real gammax, Real gammay,
+ Real betaxy, Real betaxz, Real betayx, Real betayz,
+ Real betazx, Real betazy, Real gammax, Real gammay,
Real gammaz, Real alphax, Real alphay, Real alphaz)
{
#if (AMREX_SPACEDIM==3)
@@ -133,7 +133,7 @@ void warpx_push_pml_by_ckc(int i, int j, int k, Array4<Real> const&By,
- Ex(i+1,j ,k ,0) - Ex(i+1,j ,k+1,1) - Ex(i+1,j ,k ,2)
+ Ex(i-1,j ,k+1,0) + Ex(i-1,j ,k+1,1) + Ex(i-1,j ,k+1,2)
- Ex(i-1,j ,k ,0) - Ex(i-1,j ,k ,1) - Ex(i-1,j ,k ,2))
- -betaxy*(Ex(i ,j+1,k+1,0) + Ex(i ,j+1,k+1,1) + Ex(i ,j+1,k+1,2)
+ -betazy*(Ex(i ,j+1,k+1,0) + Ex(i ,j+1,k+1,1) + Ex(i ,j+1,k+1,2)
- Ex(i ,j+1,k ,0) - Ex(i ,j+1,k ,1) - Ex(i ,j+1,k ,2)
+ Ex(i ,j-1,k+1,0) + Ex(i ,j-1,k+1,1) + Ex(i ,j-1,k+1,2)
- Ex(i ,j-1,k ,0) - Ex(i ,j-1,k ,1) - Ex(i ,j-1,k ,2))
@@ -147,34 +147,34 @@ void warpx_push_pml_by_ckc(int i, int j, int k, Array4<Real> const&By,
- Ex(i-1,j-1,k ,0) - Ex(i-1,j-1,k ,1) - Ex(i-1,j-1,k ,2));
By(i,j,k,1) += alphax*(Ez(i+1,j ,k ,0) + Ez(i+1,j ,k ,1) + Ez(i+1,j ,k ,2)
- - Ez(i ,j ,k ,0) - Ez(i ,j ,k ,1) - Ez(i ,j ,k ,2))
+ - Ez(i ,j ,k ,0) - Ez(i ,j ,k ,1) - Ez(i ,j ,k ,2))
+betaxy*(Ez(i+1,j+1,k ,0) + Ez(i+1,j+1,k ,1) + Ez(i+1,j+1,k ,2)
- Ez(i ,j+1,k ,0) - Ez(i ,j+1,k ,1) - Ez(i ,j+1,k ,2)
+ Ez(i+1,j-1,k ,0) + Ez(i+1,j-1,k ,1) + Ez(i+1,j-1,k ,2)
- Ez(i ,j-1,k ,0) - Ez(i ,j-1,k ,1) - Ez(i ,j-1,k ,2))
- +betaxz*(Ez(i+1,j ,k+1,0) + Ez(i+1,j ,k+1,1) + Ez(i+1,j ,k+1,2)
- - Ez(i ,j ,k+1,0) - Ez(i ,j ,k+1,1) - Ez(i ,j ,k+1,2)
+ +betaxz*(Ez(i+1,j ,k+1,0) + Ez(i+1,j ,k+1,1) + Ez(i+1,j ,k+1,2)
+ - Ez(i ,j ,k+1,0) - Ez(i ,j ,k+1,1) - Ez(i ,j ,k+1,2)
+ Ez(i+1,j ,k-1,0) + Ez(i+1,j ,k-1,1) + Ez(i+1,j ,k-1,2)
- Ez(i ,j ,k-1,0) - Ez(i ,j ,k-1,1) - Ez(i ,j ,k-1,2))
+gammax*(Ez(i+1,j+1,k+1,0) + Ez(i+1,j+1,k+1,1) + Ez(i+1,j+1,k+1,2)
- Ez(i ,j+1,k+1,0) - Ez(i ,j+1,k+1,1) - Ez(i ,j+1,k+1,2)
- + Ez(i+1,j-1,k+1,0) + Ez(i+1,j-1,k+1,1) + Ez(i+1,j-1,k+1,2)
+ + Ez(i+1,j-1,k+1,0) + Ez(i+1,j-1,k+1,1) + Ez(i+1,j-1,k+1,2)
- Ez(i ,j-1,k+1,0) - Ez(i ,j-1,k+1,1) - Ez(i ,j-1,k+1,2)
+ Ez(i+1,j+1,k-1,0) + Ez(i+1,j+1,k-1,1) + Ez(i+1,j+1,k-1,2)
- Ez(i ,j+1,k-1,0) - Ez(i ,j+1,k-1,1) - Ez(i ,j+1,k-1,2)
- + Ez(i+1,j-1,k-1,0) + Ez(i+1,j-1,k-1,1) + Ez(i+1,j-1,k-1,2)
+ + Ez(i+1,j-1,k-1,0) + Ez(i+1,j-1,k-1,1) + Ez(i+1,j-1,k-1,2)
- Ez(i ,j-1,k-1,0) - Ez(i ,j-1,k-1,1) - Ez(i ,j-1,k-1,2));
#else
- By(i,j,k,0) += -alphaz*(Ex(i ,j+1,k ,0) + Ex(i ,j+1,k ,1) + Ex(i ,j+1,k ,2)
+ By(i,j,k,0) += -alphaz*(Ex(i ,j+1,k ,0) + Ex(i ,j+1,k ,1) + Ex(i ,j+1,k ,2)
- Ex(i ,j ,k ,0) - Ex(i ,j ,k ,1) - Ex(i ,j ,k ,2))
- -betazx*(Ex(i+1,j+1,k ,0) + Ex(i+1,j+1,k ,1) + Ex(i+1,j+1,k ,2)
+ -betazx*(Ex(i+1,j+1,k ,0) + Ex(i+1,j+1,k ,1) + Ex(i+1,j+1,k ,2)
- Ex(i+1,j ,k ,0) - Ex(i+1,j ,k ,1) - Ex(i+1,j ,k ,2)
- + Ex(i-1,j+1,k ,0) + Ex(i-1,j+1,k ,1) + Ex(i-1,j+1,k ,2)
+ + Ex(i-1,j+1,k ,0) + Ex(i-1,j+1,k ,1) + Ex(i-1,j+1,k ,2)
- Ex(i-1,j ,k ,0) - Ex(i-1,j ,k ,1) - Ex(i-1,j ,k ,2));
- By(i,j,k,1) += alphax*(Ez(i+1,j ,k ,0) + Ez(i+1,j ,k ,1) + Ez(i+1,j ,k ,2)
+ By(i,j,k,1) += alphax*(Ez(i+1,j ,k ,0) + Ez(i+1,j ,k ,1) + Ez(i+1,j ,k ,2)
- Ez(i ,j ,k ,0) - Ez(i ,j ,k ,1) - Ez(i ,j ,k ,2))
- +betaxz*(Ez(i+1,j+1,k ,0) + Ez(i+1,j+1,k ,1) + Ez(i+1,j+1,k ,2)
+ +betaxz*(Ez(i+1,j+1,k ,0) + Ez(i+1,j+1,k ,1) + Ez(i+1,j+1,k ,2)
- Ez(i ,j+1,k ,0) - Ez(i ,j+1,k ,1) - Ez(i ,j+1,k ,2)
+ Ez(i+1,j-1,k ,0) + Ez(i+1,j-1,k ,1) + Ez(i+1,j-1,k ,2)
- Ez(i ,j-1,k ,0) - Ez(i ,j-1,k ,1) - Ez(i ,j-1,k ,2));
@@ -186,15 +186,15 @@ void warpx_push_pml_by_ckc(int i, int j, int k, Array4<Real> const&By,
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_bz_ckc(int i, int j, int k, Array4<Real> const&Bz,
+void warpx_push_pml_bz_ckc(int i, int j, int k, Array4<Real> const&Bz,
Array4<Real const> const& Ex,
Array4<Real const> const& Ey,
- Real betaxy, Real betaxz, Real betayx, Real betayz,
- Real betazx, Real betazy, Real gammax, Real gammay,
+ Real betaxy, Real betaxz, Real betayx, Real betayz,
+ Real betazx, Real betazy, Real gammax, Real gammay,
Real gammaz, Real alphax, Real alphay, Real alphaz)
{
#if (AMREX_SPACEDIM==3)
- Bz(i,j,k,0) += -alphax*(Ey(i+1,j ,k ,0) + Ey(i+1,j ,k ,1) + Ey(i+1,j ,k ,2)
+ Bz(i,j,k,0) += -alphax*(Ey(i+1,j ,k ,0) + Ey(i+1,j ,k ,1) + Ey(i+1,j ,k ,2)
- Ey(i ,j ,k ,0) - Ey(i ,j ,k ,1) - Ey(i ,j ,k ,2))
-betaxy*(Ey(i+1,j+1,k ,0) + Ey(i+1,j+1,k ,1) + Ey(i+1,j+1,k ,2)
- Ey(i ,j+1,k ,0) - Ey(i ,j+1,k ,1) - Ey(i ,j+1,k ,2)
@@ -215,17 +215,17 @@ void warpx_push_pml_bz_ckc(int i, int j, int k, Array4<Real> const&Bz,
Bz(i,j,k,1) += alphay*(Ex(i ,j+1,k ,0) + Ex(i ,j+1,k ,1) + Ex(i ,j+1,k ,2)
- Ex(i ,j ,k ,0) - Ex(i ,j ,k ,1) - Ex(i ,j ,k ,2))
- +betayx*(Ex(i+1,j+1,k ,0) + Ex(i+1,j+1,k ,1) + Ex(i+1,j+1,k ,2)
+ +betayx*(Ex(i+1,j+1,k ,0) + Ex(i+1,j+1,k ,1) + Ex(i+1,j+1,k ,2)
- Ex(i+1,j ,k ,0) - Ex(i+1,j ,k ,1) - Ex(i+1,j ,k ,2)
+ Ex(i-1,j+1,k ,0) + Ex(i-1,j+1,k ,1) + Ex(i-1,j+1,k ,2)
- Ex(i-1,j ,k ,0) - Ex(i-1,j ,k ,1) - Ex(i-1,j ,k ,2))
+betayz*(Ex(i ,j+1,k+1,0) + Ex(i ,j+1,k+1,1) + Ex(i ,j+1,k+1,2)
- Ex(i ,j ,k+1,0) - Ex(i ,j ,k+1,1) - Ex(i ,j ,k+1,2)
+ Ex(i ,j+1,k-1,0) + Ex(i ,j+1,k-1,1) + Ex(i ,j+1,k-1,2)
- - Ex(i ,j ,k-1,0) - Ex(i ,j ,k-1,1) - Ex(i ,j ,k-1,2))
+ - Ex(i ,j ,k-1,0) - Ex(i ,j ,k-1,1) - Ex(i ,j ,k-1,2))
+gammay*(Ex(i+1,j+1,k+1,0) + Ex(i+1,j+1,k+1,1) + Ex(i+1,j+1,k+1,2)
- Ex(i+1,j ,k+1,0) - Ex(i+1,j ,k+1,1) - Ex(i+1,j ,k+1,2)
- + Ex(i-1,j+1,k+1,0) + Ex(i-1,j+1,k+1,1) + Ex(i-1,j+1,k+1,2)
+ + Ex(i-1,j+1,k+1,0) + Ex(i-1,j+1,k+1,1) + Ex(i-1,j+1,k+1,2)
- Ex(i-1,j ,k+1,0) - Ex(i-1,j ,k+1,1) - Ex(i-1,j ,k+1,2)
+ Ex(i+1,j+1,k-1,0) + Ex(i+1,j+1,k-1,1) + Ex(i+1,j+1,k-1,2)
- Ex(i+1,j ,k-1,0) - Ex(i+1,j ,k-1,1) - Ex(i+1,j ,k-1,2)
@@ -234,7 +234,7 @@ void warpx_push_pml_bz_ckc(int i, int j, int k, Array4<Real> const&Bz,
#else
- Bz(i,j,k,0) += -alphax*(Ey(i+1,j ,k ,0) + Ey(i+1,j ,k ,1) + Ey(i+1,j ,k ,2)
+ Bz(i,j,k,0) += -alphax*(Ey(i+1,j ,k ,0) + Ey(i+1,j ,k ,1) + Ey(i+1,j ,k ,2)
- Ey(i ,j ,k ,0) - Ey(i ,j ,k ,1) - Ey(i ,j ,k ,2))
-betaxz*(Ey(i+1,j+1,k ,0) + Ey(i+1,j+1,k ,1) + Ey(i+1,j+1,k ,2)
- Ey(i ,j+1,k ,0) - Ey(i ,j+1,k ,1) - Ey(i ,j+1,k ,2)
@@ -250,19 +250,19 @@ void warpx_push_pml_bz_ckc(int i, int j, int k, Array4<Real> const&Bz,
//PML EX YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ex_yee (int i, int j, int k, Array4<Real> const& Ex,
+void warpx_push_pml_ex_yee (int i, int j, int k, Array4<Real> const& Ex,
Array4<Real const> const& By,
Array4<Real const> const& Bz,
Real dtsdy_c2, Real dtsdz_c2)
{
#if (AMREX_SPACEDIM == 3)
- Ex(i,j,k,0) += dtsdy_c2 * ( Bz(i,j ,k,0) + Bz(i,j ,k,1)
+ Ex(i,j,k,0) += dtsdy_c2 * ( Bz(i,j ,k,0) + Bz(i,j ,k,1)
- Bz(i,j-1,k,0) - Bz(i,j-1,k,1) );
- Ex(i,j,k,1) += -dtsdz_c2 * (By(i,j,k ,0) + By(i,j,k ,1)
+ Ex(i,j,k,1) += -dtsdz_c2 * (By(i,j,k ,0) + By(i,j,k ,1)
- By(i,j,k-1,0) - By(i,j,k-1,1) );
#else
- Ex(i,j,k,1) += -dtsdz_c2 * (By(i,j ,k,0) + By(i,j ,k,1)
+ Ex(i,j,k,1) += -dtsdz_c2 * (By(i,j ,k,0) + By(i,j ,k,1)
- By(i,j-1,k,0) - By(i,j-1,k,1) );
#endif
}
@@ -275,13 +275,13 @@ void warpx_push_pml_ey_yee (int i, int j, int k, Array4<Real> const& Ey,
Real dtsdx_c2, Real dtsdz_c2)
{
#if (AMREX_SPACEDIM == 3)
- Ey(i,j,k,0) += dtsdz_c2 * (Bx(i,j,k ,0) + Bx(i,j,k ,1)
+ Ey(i,j,k,0) += dtsdz_c2 * (Bx(i,j,k ,0) + Bx(i,j,k ,1)
- Bx(i,j,k-1,0) - Bx(i,j,k-1,1));
#else
- Ey(i,j,k,0) += dtsdz_c2 * (Bx(i,j ,k,0) + Bx(i,j ,k,1)
+ Ey(i,j,k,0) += dtsdz_c2 * (Bx(i,j ,k,0) + Bx(i,j ,k,1)
- Bx(i,j-1,k,0) - Bx(i,j-1,k,1));
#endif
- Ey(i,j,k,1) += -dtsdx_c2 * (Bz(i ,j,k,0) + Bz(i ,j,k,1)
+ Ey(i,j,k,1) += -dtsdx_c2 * (Bz(i ,j,k,0) + Bz(i ,j,k,1)
- Bz(i-1,j,k,0) - Bz(i-1,j,k,1) );
}
@@ -292,10 +292,10 @@ void warpx_push_pml_ez_yee (int i, int j, int k, Array4<Real> const& Ez,
Array4<Real const> const& By,
Real dtsdx_c2, Real dtsdy_c2)
{
- Ez(i,j,k,0) += dtsdx_c2 * (By(i, j,k,0) + By(i, j,k,1)
+ Ez(i,j,k,0) += dtsdx_c2 * (By(i, j,k,0) + By(i, j,k,1)
- By(i-1,j,k,0) - By(i-1,j,k,1) );
#if (AMREX_SPACEDIM==3)
- Ez(i,j,k,1) += - dtsdy_c2 * (Bx(i,j, k,0) + Bx(i,j, k,1)
+ Ez(i,j,k,1) += - dtsdy_c2 * (Bx(i,j, k,0) + Bx(i,j, k,1)
- Bx(i,j-1,k,0) - Bx(i,j-1,k,1) );
#endif
}
@@ -303,72 +303,72 @@ void warpx_push_pml_ez_yee (int i, int j, int k, Array4<Real> const& Ez,
// PML EX F YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ex_f_yee(int i, int j, int k,
+void warpx_push_pml_ex_f_yee(int i, int j, int k,
Array4<Real> const& Exfab,
Array4<Real const> const& F_fab,
Real dtsdx_c2)
{
- Exfab(i,j,k,2) += dtsdx_c2 * (F_fab(i+1,j,k,0) - F_fab(i,j,k,0)
- + F_fab(i+1,j,k,1) - F_fab(i,j,k,1)
+ Exfab(i,j,k,2) += dtsdx_c2 * (F_fab(i+1,j,k,0) - F_fab(i,j,k,0)
+ + F_fab(i+1,j,k,1) - F_fab(i,j,k,1)
+ F_fab(i+1,j,k,2) - F_fab(i,j,k,2));
}
// PML EY F YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ey_f_yee(int i, int j, int k,
+void warpx_push_pml_ey_f_yee(int i, int j, int k,
Array4<Real> const& Eyfab,
Array4<Real const> const& F_fab,
Real dtsdy_c2)
{
- Eyfab(i,j,k,2) += dtsdy_c2 * (F_fab(i,j+1,k,0) - F_fab(i,j,k,0)
- + F_fab(i,j+1,k,1) - F_fab(i,j,k,1)
+ Eyfab(i,j,k,2) += dtsdy_c2 * (F_fab(i,j+1,k,0) - F_fab(i,j,k,0)
+ + F_fab(i,j+1,k,1) - F_fab(i,j,k,1)
+ F_fab(i,j+1,k,2) - F_fab(i,j,k,2));
}
// PML EZ F YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ez_f_yee(int i, int j, int k,
+void warpx_push_pml_ez_f_yee(int i, int j, int k,
Array4<Real> const& Ezfab,
Array4<Real const> const& F_fab,
Real dtsdz_c2)
{
#if (AMREX_SPACEDIM == 3)
- Ezfab(i,j,k,2) += dtsdz_c2 * (F_fab(i,j,k+1,0) - F_fab(i,j,k,0)
- + F_fab(i,j,k+1,1) - F_fab(i,j,k,1)
+ Ezfab(i,j,k,2) += dtsdz_c2 * (F_fab(i,j,k+1,0) - F_fab(i,j,k,0)
+ + F_fab(i,j,k+1,1) - F_fab(i,j,k,1)
+ F_fab(i,j,k+1,2) - F_fab(i,j,k,2));
#else
- Ezfab(i,j,k,2) += dtsdz_c2 * (F_fab(i,j+1,k,0) - F_fab(i,j,k,0)
- + F_fab(i,j+1,k,1) - F_fab(i,j,k,1)
+ Ezfab(i,j,k,2) += dtsdz_c2 * (F_fab(i,j+1,k,0) - F_fab(i,j,k,0)
+ + F_fab(i,j+1,k,1) - F_fab(i,j,k,1)
+ F_fab(i,j+1,k,2) - F_fab(i,j,k,2));
#endif
}
// PML EX F CKC
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ex_f_ckc(int i, int j, int k,
+void warpx_push_pml_ex_f_ckc(int i, int j, int k,
Array4<Real> const& Exfab,
Array4<Real const> const& F,
Real alphax, Real betaxy, Real betaxz,Real gammax)
{
#if (AMREX_SPACEDIM==3)
- Exfab(i,j,k,2) += alphax*(
+ Exfab(i,j,k,2) += alphax*(
F(i+1,j ,k ,0) + F(i+1,j ,k ,1) + F(i+1,j ,k ,2)
- F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+betaxy*(
- F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
+ F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
- F(i ,j+1,k ,0) - F(i ,j+1,k ,1) - F(i ,j+1,k ,2)
+ F(i+1,j-1,k ,0) + F(i+1,j-1,k ,1) + F(i+1,j-1,k ,2)
- F(i ,j-1,k ,0) - F(i ,j-1,k ,1) - F(i ,j-1,k ,2))
+betaxz*(
- F(i+1,j ,k+1,0) + F(i+1,j ,k+1,1) + F(i+1,j ,k+1,2)
+ F(i+1,j ,k+1,0) + F(i+1,j ,k+1,1) + F(i+1,j ,k+1,2)
- F(i ,j ,k+1,0) - F(i ,j ,k+1,1) - F(i ,j ,k+1,2)
+ F(i+1,j ,k-1,0) + F(i+1,j ,k-1,1) + F(i+1,j ,k-1,2)
- F(i ,j ,k-1,0) - F(i ,j ,k-1,1) - F(i ,j ,k-1,2))
- +gammax*(
+ +gammax*(
F(i+1,j+1,k+1,0) + F(i+1,j+1,k+1,1) + F(i+1,j+1,k+1,2)
- F(i ,j+1,k+1,0) - F(i ,j+1,k+1,1) - F(i ,j+1,k+1,2)
- + F(i+1,j-1,k+1,0) + F(i+1,j-1,k+1,1) + F(i+1,j-1,k+1,2)
- - F(i ,j-1,k+1,0) - F(i ,j-1,k+1,1) - F(i ,j-1,k+1,2)
+ + F(i+1,j-1,k+1,0) + F(i+1,j-1,k+1,1) + F(i+1,j-1,k+1,2)
+ - F(i ,j-1,k+1,0) - F(i ,j-1,k+1,1) - F(i ,j-1,k+1,2)
+ F(i+1,j+1,k-1,0) + F(i+1,j+1,k-1,1) + F(i+1,j+1,k-1,2)
- F(i ,j+1,k-1,0) - F(i ,j+1,k-1,1) - F(i ,j+1,k-1,2)
+ F(i+1,j-1,k-1,0) + F(i+1,j-1,k-1,1) + F(i+1,j-1,k-1,2)
@@ -378,7 +378,7 @@ void warpx_push_pml_ex_f_ckc(int i, int j, int k,
F(i+1,j ,k ,0) + F(i+1,j ,k ,1) + F(i+1,j ,k ,2)
- F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+betaxz*(
- F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
+ F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
- F(i ,j+1,k ,0) - F(i ,j+1,k ,1) - F(i ,j+1,k ,2)
+ F(i+1,j-1,k ,0) + F(i+1,j-1,k ,1) + F(i+1,j-1,k ,2)
- F(i ,j-1,k ,0) - F(i ,j-1,k ,1) - F(i ,j-1,k ,2));
@@ -388,45 +388,45 @@ void warpx_push_pml_ex_f_ckc(int i, int j, int k,
#if (AMREX_SPACEDIM==3)
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ey_f_ckc(int i, int j, int k,
+void warpx_push_pml_ey_f_ckc(int i, int j, int k,
Array4<Real> const& Eyfab,
Array4<Real const> const& F,
Real alphay, Real betayx, Real betayz,Real gammay)
{
- Eyfab(i,j,k,2) += alphay*(
- F(i ,j+1,k ,0) + F(i ,j+1,k ,1) + F(i ,j+1,k ,2)
- - F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+ Eyfab(i,j,k,2) += alphay*(
+ F(i ,j+1,k ,0) + F(i ,j+1,k ,1) + F(i ,j+1,k ,2)
+ - F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+betayx*(
F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
- - F(i+1,j ,k ,0) - F(i+1,j ,k ,1) - F(i+1,j ,k ,2)
- + F(i-1,j+1,k ,0) + F(i-1,j+1,k ,1) + F(i-1,j+1,k ,2)
+ - F(i+1,j ,k ,0) - F(i+1,j ,k ,1) - F(i+1,j ,k ,2)
+ + F(i-1,j+1,k ,0) + F(i-1,j+1,k ,1) + F(i-1,j+1,k ,2)
- F(i-1,j ,k ,0) - F(i-1,j ,k ,1) - F(i-1,j ,k ,2))
+betayz*(
F(i ,j+1,k+1,0) + F(i ,j+1,k+1,1) + F(i ,j+1,k+1,2)
- F(i ,j ,k+1,0) - F(i ,j ,k+1,1) - F(i ,j ,k+1,2)
- + F(i ,j+1,k-1,0) + F(i ,j+1,k-1,1) + F(i ,j+1,k-1,2)
+ + F(i ,j+1,k-1,0) + F(i ,j+1,k-1,1) + F(i ,j+1,k-1,2)
- F(i ,j ,k-1,0) - F(i ,j ,k-1,1) - F(i ,j ,k-1,2))
+gammay*(
- F(i+1,j+1,k+1,0) + F(i+1,j+1,k+1,1) + F(i+1,j+1,k+1,2)
+ F(i+1,j+1,k+1,0) + F(i+1,j+1,k+1,1) + F(i+1,j+1,k+1,2)
- F(i+1,j ,k+1,0) - F(i+1,j ,k+1,1) - F(i+1,j ,k+1,2)
+ F(i-1,j+1,k+1,0) + F(i-1,j+1,k+1,1) + F(i-1,j+1,k+1,2)
- - F(i-1,j ,k+1,0) - F(i-1,j ,k+1,1) - F(i-1,j ,k+1,2)
+ - F(i-1,j ,k+1,0) - F(i-1,j ,k+1,1) - F(i-1,j ,k+1,2)
+ F(i+1,j+1,k-1,0) + F(i+1,j+1,k-1,1) + F(i+1,j+1,k-1,2)
- - F(i+1,j ,k-1,0) - F(i+1,j ,k-1,1) - F(i+1,j ,k-1,2)
+ - F(i+1,j ,k-1,0) - F(i+1,j ,k-1,1) - F(i+1,j ,k-1,2)
+ F(i-1,j+1,k-1,0) + F(i-1,j+1,k-1,1) + F(i-1,j+1,k-1,2)
- F(i-1,j ,k-1,0) - F(i-1,j ,k-1,1) - F(i-1,j ,k-1,2));
}
#endif
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_ez_f_ckc(int i, int j, int k,
+void warpx_push_pml_ez_f_ckc(int i, int j, int k,
Array4<Real> const& Ezfab,
Array4<Real const> const& F,
Real alphaz, Real betazx, Real betazy,Real gammaz)
{
#if (AMREX_SPACEDIM==3)
- Ezfab(i,j,k,2) += alphaz*(
- F(i ,j ,k+1,0) + F(i ,j ,k+1,1) + F(i ,j ,k+1,2)
+ Ezfab(i,j,k,2) += alphaz*(
+ F(i ,j ,k+1,0) + F(i ,j ,k+1,1) + F(i ,j ,k+1,2)
- F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+betazx*(
F(i+1,j ,k+1,0) + F(i+1,j ,k+1,1) + F(i+1,j ,k+1,2)
@@ -441,20 +441,20 @@ void warpx_push_pml_ez_f_ckc(int i, int j, int k,
+gammaz*(
F(i+1,j+1,k+1,0) + F(i+1,j+1,k+1,1) + F(i+1,j+1,k+1,2)
- F(i+1,j+1,k ,0) - F(i+1,j+1,k ,1) - F(i+1,j+1,k ,2)
- + F(i-1,j+1,k+1,0) + F(i-1,j+1,k+1,1) + F(i-1,j+1,k+1,2)
+ + F(i-1,j+1,k+1,0) + F(i-1,j+1,k+1,1) + F(i-1,j+1,k+1,2)
- F(i-1,j+1,k ,0) - F(i-1,j+1,k ,1) - F(i-1,j+1,k ,2)
- + F(i+1,j-1,k+1,0) + F(i+1,j-1,k+1,1) + F(i+1,j-1,k+1,2)
+ + F(i+1,j-1,k+1,0) + F(i+1,j-1,k+1,1) + F(i+1,j-1,k+1,2)
- F(i+1,j-1,k ,0) - F(i+1,j-1,k ,1) - F(i+1,j-1,k ,2)
+ F(i-1,j-1,k+1,0) + F(i-1,j-1,k+1,1) + F(i-1,j-1,k+1,2)
- F(i-1,j-1,k ,0) - F(i-1,j-1,k ,1) - F(i-1,j-1,k ,2));
#else
Ezfab(i,j,k,2) += alphaz*(
- F(i ,j+1,k ,0) + F(i ,j+1,k ,1) + F(i ,j+1,k ,2)
+ F(i ,j+1,k ,0) + F(i ,j+1,k ,1) + F(i ,j+1,k ,2)
- F(i ,j ,k ,0) - F(i ,j ,k ,1) - F(i ,j ,k ,2))
+betazx*(
F(i+1,j+1,k ,0) + F(i+1,j+1,k ,1) + F(i+1,j+1,k ,2)
- F(i+1,j ,k ,0) - F(i+1,j ,k ,1) - F(i+1,j ,k ,2)
- + F(i-1,j+1,k ,0) + F(i-1,j+1,k ,1) + F(i-1,j+1,k ,2)
+ + F(i-1,j+1,k ,0) + F(i-1,j+1,k ,1) + F(i-1,j+1,k ,2)
- F(i-1,j ,k ,0) - F(i-1,j ,k ,1) - F(i-1,j ,k ,2));
#endif
@@ -465,14 +465,14 @@ void warpx_push_pml_ez_f_ckc(int i, int j, int k,
// PML F YEE
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_pml_F(int i, int j, int k, Array4<Real> const& F_fab,
- Array4<Real const> const& Exfab,
- Array4<Real const> const& Eyfab,
- Array4<Real const> const& Ezfab,
+void warpx_push_pml_F(int i, int j, int k, Array4<Real> const& F_fab,
+ Array4<Real const> const& Exfab,
+ Array4<Real const> const& Eyfab,
+ Array4<Real const> const& Ezfab,
Real dtsdx, Real dtsdy, Real dtsdz)
{
- F_fab(i,j,k,0) += dtsdx * (Exfab(i,j,k,0) - Exfab(i-1,j,k,0)
- + Exfab(i,j,k,1) - Exfab(i-1,j,k,1)
+ F_fab(i,j,k,0) += dtsdx * (Exfab(i,j,k,0) - Exfab(i-1,j,k,0)
+ + Exfab(i,j,k,1) - Exfab(i-1,j,k,1)
+ Exfab(i,j,k,2) - Exfab(i-1,j,k,2));
#if (AMREX_SPACEDIM==3)
F_fab(i,j,k,1) += dtsdy * (Eyfab(i,j,k,0) - Eyfab(i,j-1,k,0)
@@ -493,7 +493,7 @@ AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
void warpx_damp_pml_ex (int i, int j, int k, Array4<Real> const& Ex,
const Real* const sigma_fac_y,
const Real* const sigma_fac_z,
- const Real* const sigma_star_fac_x,
+ const Real* const sigma_star_fac_x,
int xlo,int ylo, int zlo)
{
#if (AMREX_SPACEDIM == 3)
@@ -509,10 +509,10 @@ void warpx_damp_pml_ex (int i, int j, int k, Array4<Real> const& Ex,
//AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
//
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_damp_pml_ey (int i, int j, int k, Array4<Real> const& Ey,
+void warpx_damp_pml_ey (int i, int j, int k, Array4<Real> const& Ey,
const Real* const sigma_fac_z,
const Real* const sigma_fac_x,
- const Real* const sigma_star_fac_y,
+ const Real* const sigma_star_fac_y,
int xlo,int ylo, int zlo)
{
#if (AMREX_SPACEDIM == 3)
@@ -530,10 +530,10 @@ void warpx_damp_pml_ey (int i, int j, int k, Array4<Real> const& Ey,
//AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
//
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_damp_pml_ez (int i, int j, int k, Array4<Real> const& Ez,
+void warpx_damp_pml_ez (int i, int j, int k, Array4<Real> const& Ez,
const Real* const sigma_fac_x,
const Real* const sigma_fac_y,
- const Real* const sigma_star_fac_z,
+ const Real* const sigma_star_fac_z,
int xlo,int ylo, int zlo)
{
Ez(i,j,k,0) *= sigma_fac_x[i-xlo];
@@ -580,7 +580,7 @@ void warpx_damp_pml_by (int i, int j, int k, Array4<Real> const& By,
By(i,j,k,1) *= sigma_star_fac_x[i-xlo];
}
-//// damp pml bz
+//// damp pml bz
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
void warpx_damp_pml_bz (int i, int j, int k, Array4<Real> const& Bz,
const Real* const sigma_star_fac_x,