From 52516663c69cf9c7add01be0458f69cf57c4d497 Mon Sep 17 00:00:00 2001 From: Jingang Liang Date: Tue, 1 Sep 2020 16:06:57 +0800 Subject: [PATCH] vectfit package is not always required --- openmc/data/multipole.py | 6 ++++++ src/wmp.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/openmc/data/multipole.py b/openmc/data/multipole.py index 4d4359cc2b..f0ecfe7077 100644 --- a/openmc/data/multipole.py +++ b/openmc/data/multipole.py @@ -175,6 +175,9 @@ def _vectfit_xs(energy, ce_xs, mts, rtol=1e-3, atol=1e-5, orders=None, """ + # import vectfit package: https://github.com/mit-crpg/vectfit + import vectfit as vf + ne = energy.size nmt = len(mts) if ce_xs.shape != (nmt, ne): @@ -569,6 +572,9 @@ def _windowing(mp_data, rtol=1e-3, atol=1e-5, n_win=None, n_cf=None, """ + # import vectfit package: https://github.com/mit-crpg/vectfit + import vectfit as vf + # unpack multipole data name = mp_data["name"] awr = mp_data["AWR"] diff --git a/src/wmp.cpp b/src/wmp.cpp index 44b346bb4a..60393e9ba7 100644 --- a/src/wmp.cpp +++ b/src/wmp.cpp @@ -10,6 +10,7 @@ #include #include +#include // for min namespace openmc { @@ -71,7 +72,7 @@ WindowedMultipole::evaluate(double E, double sqrtkT) // Locate window containing energy int i_window = std::min(windows_.shape()[0] - 1, - (sqrtE - std::sqrt(E_min_)) / spacing_); + static_cast((sqrtE - std::sqrt(E_min_)) / spacing_)); int startw = windows_(i_window, 0) - 1; int endw = windows_(i_window, 1) - 1;