diff --git a/openmc/filter.py b/openmc/filter.py
index f44ac99f82..f5268ad816 100644
--- a/openmc/filter.py
+++ b/openmc/filter.py
@@ -1894,11 +1894,11 @@ class EnergyFunctionFilter(Filter):
"""
- def __init__(self, energy, y, filter_id=None):
+ def __init__(self, energy, y, interpolation='linear-linear', filter_id=None):
self.energy = energy
self.y = y
self.id = filter_id
- self.interpolation = 'linear-linear'
+ self.interpolation = interpolation
def __eq__(self, other):
if type(self) is not type(other):
@@ -1936,12 +1936,14 @@ class EnergyFunctionFilter(Filter):
string = type(self).__name__ + '\n'
string += '{: <16}=\t{}\n'.format('\tEnergy', self.energy)
string += '{: <16}=\t{}\n'.format('\tInterpolant', self.y)
+ string += '{: <16}=\t{}\n'.format('\tInterpolation', self.interpolation)
return hash(string)
def __repr__(self):
string = type(self).__name__ + '\n'
string += '{: <16}=\t{}\n'.format('\tEnergy', self.energy)
string += '{: <16}=\t{}\n'.format('\tInterpolant', self.y)
+ string += '{: <16}=\t{}\n'.format('\tInterpolation', self.interpolation)
string += '{: <16}=\t{}\n'.format('\tID', self.id)
return string
diff --git a/tests/regression_tests/filter_energyfun/inputs_true.dat b/tests/regression_tests/filter_energyfun/inputs_true.dat
index 15de0f0277..35d15d61c0 100644
--- a/tests/regression_tests/filter_energyfun/inputs_true.dat
+++ b/tests/regression_tests/filter_energyfun/inputs_true.dat
@@ -24,6 +24,11 @@
0.1 0.1 0.1333 0.158 0.18467 0.25618 0.4297 0.48 0.48
linear-linear
+
+ 1e-05 0.369 1000.0 100000.0 600000.0 1000000.0 2000000.0 4000000.0 30000000.0
+ 0.1 0.1 0.1333 0.158 0.18467 0.25618 0.4297 0.48 0.48
+ log-log
+
Am241
(n,gamma)
@@ -33,4 +38,9 @@
Am241
(n,gamma)
+
+ 3
+ Am241
+ (n,gamma)
+
diff --git a/tests/regression_tests/filter_energyfun/results_true.dat b/tests/regression_tests/filter_energyfun/results_true.dat
index a1fda93a81..a75b3fd4f7 100644
--- a/tests/regression_tests/filter_energyfun/results_true.dat
+++ b/tests/regression_tests/filter_energyfun/results_true.dat
@@ -1,2 +1,2 @@
energyfunction nuclide score mean std. dev.
-0 d2effa26cb3cf2 Am241 ((n,gamma) / (n,gamma)) 1.74e-01 6.83e-03
+0 448ee8dfd19c4f Am241 ((n,gamma) / (n,gamma)) 1.74e-01 6.83e-03
diff --git a/tests/regression_tests/filter_energyfun/test.py b/tests/regression_tests/filter_energyfun/test.py
index b5ab1387cc..cb658b9022 100644
--- a/tests/regression_tests/filter_energyfun/test.py
+++ b/tests/regression_tests/filter_energyfun/test.py
@@ -39,14 +39,21 @@ def model():
filt2 = openmc.EnergyFunctionFilter.from_tabulated1d(tab1d)
assert filt1 == filt2, 'Error with the .from_tabulated1d constructor'
+ filt3 = openmc.EnergyFunctionFilter(x, y)
+ filt3.interpolation = 'log-log'
+ print(filt3)
+
# Make tallies
- tallies = [openmc.Tally(), openmc.Tally()]
+ tallies = [openmc.Tally(), openmc.Tally(), openmc.Tally()]
for t in tallies:
t.scores = ['(n,gamma)']
t.nuclides = ['Am241']
tallies[1].filters = [filt1]
+ tallies[2].filters = [filt3]
model.tallies.extend(tallies)
+
+
return model
@@ -75,7 +82,7 @@ class FilterEnergyFunHarness(PyAPITestHarness):
model_tally = self._model.tallies[1]
model_filt = model_tally.find_filter(openmc.EnergyFunctionFilter)
- assert sp_filt.interpolation == model_filt.interpolation
+ assert sp_filt.interpolation == 'linear-linear'
assert all(sp_filt.energy == model_filt.energy)
assert all(sp_filt.y == model_filt.y)