aboutsummaryrefslogtreecommitdiff
path: root/Source/Initialization/WarpXInitData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Initialization/WarpXInitData.cpp')
-rw-r--r--Source/Initialization/WarpXInitData.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp
index 496b14e7a..ff5442b00 100644
--- a/Source/Initialization/WarpXInitData.cpp
+++ b/Source/Initialization/WarpXInitData.cpp
@@ -2,6 +2,7 @@
#include <numeric>
#include <AMReX_ParallelDescriptor.H>
+#include <AMReX_ParmParse.H>
#include <WarpX.H>
#include <WarpX_f.H>
@@ -257,3 +258,77 @@ WarpX::InitOpenbc ()
}
}
#endif
+
+void
+WarpX::InitLevelData (int lev, Real time)
+{
+ for (int i = 0; i < 3; ++i) {
+ current_fp[lev][i]->setVal(0.0);
+ Efield_fp[lev][i]->setVal(0.0);
+ Bfield_fp[lev][i]->setVal(0.0);
+ }
+
+ if (lev > 0) {
+ for (int i = 0; i < 3; ++i) {
+ Efield_aux[lev][i]->setVal(0.0);
+ Bfield_aux[lev][i]->setVal(0.0);
+
+ current_cp[lev][i]->setVal(0.0);
+ Efield_cp[lev][i]->setVal(0.0);
+ Bfield_cp[lev][i]->setVal(0.0);
+ }
+ }
+
+ if (F_fp[lev]) {
+ F_fp[lev]->setVal(0.0);
+ }
+
+ if (rho_fp[lev]) {
+ rho_fp[lev]->setVal(0.0);
+ }
+
+ if (F_cp[lev]) {
+ F_cp[lev]->setVal(0.0);
+ }
+
+ if (rho_cp[lev]) {
+ rho_cp[lev]->setVal(0.0);
+ }
+
+ if (costs[lev]) {
+ costs[lev]->setVal(0.0);
+ }
+}
+
+#ifdef WARPX_USE_PSATD
+
+void
+WarpX::InitLevelDataFFT (int lev, Real time)
+{
+ Efield_fp_fft[lev][0]->setVal(0.0);
+ Efield_fp_fft[lev][1]->setVal(0.0);
+ Efield_fp_fft[lev][2]->setVal(0.0);
+ Bfield_fp_fft[lev][0]->setVal(0.0);
+ Bfield_fp_fft[lev][1]->setVal(0.0);
+ Bfield_fp_fft[lev][2]->setVal(0.0);
+ current_fp_fft[lev][0]->setVal(0.0);
+ current_fp_fft[lev][1]->setVal(0.0);
+ current_fp_fft[lev][2]->setVal(0.0);
+ rho_fp_fft[lev]->setVal(0.0);
+
+ if (lev > 0)
+ {
+ Efield_cp_fft[lev][0]->setVal(0.0);
+ Efield_cp_fft[lev][1]->setVal(0.0);
+ Efield_cp_fft[lev][2]->setVal(0.0);
+ Bfield_cp_fft[lev][0]->setVal(0.0);
+ Bfield_cp_fft[lev][1]->setVal(0.0);
+ Bfield_cp_fft[lev][2]->setVal(0.0);
+ current_cp_fft[lev][0]->setVal(0.0);
+ current_cp_fft[lev][1]->setVal(0.0);
+ current_cp_fft[lev][2]->setVal(0.0);
+ rho_cp_fft[lev]->setVal(0.0);
+ }
+}
+
+#endif