From 80dc21be2c62236fb7b654087fd7624f2fc41060 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Thu, 11 Aug 2022 11:10:49 -0500 Subject: [PATCH 01/13] Add test for TimeFilter when time intervals are effectively zero --- tests/unit_tests/test_time_filter.py | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/unit_tests/test_time_filter.py b/tests/unit_tests/test_time_filter.py index 5b09c6d5f7..45fabc5449 100644 --- a/tests/unit_tests/test_time_filter.py +++ b/tests/unit_tests/test_time_filter.py @@ -149,3 +149,39 @@ def test_time_filter_surface(model_surf, run_in_tmpdir): # After t0+ε, the current should be zero assert values[2] == 0.0 + + +def test_small_time_interval(run_in_tmpdir): + # Create a model with a photon source at 1.0e8 seconds. Based on the speed + # of the photon, the time intervals are on the order of 1e-9 seconds, which + # are effectively 0 when compared to the starting time of the photon. + mat = openmc.Material() + mat.add_element('N', 1.0) + mat.set_density('g/cm3', 0.001) + sph = openmc.Sphere(r=5.0, boundary_type='vacuum') + cell = openmc.Cell(fill=mat, region=-sph) + model = openmc.Model() + model.geometry = openmc.Geometry([cell]) + model.settings.particles = 100 + model.settings.batches = 10 + model.settings.run_mode = 'fixed source' + model.settings.source = openmc.Source( + time=openmc.stats.Discrete([1.0e8], [1.0]), + particle='photon' + ) + + # Add tallies with and without a time filter that should match all particles + time_filter = openmc.TimeFilter([0.0, 1.0e100]) + tally_with_filter = openmc.Tally() + tally_with_filter.filters = [time_filter] + tally_with_filter.scores = ['flux'] + tally_without_filter = openmc.Tally() + tally_without_filter.scores = ['flux'] + model.tallies.extend([tally_with_filter, tally_without_filter]) + + # Run the model and make sure the two tallies match + sp_filename = model.run() + with openmc.StatePoint(sp_filename) as sp: + flux_with = sp.tallies[tally_with_filter.id].mean.ravel()[0] + flux_without = sp.tallies[tally_without_filter.id].mean.ravel()[0] + assert flux_with == pytest.approx(flux_without) From 23ba62866e8e0dfb836995bfd871f95746399026 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Thu, 11 Aug 2022 11:11:29 -0500 Subject: [PATCH 02/13] Fix treatment of 0 duration time intervals in TimeFilter::get_all_bins --- src/tallies/filter_time.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/tallies/filter_time.cpp b/src/tallies/filter_time.cpp index 3f78d1817f..787acc49e1 100644 --- a/src/tallies/filter_time.cpp +++ b/src/tallies/filter_time.cpp @@ -55,13 +55,16 @@ void TimeFilter::get_all_bins( // the current track and find where it overlaps with time bins and score // accordingly - // Skip if time interval is zero - if (t_start == t_end) - return; - // Determine first bin containing a portion of time interval auto i_bin = lower_bound_index(bins_.begin(), bins_.end(), t_start); + // If time interval is zero, add a match corresponding to the starting time + if (t_end == t_start) { + match.bins_.push_back(i_bin); + match.weights_.push_back(1.0); + return; + } + // Find matching bins double dt_total = t_end - t_start; for (; i_bin < bins_.size() - 1; ++i_bin) { From ecd0455b0647fb9a872616fbb43195cee203a957 Mon Sep 17 00:00:00 2001 From: shimwell Date: Sat, 13 Aug 2022 12:32:14 +0100 Subject: [PATCH 03/13] added vtk writing to tracks object --- openmc/tracks.py | 49 +++++++++++++++++++++++++++++++++ tests/unit_tests/test_tracks.py | 14 ++++++++++ 2 files changed, 63 insertions(+) diff --git a/openmc/tracks.py b/openmc/tracks.py index e9097e8eeb..4b4ecc4f2b 100644 --- a/openmc/tracks.py +++ b/openmc/tracks.py @@ -266,6 +266,55 @@ class Tracks(list): track.plot(ax) return ax + def write_tracks_to_vtk(self, filename): + """Creates a VTK file of the tracks + + Parameters + ---------- + filename : str + Name of the VTK file to write. + + Returns + ------- + vtk.vtkStructuredGrid + the VTK object + """ + + import vtk + + # Initialize data arrays and offset. + points = vtk.vtkPoints() + cells = vtk.vtkCellArray() + + for particle in self: + for state in particle.states: + points.InsertNextPoint(state['r']) + + # Create VTK line and assign points to line. + n = particle.states.size + line = vtk.vtkPolyLine() + line.GetPointIds().SetNumberOfIds(n) + for i in range(n): + line.GetPointIds().SetId(i, point_offset + i) + point_offset += n + + # Add line to cell array + cells.InsertNextCell(line) + + data = vtk.vtkPolyData() + data.SetPoints(points) + data.SetLines(cells) + + writer = vtk.vtkXMLPPolyDataWriter() + if vtk.vtkVersion.GetVTKMajorVersion() > 5: + writer.SetInputData(data) + else: + writer.SetInput(data) + writer.SetFileName(filename) + writer.Write() + + return filename + @staticmethod def combine(track_files, path='tracks.h5'): """Combine multiple track files into a single track file diff --git a/tests/unit_tests/test_tracks.py b/tests/unit_tests/test_tracks.py index e18015d81a..bb1210d2ea 100644 --- a/tests/unit_tests/test_tracks.py +++ b/tests/unit_tests/test_tracks.py @@ -141,3 +141,17 @@ def test_filter(sphere_model, run_in_tmpdir): assert matches == tracks matches = tracks.filter(particle='bunnytron') assert matches == [] + +def test_write_tracks_to_vtk(): + # Set maximum number of tracks per process to write + sphere_model.settings.max_tracks = 25 + sphere_model.settings.photon_transport = True + + # Run OpenMC to generate tracks.h5 file + generate_track_file(sphere_model, tracks=True) + + tracks = openmc.Tracks('tracks.h5') + filename = tracks.write_tracks_to_vtk('tracks.vtk') + + assert filename == 'tracks.vtk' + assert Path('tracks.vtk').is_file() From d15c051263510e6c81042228c35786921a1ddba0 Mon Sep 17 00:00:00 2001 From: shimwell Date: Sat, 13 Aug 2022 12:34:17 +0100 Subject: [PATCH 04/13] added missing arg --- tests/unit_tests/test_tracks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/unit_tests/test_tracks.py b/tests/unit_tests/test_tracks.py index bb1210d2ea..d2548be649 100644 --- a/tests/unit_tests/test_tracks.py +++ b/tests/unit_tests/test_tracks.py @@ -142,7 +142,8 @@ def test_filter(sphere_model, run_in_tmpdir): matches = tracks.filter(particle='bunnytron') assert matches == [] -def test_write_tracks_to_vtk(): + +def test_write_tracks_to_vtk(sphere_model): # Set maximum number of tracks per process to write sphere_model.settings.max_tracks = 25 sphere_model.settings.photon_transport = True From 2263549b9b59f9b49929c417c3e8ae1111d8bef4 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 15 Aug 2022 13:22:44 +0100 Subject: [PATCH 05/13] producing vtp vtk files --- openmc/tracks.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/openmc/tracks.py b/openmc/tracks.py index 4b4ecc4f2b..076ffc78df 100644 --- a/openmc/tracks.py +++ b/openmc/tracks.py @@ -266,7 +266,7 @@ class Tracks(list): track.plot(ax) return ax - def write_tracks_to_vtk(self, filename): + def write_tracks_to_vtk(self, filename='tracks.vtk'): """Creates a VTK file of the tracks Parameters @@ -286,12 +286,14 @@ class Tracks(list): points = vtk.vtkPoints() cells = vtk.vtkCellArray() + point_offset = 0 for particle in self: - for state in particle.states: - points.InsertNextPoint(state['r']) + for pt in particle.particle_tracks: + for state in pt.states: + points.InsertNextPoint(state['r']) # Create VTK line and assign points to line. - n = particle.states.size + n = pt.states.size line = vtk.vtkPolyLine() line.GetPointIds().SetNumberOfIds(n) for i in range(n): From 21b874f0be55d61f434397c7ff745e9fb2f97999 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 15 Aug 2022 13:39:47 +0100 Subject: [PATCH 06/13] review suggestions from @paulromano --- openmc/tracks.py | 16 +++++++------- scripts/openmc-track-to-vtk | 42 +++++-------------------------------- 2 files changed, 13 insertions(+), 45 deletions(-) diff --git a/openmc/tracks.py b/openmc/tracks.py index 076ffc78df..55a5fb060d 100644 --- a/openmc/tracks.py +++ b/openmc/tracks.py @@ -6,7 +6,7 @@ import h5py from .checkvalue import check_filetype_version from .source import SourceParticle, ParticleType - +from pathlib import Path ParticleTrack = namedtuple('ParticleTrack', ['particle', 'states']) ParticleTrack.__doc__ = """\ Particle track information @@ -266,18 +266,18 @@ class Tracks(list): track.plot(ax) return ax - def write_tracks_to_vtk(self, filename='tracks.vtk'): - """Creates a VTK file of the tracks + def write_tracks_to_vtk(self, filename=Path('tracks.vtk')): + """Creates a VTP file of the tracks Parameters ---------- - filename : str + filename : path-like Name of the VTK file to write. Returns ------- - vtk.vtkStructuredGrid - the VTK object + vtk.vtkPolyData + the VTK vtkPolyData object produced """ import vtk @@ -312,10 +312,10 @@ class Tracks(list): writer.SetInputData(data) else: writer.SetInput(data) - writer.SetFileName(filename) + writer.SetFileName(str(filename)) # SetFileName requires a string writer.Write() - return filename + return data @staticmethod def combine(track_files, path='tracks.h5'): diff --git a/scripts/openmc-track-to-vtk b/scripts/openmc-track-to-vtk index 3b3507974c..118e658274 100755 --- a/scripts/openmc-track-to-vtk +++ b/scripts/openmc-track-to-vtk @@ -14,8 +14,8 @@ def _parse_args(): # Create argument parser. parser = argparse.ArgumentParser( description='Convert particle track file(s) to a .pvtp file.') - parser.add_argument('input', metavar='IN', type=str, nargs='+', - help='Input particle track data filename(s).') + parser.add_argument('input', metavar='IN', type=str, + help='Input particle track data filename.') parser.add_argument('-o', '--out', metavar='OUT', type=str, dest='out', help='Output VTK poly data filename.') @@ -33,41 +33,9 @@ def main(): elif not args.out.endswith('.pvtp'): args.out += '.pvtp' - # Initialize data arrays and offset. - points = vtk.vtkPoints() - cells = vtk.vtkCellArray() - point_offset = 0 - for fname in args.input: - # Write coordinate values to points array. - track_file = openmc.Tracks(fname) - for track in track_file: - for particle in track: - for state in particle.states: - points.InsertNextPoint(state['r']) - - # Create VTK line and assign points to line. - n = particle.states.size - line = vtk.vtkPolyLine() - line.GetPointIds().SetNumberOfIds(n) - for i in range(n): - line.GetPointIds().SetId(i, point_offset + i) - point_offset += n - - # Add line to cell array - cells.InsertNextCell(line) - - data = vtk.vtkPolyData() - data.SetPoints(points) - data.SetLines(cells) - - writer = vtk.vtkXMLPPolyDataWriter() - if vtk.vtkVersion.GetVTKMajorVersion() > 5: - writer.SetInputData(data) - else: - writer.SetInput(data) - writer.SetFileName(args.out) - writer.Write() - + # Write coordinate values to points array. + track_file = openmc.Tracks(args.input) + track_file.write_tracks_to_vtk(args.out) if __name__ == '__main__': main() From 9847d053f35c62c8c5e73d702e938c6a2f9f8db0 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 15 Aug 2022 13:40:56 +0100 Subject: [PATCH 07/13] changed vtk file to vtp --- openmc/tracks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmc/tracks.py b/openmc/tracks.py index 55a5fb060d..213a0867ec 100644 --- a/openmc/tracks.py +++ b/openmc/tracks.py @@ -272,7 +272,7 @@ class Tracks(list): Parameters ---------- filename : path-like - Name of the VTK file to write. + Name of the VTP file to write. Returns ------- From 3a2d4a9138f95ec8c47f705de7d782c50137459e Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Mon, 15 Aug 2022 16:05:02 +0100 Subject: [PATCH 08/13] suggestions from code review by @paulromano Co-authored-by: Paul Romano --- openmc/tracks.py | 3 ++- tests/unit_tests/test_tracks.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/openmc/tracks.py b/openmc/tracks.py index 213a0867ec..671aa65cfc 100644 --- a/openmc/tracks.py +++ b/openmc/tracks.py @@ -7,6 +7,7 @@ from .checkvalue import check_filetype_version from .source import SourceParticle, ParticleType from pathlib import Path + ParticleTrack = namedtuple('ParticleTrack', ['particle', 'states']) ParticleTrack.__doc__ = """\ Particle track information @@ -266,7 +267,7 @@ class Tracks(list): track.plot(ax) return ax - def write_tracks_to_vtk(self, filename=Path('tracks.vtk')): + def write_tracks_to_vtk(self, filename=Path('tracks.vtp')): """Creates a VTP file of the tracks Parameters diff --git a/tests/unit_tests/test_tracks.py b/tests/unit_tests/test_tracks.py index d2548be649..5f3940fadd 100644 --- a/tests/unit_tests/test_tracks.py +++ b/tests/unit_tests/test_tracks.py @@ -144,6 +144,7 @@ def test_filter(sphere_model, run_in_tmpdir): def test_write_tracks_to_vtk(sphere_model): + vtk = pytest.importorskip('vtk') # Set maximum number of tracks per process to write sphere_model.settings.max_tracks = 25 sphere_model.settings.photon_transport = True @@ -152,7 +153,7 @@ def test_write_tracks_to_vtk(sphere_model): generate_track_file(sphere_model, tracks=True) tracks = openmc.Tracks('tracks.h5') - filename = tracks.write_tracks_to_vtk('tracks.vtk') + polydata = tracks.write_tracks_to_vtk('tracks.vtp') - assert filename == 'tracks.vtk' - assert Path('tracks.vtk').is_file() + assert isinstance(polydata, vtk.vtkPolyData) + assert Path('tracks.vtp').is_file() From ab6b8f9acfecfb9f33e40b974635a378f58eef6d Mon Sep 17 00:00:00 2001 From: Patrick Shriwise Date: Mon, 15 Aug 2022 15:05:36 -0500 Subject: [PATCH 09/13] CMake cmd fixes for libmesh and dagmc --- docs/source/usersguide/install.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/usersguide/install.rst b/docs/source/usersguide/install.rst index d05c00bb3d..3d48828fb2 100644 --- a/docs/source/usersguide/install.rst +++ b/docs/source/usersguide/install.rst @@ -269,7 +269,7 @@ Prerequisites In addition to turning this option on, the path to the DAGMC installation should be specified as part of the ``CMAKE_PREFIX_PATH`` variable:: - cmake -DOPENMC_USE_DAGMC=on -DCMAKE_PREFIX_PATH=/path/to/dagmc/installation + cmake -DOPENMC_USE_DAGMC=on -DCMAKE_PREFIX_PATH=/path/to/dagmc/installation .. * libMesh_ mesh library framework for numerical simulations of partial differential equations @@ -280,7 +280,7 @@ Prerequisites installation should be specified as part of the ``CMAKE_PREFIX_PATH`` variable.:: - cmake -DOPENMC_USE_LIBMESH=on -DOPENMC_USE_MPI=on -DCMAKE_PREFIX_PATH=/path/to/libmesh/installation + cmake -DOPENMC_USE_LIBMESH=on -DOPENMC_USE_MPI=on -DCMAKE_PREFIX_PATH=/path/to/libmesh/installation .. Note that libMesh is most commonly compiled with MPI support. If that is the case, then OpenMC should be compiled with MPI support as well. From 762993fb8b5c47599d512a6bb1bf5ba2047abe3e Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 16 Aug 2022 16:47:08 +0100 Subject: [PATCH 10/13] added "ecco-2000" with 1968 bins --- openmc/mgxs/__init__.py | 329 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 329 insertions(+) diff --git a/openmc/mgxs/__init__.py b/openmc/mgxs/__init__.py index 938dd8c7a3..a3603f23d9 100644 --- a/openmc/mgxs/__init__.py +++ b/openmc/mgxs/__init__.py @@ -14,6 +14,9 @@ GROUP_STRUCTURES = {} - "SHEM-361_" designed for LWR analysis to eliminate self-shielding calculations of thermal resonances ([HFA2005]_, [SAN2007]_, [HEB2008]_) - "SCALE-44" designed for criticality analysis ([ZAL1999]_) +- "ECCO-2000" is a 1968-group neutron structure aimed at fine group reactor + cell calculations for fast, intermediate and thermal reactor applications. + ([SAR1990]_) - activation_ energy group structures "VITAMIN-J-42", "VITAMIN-J-175", "TRIPOLI-315", "CCFE-709_" and "UKAEA-1102_" @@ -639,3 +642,329 @@ GROUP_STRUCTURES['UKAEA-1102'] = np.array([ 5.7544e8, 6.0256e8, 6.3096e8, 6.6069e8, 6.9183e8, 7.2444e8, 7.5858e8, 7.9433e8, 8.3176e8, 8.7096e8, 9.1201e8, 9.5499e8, 1.e9]) +GROUP_STRUCTURES['ECCO-2000'] = np.array([ + 1.00001e-5, 3.00000e-3, 5.00000e-3, 6.90000e-3, 1.00000e-2, 1.50000e-2, + 2.00000e-2, 2.50000e-2, 3.00000e-2, 3.50000e-2, 4.20000e-2, 5.00000e-2, + 5.80000e-2, 6.70000e-2, 7.70000e-2, 8.00000e-2, 9.50000e-2, 1.00000e-1, + 1.15000e-1, 1.34000e-1, 1.40000e-1, 1.46370e-1, 1.53030e-1, 1.60000e-1, + 1.69710e-1, 1.80000e-1, 1.89000e-1, 1.98810e-1, 2.09140e-1, 2.20000e-1, + 2.33580e-1, 2.48000e-1, 2.63510e-1, 2.80000e-1, 3.00000e-1, 3.14500e-1, + 3.20000e-1, 3.34660e-1, 3.50000e-1, 3.69930e-1, 3.91000e-1, 4.00000e-1, + 4.13990e-1, 4.33000e-1, 4.49680e-1, 4.67010e-1, 4.85000e-1, 5.00000e-1, + 5.19620e-1, 5.31580e-1, 5.40000e-1, 5.66960e-1, 5.95280e-1, 6.25000e-1, + 6.53150e-1, 6.82560e-1, 7.05000e-1, 7.41550e-1, 7.80000e-1, 7.90000e-1, + 8.19450e-1, 8.50000e-1, 8.60000e-1, 8.76425e-1, 9.10000e-1, 9.30000e-1, + 9.50000e-1, 9.72000e-1, 9.86000e-1, 9.96000e-1, + 1.020000, 1.035000, 1.045000, 1.071000, 1.080000, 1.097000, 1.110000, + 1.123000, 1.150000, 1.170000, 1.202060, 1.235000, 1.267080, 1.300000, + 1.337500, 1.370000, 1.404560, 1.440000, 1.475000, 1.500000, 1.544340, + 1.590000, 1.629510, 1.670000, 1.711970, 1.755000, 1.797000, 1.840000, + 1.855390, 1.884460, 1.930000, 1.974490, 2.020000, 2.059610, 2.100000, + 2.130000, 2.185310, 2.242050, 2.300270, 2.360000, 2.382370, 2.421710, + 2.485030, 2.550000, 2.600000, 2.659320, 2.720000, 2.767920, 2.837990, + 2.909830, 2.983490, 3.059020, 3.137330, 3.217630, 3.300000, 3.380750, + 3.466330, 3.554080, 3.644050, 3.736300, 3.830880, 3.927860, 4.000000, + 4.129250, 4.233782, 4.340961, 4.450853, 4.563526, 4.679053, 4.797503, + 4.918953, 5.043477, 5.085681, 5.128239, 5.171153, 5.214426, 5.258061, + 5.302061, 5.346430, 5.391169, 5.436284, 5.481775, 5.527647, 5.573904, + 5.620547, 5.667581, 5.715008, 5.762832, 5.811056, 5.859684, 5.908719, + 5.958164, 6.008022, 6.058298, 6.108995, 6.160116, 6.211665, 6.263645, + 6.316060, 6.368914, 6.422210, 6.475952, 6.530144, 6.584789, 6.639892, + 6.695455, 6.751484, 6.807981, 6.864952, 6.922399, 6.980326, 7.038739, + 7.097640, 7.157034, 7.216925, 7.277317, 7.338215, 7.399622, 7.461544, + 7.523983, 7.586945, 7.650434, 7.714454, 7.779009, 7.844105, 7.909746, + 7.975936, 8.042680, 8.109982, 8.177848, 8.246281, 8.315287, 8.384871, + 8.455037, 8.525790, 8.597135, 8.669077, 8.741621, 8.814772, 8.888536, + 8.962916, 9.037919, 9.113550, 9.189814, 9.266715, 9.344261, 9.422455, + 9.501303, 9.580812, 9.660985, 9.741830, 9.823351, 9.905554, 9.988446, + 1.007203e1, 1.015631e1, 1.024130e1, 1.032701e1, 1.041342e1, 1.050056e1, + 1.058843e1, 1.067704e1, 1.076639e1, 1.085648e1, 1.094733e1, 1.103894e1, + 1.113132e1, 1.122446e1, 1.131839e1, 1.141311e1, 1.150861e1, 1.160492e1, + 1.170203e1, 1.179995e1, 1.189870e1, 1.199827e1, 1.209867e1, 1.219991e1, + 1.230201e1, 1.240495e1, 1.250876e1, 1.261343e1, 1.271898e1, 1.282542e1, + 1.293274e1, 1.304097e1, 1.315010e1, 1.326014e1, 1.337110e1, 1.348299e1, + 1.359582e1, 1.370959e1, 1.382431e1, 1.394000e1, 1.405665e1, 1.417428e1, + 1.429289e1, 1.441250e1, 1.453310e1, 1.465472e1, 1.477735e1, 1.490101e1, + 1.502570e1, 1.515144e1, 1.527823e1, 1.540608e1, 1.553500e1, 1.566500e1, + 1.579609e1, 1.592827e1, 1.606156e1, 1.619597e1, 1.633150e1, 1.646816e1, + 1.660597e1, 1.674493e1, 1.688506e1, 1.702635e1, 1.716883e1, 1.731250e1, + 1.745738e1, 1.760346e1, 1.775077e1, 1.789931e1, 1.804910e1, 1.820013e1, + 1.835244e1, 1.850601e1, 1.866087e1, 1.881703e1, 1.897449e1, 1.913328e1, + 1.929339e1, 1.945484e1, 1.961764e1, 1.978180e1, 1.994734e1, 2.011426e1, + 2.028258e1, 2.045231e1, 2.062345e1, 2.079603e1, 2.097006e1, 2.114554e1, + 2.132249e1, 2.150092e1, 2.168084e1, 2.186227e1, 2.204522e1, 2.222969e1, + 2.241572e1, 2.260329e1, 2.279244e1, 2.298317e1, 2.317550e1, 2.336944e1, + 2.356499e1, 2.376219e1, 2.396104e1, 2.416154e1, 2.436373e1, 2.456761e1, + 2.477320e1, 2.498050e1, 2.518954e1, 2.540033e1, 2.561289e1, 2.582722e1, + 2.604335e1, 2.626128e1, 2.648104e1, 2.670264e1, 2.692609e1, 2.715141e1, + 2.737862e1, 2.760773e1, 2.783875e1, 2.807171e1, 2.830662e1, 2.854349e1, + 2.878235e1, 2.902320e1, 2.926607e1, 2.951098e1, 2.975793e1, 3.000695e1, + 3.025805e1, 3.051126e1, 3.076658e1, 3.102404e1, 3.128365e1, 3.154544e1, + 3.180942e1, 3.207560e1, 3.234401e1, 3.261467e1, 3.288760e1, 3.316281e1, + 3.344032e1, 3.372015e1, 3.400233e1, 3.428686e1, 3.457378e1, 3.486310e1, + 3.515484e1, 3.544902e1, 3.574566e1, 3.604479e1, 3.634642e1, 3.665057e1, + 3.695727e1, 3.726653e1, 3.757838e1, 3.789285e1, 3.820994e1, 3.852969e1, + 3.885211e1, 3.917723e1, 3.950507e1, 3.983565e1, 4.016900e1, 4.050514e1, + 4.084410e1, 4.118589e1, 4.153054e1, 4.187807e1, 4.222851e1, 4.258189e1, + 4.293822e1, 4.329753e1, 4.365985e1, 4.402521e1, 4.439361e1, 4.476511e1, + 4.513971e1, 4.551744e1, 4.589834e1, 4.628243e1, 4.666972e1, 4.706026e1, + 4.745407e1, 4.785117e1, 4.825160e1, 4.865538e1, 4.906253e1, 4.947309e1, + 4.988709e1, 5.030456e1, 5.072551e1, 5.114999e1, 5.157802e1, 5.200963e1, + 5.244486e1, 5.288373e1, 5.332626e1, 5.377251e1, 5.422248e1, 5.467623e1, + 5.513376e1, 5.559513e1, 5.606036e1, 5.652948e1, 5.700253e1, 5.747954e1, + 5.796053e1, 5.844556e1, 5.893464e1, 5.942781e1, 5.992511e1, 6.042657e1, + 6.093223e1, 6.144212e1, 6.195628e1, 6.247474e1, 6.299754e1, 6.352471e1, + 6.405630e1, 6.459233e1, 6.513285e1, 6.567789e1, 6.622749e1, 6.678169e1, + 6.734053e1, 6.790405e1, 6.847228e1, 6.904527e1, 6.962305e1, 7.020566e1, + 7.079316e1, 7.138556e1, 7.198293e1, 7.258529e1, 7.319270e1, 7.380518e1, + 7.442280e1, 7.504558e1, 7.567357e1, 7.630682e1, 7.694537e1, 7.758926e1, + 7.823854e1, 7.889325e1, 7.955344e1, 8.021915e1, 8.089044e1, 8.156734e1, + 8.224991e1, 8.293819e1, 8.363223e1, 8.433208e1, 8.503778e1, 8.574939e1, + 8.646695e1, 8.719052e1, 8.792015e1, 8.865588e1, 8.939776e1, 9.014586e1, + 9.090021e1, 9.166088e1, 9.242791e1, 9.320136e1, 9.398128e1, 9.476773e1, + 9.556076e1, 9.636043e1, 9.716679e1, 9.797990e1, 9.879981e1, 9.962658e1, + 1.004603e2, 1.013009e2, 1.021486e2, 1.030034e2, 1.038654e2, 1.047345e2, + 1.056110e2, 1.064947e2, 1.073859e2, 1.082845e2, 1.091907e2, 1.101044e2, + 1.110258e2, 1.119548e2, 1.128917e2, 1.138364e2, 1.147890e2, 1.157496e2, + 1.167182e2, 1.176949e2, 1.186798e2, 1.196729e2, 1.206744e2, 1.216842e2, + 1.227024e2, 1.237292e2, 1.247646e2, 1.258087e2, 1.268615e2, 1.279231e2, + 1.289935e2, 1.300730e2, 1.311615e2, 1.322590e2, 1.333658e2, 1.344818e2, + 1.356072e2, 1.367420e2, 1.378862e2, 1.390401e2, 1.402036e2, 1.413768e2, + 1.425599e2, 1.437529e2, 1.449558e2, 1.461688e2, 1.473920e2, 1.486254e2, + 1.498691e2, 1.511232e2, 1.523879e2, 1.536631e2, 1.549489e2, 1.562456e2, + 1.575531e2, 1.588715e2, 1.602010e2, 1.615415e2, 1.628933e2, 1.642565e2, + 1.656310e2, 1.670170e2, 1.684146e2, 1.698239e2, 1.712451e2, 1.726781e2, + 1.741231e2, 1.755802e2, 1.770494e2, 1.785310e2, 1.800250e2, 1.815315e2, + 1.830505e2, 1.845823e2, 1.861269e2, 1.876845e2, 1.892551e2, 1.908388e2, + 1.924358e2, 1.940461e2, 1.956699e2, 1.973073e2, 1.989584e2, 2.006233e2, + 2.023021e2, 2.039950e2, 2.057021e2, 2.074234e2, 2.091592e2, 2.109095e2, + 2.126744e2, 2.144541e2, 2.162487e2, 2.180583e2, 2.198830e2, 2.217230e2, + 2.235784e2, 2.254494e2, 2.273360e2, 2.292384e2, 2.311567e2, 2.330910e2, + 2.350416e2, 2.370084e2, 2.389917e2, 2.409917e2, 2.430083e2, 2.450418e2, + 2.470924e2, 2.491601e2, 2.512451e2, 2.533476e2, 2.554676e2, 2.576054e2, + 2.597611e2, 2.619348e2, 2.641267e2, 2.663370e2, 2.685657e2, 2.708131e2, + 2.730793e2, 2.753645e2, 2.776688e2, 2.799924e2, 2.823354e2, 2.846980e2, + 2.870804e2, 2.894827e2, 2.919052e2, 2.943479e2, 2.968110e2, 2.992948e2, + 3.017993e2, 3.043248e2, 3.068715e2, 3.094394e2, 3.120288e2, 3.146399e2, + 3.172729e2, 3.199279e2, 3.226051e2, 3.253047e2, 3.280269e2, 3.307719e2, + 3.335398e2, 3.363309e2, 3.391454e2, 3.419834e2, 3.448452e2, 3.477309e2, + 3.506408e2, 3.535750e2, 3.565338e2, 3.595173e2, 3.625258e2, 3.655595e2, + 3.686185e2, 3.717032e2, 3.748137e2, 3.779502e2, 3.811129e2, 3.843021e2, + 3.875180e2, 3.907608e2, 3.940308e2, 3.973281e2, 4.006530e2, 4.040057e2, + 4.073865e2, 4.107955e2, 4.142332e2, 4.176995e2, 4.211949e2, 4.247195e2, + 4.282736e2, 4.318575e2, 4.354713e2, 4.391154e2, 4.427900e2, 4.464953e2, + 4.502317e2, 4.539993e2, 4.577984e2, 4.616294e2, 4.654923e2, 4.693877e2, + 4.733156e2, 4.772763e2, 4.812703e2, 4.852976e2, 4.893587e2, 4.934537e2, + 4.975830e2, 5.017468e2, 5.059455e2, 5.101793e2, 5.144486e2, 5.187536e2, + 5.230946e2, 5.274719e2, 5.318859e2, 5.363368e2, 5.408249e2, 5.453506e2, + 5.499142e2, 5.545160e2, 5.591563e2, 5.638354e2, 5.685536e2, 5.733114e2, + 5.781089e2, 5.829466e2, 5.878248e2, 5.927438e2, 5.977040e2, 6.027057e2, + 6.077492e2, 6.128350e2, 6.179633e2, 6.231345e2, 6.283489e2, 6.336071e2, + 6.389092e2, 6.442557e2, 6.496469e2, 6.550832e2, 6.605651e2, 6.660928e2, + 6.716668e2, 6.772874e2, 6.829550e2, 6.886701e2, 6.944330e2, 7.002441e2, + 7.061038e2, 7.120126e2, 7.179709e2, 7.239790e2, 7.300373e2, 7.361464e2, + 7.423066e2, 7.485183e2, 7.547820e2, 7.610981e2, 7.674671e2, 7.738894e2, + 7.803654e2, 7.868957e2, 7.934805e2, 8.001205e2, 8.068160e2, 8.135676e2, + 8.203756e2, 8.272407e2, 8.341631e2, 8.411435e2, 8.481824e2, 8.552801e2, + 8.624372e2, 8.696542e2, 8.769316e2, 8.842699e2, 8.916696e2, 8.991312e2, + 9.066553e2, 9.142423e2, 9.218928e2, 9.296074e2, 9.373865e2, 9.452307e2, + 9.531405e2, 9.611165e2, 9.691593e2, 9.772694e2, 9.854473e2, 9.936937e2, + 1.002009e3, 1.010394e3, 1.018849e3, 1.027375e3, 1.035972e3, 1.044641e3, + 1.053383e3, 1.062198e3, 1.071087e3, 1.080050e3, 1.089088e3, 1.098201e3, + 1.107391e3, 1.116658e3, 1.126002e3, 1.135425e3, 1.144926e3, 1.154507e3, + 1.164168e3, 1.173910e3, 1.183734e3, 1.193639e3, 1.203628e3, 1.213700e3, + 1.223857e3, 1.234098e3, 1.244425e3, 1.254839e3, 1.265339e3, 1.275928e3, + 1.286605e3, 1.297372e3, 1.308228e3, 1.319176e3, 1.330215e3, 1.341346e3, + 1.352571e3, 1.363889e3, 1.375303e3, 1.386811e3, 1.398416e3, 1.410118e3, + 1.421919e3, 1.433817e3, 1.445816e3, 1.457915e3, 1.470115e3, 1.482417e3, + 1.494822e3, 1.507331e3, 1.519944e3, 1.532663e3, 1.545489e3, 1.558422e3, + 1.571463e3, 1.584613e3, 1.597874e3, 1.611245e3, 1.624728e3, 1.638324e3, + 1.652034e3, 1.665858e3, 1.679798e3, 1.693855e3, 1.708030e3, 1.722323e3, + 1.736735e3, 1.751268e3, 1.765923e3, 1.780701e3, 1.795602e3, 1.810628e3, + 1.825780e3, 1.841058e3, 1.856464e3, 1.871999e3, 1.887665e3, 1.903461e3, + 1.919389e3, 1.935451e3, 1.951647e3, 1.967979e3, 1.984447e3, 2.001053e3, + 2.017798e3, 2.034684e3, 2.051710e3, 2.068879e3, 2.086192e3, 2.103650e3, + 2.121253e3, 2.139004e3, 2.156904e3, 2.174953e3, 2.193153e3, 2.211506e3, + 2.230012e3, 2.248673e3, 2.267490e3, 2.286465e3, 2.305599e3, 2.324892e3, + 2.344347e3, 2.363965e3, 2.383747e3, 2.403695e3, 2.423809e3, 2.444092e3, + 2.464545e3, 2.485168e3, 2.505965e3, 2.526935e3, 2.548081e3, 2.569403e3, + 2.590904e3, 2.612586e3, 2.634448e3, 2.656494e3, 2.678723e3, 2.701139e3, + 2.723743e3, 2.746536e3, 2.769519e3, 2.792695e3, 2.816065e3, 2.839630e3, + 2.863392e3, 2.887354e3, 2.911515e3, 2.935879e3, 2.960447e3, 2.985221e3, + 3.010202e3, 3.035391e3, 3.060792e3, 3.086405e3, 3.112233e3, 3.138276e3, + 3.164538e3, 3.191019e3, 3.217722e3, 3.244649e3, 3.271800e3, 3.299179e3, + 3.326787e3, 3.354626e3, 3.382698e3, 3.411005e3, 3.439549e3, 3.468332e3, + 3.497355e3, 3.526622e3, 3.556133e3, 3.585891e3, 3.615898e3, 3.646157e3, + 3.676668e3, 3.707435e3, 3.738460e3, 3.769744e3, 3.801290e3, 3.833099e3, + 3.865175e3, 3.897520e3, 3.930135e3, 3.963023e3, 3.996186e3, 4.029627e3, + 4.063347e3, 4.097350e3, 4.131637e3, 4.166211e3, 4.201075e3, 4.236230e3, + 4.271679e3, 4.307425e3, 4.343471e3, 4.379817e3, 4.416468e3, 4.453426e3, + 4.490693e3, 4.528272e3, 4.566165e3, 4.604375e3, 4.642906e3, 4.681758e3, + 4.720936e3, 4.760441e3, 4.800277e3, 4.840447e3, 4.880952e3, 4.921797e3, + 4.962983e3, 5.004514e3, 5.046393e3, 5.088622e3, 5.131204e3, 5.174143e3, + 5.217441e3, 5.261101e3, 5.305127e3, 5.349521e3, 5.394287e3, 5.439427e3, + 5.484945e3, 5.530844e3, 5.577127e3, 5.623797e3, 5.670858e3, 5.718312e3, + 5.766164e3, 5.814416e3, 5.863072e3, 5.912135e3, 5.961609e3, 6.011496e3, + 6.061802e3, 6.112528e3, 6.163678e3, 6.215257e3, 6.267267e3, 6.319712e3, + 6.372597e3, 6.425924e3, 6.479697e3, 6.533920e3, 6.588597e3, 6.643731e3, + 6.699327e3, 6.755388e3, 6.811918e3, 6.868921e3, 6.926401e3, 6.984362e3, + 7.042809e3, 7.101744e3, 7.161172e3, 7.221098e3, 7.281525e3, 7.342458e3, + 7.403901e3, 7.465858e3, 7.528334e3, 7.591332e3, 7.654857e3, 7.718914e3, + 7.783507e3, 7.848641e3, 7.914319e3, 7.980548e3, 8.047330e3, 8.114671e3, + 8.182576e3, 8.251049e3, 8.320095e3, 8.389719e3, 8.459926e3, 8.530719e3, + 8.602106e3, 8.674090e3, 8.746676e3, 8.819869e3, 8.893675e3, 8.968099e3, + 9.043145e3, 9.118820e3, 9.195127e3, 9.272074e3, 9.349664e3, 9.427903e3, + 9.506797e3, 9.586352e3, 9.666572e3, 9.747463e3, 9.829031e3, 9.911282e3, + 9.994221e3, 1.007785e4, 1.016219e4, 1.024723e4, 1.033298e4, 1.041944e4, + 1.050664e4, 1.059456e4, 1.068321e4, 1.077261e4, 1.086276e4, 1.095366e4, + 1.104532e4, 1.113775e4, 1.123095e4, 1.132494e4, 1.141970e4, 1.151527e4, + 1.161163e4, 1.170880e4, 1.180678e4, 1.190558e4, 1.200521e4, 1.210567e4, + 1.220697e4, 1.230912e4, 1.241212e4, 1.251599e4, 1.262073e4, 1.272634e4, + 1.283283e4, 1.294022e4, 1.304851e4, 1.315770e4, 1.326780e4, 1.337883e4, + 1.349079e4, 1.360368e4, 1.371752e4, 1.383231e4, 1.394806e4, 1.406478e4, + 1.418247e4, 1.430116e4, 1.442083e4, 1.454151e4, 1.466319e4, 1.478590e4, + 1.490963e4, 1.503439e4, 1.516020e4, 1.528706e4, 1.541499e4, 1.554398e4, + 1.567406e4, 1.580522e4, 1.593748e4, 1.607085e4, 1.620533e4, 1.634094e4, + 1.647768e4, 1.661557e4, 1.675461e4, 1.689482e4, 1.703620e4, 1.717876e4, + 1.732251e4, 1.746747e4, 1.761364e4, 1.776104e4, 1.790966e4, 1.805953e4, + 1.821066e4, 1.836305e4, 1.851671e4, 1.867166e4, 1.882791e4, 1.898547e4, + 1.914434e4, 1.930454e4, 1.946608e4, 1.962898e4, 1.979324e4, 1.995887e4, + 2.012589e4, 2.029431e4, 2.046413e4, 2.063538e4, 2.080806e4, 2.098218e4, + 2.115777e4, 2.133482e4, 2.151335e4, 2.169338e4, 2.187491e4, 2.205796e4, + 2.224255e4, 2.242868e4, 2.261636e4, 2.280562e4, 2.299646e4, 2.318890e4, + 2.338295e4, 2.357862e4, 2.377593e4, 2.397489e4, 2.417552e4, 2.437782e4, + 2.458182e4, 2.478752e4, 2.499495e4, 2.520411e4, 2.541502e4, 2.562770e4, + 2.584215e4, 2.605841e4, 2.627647e4, 2.649635e4, 2.671808e4, 2.694166e4, + 2.700000e4, 2.716711e4, 2.739445e4, 2.762369e4, 2.785485e4, 2.808794e4, + 2.832299e4, 2.850000e4, 2.856000e4, 2.879899e4, 2.903999e4, 2.928300e4, + 2.952804e4, 2.977514e4, 3.002430e4, 3.027555e4, 3.052890e4, 3.078437e4, + 3.104198e4, 3.130174e4, 3.156368e4, 3.182781e4, 3.209415e4, 3.236272e4, + 3.263353e4, 3.290662e4, 3.318198e4, 3.345965e4, 3.373965e4, 3.402199e4, + 3.430669e4, 3.459377e4, 3.488326e4, 3.517517e4, 3.546952e4, 3.576633e4, + 3.606563e4, 3.636743e4, 3.667176e4, 3.697864e4, 3.728808e4, 3.760011e4, + 3.791476e4, 3.823203e4, 3.855196e4, 3.887457e4, 3.919988e4, 3.952791e4, + 3.985869e4, 4.019223e4, 4.052857e4, 4.086771e4, 4.120970e4, 4.155455e4, + 4.190229e4, 4.225293e4, 4.260651e4, 4.296305e4, 4.332257e4, 4.368510e4, + 4.405066e4, 4.441928e4, 4.479099e4, 4.516581e4, 4.554376e4, 4.592488e4, + 4.630919e4, 4.669671e4, 4.708747e4, 4.748151e4, 4.787884e4, 4.827950e4, + 4.868351e4, 4.909090e4, 4.950170e4, 4.991594e4, 5.033364e4, 5.075484e4, + 5.117957e4, 5.160785e4, 5.203971e4, 5.247518e4, 5.291430e4, 5.335710e4, + 5.380360e4, 5.425384e4, 5.470784e4, 5.516564e4, 5.562728e4, 5.609278e4, + 5.656217e4, 5.703549e4, 5.751277e4, 5.799405e4, 5.847935e4, 5.896871e4, + 5.946217e4, 5.995976e4, 6.046151e4, 6.096747e4, 6.147765e4, 6.199211e4, + 6.251086e4, 6.303396e4, 6.356144e4, 6.409333e4, 6.462968e4, 6.517051e4, + 6.571586e4, 6.626579e4, 6.682031e4, 6.737947e4, 6.794331e4, 6.851187e4, + 6.908519e4, 6.966330e4, 7.024626e4, 7.083409e4, 7.142684e4, 7.202455e4, + 7.262726e4, 7.323502e4, 7.384786e4, 7.446583e4, 7.508897e4, 7.571733e4, + 7.635094e4, 7.698986e4, 7.763412e4, 7.828378e4, 7.893887e4, 7.950000e4, + 7.959944e4, 8.026554e4, 8.093721e4, 8.161451e4, 8.229747e4, 8.250000e4, + 8.298615e4, 8.368059e4, 8.438084e4, 8.508695e4, 8.579897e4, 8.651695e4, + 8.724094e4, 8.797098e4, 8.870714e4, 8.944945e4, 9.019798e4, 9.095277e4, + 9.171388e4, 9.248135e4, 9.325525e4, 9.403563e4, 9.482253e4, 9.561602e4, + 9.641615e4, 9.722297e4, 9.803655e4, 9.885694e4, 9.968419e4, 1.005184e5, + 1.013595e5, 1.022077e5, 1.030630e5, 1.039254e5, 1.047951e5, 1.056720e5, + 1.065563e5, 1.074480e5, 1.083471e5, 1.092538e5, 1.101681e5, 1.110900e5, + 1.120196e5, 1.129570e5, 1.139022e5, 1.148554e5, 1.158165e5, 1.167857e5, + 1.177629e5, 1.187484e5, 1.197421e5, 1.207441e5, 1.217545e5, 1.227734e5, + 1.238008e5, 1.248368e5, 1.258814e5, 1.269348e5, 1.279970e5, 1.290681e5, + 1.301482e5, 1.312373e5, 1.323355e5, 1.334429e5, 1.345596e5, 1.356856e5, + 1.368210e5, 1.379660e5, 1.391205e5, 1.402847e5, 1.414586e5, 1.426423e5, + 1.438360e5, 1.450396e5, 1.462533e5, 1.474772e5, 1.487113e5, 1.499558e5, + 1.512106e5, 1.524760e5, 1.537519e5, 1.550385e5, 1.563359e5, 1.576442e5, + 1.589634e5, 1.602936e5, 1.616349e5, 1.629875e5, 1.643514e5, 1.657268e5, + 1.671136e5, 1.685120e5, 1.699221e5, 1.713441e5, 1.727779e5, 1.742237e5, + 1.756817e5, 1.771518e5, 1.786342e5, 1.801291e5, 1.816364e5, 1.831564e5, + 1.846891e5, 1.862346e5, 1.877930e5, 1.893645e5, 1.909491e5, 1.925470e5, + 1.941583e5, 1.957830e5, 1.974214e5, 1.990734e5, 2.007393e5, 2.024191e5, + 2.041130e5, 2.058210e5, 2.075434e5, 2.092801e5, 2.110314e5, 2.127974e5, + 2.145781e5, 2.163737e5, 2.181844e5, 2.200102e5, 2.218512e5, 2.237077e5, + 2.255797e5, 2.274674e5, 2.293709e5, 2.312903e5, 2.332258e5, 2.351775e5, + 2.371455e5, 2.391299e5, 2.411310e5, 2.431488e5, 2.451835e5, 2.472353e5, + 2.493042e5, 2.513904e5, 2.534941e5, 2.556153e5, 2.577544e5, 2.599113e5, + 2.620863e5, 2.642794e5, 2.664910e5, 2.687210e5, 2.709697e5, 2.732372e5, + 2.755237e5, 2.778293e5, 2.801543e5, 2.824986e5, 2.848626e5, 2.872464e5, + 2.896501e5, 2.920740e5, 2.945181e5, 2.969826e5, 2.972000e5, 2.985000e5, + 2.994678e5, 3.019738e5, 3.045008e5, 3.070489e5, 3.096183e5, 3.122093e5, + 3.148219e5, 3.174564e5, 3.201129e5, 3.227916e5, 3.254928e5, 3.282166e5, + 3.309631e5, 3.337327e5, 3.365254e5, 3.393415e5, 3.421812e5, 3.450446e5, + 3.479320e5, 3.508435e5, 3.537795e5, 3.567399e5, 3.597252e5, 3.627354e5, + 3.657708e5, 3.688317e5, 3.719181e5, 3.750304e5, 3.781687e5, 3.813333e5, + 3.845243e5, 3.877421e5, 3.909868e5, 3.942586e5, 3.975578e5, 4.008846e5, + 4.042393e5, 4.076220e5, 4.110331e5, 4.144727e5, 4.179410e5, 4.214384e5, + 4.249651e5, 4.285213e5, 4.321072e5, 4.357231e5, 4.393693e5, 4.430460e5, + 4.467535e5, 4.504920e5, 4.542618e5, 4.580631e5, 4.618963e5, 4.657615e5, + 4.696591e5, 4.735892e5, 4.775523e5, 4.815485e5, 4.855782e5, 4.896416e5, + 4.937390e5, 4.978707e5, 5.020369e5, 5.062381e5, 5.104743e5, 5.147461e5, + 5.190535e5, 5.233971e5, 5.277769e5, 5.321934e5, 5.366469e5, 5.411377e5, + 5.456660e5, 5.502322e5, 5.548366e5, 5.594796e5, 5.641614e5, 5.688824e5, + 5.736429e5, 5.784432e5, 5.832837e5, 5.881647e5, 5.930866e5, 5.980496e5, + 6.030542e5, 6.081006e5, 6.131893e5, 6.183206e5, 6.234948e5, 6.287123e5, + 6.339734e5, 6.392786e5, 6.446282e5, 6.500225e5, 6.554620e5, 6.609470e5, + 6.664779e5, 6.720551e5, 6.776790e5, 6.833499e5, 6.890683e5, 6.948345e5, + 7.006490e5, 7.065121e5, 7.124243e5, 7.183860e5, 7.243976e5, 7.304594e5, + 7.365720e5, 7.427358e5, 7.489511e5, 7.552184e5, 7.615382e5, 7.679109e5, + 7.743369e5, 7.808167e5, 7.873507e5, 7.939393e5, 8.005831e5, 8.072825e5, + 8.140380e5, 8.208500e5, 8.277190e5, 8.346455e5, 8.416299e5, 8.486728e5, + 8.557746e5, 8.629359e5, 8.701570e5, 8.774387e5, 8.847812e5, 8.921852e5, + 8.996511e5, 9.071795e5, 9.147709e5, 9.224259e5, 9.301449e5, 9.379285e5, + 9.457772e5, 9.536916e5, 9.616723e5, 9.697197e5, 9.778344e5, 9.860171e5, + 9.942682e5, 1.002588e6, 1.010978e6, 1.019438e6, 1.027969e6, 1.036571e6, + 1.045245e6, 1.053992e6, 1.062812e6, 1.071706e6, 1.080674e6, 1.089717e6, + 1.098836e6, 1.108032e6, 1.117304e6, 1.126654e6, 1.136082e6, 1.145588e6, + 1.155175e6, 1.164842e6, 1.174589e6, 1.184418e6, 1.194330e6, 1.204324e6, + 1.214402e6, 1.224564e6, 1.234812e6, 1.245145e6, 1.255564e6, 1.266071e6, + 1.276666e6, 1.287349e6, 1.298122e6, 1.308985e6, 1.319938e6, 1.330984e6, + 1.342122e6, 1.353353e6, 1.364678e6, 1.376098e6, 1.387613e6, 1.399225e6, + 1.410934e6, 1.422741e6, 1.434646e6, 1.446652e6, 1.458758e6, 1.470965e6, + 1.483274e6, 1.495686e6, 1.508202e6, 1.520823e6, 1.533550e6, 1.546383e6, + 1.559323e6, 1.572372e6, 1.585530e6, 1.598797e6, 1.612176e6, 1.625667e6, + 1.639271e6, 1.652989e6, 1.666821e6, 1.680770e6, 1.694834e6, 1.709017e6, + 1.723318e6, 1.737739e6, 1.752281e6, 1.766944e6, 1.781731e6, 1.796640e6, + 1.811675e6, 1.826835e6, 1.842122e6, 1.857538e6, 1.873082e6, 1.888756e6, + 1.904561e6, 1.920499e6, 1.936570e6, 1.952776e6, 1.969117e6, 1.985595e6, + 2.002210e6, 2.018965e6, 2.035860e6, 2.052897e6, 2.070076e6, 2.087398e6, + 2.104866e6, 2.122480e6, 2.140241e6, 2.158151e6, 2.176211e6, 2.194421e6, + 2.212785e6, 2.231302e6, 2.249973e6, 2.268802e6, 2.287787e6, 2.306932e6, + 2.326237e6, 2.345703e6, 2.365332e6, 2.385126e6, 2.405085e6, 2.425211e6, + 2.445505e6, 2.465970e6, 2.486605e6, 2.507414e6, 2.528396e6, 2.549554e6, + 2.570889e6, 2.592403e6, 2.614096e6, 2.635971e6, 2.658030e6, 2.680272e6, + 2.702701e6, 2.725318e6, 2.748124e6, 2.771121e6, 2.794310e6, 2.817693e6, + 2.841272e6, 2.865048e6, 2.889023e6, 2.913199e6, 2.937577e6, 2.962159e6, + 2.986947e6, 3.011942e6, 3.037147e6, 3.062562e6, 3.088190e6, 3.114032e6, + 3.140091e6, 3.166368e6, 3.192864e6, 3.219583e6, 3.246525e6, 3.273692e6, + 3.301087e6, 3.328711e6, 3.356566e6, 3.384654e6, 3.412978e6, 3.441538e6, + 3.470337e6, 3.499377e6, 3.528661e6, 3.558189e6, 3.587965e6, 3.617989e6, + 3.648265e6, 3.678794e6, 3.709579e6, 3.740621e6, 3.771924e6, 3.803488e6, + 3.835316e6, 3.867410e6, 3.899773e6, 3.932407e6, 3.965314e6, 3.998497e6, + 4.031957e6, 4.065697e6, 4.099719e6, 4.134026e6, 4.168620e6, 4.203504e6, + 4.238679e6, 4.274149e6, 4.309916e6, 4.345982e6, 4.382350e6, 4.419022e6, + 4.456001e6, 4.493290e6, 4.530890e6, 4.568805e6, 4.607038e6, 4.645590e6, + 4.684465e6, 4.723666e6, 4.763194e6, 4.803053e6, 4.843246e6, 4.883775e6, + 4.924643e6, 4.965853e6, 5.007408e6, 5.049311e6, 5.091564e6, 5.134171e6, + 5.177135e6, 5.220458e6, 5.264143e6, 5.308195e6, 5.352614e6, 5.397406e6, + 5.442572e6, 5.488116e6, 5.534042e6, 5.580351e6, 5.627049e6, 5.674137e6, + 5.721619e6, 5.769498e6, 5.817778e6, 5.866462e6, 5.915554e6, 5.965056e6, + 6.014972e6, 6.065307e6, 6.116062e6, 6.167242e6, 6.218851e6, 6.270891e6, + 6.323367e6, 6.376282e6, 6.429639e6, 6.483443e6, 6.537698e6, 6.592406e6, + 6.647573e6, 6.703200e6, 6.759294e6, 6.815857e6, 6.872893e6, 6.930406e6, + 6.988401e6, 7.046881e6, 7.105850e6, 7.165313e6, 7.225274e6, 7.285736e6, + 7.346704e6, 7.408182e6, 7.470175e6, 7.532687e6, 7.595721e6, 7.659283e6, + 7.723377e6, 7.788008e6, 7.853179e6, 7.918896e6, 7.985162e6, 8.051983e6, + 8.119363e6, 8.187308e6, 8.255820e6, 8.324906e6, 8.394570e6, 8.464817e6, + 8.535652e6, 8.607080e6, 8.679105e6, 8.751733e6, 8.824969e6, 8.898818e6, + 8.973284e6, 9.048374e6, 9.124092e6, 9.200444e6, 9.277435e6, 9.355070e6, + 9.433354e6, 9.512294e6, 9.591895e6, 9.672161e6, 9.753099e6, 9.834715e6, + 9.917013e6, 1.000000e7, 1.008368e7, 1.016806e7, 1.025315e7, 1.033895e7, + 1.042547e7, 1.051271e7, 1.060068e7, 1.068939e7, 1.077884e7, 1.086904e7, + 1.095999e7, 1.105171e7, 1.114419e7, 1.123745e7, 1.133148e7, 1.142631e7, + 1.152193e7, 1.161834e7, 1.171557e7, 1.181360e7, 1.191246e7, 1.201215e7, + 1.211267e7, 1.221403e7, 1.231624e7, 1.241930e7, 1.252323e7, 1.262802e7, + 1.273370e7, 1.284025e7, 1.294770e7, 1.305605e7, 1.316531e7, 1.327548e7, + 1.338657e7, 1.349859e7, 1.361155e7, 1.372545e7, 1.384031e7, 1.395612e7, + 1.407291e7, 1.419068e7, 1.430943e7, 1.442917e7, 1.454991e7, 1.467167e7, + 1.479444e7, 1.491825e7, 1.504309e7, 1.516897e7, 1.529590e7, 1.542390e7, + 1.555297e7, 1.568312e7, 1.581436e7, 1.594670e7, 1.608014e7, 1.621470e7, + 1.635039e7, 1.648721e7, 1.662518e7, 1.676430e7, 1.690459e7, 1.704605e7, + 1.718869e7, 1.733253e7, 1.747757e7, 1.762383e7, 1.777131e7, 1.792002e7, + 1.806998e7, 1.822119e7, 1.837367e7, 1.852742e7, 1.868246e7, 1.883880e7, + 1.899644e7, 1.915541e7, 1.931570e7, 1.947734e7, 1.964033e7]) From d0963a0a8a6707cb87863be675470071d88cb78e Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 16 Aug 2022 16:52:23 +0100 Subject: [PATCH 11/13] renamed group name to match serpent reference --- openmc/mgxs/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/openmc/mgxs/__init__.py b/openmc/mgxs/__init__.py index a3603f23d9..14a0588a8a 100644 --- a/openmc/mgxs/__init__.py +++ b/openmc/mgxs/__init__.py @@ -14,9 +14,8 @@ GROUP_STRUCTURES = {} - "SHEM-361_" designed for LWR analysis to eliminate self-shielding calculations of thermal resonances ([HFA2005]_, [SAN2007]_, [HEB2008]_) - "SCALE-44" designed for criticality analysis ([ZAL1999]_) -- "ECCO-2000" is a 1968-group neutron structure aimed at fine group reactor - cell calculations for fast, intermediate and thermal reactor applications. - ([SAR1990]_) +- "ECCO-1968" designed for fine group reactor cell calculations for fast, + intermediate and thermal reactor applications ([SAR1990]_) - activation_ energy group structures "VITAMIN-J-42", "VITAMIN-J-175", "TRIPOLI-315", "CCFE-709_" and "UKAEA-1102_" @@ -28,6 +27,7 @@ GROUP_STRUCTURES = {} .. _VITAMIN-J-42: https://www.oecd-nea.org/dbdata/nds_jefreports/jefreport-10.pdf .. _CCFE-709: https://fispact.ukaea.uk/wiki/CCFE-709_group_structure .. _UKAEA-1102: https://fispact.ukaea.uk/wiki/UKAEA-1102_group_structure +.. _ECCO-1968: http://serpent.vtt.fi/mediawiki/index.php/ECCO_1968-group_structure .. [SAR1990] Sartori, E., OECD/NEA Data Bank: Standard Energy Group Structures of Cross Section Libraries for Reactor Shielding, Reactor Cell and Fusion Neutronics Applications: VITAMIN-J, ECCO-33, ECCO-2000 and XMAS JEF/DOC-315 From 6c592fa1a054463d7a83e01adb2142076c504c95 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Tue, 16 Aug 2022 16:59:12 +0100 Subject: [PATCH 12/13] renamed 2000 to 1968 --- openmc/mgxs/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmc/mgxs/__init__.py b/openmc/mgxs/__init__.py index 14a0588a8a..47a6af89bf 100644 --- a/openmc/mgxs/__init__.py +++ b/openmc/mgxs/__init__.py @@ -642,7 +642,7 @@ GROUP_STRUCTURES['UKAEA-1102'] = np.array([ 5.7544e8, 6.0256e8, 6.3096e8, 6.6069e8, 6.9183e8, 7.2444e8, 7.5858e8, 7.9433e8, 8.3176e8, 8.7096e8, 9.1201e8, 9.5499e8, 1.e9]) -GROUP_STRUCTURES['ECCO-2000'] = np.array([ +GROUP_STRUCTURES['ECCO-1968'] = np.array([ 1.00001e-5, 3.00000e-3, 5.00000e-3, 6.90000e-3, 1.00000e-2, 1.50000e-2, 2.00000e-2, 2.50000e-2, 3.00000e-2, 3.50000e-2, 4.20000e-2, 5.00000e-2, 5.80000e-2, 6.70000e-2, 7.70000e-2, 8.00000e-2, 9.50000e-2, 1.00000e-1, From 9b458c102a22a2bbad947abafdb44de9d7f32770 Mon Sep 17 00:00:00 2001 From: Jonathan Shimwell Date: Wed, 17 Aug 2022 07:28:50 +0100 Subject: [PATCH 13/13] Review suggestions from @paulromano Co-authored-by: Paul Romano --- openmc/mgxs/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openmc/mgxs/__init__.py b/openmc/mgxs/__init__.py index 47a6af89bf..459b6a874d 100644 --- a/openmc/mgxs/__init__.py +++ b/openmc/mgxs/__init__.py @@ -14,7 +14,7 @@ GROUP_STRUCTURES = {} - "SHEM-361_" designed for LWR analysis to eliminate self-shielding calculations of thermal resonances ([HFA2005]_, [SAN2007]_, [HEB2008]_) - "SCALE-44" designed for criticality analysis ([ZAL1999]_) -- "ECCO-1968" designed for fine group reactor cell calculations for fast, +- "ECCO-1968_" designed for fine group reactor cell calculations for fast, intermediate and thermal reactor applications ([SAR1990]_) - activation_ energy group structures "VITAMIN-J-42", "VITAMIN-J-175", "TRIPOLI-315", "CCFE-709_" and "UKAEA-1102_"