From a9dcbc657fa23c741f9af3d790d0c14db04e4693 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Fri, 6 Mar 2020 22:14:19 +0300 Subject: [PATCH 01/13] Fix the bug on MGXS mode with Interpolation method This PR closed the Issue #1512. The problem related with incorrect initialization 'xt::xarray available_temps(num_temps)' which have been lead to available_temps array elements to have the same address. I fixed it according to https://xtensor.readthedocs.io/en/latest/container.html with shape vector. In addition I found interpolation procedure themselves didn't work right and I repaired it too. --- src/mgxs.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/mgxs.cpp b/src/mgxs.cpp index 163954caae..d6f1f45abb 100644 --- a/src/mgxs.cpp +++ b/src/mgxs.cpp @@ -82,13 +82,14 @@ Mgxs::metadata_from_hdf5(hid_t xs_id, const std::vector& temperature, // Determine the available temperatures hid_t kT_group = open_group(xs_id, "kTs"); - int num_temps = get_num_datasets(kT_group); + size_t num_temps = get_num_datasets(kT_group); char** dset_names = new char*[num_temps]; for (int i = 0; i < num_temps; i++) { dset_names[i] = new char[151]; } get_datasets(kT_group, dset_names); - xt::xarray available_temps(num_temps); + std::vector shape = {num_temps}; + xt::xarray available_temps(shape); for (int i = 0; i < num_temps; i++) { read_double(kT_group, dset_names[i], &available_temps[i], true); @@ -131,7 +132,12 @@ Mgxs::metadata_from_hdf5(hid_t xs_id, const std::vector& temperature, case TemperatureMethod::INTERPOLATION: for (int i = 0; i < temperature.size(); i++) { - for (int j = 0; j < num_temps - 1; j++) { + for (int j = 0; j < num_temps; j++) { + if (j == (num_temps - 1)) { + fatal_error("MGXS Library does not contain cross sections for " + + in_name + " at temperatures that bound " + + std::to_string(std::round(temperature[i]))); + } if ((available_temps[j] <= temperature[i]) && (temperature[i] < available_temps[j + 1])) { if (std::find(temps_to_read.begin(), @@ -144,13 +150,10 @@ Mgxs::metadata_from_hdf5(hid_t xs_id, const std::vector& temperature, std::round(available_temps[j + 1])) == temps_to_read.end()) { temps_to_read.push_back(std::round((int) available_temps[j + 1])); } - continue; + break; } } - fatal_error("MGXS Library does not contain cross sections for " + - in_name + " at temperatures that bound " + - std::to_string(std::round(temperature[i]))); } } std::sort(temps_to_read.begin(), temps_to_read.end()); @@ -380,16 +383,17 @@ Mgxs::Mgxs(const std::string& in_name, const std::vector& mat_kTs, // If we are doing nearest temperature interpolation, then we don't need // to do the 2nd temperature int num_interp_points = 2; + std::vector interp(micros.size()); + std::vector temp_indices(micros.size()); if (settings::temperature_method == TemperatureMethod::NEAREST) num_interp_points = 1; for (int interp_point = 0; interp_point < num_interp_points; interp_point++) { - std::vector interp(micros.size()); - std::vector temp_indices(micros.size()); for (int m = 0; m < micros.size(); m++) { interp[m] = (1. - micro_t_interp[m]) * atom_densities[m]; temp_indices[m] = micro_t[m] + interp_point; + micro_t_interp[m] = 1. - micro_t_interp[m]; } - combine(micros, interp, micro_t, t); + combine(micros, interp, temp_indices, t); } // end loop to sum all micros across the temperatures } // end temperature (t) loop } From 51581341f19c2c5a6b23d3d933062a9e3307d783 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 8 Mar 2020 00:34:11 +0300 Subject: [PATCH 02/13] some corrections --- src/mgxs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mgxs.cpp b/src/mgxs.cpp index d6f1f45abb..d5c144658d 100644 --- a/src/mgxs.cpp +++ b/src/mgxs.cpp @@ -383,9 +383,9 @@ Mgxs::Mgxs(const std::string& in_name, const std::vector& mat_kTs, // If we are doing nearest temperature interpolation, then we don't need // to do the 2nd temperature int num_interp_points = 2; + if (settings::temperature_method == TemperatureMethod::NEAREST) num_interp_points = 1; std::vector interp(micros.size()); std::vector temp_indices(micros.size()); - if (settings::temperature_method == TemperatureMethod::NEAREST) num_interp_points = 1; for (int interp_point = 0; interp_point < num_interp_points; interp_point++) { for (int m = 0; m < micros.size(); m++) { interp[m] = (1. - micro_t_interp[m]) * atom_densities[m]; From e98c50fcef416b484930d2b6925985d4dab10151 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Fri, 13 Mar 2020 01:03:51 +0300 Subject: [PATCH 03/13] start with initial value read a current this->matrix before combined --- src/scattdata.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/scattdata.cpp b/src/scattdata.cpp index 4fd7a7b7c4..e11b085048 100644 --- a/src/scattdata.cpp +++ b/src/scattdata.cpp @@ -65,7 +65,10 @@ ScattData::base_combine(size_t max_order, xt::xtensor this_matrix({groups, groups, max_order}, 0.); xt::xtensor mult_numer({groups, groups}, 0.); xt::xtensor mult_denom({groups, groups}, 0.); - + // TODO: Need to review this: + if (this->scattxs.size() > 0) { + this_matrix = this->get_matrix(max_order); + } // Build the dense scattering and multiplicity matrices // Get the multiplicity_matrix // To combine from nuclidic data we need to use the final relationship @@ -110,7 +113,19 @@ ScattData::base_combine(size_t max_order, // Combine mult_numer and mult_denom into the combined multiplicity matrix xt::xtensor this_mult({groups, groups}, 1.); - this_mult = xt::nan_to_num(mult_numer / mult_denom); + // TODO: Need to check this too + xt::xtensor this_mult({groups, groups}, 1.); + for (int gin = 0; gin < groups; gin++) { + for (int gout = 0; gout < groups; gout++) { + if (std::abs(mult_denom(gin, gout)) > 0.0) { + this_mult(gin, gout) = mult_numer(gin, gout) / mult_denom(gin, gout); + } else { + if (mult_numer(gin, gout) == 0.0) { + this_mult(gin, gout) = 1.0; + } + } + } + } // We have the data, now we need to convert to a jagged array and then use // the initialize function to store it on the object. From 4a0c8ee2b7211618dc6fd7c0a1191fb1b8c46ac7 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Fri, 13 Mar 2020 01:24:42 +0300 Subject: [PATCH 04/13] delete a line doubling --- src/scattdata.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scattdata.cpp b/src/scattdata.cpp index e11b085048..e3c97512c3 100644 --- a/src/scattdata.cpp +++ b/src/scattdata.cpp @@ -114,7 +114,6 @@ ScattData::base_combine(size_t max_order, // Combine mult_numer and mult_denom into the combined multiplicity matrix xt::xtensor this_mult({groups, groups}, 1.); // TODO: Need to check this too - xt::xtensor this_mult({groups, groups}, 1.); for (int gin = 0; gin < groups; gin++) { for (int gout = 0; gout < groups; gout++) { if (std::abs(mult_denom(gin, gout)) > 0.0) { From c3fff76bea597199729eca8030971bc8e28720c6 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 15 Mar 2020 19:41:16 +0300 Subject: [PATCH 05/13] upload test new test for mg-temperature mode --- .../mg_temperature/build_2g.py | 292 ++++++++++++++++++ tests/regression_tests/mg_temperature/test.py | 106 +++++++ 2 files changed, 398 insertions(+) create mode 100644 tests/regression_tests/mg_temperature/build_2g.py create mode 100644 tests/regression_tests/mg_temperature/test.py diff --git a/tests/regression_tests/mg_temperature/build_2g.py b/tests/regression_tests/mg_temperature/build_2g.py new file mode 100644 index 0000000000..bfdd7f282f --- /dev/null +++ b/tests/regression_tests/mg_temperature/build_2g.py @@ -0,0 +1,292 @@ +import openmc +import numpy as np + +names = ['H', 'O', 'Zr', 'U235', 'U238'] + + +def build_openmc_xs_lib(name, groups, temperatures, xsdict, micro=True): + """Build an Openm XSdata based on dictonary values""" + xsdata = openmc.XSdata(name, groups, temperatures=temperatures) + xsdata.order = 0 + for tt in temperatures: + xsdata.set_absorption(xsdict[tt]['absorption'][name], temperature=tt) + xsdata.set_scatter_matrix(xsdict[tt]['scatter'][name], temperature=tt) + xsdata.set_total(xsdict[tt]['total'][name], temperature=tt) + if (name in xsdict[tt]['nu-fission'].keys()): + xsdata.set_nu_fission(xsdict[tt]['nu-fission'][name], + temperature=tt) + xsdata.set_chi(np.array([1., 0.]), temperature=tt) + return xsdata + + +def create_micro_xs_dict(): + """Returns micro xs library""" + xs_micro = {} + reactions = ['absorption', 'total', 'scatter', 'nu-fission'] + # chi is unnecessary when energy bound is in thermal region + # Temperature 300K + # absorption + xs_micro[300] = {r: {} for r in reactions} + xs_micro[300]['absorption']['H'] = np.array([1.0285E-4, 0.0057]) + xs_micro[300]['absorption']['O'] = np.array([7.1654E-5, 3.0283E-6]) + xs_micro[300]['absorption']['Zr'] = np.array([4.5918E-5, 3.6303E-5]) + xs_micro[300]['absorption']['U235'] = np.array([0.0035, 0.1040]) + xs_micro[300]['absorption']['U238'] = np.array([0.0056, 0.0094]) + # nu-scatter matrix + xs_micro[300]['scatter']['H'] = np.array([[[0.0910, 0.01469], + [2.1545E-8, 0.3316]]]) + xs_micro[300]['scatter']['O'] = np.array([[[0.0814, 3.3235E-4], + [1.4152E-8, 0.0960]]]) + xs_micro[300]['scatter']['Zr'] = np.array([[[0.0311, 2.6373E-5], + [6.1273E-8, 0.0315]]]) + xs_micro[300]['scatter']['U235'] = np.array([[[0.0311, 2.6373E-5], + [6.1273E-8, 0.0315]]]) + xs_micro[300]['scatter']['U238'] = np.array([[[0.0551, 2.2341E-5], + [8.7247E-8, 0.0526]]]) + # nu-fission + xs_micro[300]['nu-fission']['U235'] = np.array([0.0059, 0.2160]) + xs_micro[300]['nu-fission']['U238'] = np.array([0.0019, 1.4627E-7]) + # total + xs_micro[300]['total']['H'] = xs_micro[300]['absorption']['H'] + \ + np.sum(xs_micro[300]['scatter']['H'][0], 1) + xs_micro[300]['total']['O'] = xs_micro[300]['absorption']['O'] + \ + np.sum(xs_micro[300]['scatter']['O'][0], 1) + + xs_micro[300]['total']['Zr'] = xs_micro[300]['absorption']['Zr'] + \ + np.sum(xs_micro[300]['scatter']['Zr'][0], 1) + + xs_micro[300]['total']['U235'] = xs_micro[300]['absorption']['U235'] + \ + np.sum(xs_micro[300]['scatter']['U235'][0], 1) + + xs_micro[300]['total']['U238'] = xs_micro[300]['absorption']['U238'] + \ + np.sum(xs_micro[300]['scatter']['U238'][0], 1) + + # Temperature 600K + xs_micro[600] = {r: {} for r in reactions} + # absorption + xs_micro[600]['absorption']['H'] = np.array([1.0356E-4, 0.0046]) + xs_micro[600]['absorption']['O'] = np.array([7.2678E-5, 2.4963E-6]) + xs_micro[600]['absorption']['Zr'] = np.array([4.7256E-5, 2.9757E-5]) + xs_micro[600]['absorption']['U235'] = np.array([0.0035, 0.0853]) + xs_micro[600]['absorption']['U238'] = np.array([0.0058, 0.0079]) + # nu-scatter matrix + xs_micro[600]['scatter']['H'] = np.array([[[0.0910, 0.0138], + [8.9e-08, 0.3316]]]) + xs_micro[600]['scatter']['O'] = np.array([[[0.0814, 3.5367E-4], + [3.4404E-8, 0.0959]]]) + xs_micro[600]['scatter']['Zr'] = np.array([[[0.0311, 3.2293E-5], + [8.3859E-8, 0.0314]]]) + xs_micro[600]['scatter']['U235'] = np.array([[[0.0022, 1.9763E-6], + [9.1634E-8, 0.0039]]]) + xs_micro[600]['scatter']['U238'] = np.array([[[0.0556, 2.8803E-5], + [1.1967E-8, 0.0536]]]) + # nu-fission + xs_micro[600]['nu-fission']['U235'] = np.array([0.0059, 0.1767]) + xs_micro[600]['nu-fission']['U238'] = np.array([0.0019, 1.2405E-7]) + # total + xs_micro[600]['total']['H'] = xs_micro[600]['absorption']['H'] + \ + np.sum(xs_micro[600]['scatter']['H'][0], 1) + xs_micro[600]['total']['O'] = xs_micro[600]['absorption']['O'] + \ + np.sum(xs_micro[600]['scatter']['O'][0], 1) + + xs_micro[600]['total']['Zr'] = xs_micro[600]['absorption']['Zr'] + \ + np.sum(xs_micro[600]['scatter']['Zr'][0], 1) + + xs_micro[600]['total']['U235'] = xs_micro[600]['absorption']['U235'] + \ + np.sum(xs_micro[600]['scatter']['U235'][0], 1) + + xs_micro[600]['total']['U238'] = xs_micro[600]['absorption']['U238'] + \ + np.sum(xs_micro[600]['scatter']['U238'][0], 1) + + # Temperature 900K + xs_micro[900] = {r: {} for r in reactions} + # absorption + xs_micro[900]['absorption']['H'] = np.array([1.0529E-4, 0.0040]) + xs_micro[900]['absorption']['O'] = np.array([7.3055E-5, 2.1850E-6]) + xs_micro[900]['absorption']['Zr'] = np.array([4.7141E-5, 2.5941E-5]) + xs_micro[900]['absorption']['U235'] = np.array([0.0035, 0.0749]) + xs_micro[900]['absorption']['U238'] = np.array([0.0060, 0.0071]) + # total + xs_micro[900]['total']['H'] = np.array([0.2982, 0.7332]) + xs_micro[900]['total']['O'] = np.array([0.0885, 0.1004]) + xs_micro[900]['total']['Zr'] = np.array([0.0370, 0.0317]) + xs_micro[900]['total']['U235'] = np.array([0.0061, 0.0789]) + xs_micro[900]['total']['U238'] = np.array([0.0707, 0.0613]) + # nu-scatter matrix + xs_micro[900]['scatter']['H'] = np.array([[[0.0913, 0.0147], + [8.9e-08, 0.4020]]]) + xs_micro[900]['scatter']['O'] = np.array([[[0.0812, 4.0413E-4], + [6.8186E-8, 0.0965]]]) + xs_micro[900]['scatter']['Zr'] = np.array([[[0.0311, 3.6735E-5], + [1.3439E-8, 0.0314]]]) + xs_micro[900]['scatter']['U235'] = np.array([[[0.0022, 2.9034E-6], + [1.3117E-8, 0.0039]]]) + xs_micro[900]['scatter']['U238'] = np.array([[[0.0560, 3.7619E-5], + [1.4553E-8, 0.0538]]]) + # nu-fission + xs_micro[900]['nu-fission']['U235'] = np.array([0.0059, 0.1545]) + xs_micro[900]['nu-fission']['U238'] = np.array([0.0019, 1.1017E-7]) + # total + xs_micro[900]['total']['H'] = xs_micro[900]['absorption']['H'] + \ + np.sum(xs_micro[900]['scatter']['H'][0], 1) + xs_micro[900]['total']['O'] = xs_micro[900]['absorption']['O'] + \ + np.sum(xs_micro[900]['scatter']['O'][0], 1) + + xs_micro[900]['total']['Zr'] = xs_micro[900]['absorption']['Zr'] + \ + np.sum(xs_micro[900]['scatter']['Zr'][0], 1) + + xs_micro[900]['total']['U235'] = xs_micro[900]['absorption']['U235'] + \ + np.sum(xs_micro[900]['scatter']['U235'][0], 1) + + xs_micro[900]['total']['U238'] = xs_micro[900]['absorption']['U238'] + \ + np.sum(xs_micro[900]['scatter']['U238'][0], 1) + + # roll axis for scatter matrix + for t in xs_micro: + for n in xs_micro[t]['scatter']: + xs_micro[t]['scatter'][n] = np.rollaxis(xs_micro[t]['scatter'][n], + 0, 3) + return xs_micro + + +def create_macro_dict(xs_micro): + """Create a dictionary with two group cross-section""" + xs_macro = {} + for t, d1 in xs_micro.items(): + xs_macro[t] = {} + for r, d2 in d1.items(): + temp = [] + xs_macro[t][r] = {} + for n, v in d2.items(): + temp.append(d2[n]) + xs_macro[t][r]['macro'] = sum(temp) + return xs_macro + + +def create_openmc_2mg_libs(names): + """Built a micro/macro two group openmc MGXS libraries""" + # Initialized library params + group_edges = [0.0, 0.625, 20.0e6] + groups = openmc.mgxs.EnergyGroups(group_edges=group_edges) + mg_cross_sections_file_micro = openmc.MGXSLibrary(groups) + mg_cross_sections_file_macro = openmc.MGXSLibrary(groups) + # Building a micro mg library + micro_cs = create_micro_xs_dict() + for name in names: + mg_cross_sections_file_micro.add_xsdata(build_openmc_xs_lib(name, + groups, + [t for t in + micro_cs], + micro_cs)) + # Building a macro mg library + macro_xs = create_macro_dict(micro_cs) + mg_cross_sections_file_macro.add_xsdata(build_openmc_xs_lib('macro', + groups, + [t for t in + macro_xs], + macro_xs)) + # Exporting library to hdf5 files + mg_cross_sections_file_micro.export_to_hdf5('micro_2g.h5') + mg_cross_sections_file_macro.export_to_hdf5('macro_2g.h5') + # Returning the macro_xs dict is needed for analytical solution + return macro_xs + + +def analytical_solution_2g_therm(xsmin, xsmax=None, wgt=1.0): + """ Calculate eigenvalue based on analytical solution for eq Lf = (1/k)Qf + in two group for infinity dilution media in assumption of group + boundary in thernmal spectra < 1.e+3 Ev + Parametres: + ---------- + xsmin : dict + - macro cross-sections dictonary with minimum range temperature + xsmax : dict + - macro cross-sections dictonary with maximum range temperature + by default: None not used for standalone temperature + wgt : double + - weight for interpolation by default 1.0 + Returns: + --------- + keff : np.double - analytical eigenvalue of critical eq matrix + """ + if xsmax is None: + sa = xsmin['absorption']['macro'] + ss12 = xsmin['scatter']['macro'][0][1][0] + nsf = xsmin['nu-fission']['macro'] + else: + sa = xsmin['absorption']['macro'] * wgt + \ + xsmax['absorption']['macro'] * (1 - wgt) + ss12 = xsmin['scatter']['macro'][0][1][0] * wgt + \ + xsmax['scatter']['macro'][0][1][0] * (1 - wgt) + nsf = xsmin['nu-fission']['macro'] * wgt + \ + xsmax['nu-fission']['macro'] * (1 - wgt) + L = np.array([sa[0] + ss12, 0.0, -ss12, sa[1]]).reshape(2, 2) + Q = np.array([nsf[0], nsf[1], 0.0, 0.0]).reshape(2, 2) + arr = np.linalg.inv(L).dot(Q) + return np.linalg.eigvals(arr)[1] + + +def build_inf_model(xsnames, xslibname, temperature, tempmethod='nearest'): + """ Building an infinite medium for openmc multi-group testing + Parametres: + ---------- + xsnames : list of str() + - list with xs names + xslibname: + - name of hdf5 file with cross-section library + temperature : float + - value of a current temperature in K + tempmethod : str {'nearest', 'interpolstion'} by default 'nearest' + """ + inf_medium = openmc.Material(name='test material', material_id=1) + inf_medium.set_density("sum") + for xs in xsnames: + inf_medium.add_nuclide(xs, 1) + INF = 11.1 + # Instantiate a Materials collection and export to XML + materials_file = openmc.Materials([inf_medium]) + materials_file.cross_sections = xslibname + materials_file.export_to_xml() + + # Instantiate boundary Planes + min_x = openmc.XPlane(boundary_type='reflective', x0=-INF) + max_x = openmc.XPlane(boundary_type='reflective', x0=INF) + min_y = openmc.YPlane(boundary_type='reflective', y0=-INF) + max_y = openmc.YPlane(boundary_type='reflective', y0=INF) + + # Instantiate a Cell + cell = openmc.Cell(cell_id=1, name='cell') + cell.temperature = temperature + # Register bounding Surfaces with the Cell + cell.region = +min_x & -max_x & +min_y & -max_y + + # Fill the Cell with the Material + cell.fill = inf_medium + + # Create root universe + root_universe = openmc.Universe(name='root universe', cells=[cell]) + + # Create Geometry and set root Universe + openmc_geometry = openmc.Geometry(root_universe) + + # Export to "geometry.xml" + openmc_geometry.export_to_xml() + + # OpenMC simulation parameters + batches = 15 + inactive = 5 + particles = 5000 + + # Instantiate a Settings object + settings_file = openmc.Settings() + settings_file.batches = batches + settings_file.inactive = inactive + settings_file.particles = particles + settings_file.energy_mode = 'multi-group' + settings_file.output = {'summary': False} + # Create an initial uniform spatial source distribution over fissionable zones + bounds = [-INF, -INF, -INF, INF, INF, INF] + uniform_dist = openmc.stats.Box(bounds[:3], bounds[3:], only_fissionable=True) + settings_file.temperature = {'method': tempmethod} + settings_file.source = openmc.Source(space=uniform_dist) + settings_file.export_to_xml() diff --git a/tests/regression_tests/mg_temperature/test.py b/tests/regression_tests/mg_temperature/test.py new file mode 100644 index 0000000000..355811a137 --- /dev/null +++ b/tests/regression_tests/mg_temperature/test.py @@ -0,0 +1,106 @@ +import os +from tests.regression_tests.mg_temperature.build_2g import * +from tests.testing_harness import * + + +class MgTemperatureTestHarness(TestHarness): + + def execute_test(self): + """Run OpenMC with the appropriate arguments and check the outputs.""" + base_dir = os.getcwd() + print("Base dir is {}".format(base_dir)) + macro_xs = create_openmc_2mg_libs(names) + dirs = ('micro/nearest/case1', 'micro/nearest/case2', + 'micro/nearest/case3', 'micro/interpolation/case1', + 'micro/interpolation/case2', + 'macro/nearest/case1', 'macro/nearest/case2', + 'macro/nearest/case3', 'macro/interpolation/case1', + 'macro/interpolation/case2') + temperatures = (300., 600., 900., + 520., 600., + 300., 600., 900., + 520., 600) + methods = 2 * (3 * ('nearest',) + 2 * ('interpolation',)) + analyt_interp = 10 * [None] + analyt_interp[3] = (600. - 520.) / 300. + analyt_interp[8] = (600. - 520.) / 300. + try: + for d, t, m, ai in zip(dirs, temperatures, methods, analyt_interp): + os.chdir(os.path.join(base_dir, d)) + if (d[:5] == 'macro'): + build_inf_model(['macro'], '../../../macro_2g.h5', t, m) + else: + build_inf_model(names, '../../../micro_2g.h5', t, m) + if not ai: + kanalyt = analytical_solution_2g_therm(macro_xs[t]) + else: + kanalyt = analytical_solution_2g_therm(macro_xs[300], + macro_xs[600], ai) + self._run_openmc() + self._test_output_created() + results = self._get_results() + results += "k-analytical:\n" + results += "{:12.6E}".format(kanalyt) + self._write_results(results) + self._compare_results() + finally: + for d in dirs: + os.chdir(os.path.join(base_dir, d)) + self._cleanup() + os.chdir(base_dir) + for f in ['micro_2g.h5', 'macro_2g.h5']: + if os.path.exists(f): + os.remove(f) + + def update_results(self): + """Update the results_true using the current version of OpenMC.""" + base_dir = os.getcwd() + print("Base dir is {}".format(base_dir)) + macro_xs = create_openmc_2mg_libs(names) + dirs = ('micro/nearest/case1', 'micro/nearest/case2', + 'micro/nearest/case3', 'micro/interpolation/case1', + 'micro/interpolation/case2', + 'macro/nearest/case1', 'macro/nearest/case2', + 'macro/nearest/case3', 'macro/interpolation/case1', + 'macro/interpolation/case2') + temperatures = (300., 600., 900., + 520., 600., + 300., 600., 900., + 520., 600) + methods = 2 * (3 * ('nearest',) + 2 * ('interpolation',)) + analyt_interp = 10 * [None] + analyt_interp[3] = (600. - 520.) / 300. + analyt_interp[8] = (600. - 520.) / 300. + try: + for d, t, m, ai in zip(dirs, temperatures, methods, analyt_interp): + os.chdir(os.path.join(base_dir, d)) + if (d[:5] == 'macro'): + build_inf_model(['macro'], '../../../macro_2g.h5', t) + else: + build_inf_model(names, '../../../micro_2g.h5', t) + if not ai: + kanalyt = analytical_solution_2g_therm(macro_xs[t]) + else: + kanalyt = analytical_solution_2g_therm(macro_xs[300], + macro_xs[600], ai) + self._run_openmc() + self._test_output_created() + results = self._get_results() + results += "k-analytical:\n" + results += "{:12.6E}".format(kanalyt) + self._write_results(results) + self._overwrite_results(results) + self._compare_results() + finally: + for d in dirs: + os.chdir(os.path.join(base_dir, d)) + self._cleanup() + os.chdir(base_dir) + for f in ['micro_2g.h5', 'macro_2g.h5']: + if os.path.exists(f): + os.remove(f) + + +def test_mg_temperature(): + harness = MgTemperatureTestHarness('statepoint.15.h5') + harness.main() From f9e8eda4c413f3ea20dea8f6f01c0998bde68bc1 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 15 Mar 2020 19:43:18 +0300 Subject: [PATCH 06/13] add a test case dirs and files test case --- .../macro/interpolation/case1/geometry.xml | 8 ++++++++ .../macro/interpolation/case1/materials.xml | 8 ++++++++ .../macro/interpolation/case1/results_true.dat | 4 ++++ .../macro/interpolation/case1/settings.xml | 17 +++++++++++++++++ .../macro/interpolation/case2/geometry.xml | 8 ++++++++ .../macro/interpolation/case2/materials.xml | 8 ++++++++ .../macro/interpolation/case2/results_true.dat | 4 ++++ .../macro/interpolation/case2/settings.xml | 17 +++++++++++++++++ .../macro/nearest/case1/geometry.xml | 8 ++++++++ .../macro/nearest/case1/materials.xml | 8 ++++++++ .../macro/nearest/case1/results_true.dat | 4 ++++ .../macro/nearest/case1/settings.xml | 17 +++++++++++++++++ .../macro/nearest/case2/geometry.xml | 8 ++++++++ .../macro/nearest/case2/materials.xml | 8 ++++++++ .../macro/nearest/case2/results_true.dat | 4 ++++ .../macro/nearest/case2/settings.xml | 17 +++++++++++++++++ .../macro/nearest/case3/geometry.xml | 8 ++++++++ .../macro/nearest/case3/materials.xml | 8 ++++++++ .../macro/nearest/case3/results_true.dat | 4 ++++ .../macro/nearest/case3/settings.xml | 17 +++++++++++++++++ .../micro/interpolation/case1/geometry.xml | 8 ++++++++ .../micro/interpolation/case1/materials.xml | 12 ++++++++++++ .../micro/interpolation/case1/results_true.dat | 4 ++++ .../micro/interpolation/case1/settings.xml | 17 +++++++++++++++++ .../micro/interpolation/case2/geometry.xml | 8 ++++++++ .../micro/interpolation/case2/materials.xml | 12 ++++++++++++ .../micro/interpolation/case2/results_true.dat | 4 ++++ .../micro/interpolation/case2/settings.xml | 17 +++++++++++++++++ .../micro/nearest/case1/geometry.xml | 8 ++++++++ .../micro/nearest/case1/materials.xml | 12 ++++++++++++ .../micro/nearest/case1/results_true.dat | 4 ++++ .../micro/nearest/case1/settings.xml | 17 +++++++++++++++++ .../micro/nearest/case2/geometry.xml | 8 ++++++++ .../micro/nearest/case2/materials.xml | 12 ++++++++++++ .../micro/nearest/case2/results_true.dat | 4 ++++ .../micro/nearest/case2/settings.xml | 17 +++++++++++++++++ .../micro/nearest/case3/geometry.xml | 8 ++++++++ .../micro/nearest/case3/materials.xml | 12 ++++++++++++ .../micro/nearest/case3/results_true.dat | 4 ++++ .../micro/nearest/case3/settings.xml | 17 +++++++++++++++++ 40 files changed, 390 insertions(+) create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat create mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml new file mode 100644 index 0000000000..e66b004c5d --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml new file mode 100644 index 0000000000..e3e2097cb5 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml @@ -0,0 +1,8 @@ + + + ../../../macro_2g.h5 + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat b/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat new file mode 100644 index 0000000000..8cc89cfb0d --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.422739E+00 1.661420E-03 +k-analytical: +1.418514E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml new file mode 100644 index 0000000000..4a51e8e80a --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + interpolation + diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml new file mode 100644 index 0000000000..838fb9f687 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml new file mode 100644 index 0000000000..e3e2097cb5 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml @@ -0,0 +1,8 @@ + + + ../../../macro_2g.h5 + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat b/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat new file mode 100644 index 0000000000..965fe8002a --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.410995E+00 2.169214E-03 +k-analytical: +1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml new file mode 100644 index 0000000000..4a51e8e80a --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + interpolation + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml new file mode 100644 index 0000000000..f64d315932 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml new file mode 100644 index 0000000000..e3e2097cb5 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml @@ -0,0 +1,8 @@ + + + ../../../macro_2g.h5 + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat new file mode 100644 index 0000000000..5d7f81f288 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.443970E+00 3.267499E-03 +k-analytical: +1.440410E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml new file mode 100644 index 0000000000..de56931104 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml new file mode 100644 index 0000000000..e3e2097cb5 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml @@ -0,0 +1,8 @@ + + + ../../../macro_2g.h5 + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat new file mode 100644 index 0000000000..965fe8002a --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.410995E+00 2.169214E-03 +k-analytical: +1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml new file mode 100644 index 0000000000..a95b7b55ac --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml new file mode 100644 index 0000000000..e3e2097cb5 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml @@ -0,0 +1,8 @@ + + + ../../../macro_2g.h5 + + + + + diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat new file mode 100644 index 0000000000..39d3eb5e34 --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.411726E+00 2.151179E-03 +k-analytical: +1.407830E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml new file mode 100644 index 0000000000..b54f27f415 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml new file mode 100644 index 0000000000..98f9236e61 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml @@ -0,0 +1,12 @@ + + + ../../../micro_2g.h5 + + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat b/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat new file mode 100644 index 0000000000..8cc89cfb0d --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.422739E+00 1.661420E-03 +k-analytical: +1.418514E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml new file mode 100644 index 0000000000..4a51e8e80a --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + interpolation + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml new file mode 100644 index 0000000000..4eeb35ac88 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml new file mode 100644 index 0000000000..98f9236e61 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml @@ -0,0 +1,12 @@ + + + ../../../micro_2g.h5 + + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat b/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat new file mode 100644 index 0000000000..965fe8002a --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.410995E+00 2.169214E-03 +k-analytical: +1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml new file mode 100644 index 0000000000..4a51e8e80a --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + interpolation + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml new file mode 100644 index 0000000000..e1da2fa5c6 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml new file mode 100644 index 0000000000..98f9236e61 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml @@ -0,0 +1,12 @@ + + + ../../../micro_2g.h5 + + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat new file mode 100644 index 0000000000..5d7f81f288 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.443970E+00 3.267499E-03 +k-analytical: +1.440410E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml new file mode 100644 index 0000000000..1ac560e8f7 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml new file mode 100644 index 0000000000..98f9236e61 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml @@ -0,0 +1,12 @@ + + + ../../../micro_2g.h5 + + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat new file mode 100644 index 0000000000..965fe8002a --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.410995E+00 2.169214E-03 +k-analytical: +1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml new file mode 100644 index 0000000000..c8d1164f13 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml new file mode 100644 index 0000000000..98f9236e61 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml @@ -0,0 +1,12 @@ + + + ../../../micro_2g.h5 + + + + + + + + + diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat new file mode 100644 index 0000000000..39d3eb5e34 --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat @@ -0,0 +1,4 @@ +k-combined: +1.411726E+00 2.151179E-03 +k-analytical: +1.407830E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml new file mode 100644 index 0000000000..b5ad0fec4f --- /dev/null +++ b/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml @@ -0,0 +1,17 @@ + + + eigenvalue + 5000 + 15 + 5 + + + -11.1 -11.1 -11.1 11.1 11.1 11.1 + + + + false + + multi-group + nearest + From 8d4b34adb674126c62050e3f469c06d407c11915 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 15 Mar 2020 22:53:15 +0300 Subject: [PATCH 07/13] add init.py --- tests/regression_tests/mg_temperature/__init__.py | 1 + 1 file changed, 1 insertion(+) create mode 100644 tests/regression_tests/mg_temperature/__init__.py diff --git a/tests/regression_tests/mg_temperature/__init__.py b/tests/regression_tests/mg_temperature/__init__.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/tests/regression_tests/mg_temperature/__init__.py @@ -0,0 +1 @@ + From b8763f1934a0ac23110ee15a7374fbc7724836c2 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Mon, 16 Mar 2020 15:07:12 +0300 Subject: [PATCH 08/13] test TRAVIS CI commit is to make sure of TRAVIS CI works properly --- tests/regression_tests/mg_temperature/build_2g.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/regression_tests/mg_temperature/build_2g.py b/tests/regression_tests/mg_temperature/build_2g.py index bfdd7f282f..86ba17cea7 100644 --- a/tests/regression_tests/mg_temperature/build_2g.py +++ b/tests/regression_tests/mg_temperature/build_2g.py @@ -276,7 +276,6 @@ def build_inf_model(xsnames, xslibname, temperature, tempmethod='nearest'): batches = 15 inactive = 5 particles = 5000 - # Instantiate a Settings object settings_file = openmc.Settings() settings_file.batches = batches From ce4439ef141c10e2ed500bc9f6bc62ef208a35ee Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 22 Mar 2020 19:24:38 +0300 Subject: [PATCH 09/13] made for review some fixes and increaseing a number of batches --- .../mg_temperature/build_2g.py | 84 ++++++++++--------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/tests/regression_tests/mg_temperature/build_2g.py b/tests/regression_tests/mg_temperature/build_2g.py index 86ba17cea7..820a3bf232 100644 --- a/tests/regression_tests/mg_temperature/build_2g.py +++ b/tests/regression_tests/mg_temperature/build_2g.py @@ -5,7 +5,7 @@ names = ['H', 'O', 'Zr', 'U235', 'U238'] def build_openmc_xs_lib(name, groups, temperatures, xsdict, micro=True): - """Build an Openm XSdata based on dictonary values""" + """Build an Openm XSdata based on dictionary values""" xsdata = openmc.XSdata(name, groups, temperatures=temperatures) xsdata.order = 0 for tt in temperatures: @@ -34,15 +34,15 @@ def create_micro_xs_dict(): xs_micro[300]['absorption']['U238'] = np.array([0.0056, 0.0094]) # nu-scatter matrix xs_micro[300]['scatter']['H'] = np.array([[[0.0910, 0.01469], - [2.1545E-8, 0.3316]]]) + [0.0, 0.3316]]]) xs_micro[300]['scatter']['O'] = np.array([[[0.0814, 3.3235E-4], - [1.4152E-8, 0.0960]]]) + [0.0, 0.0960]]]) xs_micro[300]['scatter']['Zr'] = np.array([[[0.0311, 2.6373E-5], - [6.1273E-8, 0.0315]]]) + [0.0, 0.0315]]]) xs_micro[300]['scatter']['U235'] = np.array([[[0.0311, 2.6373E-5], - [6.1273E-8, 0.0315]]]) + [0.0, 0.0315]]]) xs_micro[300]['scatter']['U238'] = np.array([[[0.0551, 2.2341E-5], - [8.7247E-8, 0.0526]]]) + [0.0, 0.0526]]]) # nu-fission xs_micro[300]['nu-fission']['U235'] = np.array([0.0059, 0.2160]) xs_micro[300]['nu-fission']['U238'] = np.array([0.0019, 1.4627E-7]) @@ -71,15 +71,15 @@ def create_micro_xs_dict(): xs_micro[600]['absorption']['U238'] = np.array([0.0058, 0.0079]) # nu-scatter matrix xs_micro[600]['scatter']['H'] = np.array([[[0.0910, 0.0138], - [8.9e-08, 0.3316]]]) + [0.0, 0.3316]]]) xs_micro[600]['scatter']['O'] = np.array([[[0.0814, 3.5367E-4], - [3.4404E-8, 0.0959]]]) + [0.0, 0.0959]]]) xs_micro[600]['scatter']['Zr'] = np.array([[[0.0311, 3.2293E-5], - [8.3859E-8, 0.0314]]]) + [0.0, 0.0314]]]) xs_micro[600]['scatter']['U235'] = np.array([[[0.0022, 1.9763E-6], [9.1634E-8, 0.0039]]]) xs_micro[600]['scatter']['U238'] = np.array([[[0.0556, 2.8803E-5], - [1.1967E-8, 0.0536]]]) + [0.0, 0.0536]]]) # nu-fission xs_micro[600]['nu-fission']['U235'] = np.array([0.0059, 0.1767]) xs_micro[600]['nu-fission']['U238'] = np.array([0.0019, 1.2405E-7]) @@ -114,15 +114,15 @@ def create_micro_xs_dict(): xs_micro[900]['total']['U238'] = np.array([0.0707, 0.0613]) # nu-scatter matrix xs_micro[900]['scatter']['H'] = np.array([[[0.0913, 0.0147], - [8.9e-08, 0.4020]]]) + [0.0, 0.4020]]]) xs_micro[900]['scatter']['O'] = np.array([[[0.0812, 4.0413E-4], - [6.8186E-8, 0.0965]]]) + [0.0, 0.0965]]]) xs_micro[900]['scatter']['Zr'] = np.array([[[0.0311, 3.6735E-5], - [1.3439E-8, 0.0314]]]) + [0.0, 0.0314]]]) xs_micro[900]['scatter']['U235'] = np.array([[[0.0022, 2.9034E-6], [1.3117E-8, 0.0039]]]) xs_micro[900]['scatter']['U238'] = np.array([[[0.0560, 3.7619E-5], - [1.4553E-8, 0.0538]]]) + [0.0, 0.0538]]]) # nu-fission xs_micro[900]['nu-fission']['U235'] = np.array([0.0059, 0.1545]) xs_micro[900]['nu-fission']['U238'] = np.array([0.0019, 1.1017E-7]) @@ -159,6 +159,9 @@ def create_macro_dict(xs_micro): xs_macro[t][r] = {} for n, v in d2.items(): temp.append(d2[n]) + # The name 'macro' is needed to store data at the same level + # of a xs_macro dictionary as for xs_micro and use it in + # function build_openmc_xs_lib xs_macro[t][r]['macro'] = sum(temp) return xs_macro @@ -194,20 +197,21 @@ def create_openmc_2mg_libs(names): def analytical_solution_2g_therm(xsmin, xsmax=None, wgt=1.0): """ Calculate eigenvalue based on analytical solution for eq Lf = (1/k)Qf - in two group for infinity dilution media in assumption of group - boundary in thernmal spectra < 1.e+3 Ev - Parametres: - ---------- - xsmin : dict - - macro cross-sections dictonary with minimum range temperature - xsmax : dict - - macro cross-sections dictonary with maximum range temperature - by default: None not used for standalone temperature - wgt : double - - weight for interpolation by default 1.0 - Returns: - --------- - keff : np.double - analytical eigenvalue of critical eq matrix + in two group for infinity dilution media in assumption of group + boundary in thermal spectra < 1.e+3 Ev + Parameters: + ---------- + xsmin : dict + macro cross-sections dictionary with minimum range temperature + xsmax : dict + macro cross-sections dictionary with maximum range temperature + by default: None not used for standalone temperature + wgt : float + weight for interpolation by default 1.0 + Returns: + ------- + keff : np.float64 + analytical eigenvalue of critical eq matrix """ if xsmax is None: sa = xsmin['absorption']['macro'] @@ -223,20 +227,21 @@ def analytical_solution_2g_therm(xsmin, xsmax=None, wgt=1.0): L = np.array([sa[0] + ss12, 0.0, -ss12, sa[1]]).reshape(2, 2) Q = np.array([nsf[0], nsf[1], 0.0, 0.0]).reshape(2, 2) arr = np.linalg.inv(L).dot(Q) - return np.linalg.eigvals(arr)[1] + return np.amax(np.linalg.eigvals(arr)) def build_inf_model(xsnames, xslibname, temperature, tempmethod='nearest'): """ Building an infinite medium for openmc multi-group testing - Parametres: - ---------- - xsnames : list of str() - - list with xs names - xslibname: - - name of hdf5 file with cross-section library - temperature : float - - value of a current temperature in K - tempmethod : str {'nearest', 'interpolstion'} by default 'nearest' + Parameters: + ---------- + xsnames : list of str() + list with xs names + xslibname: + name of hdf5 file with cross-section library + temperature : float + value of a current temperature in K + tempmethod : {'nearest', 'interpolation'} + by default 'nearest' """ inf_medium = openmc.Material(name='test material', material_id=1) inf_medium.set_density("sum") @@ -273,9 +278,10 @@ def build_inf_model(xsnames, xslibname, temperature, tempmethod='nearest'): openmc_geometry.export_to_xml() # OpenMC simulation parameters - batches = 15 + batches = 200 inactive = 5 particles = 5000 + # Instantiate a Settings object settings_file = openmc.Settings() settings_file.batches = batches From fc7af30f7684333842fa7d3bb1ccc13026e3fbc1 Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Sun, 22 Mar 2020 19:25:56 +0300 Subject: [PATCH 10/13] to fit to review same commit as before --- tests/regression_tests/mg_temperature/test.py | 96 +++++++++++-------- 1 file changed, 54 insertions(+), 42 deletions(-) diff --git a/tests/regression_tests/mg_temperature/test.py b/tests/regression_tests/mg_temperature/test.py index 355811a137..36395127c2 100644 --- a/tests/regression_tests/mg_temperature/test.py +++ b/tests/regression_tests/mg_temperature/test.py @@ -1,6 +1,7 @@ import os from tests.regression_tests.mg_temperature.build_2g import * from tests.testing_harness import * +import shutil class MgTemperatureTestHarness(TestHarness): @@ -8,14 +9,15 @@ class MgTemperatureTestHarness(TestHarness): def execute_test(self): """Run OpenMC with the appropriate arguments and check the outputs.""" base_dir = os.getcwd() + overall_results = [] print("Base dir is {}".format(base_dir)) macro_xs = create_openmc_2mg_libs(names) - dirs = ('micro/nearest/case1', 'micro/nearest/case2', - 'micro/nearest/case3', 'micro/interpolation/case1', - 'micro/interpolation/case2', - 'macro/nearest/case1', 'macro/nearest/case2', - 'macro/nearest/case3', 'macro/interpolation/case1', - 'macro/interpolation/case2') + types = ('micro', 'micro', + 'micro', 'micro', + 'micro', + 'macro', 'macro', + 'macro', 'macro', + 'macro') temperatures = (300., 600., 900., 520., 600., 300., 600., 900., @@ -25,12 +27,15 @@ class MgTemperatureTestHarness(TestHarness): analyt_interp[3] = (600. - 520.) / 300. analyt_interp[8] = (600. - 520.) / 300. try: - for d, t, m, ai in zip(dirs, temperatures, methods, analyt_interp): - os.chdir(os.path.join(base_dir, d)) - if (d[:5] == 'macro'): - build_inf_model(['macro'], '../../../macro_2g.h5', t, m) + if (os.path.isdir("./temp")): + shutil.rmtree("./temp") + os.mkdir("temp") + os.chdir(os.path.join(base_dir, "temp")) + for cs, t, m, ai in zip(types, temperatures, methods, analyt_interp): + if (cs == 'macro'): + build_inf_model(['macro'], '../macro_2g.h5', t, m) else: - build_inf_model(names, '../../../micro_2g.h5', t, m) + build_inf_model(names, '../micro_2g.h5', t, m) if not ai: kanalyt = analytical_solution_2g_therm(macro_xs[t]) else: @@ -38,16 +43,18 @@ class MgTemperatureTestHarness(TestHarness): macro_xs[600], ai) self._run_openmc() self._test_output_created() - results = self._get_results() - results += "k-analytical:\n" - results += "{:12.6E}".format(kanalyt) - self._write_results(results) - self._compare_results() - finally: - for d in dirs: - os.chdir(os.path.join(base_dir, d)) - self._cleanup() + string = "{}, method: {}, t: {}, {}kanalyt\n{:12.6E}\n" + results = string.format(cs, m, t, self._get_results(), kanalyt) + overall_results.append(results) os.chdir(base_dir) + self._write_results("".join(overall_results)) + self._compare_results() + finally: + os.chdir(base_dir) + shutil.copyfile("results_test.dat", "results_true.dat") + if (os.path.isdir("./temp")): + shutil.rmtree("./temp") + self._cleanup() for f in ['micro_2g.h5', 'macro_2g.h5']: if os.path.exists(f): os.remove(f) @@ -55,14 +62,15 @@ class MgTemperatureTestHarness(TestHarness): def update_results(self): """Update the results_true using the current version of OpenMC.""" base_dir = os.getcwd() + overall_results = [] print("Base dir is {}".format(base_dir)) macro_xs = create_openmc_2mg_libs(names) - dirs = ('micro/nearest/case1', 'micro/nearest/case2', - 'micro/nearest/case3', 'micro/interpolation/case1', - 'micro/interpolation/case2', - 'macro/nearest/case1', 'macro/nearest/case2', - 'macro/nearest/case3', 'macro/interpolation/case1', - 'macro/interpolation/case2') + types = ('micro', 'micro', + 'micro', 'micro', + 'micro', + 'macro', 'macro', + 'macro', 'macro', + 'macro') temperatures = (300., 600., 900., 520., 600., 300., 600., 900., @@ -72,12 +80,15 @@ class MgTemperatureTestHarness(TestHarness): analyt_interp[3] = (600. - 520.) / 300. analyt_interp[8] = (600. - 520.) / 300. try: - for d, t, m, ai in zip(dirs, temperatures, methods, analyt_interp): - os.chdir(os.path.join(base_dir, d)) - if (d[:5] == 'macro'): - build_inf_model(['macro'], '../../../macro_2g.h5', t) + if (os.path.isdir("./temp")): + shutil.rmtree("./temp") + os.mkdir("temp") + os.chdir(os.path.join(base_dir, "temp")) + for cs, t, m, ai in zip(types, temperatures, methods, analyt_interp): + if (cs == 'macro'): + build_inf_model(['macro'], '../macro_2g.h5', t, m) else: - build_inf_model(names, '../../../micro_2g.h5', t) + build_inf_model(names, '../micro_2g.h5', t, m) if not ai: kanalyt = analytical_solution_2g_therm(macro_xs[t]) else: @@ -85,22 +96,23 @@ class MgTemperatureTestHarness(TestHarness): macro_xs[600], ai) self._run_openmc() self._test_output_created() - results = self._get_results() - results += "k-analytical:\n" - results += "{:12.6E}".format(kanalyt) - self._write_results(results) - self._overwrite_results(results) - self._compare_results() - finally: - for d in dirs: - os.chdir(os.path.join(base_dir, d)) - self._cleanup() + string = "{}, method: {}, t: {}, {}kanalyt\n{:12.6E}\n" + results = string.format(cs, m, t, self._get_results(), kanalyt) + overall_results.append(results) os.chdir(base_dir) + self._write_results("".join(overall_results)) + self._compare_results() + finally: + os.chdir(base_dir) + shutil.copyfile("results_test.dat", "results_true.dat") + if (os.path.isdir("./temp")): + shutil.rmtree("./temp") + self._cleanup() for f in ['micro_2g.h5', 'macro_2g.h5']: if os.path.exists(f): os.remove(f) def test_mg_temperature(): - harness = MgTemperatureTestHarness('statepoint.15.h5') + harness = MgTemperatureTestHarness('statepoint.200.h5') harness.main() From ccf9ec1dbd57fba62d1c06d30f47a52834df582e Mon Sep 17 00:00:00 2001 From: dryuri92 Date: Sun, 22 Mar 2020 19:34:46 +0300 Subject: [PATCH 11/13] remove unused dir --- .../macro/interpolation/case1/geometry.xml | 8 ---- .../macro/interpolation/case1/materials.xml | 8 ---- .../interpolation/case1/results_true.dat | 4 -- .../macro/interpolation/case1/settings.xml | 17 -------- .../macro/interpolation/case2/geometry.xml | 8 ---- .../macro/interpolation/case2/materials.xml | 8 ---- .../interpolation/case2/results_true.dat | 4 -- .../macro/interpolation/case2/settings.xml | 17 -------- .../macro/nearest/case1/geometry.xml | 8 ---- .../macro/nearest/case1/materials.xml | 8 ---- .../macro/nearest/case1/results_true.dat | 4 -- .../macro/nearest/case1/settings.xml | 17 -------- .../macro/nearest/case2/geometry.xml | 8 ---- .../macro/nearest/case2/materials.xml | 8 ---- .../macro/nearest/case2/results_true.dat | 4 -- .../macro/nearest/case2/settings.xml | 17 -------- .../macro/nearest/case3/geometry.xml | 8 ---- .../macro/nearest/case3/materials.xml | 8 ---- .../macro/nearest/case3/results_true.dat | 4 -- .../macro/nearest/case3/settings.xml | 17 -------- .../micro/interpolation/case1/geometry.xml | 8 ---- .../micro/interpolation/case1/materials.xml | 12 ------ .../interpolation/case1/results_true.dat | 4 -- .../micro/interpolation/case1/settings.xml | 17 -------- .../micro/interpolation/case2/geometry.xml | 8 ---- .../micro/interpolation/case2/materials.xml | 12 ------ .../interpolation/case2/results_true.dat | 4 -- .../micro/interpolation/case2/settings.xml | 17 -------- .../micro/nearest/case1/geometry.xml | 8 ---- .../micro/nearest/case1/materials.xml | 12 ------ .../micro/nearest/case1/results_true.dat | 4 -- .../micro/nearest/case1/settings.xml | 17 -------- .../micro/nearest/case2/geometry.xml | 8 ---- .../micro/nearest/case2/materials.xml | 12 ------ .../micro/nearest/case2/results_true.dat | 4 -- .../micro/nearest/case2/settings.xml | 17 -------- .../micro/nearest/case3/geometry.xml | 8 ---- .../micro/nearest/case3/materials.xml | 12 ------ .../micro/nearest/case3/results_true.dat | 4 -- .../micro/nearest/case3/settings.xml | 17 -------- .../mg_temperature/results_true.dat | 40 +++++++++++++++++++ 41 files changed, 40 insertions(+), 390 deletions(-) delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat delete mode 100644 tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml create mode 100644 tests/regression_tests/mg_temperature/results_true.dat diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml deleted file mode 100644 index e66b004c5d..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case1/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml deleted file mode 100644 index e3e2097cb5..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case1/materials.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - ../../../macro_2g.h5 - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat b/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat deleted file mode 100644 index 8cc89cfb0d..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case1/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.422739E+00 1.661420E-03 -k-analytical: -1.418514E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml deleted file mode 100644 index 4a51e8e80a..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case1/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - interpolation - diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml deleted file mode 100644 index 838fb9f687..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case2/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml deleted file mode 100644 index e3e2097cb5..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case2/materials.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - ../../../macro_2g.h5 - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat b/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat deleted file mode 100644 index 965fe8002a..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case2/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.410995E+00 2.169214E-03 -k-analytical: -1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml b/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml deleted file mode 100644 index 4a51e8e80a..0000000000 --- a/tests/regression_tests/mg_temperature/macro/interpolation/case2/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - interpolation - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml deleted file mode 100644 index f64d315932..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case1/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml deleted file mode 100644 index e3e2097cb5..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case1/materials.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - ../../../macro_2g.h5 - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat deleted file mode 100644 index 5d7f81f288..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case1/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.443970E+00 3.267499E-03 -k-analytical: -1.440410E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case1/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml deleted file mode 100644 index de56931104..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case2/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml deleted file mode 100644 index e3e2097cb5..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case2/materials.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - ../../../macro_2g.h5 - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat deleted file mode 100644 index 965fe8002a..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case2/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.410995E+00 2.169214E-03 -k-analytical: -1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case2/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml deleted file mode 100644 index a95b7b55ac..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case3/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml deleted file mode 100644 index e3e2097cb5..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case3/materials.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - ../../../macro_2g.h5 - - - - - diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat b/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat deleted file mode 100644 index 39d3eb5e34..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case3/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.411726E+00 2.151179E-03 -k-analytical: -1.407830E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml b/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/macro/nearest/case3/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml deleted file mode 100644 index b54f27f415..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case1/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml deleted file mode 100644 index 98f9236e61..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case1/materials.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - ../../../micro_2g.h5 - - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat b/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat deleted file mode 100644 index 8cc89cfb0d..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case1/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.422739E+00 1.661420E-03 -k-analytical: -1.418514E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml deleted file mode 100644 index 4a51e8e80a..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case1/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - interpolation - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml deleted file mode 100644 index 4eeb35ac88..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case2/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml deleted file mode 100644 index 98f9236e61..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case2/materials.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - ../../../micro_2g.h5 - - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat b/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat deleted file mode 100644 index 965fe8002a..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case2/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.410995E+00 2.169214E-03 -k-analytical: -1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml b/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml deleted file mode 100644 index 4a51e8e80a..0000000000 --- a/tests/regression_tests/mg_temperature/micro/interpolation/case2/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - interpolation - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml deleted file mode 100644 index e1da2fa5c6..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case1/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml deleted file mode 100644 index 98f9236e61..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case1/materials.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - ../../../micro_2g.h5 - - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat deleted file mode 100644 index 5d7f81f288..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case1/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.443970E+00 3.267499E-03 -k-analytical: -1.440410E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case1/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml deleted file mode 100644 index 1ac560e8f7..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case2/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml deleted file mode 100644 index 98f9236e61..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case2/materials.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - ../../../micro_2g.h5 - - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat deleted file mode 100644 index 965fe8002a..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case2/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.410995E+00 2.169214E-03 -k-analytical: -1.410164E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case2/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml deleted file mode 100644 index c8d1164f13..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case3/geometry.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml deleted file mode 100644 index 98f9236e61..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case3/materials.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - ../../../micro_2g.h5 - - - - - - - - - diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat b/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat deleted file mode 100644 index 39d3eb5e34..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case3/results_true.dat +++ /dev/null @@ -1,4 +0,0 @@ -k-combined: -1.411726E+00 2.151179E-03 -k-analytical: -1.407830E+00 \ No newline at end of file diff --git a/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml b/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml deleted file mode 100644 index b5ad0fec4f..0000000000 --- a/tests/regression_tests/mg_temperature/micro/nearest/case3/settings.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - eigenvalue - 5000 - 15 - 5 - - - -11.1 -11.1 -11.1 11.1 11.1 11.1 - - - - false - - multi-group - nearest - diff --git a/tests/regression_tests/mg_temperature/results_true.dat b/tests/regression_tests/mg_temperature/results_true.dat new file mode 100644 index 0000000000..e37bc533a3 --- /dev/null +++ b/tests/regression_tests/mg_temperature/results_true.dat @@ -0,0 +1,40 @@ +micro, method: nearest, t: 300.0, k-combined: +1.439920E+00 4.801994E-04 +kanalyt +1.440410E+00 +micro, method: nearest, t: 600.0, k-combined: +1.410482E+00 4.811844E-04 +kanalyt +1.410164E+00 +micro, method: nearest, t: 900.0, k-combined: +1.408198E+00 4.885882E-04 +kanalyt +1.407830E+00 +micro, method: interpolation, t: 520.0, k-combined: +1.418780E+00 5.222658E-04 +kanalyt +1.418514E+00 +micro, method: interpolation, t: 600.0, k-combined: +1.410482E+00 4.811844E-04 +kanalyt +1.410164E+00 +macro, method: nearest, t: 300.0, k-combined: +1.439920E+00 4.801994E-04 +kanalyt +1.440410E+00 +macro, method: nearest, t: 600.0, k-combined: +1.410482E+00 4.811844E-04 +kanalyt +1.410164E+00 +macro, method: nearest, t: 900.0, k-combined: +1.408198E+00 4.885882E-04 +kanalyt +1.407830E+00 +macro, method: interpolation, t: 520.0, k-combined: +1.418780E+00 5.222658E-04 +kanalyt +1.418514E+00 +macro, method: interpolation, t: 600, k-combined: +1.410482E+00 4.811844E-04 +kanalyt +1.410164E+00 From db0d5abbf40910a20e81da5a927d4bd01358f3ce Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Mon, 23 Mar 2020 14:14:55 +0300 Subject: [PATCH 12/13] indented to the level small fixes --- tests/regression_tests/mg_temperature/build_2g.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/regression_tests/mg_temperature/build_2g.py b/tests/regression_tests/mg_temperature/build_2g.py index 820a3bf232..1256ca0f7f 100644 --- a/tests/regression_tests/mg_temperature/build_2g.py +++ b/tests/regression_tests/mg_temperature/build_2g.py @@ -159,9 +159,9 @@ def create_macro_dict(xs_micro): xs_macro[t][r] = {} for n, v in d2.items(): temp.append(d2[n]) - # The name 'macro' is needed to store data at the same level - # of a xs_macro dictionary as for xs_micro and use it in - # function build_openmc_xs_lib + # The name 'macro' is needed to store data at the same level + # of a xs_macro dictionary as for xs_micro and use it in + # function build_openmc_xs_lib xs_macro[t][r]['macro'] = sum(temp) return xs_macro From 051ebfcff310385ee7c2978f8c5a0b50edb6c45a Mon Sep 17 00:00:00 2001 From: dryuri92 <39188804+dryuri92@users.noreply.github.com> Date: Mon, 23 Mar 2020 14:16:05 +0300 Subject: [PATCH 13/13] remove unused lines --- tests/regression_tests/mg_temperature/test.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/regression_tests/mg_temperature/test.py b/tests/regression_tests/mg_temperature/test.py index 36395127c2..6bcc55492a 100644 --- a/tests/regression_tests/mg_temperature/test.py +++ b/tests/regression_tests/mg_temperature/test.py @@ -10,7 +10,6 @@ class MgTemperatureTestHarness(TestHarness): """Run OpenMC with the appropriate arguments and check the outputs.""" base_dir = os.getcwd() overall_results = [] - print("Base dir is {}".format(base_dir)) macro_xs = create_openmc_2mg_libs(names) types = ('micro', 'micro', 'micro', 'micro', @@ -63,7 +62,6 @@ class MgTemperatureTestHarness(TestHarness): """Update the results_true using the current version of OpenMC.""" base_dir = os.getcwd() overall_results = [] - print("Base dir is {}".format(base_dir)) macro_xs = create_openmc_2mg_libs(names) types = ('micro', 'micro', 'micro', 'micro',