aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver
diff options
context:
space:
mode:
Diffstat (limited to 'Source/FieldSolver')
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp2
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp8
-rw-r--r--Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp2
-rw-r--r--Source/FieldSolver/WarpXPushFieldsEM.cpp19
10 files changed, 30 insertions, 13 deletions
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp
index a6376e03c..baadd0cfc 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp
@@ -49,7 +49,7 @@ void FiniteDifferenceSolver::ComputeDivE (
#endif
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("ComputeDivE: Unknown algorithm");
}
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
index 9afec55e0..0ca576da2 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp
@@ -48,7 +48,7 @@ void FiniteDifferenceSolver::EvolveB (
#endif
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveB: Unknown algorithm");
}
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp
index d449333c1..8346eb067 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveBPML.cpp
@@ -47,7 +47,7 @@ void FiniteDifferenceSolver::EvolveBPML (
EvolveBPMLCartesian <CartesianCKCAlgorithm> ( Bfield, Efield, dt );
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveBPML: Unknown algorithm");
}
#endif
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp
index fc43fe209..db1d1fe1b 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveE.cpp
@@ -52,7 +52,7 @@ void FiniteDifferenceSolver::EvolveE (
#endif
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveE: Unknown algorithm");
}
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp
index a06d98f9b..d5ef1179b 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveEPML.cpp
@@ -56,7 +56,7 @@ void FiniteDifferenceSolver::EvolveEPML (
Efield, Bfield, Jfield, Ffield, sigba, dt, pml_has_particles );
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveEPML: Unknown algorithm");
}
#endif
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp
index 6627d2ef6..74499661e 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveF.cpp
@@ -52,7 +52,7 @@ void FiniteDifferenceSolver::EvolveF (
#endif
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveF: Unknown algorithm");
}
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp b/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp
index ba7a90483..cdcab750d 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/EvolveFPML.cpp
@@ -47,7 +47,7 @@ void FiniteDifferenceSolver::EvolveFPML (
EvolveFPMLCartesian <CartesianCKCAlgorithm> ( Ffield, Efield, dt );
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("EvolveFPML: Unknown algorithm");
}
#endif
}
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp
index fcab20510..3a752ca4b 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceSolver.cpp
@@ -26,6 +26,10 @@ FiniteDifferenceSolver::FiniteDifferenceSolver (
m_fdtd_algo = fdtd_algo;
m_do_nodal = do_nodal;
+ // return if not FDTD
+ if (fdtd_algo == MaxwellSolverAlgo::PSATD)
+ return;
+
// Calculate coefficients of finite-difference stencil
#ifdef WARPX_DIM_RZ
m_dr = cell_size[0];
@@ -46,7 +50,7 @@ FiniteDifferenceSolver::FiniteDifferenceSolver (
m_stencil_coefs_z.begin());
amrex::Gpu::synchronize();
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("FiniteDifferenceSolver: Unknown algorithm");
}
#else
amrex::Vector<amrex::Real> stencil_coefs_x, stencil_coefs_y, stencil_coefs_z;
@@ -67,7 +71,7 @@ FiniteDifferenceSolver::FiniteDifferenceSolver (
stencil_coefs_x, stencil_coefs_y, stencil_coefs_z );
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("FiniteDifferenceSolver: Unknown algorithm");
}
m_stencil_coefs_x.resize(stencil_coefs_x.size());
diff --git a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
index 8ed0f5927..4a2d940aa 100644
--- a/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
+++ b/Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
@@ -63,7 +63,7 @@ void FiniteDifferenceSolver::MacroscopicEvolveE (
}
} else {
- amrex::Abort("Unknown algorithm");
+ amrex::Abort("MacroscopicEvolveE: Unknown algorithm");
}
#endif
diff --git a/Source/FieldSolver/WarpXPushFieldsEM.cpp b/Source/FieldSolver/WarpXPushFieldsEM.cpp
index 7670a277b..168384413 100644
--- a/Source/FieldSolver/WarpXPushFieldsEM.cpp
+++ b/Source/FieldSolver/WarpXPushFieldsEM.cpp
@@ -114,10 +114,15 @@ namespace {
#endif
}
}
+#endif
void
WarpX::PushPSATD (amrex::Real a_dt)
{
+#ifndef WARPX_USE_PSATD
+ AMREX_ALWAYS_ASSERT_WITH_MESSAGE(false,
+ "PushFieldsEM: PSATD solver selected but not built.");
+#else
for (int lev = 0; lev <= finest_level; ++lev) {
AMREX_ALWAYS_ASSERT_WITH_MESSAGE(dt[lev] == a_dt, "dt must be consistent");
PushPSATD(lev, a_dt);
@@ -127,11 +132,19 @@ WarpX::PushPSATD (amrex::Real a_dt)
pml[lev]->PushPSATD();
}
}
+#endif
}
void
-WarpX::PushPSATD (int lev, amrex::Real /* dt */)
-{
+WarpX::PushPSATD (int lev, amrex::Real /* dt */) {
+#ifndef WARPX_USE_PSATD
+ AMREX_ALWAYS_ASSERT_WITH_MESSAGE(false,
+ "PushFieldsEM: PSATD solver selected but not built.");
+#else
+ if (WarpX::maxwell_solver_id != MaxwellSolverAlgo::PSATD) {
+ AMREX_ALWAYS_ASSERT_WITH_MESSAGE(false,
+ "WarpX::PushPSATD: only supported for PSATD solver.");
+ }
// Update the fields on the fine and coarse patch
PushPSATDSinglePatch( *spectral_solver_fp[lev],
Efield_fp[lev], Bfield_fp[lev], Efield_avg_fp[lev], Bfield_avg_fp[lev], current_fp[lev], rho_fp[lev] );
@@ -142,8 +155,8 @@ WarpX::PushPSATD (int lev, amrex::Real /* dt */)
if (use_damp_fields_in_z_guard) {
DampFieldsInGuards( Efield_fp[lev], Bfield_fp[lev] );
}
-}
#endif
+}
void
WarpX::EvolveB (amrex::Real a_dt)