aboutsummaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/BoundaryConditions/PML_current.H65
-rw-r--r--Source/Diagnostics/FieldIO.H90
-rw-r--r--Source/FieldSolver/WarpX_FDTD.H223
-rw-r--r--Source/FieldSolver/WarpX_K.H57
4 files changed, 253 insertions, 182 deletions
diff --git a/Source/BoundaryConditions/PML_current.H b/Source/BoundaryConditions/PML_current.H
index 910186a96..fa5bbf3f9 100644
--- a/Source/BoundaryConditions/PML_current.H
+++ b/Source/BoundaryConditions/PML_current.H
@@ -3,18 +3,17 @@
#include <AMReX_FArrayBox.H>
-using namespace amrex;
-
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void push_ex_pml_current (int j, int k, int l, Array4<Real> const& Ex,
- Array4<Real const> const& jx,
- Real const * const sigjy,
- Real const * const sigjz,
+void push_ex_pml_current (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Array4<amrex::Real const> const& jx,
+ amrex::Real const * const sigjy,
+ amrex::Real const * const sigjz,
int ylo, int zlo,
- Real mu_c2_dt)
+ amrex::Real mu_c2_dt)
{
#if (AMREX_SPACEDIM == 3)
- Real alpha_xy, alpha_xz;
+ amrex::Real alpha_xy, alpha_xz;
if (sigjy[k-ylo]+sigjz[l-zlo] == 0){
alpha_xy = 0.5;
alpha_xz = 0.5;
@@ -31,15 +30,16 @@ void push_ex_pml_current (int j, int k, int l, Array4<Real> const& Ex,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void push_ey_pml_current (int j, int k, int l, Array4<Real> const& Ey,
- Array4<Real const> const& jy,
- Real const * const sigjx,
- Real const * const sigjz,
+void push_ey_pml_current (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ey,
+ amrex::Array4<amrex::Real const> const& jy,
+ amrex::Real const * const sigjx,
+ amrex::Real const * const sigjz,
int xlo, int zlo,
- Real mu_c2_dt)
+ amrex::Real mu_c2_dt)
{
#if (AMREX_SPACEDIM == 3)
- Real alpha_yx, alpha_yz;
+ amrex::Real alpha_yx, alpha_yz;
if (sigjx[j-xlo]+sigjz[l-zlo] == 0){
alpha_yx = 0.5;
alpha_yz = 0.5;
@@ -57,15 +57,16 @@ void push_ey_pml_current (int j, int k, int l, Array4<Real> const& Ey,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void push_ez_pml_current (int j, int k, int l, Array4<Real> const& Ez,
- Array4<Real const> const& jz,
- Real const * const sigjx,
- Real const * const sigjy,
+void push_ez_pml_current (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ez,
+ amrex::Array4<amrex::Real const> const& jz,
+ amrex::Real const * const sigjx,
+ amrex::Real const * const sigjy,
int xlo, int ylo,
- Real mu_c2_dt)
+ amrex::Real mu_c2_dt)
{
#if (AMREX_SPACEDIM == 3)
- Real alpha_zx, alpha_zy;
+ amrex::Real alpha_zx, alpha_zy;
if (sigjx[j-xlo]+sigjy[k-ylo]==0){
alpha_zx = 0.5;
alpha_zy = 0.5;
@@ -83,10 +84,10 @@ void push_ez_pml_current (int j, int k, int l, Array4<Real> const& Ez,
AMREX_GPU_HOST_DEVICE AMREX_INLINE
void damp_jx_pml (int j, int k, int l,
- Array4<Real> const& jx,
- Real const* const sigsjx,
- Real const* const sigjy,
- Real const* const sigjz,
+ amrex::Array4<amrex::Real> const& jx,
+ amrex::Real const* const sigsjx,
+ amrex::Real const* const sigjy,
+ amrex::Real const* const sigjz,
int xlo, int ylo, int zlo)
{
#if (AMREX_SPACEDIM == 3)
@@ -98,10 +99,10 @@ void damp_jx_pml (int j, int k, int l,
AMREX_GPU_HOST_DEVICE AMREX_INLINE
void damp_jy_pml (int j, int k, int l,
- Array4<Real> const& jy,
- Real const * const sigjx,
- Real const * const sigsjy,
- Real const * const sigjz,
+ amrex::Array4<amrex::Real> const& jy,
+ amrex::Real const * const sigjx,
+ amrex::Real const * const sigsjy,
+ amrex::Real const * const sigjz,
int xlo, int ylo, int zlo)
{
#if (AMREX_SPACEDIM == 3)
@@ -113,10 +114,10 @@ void damp_jy_pml (int j, int k, int l,
AMREX_GPU_HOST_DEVICE AMREX_INLINE
void damp_jz_pml (int j, int k, int l,
- Array4<Real> const& jz,
- Real const * const sigjx,
- Real const * const sigjy,
- Real const * const sigsjz,
+ amrex::Array4<amrex::Real> const& jz,
+ amrex::Real const * const sigjx,
+ amrex::Real const * const sigjy,
+ amrex::Real const * const sigsjz,
int xlo, int ylo, int zlo)
{
#if (AMREX_SPACEDIM == 3)
diff --git a/Source/Diagnostics/FieldIO.H b/Source/Diagnostics/FieldIO.H
index 24fd6abb6..f08d85f2d 100644
--- a/Source/Diagnostics/FieldIO.H
+++ b/Source/Diagnostics/FieldIO.H
@@ -3,35 +3,35 @@
#include <WarpX.H>
#ifdef WARPX_USE_OPENPMD
-#include <openPMD/openPMD.hpp>
+# include <openPMD/openPMD.hpp>
#endif
-using namespace amrex;
-
void
-PackPlotDataPtrs (Vector<const MultiFab*>& pmf,
- const std::array<std::unique_ptr<MultiFab>,3>& data);
+PackPlotDataPtrs (amrex::Vector<const amrex::MultiFab*>& pmf,
+ const std::array<std::unique_ptr<amrex::MultiFab>,3>& data);
void
-AverageAndPackVectorField( MultiFab& mf_avg,
- const std::array< std::unique_ptr<MultiFab>, 3 >& vector_field,
- const DistributionMapping& dm,
+AverageAndPackVectorField( amrex::MultiFab& mf_avg,
+ const std::array< std::unique_ptr<amrex::MultiFab>, 3 >& vector_field,
+ const amrex::DistributionMapping& dm,
const int dcomp, const int ngrow );
void
-AverageAndPackScalarField( MultiFab& mf_avg,
- const MultiFab & scalar_field,
+AverageAndPackScalarField( amrex::MultiFab& mf_avg,
+ const amrex::MultiFab & scalar_field,
const int dcomp, const int ngrow );
void
-WriteRawField( const MultiFab& F, const DistributionMapping& dm,
- const std::string& filename,
- const std::string& level_prefix,
- const std::string& field_name,
- const int lev, const bool plot_guards );
+WriteRawField( const amrex::MultiFab& F,
+ const amrex::DistributionMapping& dm,
+ const std::string& filename,
+ const std::string& level_prefix,
+ const std::string& field_name,
+ const int lev, const bool plot_guards );
void
-WriteZeroRawField( const MultiFab& F, const DistributionMapping& dm,
+WriteZeroRawField( const amrex::MultiFab& F,
+ const amrex::DistributionMapping& dm,
const std::string& filename,
const std::string& level_prefix,
const std::string& field_name,
@@ -39,9 +39,9 @@ WriteZeroRawField( const MultiFab& F, const DistributionMapping& dm,
void
WriteCoarseScalar( const std::string field_name,
- const std::unique_ptr<MultiFab>& F_cp,
- const std::unique_ptr<MultiFab>& F_fp,
- const DistributionMapping& dm,
+ const std::unique_ptr<amrex::MultiFab>& F_cp,
+ const std::unique_ptr<amrex::MultiFab>& F_fp,
+ const amrex::DistributionMapping& dm,
const std::string& filename,
const std::string& level_prefix,
const int lev, const bool plot_guards,
@@ -49,39 +49,41 @@ WriteCoarseScalar( const std::string field_name,
void
WriteCoarseVector( const std::string field_name,
- const std::unique_ptr<MultiFab>& Fx_cp,
- const std::unique_ptr<MultiFab>& Fy_cp,
- const std::unique_ptr<MultiFab>& Fz_cp,
- const std::unique_ptr<MultiFab>& Fx_fp,
- const std::unique_ptr<MultiFab>& Fy_fp,
- const std::unique_ptr<MultiFab>& Fz_fp,
- const DistributionMapping& dm,
+ const std::unique_ptr<amrex::MultiFab>& Fx_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fy_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fz_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fx_fp,
+ const std::unique_ptr<amrex::MultiFab>& Fy_fp,
+ const std::unique_ptr<amrex::MultiFab>& Fz_fp,
+ const amrex::DistributionMapping& dm,
const std::string& filename,
const std::string& level_prefix,
const int lev, const bool plot_guards );
-std::unique_ptr<MultiFab>
+std::unique_ptr<amrex::MultiFab>
getInterpolatedScalar(
- const MultiFab& F_cp, const MultiFab& F_fp,
- const DistributionMapping& dm, const int r_ratio,
- const Real* dx, const int ngrow );
+ const amrex::MultiFab& F_cp, const amrex::MultiFab& F_fp,
+ const amrex::DistributionMapping& dm, const int r_ratio,
+ const amrex::Real* dx, const int ngrow );
-std::array<std::unique_ptr<MultiFab>, 3>
+std::array<std::unique_ptr<amrex::MultiFab>, 3>
getInterpolatedVector(
- const std::unique_ptr<MultiFab>& Fx_cp,
- const std::unique_ptr<MultiFab>& Fy_cp,
- const std::unique_ptr<MultiFab>& Fz_cp,
- const std::unique_ptr<MultiFab>& Fx_fp,
- const std::unique_ptr<MultiFab>& Fy_fp,
- const std::unique_ptr<MultiFab>& Fz_fp,
- const DistributionMapping& dm,
- const int r_ratio, const Real* dx,
+ const std::unique_ptr<amrex::MultiFab>& Fx_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fy_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fz_cp,
+ const std::unique_ptr<amrex::MultiFab>& Fx_fp,
+ const std::unique_ptr<amrex::MultiFab>& Fy_fp,
+ const std::unique_ptr<amrex::MultiFab>& Fz_fp,
+ const amrex::DistributionMapping& dm,
+ const int r_ratio, const amrex::Real* dx,
const int ngrow );
void
coarsenCellCenteredFields(
- Vector<MultiFab>& coarse_mf, Vector<Geometry>& coarse_geom,
- const Vector<MultiFab>& source_mf, const Vector<Geometry>& source_geom,
+ amrex::Vector<amrex::MultiFab>& coarse_mf,
+ amrex::Vector<amrex::Geometry>& coarse_geom,
+ const amrex::Vector<amrex::MultiFab>& source_mf,
+ const amrex::Vector<amrex::Geometry>& source_geom,
int coarse_ratio, int finest_level );
#ifdef WARPX_USE_OPENPMD
@@ -89,15 +91,15 @@ void
setOpenPMDUnit( openPMD::Mesh mesh, const std::string field_name );
std::vector<std::uint64_t>
-getReversedVec( const IntVect& v );
+getReversedVec( const amrex::IntVect& v );
std::vector<double>
-getReversedVec( const Real* v );
+getReversedVec( const amrex::Real* v );
void
WriteOpenPMDFields( const std::string& filename,
const std::vector<std::string>& varnames,
- const MultiFab& mf, const Geometry& geom,
+ const amrex::MultiFab& mf, const Geometry& geom,
const int iteration, const double time );
#endif // WARPX_USE_OPENPMD
diff --git a/Source/FieldSolver/WarpX_FDTD.H b/Source/FieldSolver/WarpX_FDTD.H
index 232a84e8e..8ead945e6 100644
--- a/Source/FieldSolver/WarpX_FDTD.H
+++ b/Source/FieldSolver/WarpX_FDTD.H
@@ -3,12 +3,13 @@
#include <AMReX_FArrayBox.H>
-using namespace amrex;
-
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_bx_yee(int i, int j, int k, Array4<Real> const& Bx,
- Array4<Real const> const& Ey, Array4<Real const> const& Ez,
- Real dtsdx, Real dtsdy, Real dtsdz, Real dxinv, Real rmin, const long nmodes)
+void warpx_push_bx_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& Bx,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real dtsdx, amrex::Real dtsdy, amrex::Real dtsdz,
+ amrex::Real dxinv, amrex::Real rmin, const long nmodes)
{
#if defined WARPX_DIM_3D
Bx(i,j,k) += - dtsdy * (Ez(i,j+1,k ) - Ez(i,j,k))
@@ -38,7 +39,7 @@ void warpx_push_bx_yee(int i, int j, int k, Array4<Real> const& Bx,
}
} else {
// Br(i,j,m) = Br(i,j,m) + I*m*dt*Ez(i,j,m)/r + dtsdz*(Et(i,j+1,m) - Et(i,j,m))
- const Real r = rmin*dxinv + i;
+ const amrex::Real r = rmin*dxinv + i;
Bx(i,j,0,2*imode-1) = Bx(i,j,0,2*imode-1) - imode*dtsdx*Ez(i,j,0,2*imode)/r &
+ dtsdz*(Ey(i,j+1,0,2*imode-1) - Ey(i,j,0,2*imode-1));
Bx(i,j,0,2*imode) = Bx(i,j,0,2*imode) + imode*dtsdx*Ez(i,j,0,2*imode-1)/r &
@@ -50,9 +51,12 @@ void warpx_push_bx_yee(int i, int j, int k, Array4<Real> const& Bx,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_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, const long nmodes)
+void warpx_push_by_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& By,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real dtsdx, amrex::Real dtsdz,
+ const long nmodes)
{
#if defined WARPX_DIM_3D
By(i,j,k) += + dtsdx * (Ez(i+1,j,k ) - Ez(i,j,k))
@@ -74,9 +78,12 @@ void warpx_push_by_yee(int i, int j, int k, Array4<Real> const& By,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_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, Real dxinv, Real rmin, const long nmodes)
+void warpx_push_bz_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& Bz,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Real dtsdx, amrex::Real dtsdy,
+ amrex::Real dxinv, amrex::Real rmin, const long nmodes)
{
#if defined WARPX_DIM_3D
Bz(i,j,k) += - dtsdx * (Ey(i+1,j ,k) - Ey(i,j,k))
@@ -84,9 +91,9 @@ void warpx_push_bz_yee(int i, int j, int k, Array4<Real> const& Bz,
#elif defined WARPX_DIM_XZ
Bz(i,j,0) += - dtsdx * (Ey(i+1,j,0) - Ey(i,j,0));
#elif defined WARPX_DIM_RZ
- const Real r = rmin*dxinv + i + 0.5;
- const Real ru = 1. + 0.5/(rmin*dxinv + i + 0.5);
- const Real rd = 1. - 0.5/(rmin*dxinv + i + 0.5);
+ const amrex::Real r = rmin*dxinv + i + 0.5;
+ const amrex::Real ru = 1. + 0.5/(rmin*dxinv + i + 0.5);
+ const amrex::Real rd = 1. - 0.5/(rmin*dxinv + i + 0.5);
Bz(i,j,0,0) += - dtsdx*(ru*Ey(i+1,j,0,0) - rd*Ey(i,j,0,0));
for (int imode=1 ; imode < nmodes ; imode++) {
// Bz(i,j,m) = Bz(i,j,m) - dtsdr*(ru*Et(i+1,j,m) - rd*Et(i,j,m)) - I*m*dt*Er(i,j,m)/r
@@ -97,9 +104,15 @@ void warpx_push_bz_yee(int i, int j, int k, Array4<Real> const& Bz,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ex_yee(int i, int j, int k, Array4<Real> const& Ex,
- Array4<Real const> const& By, Array4<Real const> const& Bz, Array4<Real const> const& Jx,
- Real mu_c2_dt, Real dtsdx_c2, Real dtsdy_c2, Real dtsdz_c2, Real dxinv, Real rmin, const long nmodes)
+void warpx_push_ex_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Array4<amrex::Real const> const& By,
+ amrex::Array4<amrex::Real const> const& Bz,
+ amrex::Array4<amrex::Real const> const& Jx,
+ amrex::Real mu_c2_dt, amrex::Real dtsdx_c2,
+ amrex::Real dtsdy_c2, amrex::Real dtsdz_c2,
+ amrex::Real dxinv, amrex::Real rmin,
+ const long nmodes)
{
#if defined WARPX_DIM_3D
Ex(i,j,k) += + dtsdy_c2 * (Bz(i,j,k) - Bz(i,j-1,k ))
@@ -110,7 +123,7 @@ void warpx_push_ex_yee(int i, int j, int k, Array4<Real> const& Ex,
Ex(i,j,0,0) += - dtsdz_c2 * (By(i,j,0,0) - By(i,j-1,0,0))
- mu_c2_dt * Jx(i,j,0,0);
#if (defined WARPX_DIM_RZ)
- const Real r = rmin*dxinv+ i + 0.5;
+ const amrex::Real r = rmin*dxinv+ i + 0.5;
for (int imode=1 ; imode < nmodes ; imode++) {
// Er(i,j,m) = Er(i,j,m) - I*m*dt*Bz(i,j,m)/r - dtsdz*(Bt(i,j,m) - Bt(i,j-1,m)) - mudt*Jr(i,j,m)
Ex(i,j,0,2*imode-1) += - dtsdz_c2*(By(i,j,0,2*imode-1) - By(i,j-1,0,2*imode-1)) + imode*dtsdx_c2*Bz(i,j,0,2*imode)/r
@@ -123,10 +136,15 @@ void warpx_push_ex_yee(int i, int j, int k, Array4<Real> const& Ex,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ey_yee(int i, int j, int k, Array4<Real> const& Ey,
- Array4<Real const> const& Bx, Array4<Real const> const& Bz, Array4<Real const> const& Jy,
- Array4<Real> const& Ex,
- Real mu_c2_dt, Real dtsdx_c2, Real dtsdz_c2, Real rmin, const long nmodes)
+void warpx_push_ey_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& Ey,
+ amrex::Array4<amrex::Real const> const& Bx,
+ amrex::Array4<amrex::Real const> const& Bz,
+ amrex::Array4<amrex::Real const> const& Jy,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Real mu_c2_dt, amrex::Real dtsdx_c2,
+ amrex::Real dtsdz_c2, amrex::Real rmin,
+ const long nmodes)
{
#if defined WARPX_DIM_3D
Ey(i,j,k) += - dtsdx_c2 * (Bz(i,j,k) - Bz(i-1,j,k))
@@ -177,9 +195,15 @@ void warpx_push_ey_yee(int i, int j, int k, Array4<Real> const& Ey,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ez_yee(int i, int j, int k, Array4<Real> const& Ez,
- Array4<Real const> const& Bx, Array4<Real const> const& By, Array4<Real const> const& Jz,
- Real mu_c2_dt, Real dtsdx_c2, Real dtsdy_c2, Real dxinv, Real rmin, const long nmodes)
+void warpx_push_ez_yee(int i, int j, int k,
+ amrex::Array4<amrex::Real> const& Ez,
+ amrex::Array4<amrex::Real const> const& Bx,
+ amrex::Array4<amrex::Real const> const& By,
+ amrex::Array4<amrex::Real const> const& Jz,
+ amrex::Real mu_c2_dt,
+ amrex::Real dtsdx_c2, amrex::Real dtsdy_c2,
+ amrex::Real dxinv, amrex::Real rmin,
+ const long nmodes)
{
#if defined WARPX_DIM_3D
Ez(i,j,k) += + dtsdx_c2 * (By(i,j,k) - By(i-1,j ,k))
@@ -190,8 +214,8 @@ void warpx_push_ez_yee(int i, int j, int k, Array4<Real> const& Ez,
- mu_c2_dt * Jz(i,j,0);
#elif defined WARPX_DIM_RZ
if (i != 0 || rmin != 0.) {
- const Real ru = 1. + 0.5/(rmin*dxinv + i);
- const Real rd = 1. - 0.5/(rmin*dxinv + i);
+ const amrex::Real ru = 1. + 0.5/(rmin*dxinv + i);
+ const amrex::Real rd = 1. - 0.5/(rmin*dxinv + i);
Ez(i,j,0,0) += + dtsdx_c2 * (ru*By(i,j,0,0) - rd*By(i-1,j,0,0))
- mu_c2_dt * Jz(i,j,0,0);
} else {
@@ -203,9 +227,9 @@ void warpx_push_ez_yee(int i, int j, int k, Array4<Real> const& Ez,
Ez(i,j,0,2*imode-1) = 0.;
Ez(i,j,0,2*imode) = 0.;
} else {
- const Real r = rmin*dxinv + i + 0.5;
- const Real ru = 1. + 0.5/(rmin*dxinv + i);
- const Real rd = 1. - 0.5/(rmin*dxinv + i);
+ const amrex::Real r = rmin*dxinv + i + 0.5;
+ const amrex::Real ru = 1. + 0.5/(rmin*dxinv + i);
+ const amrex::Real rd = 1. - 0.5/(rmin*dxinv + i);
// Ez(i,j,m) = Ez(i,j,m) + dtsdr*(ru*Bt(i,j,m) - rd*Bt(i-1,j,m)) + I*m*dt*Br(i,j,m)/r - mudt*Jz(i,j,m)
Ez(i,j,0,2*imode-1) += + dtsdx_c2 * (ru*By(i,j,0,2*imode-1) - rd*By(i-1,j,0,2*imode-1))
- imode*dtsdx_c2*Bx(i,j,0,2*imode)/r
@@ -219,8 +243,10 @@ void warpx_push_ez_yee(int i, int j, int k, Array4<Real> const& Ez,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ex_f_yee(int j, int k, int l, Array4<Real> const& Ex,
- Array4<Real const> const& F, Real dtsdx_c2)
+void warpx_push_ex_f_yee(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real dtsdx_c2)
{
#if defined WARPX_DIM_3D
Ex(j,k,l) += + dtsdx_c2 * (F(j+1,k,l) - F(j,k,l));
@@ -230,8 +256,10 @@ void warpx_push_ex_f_yee(int j, int k, int l, Array4<Real> const& Ex,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ey_f_yee(int j, int k, int l, Array4<Real> const& Ey,
- Array4<Real const> const& F, Real dtsdy_c2)
+void warpx_push_ey_f_yee(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ey,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real dtsdy_c2)
{
#if defined WARPX_DIM_3D
Ey(j,k,l) += + dtsdy_c2 * (F(j,k+1,l) - F(j,k,l));
@@ -239,8 +267,10 @@ void warpx_push_ey_f_yee(int j, int k, int l, Array4<Real> const& Ey,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ez_f_yee(int j, int k, int l, Array4<Real> const& Ez,
- Array4<Real const> const& F, Real dtsdz_c2)
+void warpx_push_ez_f_yee(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ez,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real dtsdz_c2)
{
#if defined WARPX_DIM_3D
Ez(j,k,l) += + dtsdz_c2 * (F(j,k,l+1) - F(j,k,l));
@@ -249,11 +279,14 @@ void warpx_push_ez_f_yee(int j, int k, int l, Array4<Real> const& Ez,
#endif
}
-static void warpx_calculate_ckc_coefficients(Real dtsdx, Real dtsdy, Real dtsdz,
- Real &betaxy, Real &betaxz, Real &betayx, Real &betayz, Real &betazx, Real &betazy,
- Real &gammax, Real &gammay, Real &gammaz,
- Real &alphax, Real &alphay, Real &alphaz)
+static void warpx_calculate_ckc_coefficients(amrex::Real dtsdx, amrex::Real dtsdy, amrex::Real dtsdz,
+ amrex::Real &betaxy, amrex::Real &betaxz, amrex::Real &betayx,
+ amrex::Real &betayz, amrex::Real &betazx, amrex::Real &betazy,
+ amrex::Real &gammax, amrex::Real &gammay, amrex::Real &gammaz,
+ amrex::Real &alphax, amrex::Real &alphay, amrex::Real &alphaz)
{
+ using namespace amrex;
+
// Cole-Karkkainen-Cowan push
// computes coefficients according to Cowan - PRST-AB 16, 041303 (2013)
#if defined WARPX_DIM_3D
@@ -304,11 +337,14 @@ static void warpx_calculate_ckc_coefficients(Real dtsdx, Real dtsdy, Real dtsdz,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_bx_ckc(int j, int k, int l, 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 gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_bx_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Bx,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
Bx(j,k,l) += - alphay * (Ez(j ,k+1,l ) - Ez(j, k ,l ))
@@ -337,11 +373,14 @@ void warpx_push_bx_ckc(int j, int k, int l, Array4<Real> const& Bx,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_by_ckc(int j, int k, int l, 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 gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_by_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& By,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
By(j,k,l) += + alphax * (Ez(j+1,k ,l ) - Ez(j, k, l ))
@@ -373,11 +412,14 @@ void warpx_push_by_ckc(int j, int k, int l, Array4<Real> const& By,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_bz_ckc(int j, int k, int l, 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 gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_bz_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Bz,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
Bz(j,k,l) += - alphax * (Ey(j+1,k ,l ) - Ey(j ,k ,l ))
@@ -406,11 +448,13 @@ void warpx_push_bz_ckc(int j, int k, int l, Array4<Real> const& Bz,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ex_f_ckc(int j, int k, int l, Array4<Real> const& Ex,
- Array4<Real const> const& F,
- Real betaxy, Real betaxz, Real betayx, Real betayz, Real betazx, Real betazy,
- Real gammax, Real gammay, Real gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_ex_f_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
Ex(j,k,l) += + alphax * (F(j+1,k ,l ) - F(j, k, l ))
@@ -430,11 +474,13 @@ void warpx_push_ex_f_ckc(int j, int k, int l, Array4<Real> const& Ex,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ey_f_ckc(int j, int k, int l, Array4<Real> const& Ey,
- Array4<Real const> const& F,
- Real betaxy, Real betaxz, Real betayx, Real betayz, Real betazx, Real betazy,
- Real gammax, Real gammay, Real gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_ey_f_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ey,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
Ey(j,k,l) += + alphay * (F(j ,k+1,l ) - F(j ,k,l ))
@@ -450,11 +496,13 @@ void warpx_push_ey_f_ckc(int j, int k, int l, Array4<Real> const& Ey,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_push_ez_f_ckc(int j, int k, int l, Array4<Real> const& Ez,
- Array4<Real const> const& F,
- Real betaxy, Real betaxz, Real betayx, Real betayz, Real betazx, Real betazy,
- Real gammax, Real gammay, Real gammaz,
- Real alphax, Real alphay, Real alphaz)
+void warpx_push_ez_f_ckc(int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ez,
+ amrex::Array4<amrex::Real const> const& F,
+ amrex::Real betaxy, amrex::Real betaxz, amrex::Real betayx,
+ amrex::Real betayz, amrex::Real betazx, amrex::Real betazy,
+ amrex::Real gammax, amrex::Real gammay, amrex::Real gammaz,
+ amrex::Real alphax, amrex::Real alphay, amrex::Real alphaz)
{
#if defined WARPX_DIM_3D
Ez(j,k,l) += + alphaz * (F(j ,k ,l+1) - F(j, k, l))
@@ -474,11 +522,16 @@ void warpx_push_ez_f_ckc(int j, int k, int l, Array4<Real> const& Ez,
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_computedivb(int i, int j, int k, int dcomp, Array4<Real> const& divB,
- Array4<Real const> const& Bx, Array4<Real const> const& By, Array4<Real const> const& Bz,
- Real dxinv, Real dyinv, Real dzinv
+void warpx_computedivb(int i, int j, int k, int dcomp,
+ amrex::Array4<amrex::Real> const& divB,
+ amrex::Array4<amrex::Real const> const& Bx,
+ amrex::Array4<amrex::Real const> const& By,
+ amrex::Array4<amrex::Real const> const& Bz,
+ amrex::Real dxinv,
+ amrex::Real dyinv,
+ amrex::Real dzinv
#ifdef WARPX_DIM_RZ
- ,const Real rmin
+ , amrex::Real const rmin
#endif
)
{
@@ -490,19 +543,23 @@ void warpx_computedivb(int i, int j, int k, int dcomp, Array4<Real> const& divB,
divB(i,j,0,dcomp) = (Bx(i+1,j ,0) - Bx(i,j,0))*dxinv
+ (Bz(i ,j+1,0) - Bz(i,j,0))*dzinv;
#elif defined WARPX_DIM_RZ
- const Real ru = 1. + 0.5/(rmin*dxinv + i + 0.5);
- const Real rd = 1. - 0.5/(rmin*dxinv + i + 0.5);
+ const amrex::Real ru = 1. + 0.5/(rmin*dxinv + i + 0.5);
+ const amrex::Real rd = 1. - 0.5/(rmin*dxinv + i + 0.5);
divB(i,j,0,dcomp) = (ru*Bx(i+1,j,0) - rd*Bx(i,j,0))*dxinv
+ (Bz(i,j+1,0) - Bz(i,j,0))*dzinv;
#endif
}
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
-void warpx_computedive(int i, int j, int k, int dcomp, Array4<Real> const& divE,
- Array4<Real const> const& Ex, Array4<Real const> const& Ey, Array4<Real const> const& Ez,
- Real dxinv, Real dyinv, Real dzinv
+void warpx_computedive(int i, int j, int k, int dcomp,
+ amrex::Array4<amrex::Real> const& divE,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real dxinv, amrex::Real dyinv,
+ amrex::Real dzinv
#ifdef WARPX_DIM_RZ
- ,const Real rmin
+ , amrex::Real const rmin
#endif
)
{
@@ -521,8 +578,8 @@ void warpx_computedive(int i, int j, int k, int dcomp, Array4<Real> const& divE,
divE(i,j,0,dcomp) = 4.*Ex(i,j,0)*dxinv
+ (Ez(i,j,0) - Ez(i,j-1,0))*dzinv;
} else {
- const Real ru = 1. + 0.5/(rmin*dxinv + i);
- const Real rd = 1. - 0.5/(rmin*dxinv + i);
+ const amrex::Real ru = 1. + 0.5/(rmin*dxinv + i);
+ const amrex::Real rd = 1. - 0.5/(rmin*dxinv + i);
divE(i,j,0,dcomp) = (ru*Ex(i,j,0) - rd*Ex(i-1,j,0))*dxinv
+ (Ez(i,j,0) - Ez(i,j-1,0))*dzinv;
}
diff --git a/Source/FieldSolver/WarpX_K.H b/Source/FieldSolver/WarpX_K.H
index 2772b764d..f61a71e21 100644
--- a/Source/FieldSolver/WarpX_K.H
+++ b/Source/FieldSolver/WarpX_K.H
@@ -3,12 +3,12 @@
#include <AMReX_FArrayBox.H>
-using namespace amrex;
-
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_bx_nodal (int j, int k, int l, Array4<Real> const& Bx,
- Array4<Real const> const& Ey, Array4<Real const> const& Ez,
- Real dtsdy, Real dtsdz)
+void warpx_push_bx_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Bx,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real dtsdy, amrex::Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
Bx(j,k,l) = Bx(j,k,l) - 0.5*dtsdy * (Ez(j,k+1,l ) - Ez(j,k-1,l ))
@@ -19,9 +19,12 @@ void warpx_push_bx_nodal (int j, int k, int l, Array4<Real> const& Bx,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_by_nodal (int j, int k, int l, Array4<Real> const& By,
- Array4<Real const> const& Ex, Array4<Real const> const& Ez,
- Real dtsdx, Real dtsdz)
+void warpx_push_by_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& By,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ez,
+ amrex::Real dtsdx,
+ amrex::Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
By(j,k,l) = By(j,k,l) + 0.5*dtsdx * (Ez(j+1,k,l ) - Ez(j-1,k,l ))
@@ -33,9 +36,11 @@ void warpx_push_by_nodal (int j, int k, int l, Array4<Real> const& By,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_bz_nodal (int j, int k, int l, Array4<Real> const& Bz,
- Array4<Real const> const& Ex, Array4<Real const> const& Ey,
- Real dtsdx, Real dtsdy)
+void warpx_push_bz_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Bz,
+ amrex::Array4<amrex::Real const> const& Ex,
+ amrex::Array4<amrex::Real const> const& Ey,
+ amrex::Real dtsdx, amrex::Real dtsdy)
{
#if (AMREX_SPACEDIM == 3)
Bz(j,k,l) = Bz(j,k,l) - 0.5*dtsdx * (Ey(j+1,k ,l) - Ey(j-1,k ,l))
@@ -46,10 +51,12 @@ void warpx_push_bz_nodal (int j, int k, int l, Array4<Real> const& Bz,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_ex_nodal (int j, int k, int l, Array4<Real> const& Ex,
- Array4<Real const> const& By, Array4<Real const> const& Bz,
- Array4<Real const> const& jx,
- Real mudt, Real dtsdy, Real dtsdz)
+void warpx_push_ex_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ex,
+ amrex::Array4<amrex::Real const> const& By,
+ amrex::Array4<amrex::Real const> const& Bz,
+ amrex::Array4<amrex::Real const> const& jx,
+ amrex::Real mudt, amrex::Real dtsdy, amrex::Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
Ex(j,k,l) = Ex(j,k,l) + 0.5*dtsdy * (Bz(j,k+1,l ) - Bz(j,k-1,l ))
@@ -62,10 +69,12 @@ void warpx_push_ex_nodal (int j, int k, int l, Array4<Real> const& Ex,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_ey_nodal (int j, int k, int l, Array4<Real> const& Ey,
- Array4<Real const> const& Bx, Array4<Real const> const& Bz,
- Array4<Real const> const& jy,
- Real mudt, Real dtsdx, Real dtsdz)
+void warpx_push_ey_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ey,
+ amrex::Array4<amrex::Real const> const& Bx,
+ amrex::Array4<amrex::Real const> const& Bz,
+ amrex::Array4<amrex::Real const> const& jy,
+ amrex::Real mudt, amrex::Real dtsdx, amrex::Real dtsdz)
{
#if (AMREX_SPACEDIM == 3)
Ey(j,k,l) = Ey(j,k,l) - 0.5*dtsdx * (Bz(j+1,k,l ) - Bz(j-1,k,l ))
@@ -79,10 +88,12 @@ void warpx_push_ey_nodal (int j, int k, int l, Array4<Real> const& Ey,
}
AMREX_GPU_HOST_DEVICE AMREX_INLINE
-void warpx_push_ez_nodal (int j, int k, int l, Array4<Real> const& Ez,
- Array4<Real const> const& Bx, Array4<Real const> const& By,
- Array4<Real const> const& jz,
- Real mudt, Real dtsdx, Real dtsdy)
+void warpx_push_ez_nodal (int j, int k, int l,
+ amrex::Array4<amrex::Real> const& Ez,
+ amrex::Array4<amrex::Real const> const& Bx,
+ amrex::Array4<amrex::Real const> const& By,
+ amrex::Array4<amrex::Real const> const& jz,
+ amrex::Real mudt, amrex::Real dtsdx, amrex::Real dtsdy)
{
#if (AMREX_SPACEDIM == 3)
Ez(j,k,l) = Ez(j,k,l) + 0.5*dtsdx * (By(j+1,k ,l) - By(j-1,k ,l))