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.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/Source/Initialization/WarpXInitData.cpp b/Source/Initialization/WarpXInitData.cpp
index f9f95e15e..60121b3f4 100644
--- a/Source/Initialization/WarpXInitData.cpp
+++ b/Source/Initialization/WarpXInitData.cpp
@@ -247,6 +247,11 @@ WarpX::InitLevelData (int lev, Real /*time*/)
if (E_ext_grid_s == "constant")
pp.getarr("E_external_grid", E_external_grid);
+ // initialize the averaged fields only if the averaged algorithm
+ // is activated ('psatd.do_time_averaging=1')
+ ParmParse ppsatd("psatd");
+ ppsatd.query("do_time_averaging", fft_do_time_averaging );
+
for (int i = 0; i < 3; ++i) {
current_fp[lev][i]->setVal(0.0);
if (lev > 0)
@@ -254,16 +259,33 @@ WarpX::InitLevelData (int lev, Real /*time*/)
if (B_ext_grid_s == "constant" || B_ext_grid_s == "default") {
Bfield_fp[lev][i]->setVal(B_external_grid[i]);
+ if (fft_do_time_averaging) {
+ Bfield_avg_fp[lev][i]->setVal(B_external_grid[i]);
+ }
+
if (lev > 0) {
Bfield_aux[lev][i]->setVal(B_external_grid[i]);
Bfield_cp[lev][i]->setVal(B_external_grid[i]);
+ if (fft_do_time_averaging) {
+ Bfield_avg_aux[lev][i]->setVal(B_external_grid[i]);
+ Bfield_avg_cp[lev][i]->setVal(B_external_grid[i]);
+ }
}
}
if (E_ext_grid_s == "constant" || E_ext_grid_s == "default") {
Efield_fp[lev][i]->setVal(E_external_grid[i]);
+ if (fft_do_time_averaging) {
+ Efield_avg_fp[lev][i]->setVal(E_external_grid[i]);
+ }
+
if (lev > 0) {
Efield_aux[lev][i]->setVal(E_external_grid[i]);
Efield_cp[lev][i]->setVal(E_external_grid[i]);
+ if (fft_do_time_averaging) {
+ Efield_avg_aux[lev][i]->setVal(E_external_grid[i]);
+ Efield_avg_cp[lev][i]->setVal(E_external_grid[i]);
+ }
+
}
}
}