diff options
10 files changed, 114 insertions, 124 deletions
diff --git a/Examples/Tests/averaged_galilean/inputs_avg_2d b/Examples/Tests/averaged_galilean/inputs_avg_2d index cee42c8c5..f553009d3 100644 --- a/Examples/Tests/averaged_galilean/inputs_avg_2d +++ b/Examples/Tests/averaged_galilean/inputs_avg_2d @@ -7,7 +7,7 @@ amr.n_cell = 128 128 amr.max_grid_size = 128 amr.blocking_factor = 128 amr.max_level = 0 -psatd.v_galilean = 0 0 0.99498743710662 +psatd.v_galilean = 0 0 -0.99498743710662 psatd.do_time_averaging = 1 @@ -51,7 +51,7 @@ electrons.num_particles_per_cell_each_dim = 2 2 electrons.profile = constant electrons.density = 282197938148984.7 electrons.momentum_distribution_type = "gaussian" -electrons.uz_m = 9.9498743710661994 +electrons.uz_m = -9.9498743710661994 electrons.xmin = -12.3776 electrons.xmax = 12.3776 electrons.zmin = -49.5104 @@ -67,7 +67,7 @@ ions.num_particles_per_cell_each_dim = 2 2 ions.profile = constant ions.density = 282197938148984.7 ions.momentum_distribution_type = "gaussian" -ions.uz_m = 9.9498743710661994 +ions.uz_m = -9.9498743710661994 ions.xmin = -12.3776 ions.xmax = 12.3776 ions.zmin = -49.5104 diff --git a/Examples/Tests/galilean/analysis_2d.py b/Examples/Tests/galilean/analysis_2d.py index ea423a71d..d6486a4e2 100755 --- a/Examples/Tests/galilean/analysis_2d.py +++ b/Examples/Tests/galilean/analysis_2d.py @@ -37,23 +37,23 @@ Ez= ds.index.grids[0]['boxlib', 'Ez'].squeeze().v if (averaged): # energyE_ref was calculated with Galilean PSATD method (v_galilean = (0,0,0.99498743710662)) - energyE_ref = 26913.546573259937 - tolerance_rel = 1e-5 + energyE_ref = 32532.00882239954 + tolerance_rel = 1e-6 elif (not dims_RZ and not current_correction): # energyE_ref was calculated with standard PSATD method (v_galilean = (0.,0.,0.)) - energyE_ref = 38362.88743899688 + energyE_ref = 35657.99361677053 tolerance_rel = 1e-8 elif (not dims_RZ and current_correction): # energyE_ref was calculated with standard PSATD method (v_galilean = (0.,0.,0.)): - energyE_ref = 33331.13857367177 + energyE_ref = 35024.02751955393 tolerance_rel = 2e-8 elif (dims_RZ and not current_correction): # energyE_ref was calculated with standard PSATD method (v_galilean = (0.,0.,0.)) - energyE_ref = 178013.54481470847 + energyE_ref = 239019.10670780553 tolerance_rel = 1e-8 elif (dims_RZ and current_correction): # energyE_ref was calculated with standard PSATD method (v_galilean = (0.,0.,0.)) - energyE_ref = 455119.0695414118 + energyE_ref = 471730.0524143545 tolerance_rel = 1e-9 energyE = np.sum(scc.epsilon_0/2*(Ex**2+Ey**2+Ez**2)) diff --git a/Examples/Tests/galilean/inputs_2d b/Examples/Tests/galilean/inputs_2d index 19189c0f3..c52471983 100644 --- a/Examples/Tests/galilean/inputs_2d +++ b/Examples/Tests/galilean/inputs_2d @@ -7,7 +7,7 @@ amr.n_cell = 128 128 amr.max_grid_size = 128 amr.blocking_factor = 128 amr.max_level = 0 -psatd.v_galilean = 0. 0. 0.99498743710662 +psatd.v_galilean = 0. 0. -0.99498743710662 geometry.coord_sys = 0 geometry.is_periodic = 1 1 @@ -47,7 +47,7 @@ electrons.num_particles_per_cell_each_dim = 2 2 electrons.profile = constant electrons.density = 282197938148984.7 electrons.momentum_distribution_type = "gaussian" -electrons.uz_m = 9.9498743710661994 +electrons.uz_m = -9.9498743710661994 electrons.xmin = -38.68 electrons.xmax = 38.68 electrons.zmin = -38.68 @@ -62,7 +62,7 @@ ions.num_particles_per_cell_each_dim = 2 2 ions.profile = constant ions.density = 282197938148984.7 ions.momentum_distribution_type = "gaussian" -ions.uz_m = 9.9498743710661994 +ions.uz_m = -9.9498743710661994 ions.xmin = -38.68 ions.xmax = 38.68 ions.zmin = -38.68 diff --git a/Examples/Tests/galilean/inputs_rz b/Examples/Tests/galilean/inputs_rz index 4f94cb643..f2805faf0 100644 --- a/Examples/Tests/galilean/inputs_rz +++ b/Examples/Tests/galilean/inputs_rz @@ -7,7 +7,7 @@ amr.n_cell = 64 128 amr.max_grid_size = 128 amr.blocking_factor = 128 amr.max_level = 0 -psatd.v_galilean = 0. 0. 0.99498743710662 +psatd.v_galilean = 0. 0. -0.99498743710662 geometry.coord_sys = 1 geometry.is_periodic = 0 1 @@ -48,7 +48,7 @@ electrons.num_particles_per_cell_each_dim = 2 2 electrons.profile = constant electrons.density = 282197938148984.7 electrons.momentum_distribution_type = "gaussian" -electrons.uz_m = 9.9498743710661994 +electrons.uz_m = -9.9498743710661994 electrons.xmin = 0. electrons.xmax = 38.68 electrons.zmin = -38.68 @@ -63,7 +63,7 @@ ions.num_particles_per_cell_each_dim = 2 2 ions.profile = constant ions.density = 282197938148984.7 ions.momentum_distribution_type = "gaussian" -ions.uz_m = 9.9498743710661994 +ions.uz_m = -9.9498743710661994 ions.xmin = 0. ions.xmax = 38.68 ions.zmin = -38.68 diff --git a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json index 761fb0a6b..89fd6eeae 100644 --- a/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json +++ b/Regression/Checksum/benchmarks_json/averaged_galilean_2d_psatd.json @@ -2,32 +2,32 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 2147516416.0, - "particle_momentum_x": 7.517481917937245e-21, - "particle_momentum_y": 3.896955095181759e-21, - "particle_momentum_z": 1.7807680056139682e-16, - "particle_position_x": 405588.5826369648, - "particle_position_y": 20127109.08237198, + "particle_momentum_x": 7.840028236162465e-21, + "particle_momentum_y": 3.765146435729977e-21, + "particle_momentum_z": 1.7807679253921786e-16, + "particle_position_x": 405588.5591398962, + "particle_position_y": 20127109.071436103, "particle_weight": 6.917460794691972e+17 }, "ions": { - "particle_cpu": 0.0, - "particle_id": 6442483712.0, - "particle_momentum_x": 2.6093555711476015e-18, - "particle_momentum_y": 2.6179624992626143e-18, - "particle_momentum_z": 3.2697610954306833e-13, - "particle_position_x": 405588.43858521566, - "particle_position_y": 20127109.123472013, - "particle_weight": 6.917460794691972e+17 + "particle_cpu": 0.0, + "particle_id": 6442483712.0, + "particle_momentum_x": 2.6093404228219635e-18, + "particle_momentum_y": 2.6179500432515532e-18, + "particle_momentum_z": 3.269760998813484e-13, + "particle_position_x": 405588.43859727494, + "particle_position_y": 20127109.11750953, + "particle_weight": 6.917460794691972e+17 }, "lev=0": { - "Bx": 0.004047358398730228, - "By": 0.002062010558669444, - "Bz": 0.011439833996386319, - "Ex": 485509.91869706754, - "Ey": 3699539.155788414, - "Ez": 334741.25200744916, - "jx": 222.69108783295758, - "jy": 1024.5042310228996, - "jz": 4716.149133025747 + "Bx": 0.0037913173274310057, + "By": 0.0019410303151043715, + "Bz": 0.010731882944058382, + "Ex": 471961.34461594024, + "Ey": 3576283.0065883463, + "Ez": 309019.28003672883, + "jx": 221.62156557908702, + "jy": 993.3580780378838, + "jz": 4650.141880076047 } }
\ No newline at end of file diff --git a/Regression/Checksum/benchmarks_json/galilean_2d_psatd.json b/Regression/Checksum/benchmarks_json/galilean_2d_psatd.json index b4434adb9..24fb56011 100644 --- a/Regression/Checksum/benchmarks_json/galilean_2d_psatd.json +++ b/Regression/Checksum/benchmarks_json/galilean_2d_psatd.json @@ -2,32 +2,32 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 2160099328.0, - "particle_momentum_x": 1.5318380864485464e-21, + "particle_momentum_x": 1.5301255600843141e-21, "particle_momentum_y": 0.0, - "particle_momentum_z": 1.7807674948394743e-16, - "particle_position_x": 1267465.7004978752, - "particle_position_y": 15724304.003752388, + "particle_momentum_z": 1.780767547480371e-16, + "particle_position_x": 1267465.6993027364, + "particle_position_y": 15724303.998543631, "particle_weight": 1.6888332018290936e+18 }, "ions": { "particle_cpu": 0.0, "particle_id": 6522175488.0, - "particle_momentum_x": 2.6093881778048826e-18, + "particle_momentum_x": 2.6093895683186773e-18, "particle_momentum_y": 0.0, - "particle_momentum_z": 3.269761095902631e-13, - "particle_position_x": 1267465.647683476, - "particle_position_y": 15724304.003483828, + "particle_momentum_z": 3.2697609991276653e-13, + "particle_position_x": 1267465.6476895714, + "particle_position_y": 15724303.998823564, "particle_weight": 1.6888332018290936e+18 }, "lev=0": { "Bx": 0.0, - "By": 0.002476869771141878, + "By": 0.002472925048725493, "Bz": 0.0, - "Ex": 750177.9584610822, + "Ex": 747637.3999003221, "Ey": 0.0, - "Ez": 58823.18931851653, - "jx": 196.76548638250154, + "Ez": 58623.22431213792, + "jx": 197.603109048905, "jy": 0.0, - "jz": 3912.960477247607 + "jz": 3899.4426229911533 } }
\ No newline at end of file diff --git a/Regression/Checksum/benchmarks_json/galilean_2d_psatd_current_correction.json b/Regression/Checksum/benchmarks_json/galilean_2d_psatd_current_correction.json index 53e7998b3..40c1ef392 100644 --- a/Regression/Checksum/benchmarks_json/galilean_2d_psatd_current_correction.json +++ b/Regression/Checksum/benchmarks_json/galilean_2d_psatd_current_correction.json @@ -2,34 +2,34 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 2160099328.0, - "particle_momentum_x": 1.5467441231224847e-21, + "particle_momentum_x": 1.5446768224262931e-21, "particle_momentum_y": 0.0, - "particle_momentum_z": 1.7807674945985266e-16, - "particle_position_x": 1267465.6971651274, - "particle_position_y": 15724304.003759954, + "particle_momentum_z": 1.7807675479103523e-16, + "particle_position_x": 1267465.6959779875, + "particle_position_y": 15724303.998550693, "particle_weight": 1.6888332018290936e+18 }, "ions": { "particle_cpu": 0.0, "particle_id": 6522175488.0, - "particle_momentum_x": 2.609388312915195e-18, + "particle_momentum_x": 2.609389259207186e-18, "particle_momentum_y": 0.0, - "particle_momentum_z": 3.269761095902811e-13, - "particle_position_x": 1267465.647685301, - "particle_position_y": 15724304.003483817, + "particle_momentum_z": 3.269760999127174e-13, + "particle_position_x": 1267465.6476913819, + "particle_position_y": 15724303.99882355, "particle_weight": 1.6888332018290936e+18 }, "lev=0": { "Bx": 0.0, - "By": 0.00295723484959143, + "By": 0.002955847949540036, "Bz": 0.0, - "Ex": 894661.4600751773, + "Ex": 893534.7419589404, "Ey": 0.0, - "Ez": 65986.52099691203, - "divE": 1696584.2976513323, - "jx": 218.31695279432097, + "Ez": 65657.88089087335, + "divE": 1689738.9457807848, + "jx": 219.89616041000212, "jy": 0.0, - "jz": 4477.030145847337, - "rho": 1.5021876011649915e-05 + "jz": 4459.160944658457, + "rho": 1.4961265980553603e-05 } }
\ No newline at end of file diff --git a/Regression/Checksum/benchmarks_json/galilean_rz_psatd.json b/Regression/Checksum/benchmarks_json/galilean_rz_psatd.json index 3b6b66679..e40fa7112 100644 --- a/Regression/Checksum/benchmarks_json/galilean_rz_psatd.json +++ b/Regression/Checksum/benchmarks_json/galilean_rz_psatd.json @@ -2,33 +2,33 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 540033024.0, - "particle_momentum_x": 6.991216723474512e-22, - "particle_momentum_y": 2.7161964260573423e-22, - "particle_momentum_z": 8.9036292669071e-17, - "particle_position_x": 633733.7278962254, - "particle_position_y": 7862151.377853205, - "particle_theta": 51362.0874841635, + "particle_momentum_x": 6.999660495409049e-22, + "particle_momentum_y": 2.7286257042710144e-22, + "particle_momentum_z": 8.903628651318955e-17, + "particle_position_x": 633733.7284462163, + "particle_position_y": 7862151.373823494, + "particle_theta": 51362.08760999037, "particle_weight": 1.0261080645329302e+20 }, "ions": { "particle_cpu": 0.0, "particle_id": 1630552064.0, - "particle_momentum_x": 1.312586801897356e-18, - "particle_momentum_y": 2.716175862542692e-22, - "particle_momentum_z": 1.634880615821668e-13, - "particle_position_x": 633733.7424931434, - "particle_position_y": 7862152.004348258, - "particle_theta": 51470.93289875299, + "particle_momentum_x": 1.3125868827082553e-18, + "particle_momentum_y": 2.7234814546935865e-22, + "particle_momentum_z": 1.634880473424221e-13, + "particle_position_x": 633733.7424979067, + "particle_position_y": 7862151.99748233, + "particle_theta": 51470.93289811907, "particle_weight": 1.0261080645329302e+20 }, "lev=0": { - "By": 0.002498168642125331, - "Ex": 751403.0500041273, - "Ey": 131304.8882148022, - "Ez": 35783.1787975738, - "divE": 1349004.6304044977, - "jx": 163.91848307748262, - "jz": 50271.11378286561, - "rho": 0.0000120119242959871 + "By": 0.0024307114063147504, + "Ex": 732693.5768885817, + "Ey": 130003.11944446711, + "Ez": 36772.52480157818, + "divE": 1348744.2569353955, + "jx": 163.0127498331044, + "jz": 50246.47997764914, + "rho": 1.1999059634758576e-05 } -} +}
\ No newline at end of file diff --git a/Regression/Checksum/benchmarks_json/galilean_rz_psatd_current_correction.json b/Regression/Checksum/benchmarks_json/galilean_rz_psatd_current_correction.json index 58108dac3..580e7f19c 100644 --- a/Regression/Checksum/benchmarks_json/galilean_rz_psatd_current_correction.json +++ b/Regression/Checksum/benchmarks_json/galilean_rz_psatd_current_correction.json @@ -2,33 +2,33 @@ "electrons": { "particle_cpu": 0.0, "particle_id": 540033024.0, - "particle_momentum_x": 7.036569201550279e-22, - "particle_momentum_y": 2.793899497847637e-22, - "particle_momentum_z": 8.903840099297628e-17, - "particle_position_x": 633734.05750754, - "particle_position_y": 7862152.002417763, - "particle_theta": 51362.087731504886, + "particle_momentum_x": 7.043225585491615e-22, + "particle_momentum_y": 2.8095488450457388e-22, + "particle_momentum_z": 8.903838826207317e-17, + "particle_position_x": 633734.0562112605, + "particle_position_y": 7862151.998116621, + "particle_theta": 51362.087830016804, "particle_weight": 1.0261080645329302e+20 }, "ions": { "particle_cpu": 0.0, "particle_id": 1630552064.0, - "particle_momentum_x": 1.3125865468027496e-18, - "particle_momentum_y": 2.7973553652944355e-22, - "particle_momentum_z": 1.6348805947388629e-13, - "particle_position_x": 633733.7423125396, - "particle_position_y": 7862152.004008202, - "particle_theta": 51470.9328987146, + "particle_momentum_x": 1.3125871812988232e-18, + "particle_momentum_y": 2.8053964233138836e-22, + "particle_momentum_z": 1.634880452407025e-13, + "particle_position_x": 633733.7423183098, + "particle_position_y": 7862151.997142417, + "particle_theta": 51470.93289806633, "particle_weight": 1.0261080645329302e+20 }, "lev=0": { - "By": 0.0018580984062963768, - "Ex": 559867.6116316387, - "Ey": 131307.09706676172, - "Ez": 39058.43730735371, - "divE": 1270475.6165551757, - "jx": 166.53608827990212, - "jz": 50424.94919403208, - "rho": 1.1249029720562342e-05 + "By": 0.0018845897904908619, + "Ex": 568097.4835035336, + "Ey": 130003.2620179485, + "Ez": 40677.99022297442, + "divE": 1279972.8318518812, + "jx": 166.90827028769894, + "jz": 50430.778236016544, + "rho": 1.1333119848498335e-05 } }
\ No newline at end of file diff --git a/Regression/Checksum/checksum.py b/Regression/Checksum/checksum.py index 446fac352..67aa3b220 100644 --- a/Regression/Checksum/checksum.py +++ b/Regression/Checksum/checksum.py @@ -8,7 +8,6 @@ from benchmark import Benchmark import yt -import re import sys import numpy as np @@ -58,27 +57,18 @@ class Checksum: # Compute checksum for field quantities if do_fields: - # Boolean variable parsed from test name needed for workaround below - galilean = True if re.search('galilean', self.test_name) else False for lev in range(ds.max_level+1): data_lev = {} lev_grids = [grid for grid in ds.index.grids if grid.Level == lev] - if not (galilean): - # Warning: For now, we assume all levels are rectangular - LeftEdge = np.min( - np.array([grid.LeftEdge.v for grid in lev_grids]), axis=0) - all_data_level = ds.covering_grid( - level=lev, left_edge=LeftEdge, dims=ds.domain_dimensions) - for field in grid_fields: - Q = all_data_level[field].v.squeeze() - data_lev[field[1]] = np.sum(np.abs(Q)) - # Workaround for Galilean tests: the standard procedure above - # does not seem to read 2D fields data correctly - elif (galilean): - for field in grid_fields: - Q = ds.index.grids[lev][field].v.squeeze() - data_lev[field[1]] = np.sum(np.abs(Q)) + # Warning: For now, we assume all levels are rectangular + LeftEdge = np.min( + np.array([grid.LeftEdge.v for grid in lev_grids]), axis=0) + all_data_level = ds.covering_grid( + level=lev, left_edge=LeftEdge, dims=ds.domain_dimensions) + for field in grid_fields: + Q = all_data_level[field].v.squeeze() + data_lev[field[1]] = np.sum(np.abs(Q)) data['lev=' + str(lev)] = data_lev # Compute checksum for particle quantities |