aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/WarpXPushFieldsEM.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-07-31 10:16:32 -0700
committerGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-07-31 10:16:32 -0700
commitc5b24255c3ad5cad34823e9234f71d4a2744c471 (patch)
treed1e4e7e7795912515ae1316b28dac60859e7f216 /Source/FieldSolver/WarpXPushFieldsEM.cpp
parentf4fe70dd5e7bea68f9b9fbb9ff4dbbf5afdff17c (diff)
downloadWarpX-c5b24255c3ad5cad34823e9234f71d4a2744c471.tar.gz
WarpX-c5b24255c3ad5cad34823e9234f71d4a2744c471.tar.zst
WarpX-c5b24255c3ad5cad34823e9234f71d4a2744c471.zip
Add anonymous namespace
Diffstat (limited to 'Source/FieldSolver/WarpXPushFieldsEM.cpp')
-rw-r--r--Source/FieldSolver/WarpXPushFieldsEM.cpp67
1 files changed, 34 insertions, 33 deletions
diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp
index 95e3e78b3..475f7a1dd 100644
--- a/Source/FieldSolver/WarpXPushFieldsEM.cpp
+++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp
@@ -18,6 +18,40 @@
using namespace amrex;
#ifdef WARPX_USE_PSATD
+namespace {
+ void
+ PushPSATDSinglePatch (
+ SpectralSolver& solver,
+ std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,
+ std::array<std::unique_ptr<amrex::MultiFab>,3>& Bfield,
+ std::array<std::unique_ptr<amrex::MultiFab>,3>& current,
+ std::unique_ptr<amrex::MultiFab>& rho ) {
+
+ using Idx = SpectralFieldIndex;
+
+ // Perform forward Fourier transform
+ solver.ForwardTransform(*Efield[0], Idx::Ex);
+ solver.ForwardTransform(*Efield[1], Idx::Ey);
+ solver.ForwardTransform(*Efield[2], Idx::Ez);
+ solver.ForwardTransform(*Bfield[0], Idx::Bx);
+ solver.ForwardTransform(*Bfield[1], Idx::By);
+ solver.ForwardTransform(*Bfield[2], Idx::Bz);
+ solver.ForwardTransform(*current[0], Idx::Jx);
+ solver.ForwardTransform(*current[1], Idx::Jy);
+ solver.ForwardTransform(*current[2], Idx::Jz);
+ solver.ForwardTransform(*rho, Idx::rho_old, 0);
+ solver.ForwardTransform(*rho, Idx::rho_new, 1);
+ // Advance fields in spectral space
+ solver.pushSpectralFields();
+ // Perform backward Fourier Transform
+ solver.BackwardTransform(*Efield[0], Idx::Ex);
+ solver.BackwardTransform(*Efield[1], Idx::Ey);
+ solver.BackwardTransform(*Efield[2], Idx::Ez);
+ solver.BackwardTransform(*Bfield[0], Idx::Bx);
+ solver.BackwardTransform(*Bfield[1], Idx::By);
+ solver.BackwardTransform(*Bfield[2], Idx::Bz);
+ }
+}
void
WarpX::PushPSATD (amrex::Real a_dt)
@@ -35,39 +69,6 @@ WarpX::PushPSATD (amrex::Real a_dt)
}
void
-PushPSATDSinglePatch (
- SpectralSolver& solver,
- std::array<std::unique_ptr<amrex::MultiFab>,3>& Efield,
- std::array<std::unique_ptr<amrex::MultiFab>,3>& Bfield,
- std::array<std::unique_ptr<amrex::MultiFab>,3>& current,
- std::unique_ptr<amrex::MultiFab>& rho ) {
-
- using Idx = SpectralFieldIndex;
-
- // Perform forward Fourier transform
- solver.ForwardTransform(*Efield[0], Idx::Ex);
- solver.ForwardTransform(*Efield[1], Idx::Ey);
- solver.ForwardTransform(*Efield[2], Idx::Ez);
- solver.ForwardTransform(*Bfield[0], Idx::Bx);
- solver.ForwardTransform(*Bfield[1], Idx::By);
- solver.ForwardTransform(*Bfield[2], Idx::Bz);
- solver.ForwardTransform(*current[0], Idx::Jx);
- solver.ForwardTransform(*current[1], Idx::Jy);
- solver.ForwardTransform(*current[2], Idx::Jz);
- solver.ForwardTransform(*rho, Idx::rho_old, 0);
- solver.ForwardTransform(*rho, Idx::rho_new, 1);
- // Advance fields in spectral space
- solver.pushSpectralFields();
- // Perform backward Fourier Transform
- solver.BackwardTransform(*Efield[0], Idx::Ex);
- solver.BackwardTransform(*Efield[1], Idx::Ey);
- solver.BackwardTransform(*Efield[2], Idx::Ez);
- solver.BackwardTransform(*Bfield[0], Idx::Bx);
- solver.BackwardTransform(*Bfield[1], Idx::By);
- solver.BackwardTransform(*Bfield[2], Idx::Bz);
-}
-
-void
WarpX::PushPSATD_localFFT (int lev, amrex::Real /* dt */)
{
// Update the fields on the fine and coarse patch