aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Examples/Tests/restart/inputs10
-rw-r--r--Regression/Checksum/benchmarks_json/restart.json60
-rw-r--r--Regression/Checksum/benchmarks_json/restart_psatd.json60
-rw-r--r--Regression/Checksum/benchmarks_json/restart_psatd_time_avg.json60
-rw-r--r--Source/Diagnostics/ParticleIO.cpp16
5 files changed, 106 insertions, 100 deletions
diff --git a/Examples/Tests/restart/inputs b/Examples/Tests/restart/inputs
index e47aa0fa8..c34146518 100644
--- a/Examples/Tests/restart/inputs
+++ b/Examples/Tests/restart/inputs
@@ -45,7 +45,7 @@ warpx.boost_direction = z
#################################
particles.species_names = driver plasma_e plasma_p beam driverback
particles.use_fdtd_nci_corr = 1
-#particles.rigid_injected_species = driver beam
+particles.rigid_injected_species = driver beam
driver.charge = -q_e
driver.mass = 1.e10
@@ -65,8 +65,8 @@ driver.uz_m = 200000.
driver.ux_th = 2.
driver.uy_th = 2.
driver.uz_th = 20000.
-#driver.zinject_plane = 0.
-#driver.rigid_advance = true
+driver.zinject_plane = 0.
+driver.rigid_advance = true
driverback.charge = q_e
driverback.mass = 1.e10
@@ -142,8 +142,8 @@ beam.uz_m = 2000.
beam.ux_th = 2.
beam.uy_th = 2.
beam.uz_th = 200.
-#beam.zinject_plane = .8e-3
-#beam.rigid_advance = true
+beam.zinject_plane = .8e-3
+beam.rigid_advance = true
# Diagnostics
diagnostics.diags_names = diag1 chk
diff --git a/Regression/Checksum/benchmarks_json/restart.json b/Regression/Checksum/benchmarks_json/restart.json
index cdccdd073..ebb35357c 100644
--- a/Regression/Checksum/benchmarks_json/restart.json
+++ b/Regression/Checksum/benchmarks_json/restart.json
@@ -2,23 +2,23 @@
"beam": {
"particle_cpu": 0.0,
"particle_id": 1500500.0,
- "particle_momentum_x": 4.210792541741028e-19,
- "particle_momentum_y": 4.1138261183560033e-19,
- "particle_momentum_z": 2.723782366817271e-17,
- "particle_position_x": 0.0015091134632009644,
- "particle_position_y": 0.001484901544080785,
- "particle_position_z": 1.9017767912783692,
+ "particle_momentum_x": 4.275414307401172e-19,
+ "particle_momentum_y": 4.1735348940423594e-19,
+ "particle_momentum_z": 2.7466540338095267e-17,
+ "particle_position_x": 0.00038227754420858974,
+ "particle_position_y": 0.0004008480406063961,
+ "particle_position_z": 1.9017769844040129,
"particle_weight": 3120754537.230381
},
"driver": {
"particle_cpu": 0.0,
"particle_id": 500500.0,
"particle_momentum_x": 4.747251762692475e+21,
- "particle_momentum_y": 4.957368621566193e+21,
+ "particle_momentum_y": 4.957368621566192e+21,
"particle_momentum_z": 2.9967719884827463e+25,
- "particle_position_x": 0.0015297460887947526,
- "particle_position_y": 0.001602556980708184,
- "particle_position_z": 0.3061832080602548,
+ "particle_position_x": 0.0015291127683050845,
+ "particle_position_y": 0.001603376452180436,
+ "particle_position_z": 0.30618320800027976,
"particle_weight": 6241509074.460762
},
"driverback": {
@@ -33,35 +33,35 @@
"particle_weight": 6241509074.460762
},
"lev=0": {
- "Bx": 98161.70008968459,
- "By": 98172.32439526827,
- "Bz": 31.901351990962468,
- "Ex": 14057086473507.713,
- "Ey": 14054746454266.889,
- "Ez": 33308979480924.473,
- "jx": 656449539734.6744,
- "jy": 646503950937.1055,
- "jz": 904276481605925.0
+ "Bx": 98192.19947145433,
+ "By": 98202.24044988544,
+ "Bz": 32.176883437432316,
+ "Ex": 14065714408245.07,
+ "Ey": 14064073072398.174,
+ "Ez": 33307954593489.707,
+ "jx": 304667056543.9146,
+ "jy": 180701392073.9691,
+ "jz": 904275753595636.4
},
"plasma_e": {
"particle_cpu": 4116.0,
"particle_id": 22919946.0,
- "particle_momentum_x": 5.4081725205908615e-22,
- "particle_momentum_y": 5.385150045424111e-22,
- "particle_momentum_z": 1.1184395632328821e-17,
- "particle_position_x": 0.13505934672940284,
- "particle_position_y": 0.13505932414882538,
- "particle_position_z": 0.20362721013846616,
+ "particle_momentum_x": 5.40817681171179e-22,
+ "particle_momentum_y": 5.385133314763837e-22,
+ "particle_momentum_z": 1.1184395632063724e-17,
+ "particle_position_x": 0.1350593467304257,
+ "particle_position_y": 0.1350593241232737,
+ "particle_position_z": 0.20362721013846566,
"particle_weight": 126912632943.3621
},
"plasma_p": {
"particle_cpu": 4116.0,
"particle_id": 25328394.0,
- "particle_momentum_x": 5.408306142946863e-22,
- "particle_momentum_y": 5.385291148559078e-22,
- "particle_momentum_z": 2.0535791481239935e-14,
- "particle_position_x": 0.13505624831336888,
- "particle_position_y": 0.13505624832566565,
+ "particle_momentum_x": 5.408310433658191e-22,
+ "particle_momentum_y": 5.385274435809097e-22,
+ "particle_momentum_z": 2.0535791481240203e-14,
+ "particle_position_x": 0.13505624831336835,
+ "particle_position_y": 0.13505624832567958,
"particle_position_z": 0.2036271949467523,
"particle_weight": 126912632943.3621
}
diff --git a/Regression/Checksum/benchmarks_json/restart_psatd.json b/Regression/Checksum/benchmarks_json/restart_psatd.json
index 12eb370d4..3fbcd9772 100644
--- a/Regression/Checksum/benchmarks_json/restart_psatd.json
+++ b/Regression/Checksum/benchmarks_json/restart_psatd.json
@@ -2,23 +2,23 @@
"beam": {
"particle_cpu": 0.0,
"particle_id": 1500500.0,
- "particle_momentum_x": 4.2541507163023845e-19,
- "particle_momentum_y": 4.152774664953137e-19,
- "particle_momentum_z": 2.7285024671598035e-17,
- "particle_position_x": 0.001517617677859585,
- "particle_position_y": 0.0014929352020519265,
- "particle_position_z": 1.9017771002859827,
+ "particle_momentum_x": 4.275414307401172e-19,
+ "particle_momentum_y": 4.17353489404236e-19,
+ "particle_momentum_z": 2.7466540338095267e-17,
+ "particle_position_x": 0.00038227754420858974,
+ "particle_position_y": 0.00040084804060639605,
+ "particle_position_z": 1.9017769844040127,
"particle_weight": 3120754537.230381
},
"driver": {
"particle_cpu": 0.0,
"particle_id": 500500.0,
- "particle_momentum_x": 4.747251762692475e+21,
+ "particle_momentum_x": 4.747251762692473e+21,
"particle_momentum_y": 4.957368621566193e+21,
"particle_momentum_z": 2.9967719884827463e+25,
- "particle_position_x": 0.0015297460887947526,
- "particle_position_y": 0.0016025569807081841,
- "particle_position_z": 0.30618320806025484,
+ "particle_position_x": 0.0015291127683050845,
+ "particle_position_y": 0.001603376452180436,
+ "particle_position_z": 0.30618320800027976,
"particle_weight": 6241509074.460762
},
"driverback": {
@@ -33,35 +33,35 @@
"particle_weight": 6241509074.460762
},
"lev=0": {
- "Bx": 97777.04044826895,
- "By": 97787.26556234213,
- "Bz": 31.59916720107527,
- "Ex": 12868507499248.19,
- "Ey": 12867303176821.19,
- "Ez": 32449258298200.113,
- "jx": 634704212071.4764,
- "jy": 611625734809.7017,
- "jz": 904274042090495.5
+ "Bx": 97806.19840108546,
+ "By": 97815.85756771098,
+ "Bz": 31.732427701722912,
+ "Ex": 12877754924119.082,
+ "Ey": 12876901684280.229,
+ "Ez": 32448463177834.543,
+ "jx": 307666015585.9687,
+ "jy": 182363554739.9786,
+ "jz": 904274413323325.2
},
"plasma_e": {
"particle_cpu": 4116.0,
"particle_id": 22919946.0,
- "particle_momentum_x": 5.685882296125418e-22,
- "particle_momentum_y": 5.662977916983953e-22,
- "particle_momentum_z": 1.1184398018268609e-17,
- "particle_position_x": 0.13505924338837194,
- "particle_position_y": 0.13505922196934064,
- "particle_position_z": 0.2036272092198746,
+ "particle_momentum_x": 5.685881126709523e-22,
+ "particle_momentum_y": 5.6629711844429285e-22,
+ "particle_momentum_z": 1.1184398018026139e-17,
+ "particle_position_x": 0.1350592433885383,
+ "particle_position_y": 0.1350592219411637,
+ "particle_position_z": 0.20362720921987482,
"particle_weight": 126912632943.36244
},
"plasma_p": {
"particle_cpu": 4116.0,
"particle_id": 25328394.0,
- "particle_momentum_x": 5.686073146345258e-22,
- "particle_momentum_y": 5.663176459735941e-22,
- "particle_momentum_z": 2.0535791478847752e-14,
- "particle_position_x": 0.1350562483696602,
- "particle_position_y": 0.1350562483813245,
+ "particle_momentum_x": 5.686071969908394e-22,
+ "particle_momentum_y": 5.663169754132697e-22,
+ "particle_momentum_z": 2.0535791478848e-14,
+ "particle_position_x": 0.13505624836966013,
+ "particle_position_y": 0.13505624838133984,
"particle_position_z": 0.20362719494726383,
"particle_weight": 126912632943.36244
}
diff --git a/Regression/Checksum/benchmarks_json/restart_psatd_time_avg.json b/Regression/Checksum/benchmarks_json/restart_psatd_time_avg.json
index 3ed894265..bc8d71bbc 100644
--- a/Regression/Checksum/benchmarks_json/restart_psatd_time_avg.json
+++ b/Regression/Checksum/benchmarks_json/restart_psatd_time_avg.json
@@ -2,23 +2,23 @@
"beam": {
"particle_cpu": 0.0,
"particle_id": 1500500.0,
- "particle_momentum_x": 4.254691979750989e-19,
- "particle_momentum_y": 4.1535435963437147e-19,
- "particle_momentum_z": 2.728767021901075e-17,
- "particle_position_x": 0.001517680460798969,
- "particle_position_y": 0.001493038909816312,
- "particle_position_z": 1.9017771013093303,
+ "particle_momentum_x": 4.275414307401172e-19,
+ "particle_momentum_y": 4.17353489404236e-19,
+ "particle_momentum_z": 2.7466540338095267e-17,
+ "particle_position_x": 0.00038227754420858974,
+ "particle_position_y": 0.00040084804060639605,
+ "particle_position_z": 1.9017769844040127,
"particle_weight": 3120754537.230381
},
"driver": {
"particle_cpu": 0.0,
"particle_id": 500500.0,
- "particle_momentum_x": 4.747251762692475e+21,
+ "particle_momentum_x": 4.747251762692473e+21,
"particle_momentum_y": 4.957368621566193e+21,
"particle_momentum_z": 2.9967719884827463e+25,
- "particle_position_x": 0.0015297460887947526,
- "particle_position_y": 0.0016025569807081841,
- "particle_position_z": 0.30618320806025484,
+ "particle_position_x": 0.0015291127683050845,
+ "particle_position_y": 0.001603376452180436,
+ "particle_position_z": 0.30618320800027976,
"particle_weight": 6241509074.460762
},
"driverback": {
@@ -33,35 +33,35 @@
"particle_weight": 6241509074.460762
},
"lev=0": {
- "Bx": 97770.61191599404,
- "By": 97780.70810712027,
- "Bz": 31.008136828149073,
- "Ex": 12838801235406.88,
- "Ey": 12837507519031.262,
- "Ez": 32438660943782.914,
- "jx": 635272636369.7802,
- "jy": 612269127739.1005,
- "jz": 904274462562314.8
+ "Bx": 97799.68920761721,
+ "By": 97809.22760976445,
+ "Bz": 31.138421896287632,
+ "Ex": 12848024095028.355,
+ "Ey": 12847124613971.557,
+ "Ez": 32437971780449.27,
+ "jx": 308194378521.1045,
+ "jy": 182890492089.67697,
+ "jz": 904274843199463.8
},
"plasma_e": {
"particle_cpu": 4116.0,
"particle_id": 22919946.0,
- "particle_momentum_x": 5.744114065909579e-22,
- "particle_momentum_y": 5.721131408219794e-22,
- "particle_momentum_z": 1.1184397774427398e-17,
- "particle_position_x": 0.1350592713852672,
- "particle_position_y": 0.13505925001090735,
- "particle_position_z": 0.20362720922167768,
+ "particle_momentum_x": 5.744112487812186e-22,
+ "particle_momentum_y": 5.721125891605127e-22,
+ "particle_momentum_z": 1.1184397774190402e-17,
+ "particle_position_x": 0.13505927138536114,
+ "particle_position_y": 0.13505924998293056,
+ "particle_position_z": 0.20362720922167785,
"particle_weight": 126912632943.36244
},
"plasma_p": {
"particle_cpu": 4116.0,
"particle_id": 25328394.0,
- "particle_momentum_x": 5.7443089782205155e-22,
- "particle_momentum_y": 5.721334024352466e-22,
- "particle_momentum_z": 2.0535791479091608e-14,
- "particle_position_x": 0.1350562483544117,
- "particle_position_y": 0.13505624836605168,
+ "particle_momentum_x": 5.744307393038055e-22,
+ "particle_momentum_y": 5.721328534468911e-22,
+ "particle_momentum_z": 2.0535791479091845e-14,
+ "particle_position_x": 0.13505624835441166,
+ "particle_position_y": 0.13505624836606694,
"particle_position_z": 0.20362719494726217,
"particle_weight": 126912632943.36244
}
diff --git a/Source/Diagnostics/ParticleIO.cpp b/Source/Diagnostics/ParticleIO.cpp
index a226bb590..a7b389d78 100644
--- a/Source/Diagnostics/ParticleIO.cpp
+++ b/Source/Diagnostics/ParticleIO.cpp
@@ -41,9 +41,10 @@ using namespace amrex;
void
RigidInjectedParticleContainer::ReadHeader (std::istream& is)
{
- is >> charge >> mass;
- WarpX::GotoNextLine(is);
+ // Call parent class
+ WarpXParticleContainer::ReadHeader( is );
+ // Read quantities that are specific to rigid-injected species
int nlevs;
is >> nlevs;
WarpX::GotoNextLine(is);
@@ -52,24 +53,29 @@ RigidInjectedParticleContainer::ReadHeader (std::istream& is)
for (int i = 0; i < nlevs; ++i)
{
- int zinject_plane_tmp;
+ amrex::Real zinject_plane_tmp;
is >> zinject_plane_tmp;
zinject_plane_levels.push_back(zinject_plane_tmp);
WarpX::GotoNextLine(is);
}
+ is >> vzbeam_ave_boosted;
+ WarpX::GotoNextLine(is);
}
void
RigidInjectedParticleContainer::WriteHeader (std::ostream& os) const
{
- // no need to write species_id
- os << charge << " " << mass << "\n";
+ // Call parent class
+ WarpXParticleContainer::WriteHeader( os );
+
+ // Write quantities that are specific to the rigid-injected species
int nlevs = zinject_plane_levels.size();
os << nlevs << "\n";
for (int i = 0; i < nlevs; ++i)
{
os << zinject_plane_levels[i] << "\n";
}
+ os << vzbeam_ave_boosted << "\n";
}
void