Skip to content

Commit afdbe91

Browse files
committed
#492 passes unit tests but not integration tests
1 parent 37903e6 commit afdbe91

File tree

5 files changed

+35
-63
lines changed

5 files changed

+35
-63
lines changed

pybamm/discretisations/discretisation.py

-5
Original file line numberDiff line numberDiff line change
@@ -436,11 +436,6 @@ def process_dict(self, var_eqn_dict):
436436

437437
new_var_eqn_dict[eqn_key] = self.process_symbol(eqn)
438438

439-
try:
440-
new_var_eqn_dict[eqn_key].test_shape()
441-
except:
442-
new_var_eqn_dict[eqn_key].test_shape()
443-
444439
return new_var_eqn_dict
445440

446441
def process_symbol(self, symbol):

pybamm/parameters/standard_parameters_lead_acid.py

-8
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040

4141
# Electrical
4242
I_typ = pybamm.electrical_parameters.I_typ
43-
V_typ = pybamm.electrical_parameters.V_typ
4443
Q = pybamm.electrical_parameters.Q
4544
C_rate = pybamm.electrical_parameters.C_rate
4645
n_electrodes_parallel = pybamm.electrical_parameters.n_electrodes_parallel
@@ -451,10 +450,3 @@ def U_p(c_e_p, T):
451450
current_density_with_time = (
452451
dimensional_current_density_with_time / i_typ * pybamm.Function(np.sign, I_typ)
453452
)
454-
455-
# --------------------------------------------------------------------------------------
456-
"7. Input voltage"
457-
dimensional_voltage_with_time = pybamm.FunctionParameter(
458-
"Voltage function", pybamm.t * tau_discharge
459-
)
460-
voltage_with_time = dimensional_voltage_with_time / V_typ

tests/integration/test_models/standard_output_tests.py

-15
Original file line numberDiff line numberDiff line change
@@ -567,13 +567,6 @@ def test_conservation(self):
567567
current density"""
568568
t, x_n, x_s, x_p = self.t, self.x_n, self.x_s, self.x_p
569569

570-
if isinstance(self.model, pybamm.lithium_ion.BaseModel):
571-
current_param = pybamm.standard_parameters_lithium_ion.current_with_time
572-
elif isinstance(self.model, pybamm.lead_acid.BaseModel):
573-
current_param = pybamm.standard_parameters_lead_acid.current_with_time
574-
else:
575-
current_param = pybamm.electrical_parameters.current_with_time
576-
577570
# i_cell = self.param.process_symbol(current_param).evaluate(t=t)
578571
for x in [x_n, x_s, x_p]:
579572
np.testing.assert_array_almost_equal(
@@ -592,14 +585,6 @@ def test_current_density_boundaries(self):
592585
"""Test the boundary values of the current densities"""
593586
t, x_n, x_p = self.t, self.x_n_edge, self.x_p_edge
594587

595-
if isinstance(self.model, pybamm.lithium_ion.BaseModel):
596-
current_param = pybamm.standard_parameters_lithium_ion.current_with_time
597-
elif isinstance(self.model, pybamm.lead_acid.BaseModel):
598-
current_param = pybamm.standard_parameters_lead_acid.current_with_time
599-
else:
600-
current_param = pybamm.electrical_parameters.current_with_time
601-
602-
# i_cell = self.param.process_symbol(current_param).evaluate(t=t)
603588
np.testing.assert_array_almost_equal(
604589
self.i_s_n(t, x_n[0]), self.i_boundary_cc(t), decimal=1
605590
)

tests/integration/test_models/test_full_battery_models/test_lithium_ion/test_dfn.py

+34-34
Original file line numberDiff line numberDiff line change
@@ -20,45 +20,45 @@ def run_standard_dfn_tests(options):
2020

2121
@unittest.skipIf(pybamm.have_scikits_odes(), "scikits.odes not installed")
2222
class TestDFN(unittest.TestCase):
23-
# def test_basic_processing(self):
24-
# options = {"thermal": None}
25-
# model = pybamm.lithium_ion.DFN(options)
26-
# var = pybamm.standard_spatial_vars
27-
# var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
28-
# modeltest = tests.StandardModelTest(model, var_pts=var_pts)
29-
# modeltest.test_all()
23+
def test_basic_processing(self):
24+
options = {"thermal": None}
25+
model = pybamm.lithium_ion.DFN(options)
26+
var = pybamm.standard_spatial_vars
27+
var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
28+
modeltest = tests.StandardModelTest(model, var_pts=var_pts)
29+
modeltest.test_all()
3030

31-
# def test_optimisations(self):
32-
# options = {"thermal": None}
33-
# model = pybamm.lithium_ion.DFN(options)
34-
# optimtest = tests.OptimisationsTest(model)
31+
def test_optimisations(self):
32+
options = {"thermal": None}
33+
model = pybamm.lithium_ion.DFN(options)
34+
optimtest = tests.OptimisationsTest(model)
3535

36-
# original = optimtest.evaluate_model()
37-
# simplified = optimtest.evaluate_model(simplify=True)
38-
# using_known_evals = optimtest.evaluate_model(use_known_evals=True)
39-
# simp_and_known = optimtest.evaluate_model(simplify=True, use_known_evals=True)
40-
# simp_and_python = optimtest.evaluate_model(simplify=True, to_python=True)
41-
# np.testing.assert_array_almost_equal(original, simplified)
42-
# np.testing.assert_array_almost_equal(original, using_known_evals)
43-
# np.testing.assert_array_almost_equal(original, simp_and_known)
36+
original = optimtest.evaluate_model()
37+
simplified = optimtest.evaluate_model(simplify=True)
38+
using_known_evals = optimtest.evaluate_model(use_known_evals=True)
39+
simp_and_known = optimtest.evaluate_model(simplify=True, use_known_evals=True)
40+
simp_and_python = optimtest.evaluate_model(simplify=True, to_python=True)
41+
np.testing.assert_array_almost_equal(original, simplified)
42+
np.testing.assert_array_almost_equal(original, using_known_evals)
43+
np.testing.assert_array_almost_equal(original, simp_and_known)
4444

45-
# np.testing.assert_array_almost_equal(original, simp_and_python)
45+
np.testing.assert_array_almost_equal(original, simp_and_python)
4646

47-
# def test_full_thermal(self):
48-
# options = {"thermal": "full"}
49-
# model = pybamm.lithium_ion.DFN(options)
50-
# var = pybamm.standard_spatial_vars
51-
# var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
52-
# modeltest = tests.StandardModelTest(model, var_pts=var_pts)
53-
# modeltest.test_all()
47+
def test_full_thermal(self):
48+
options = {"thermal": "full"}
49+
model = pybamm.lithium_ion.DFN(options)
50+
var = pybamm.standard_spatial_vars
51+
var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
52+
modeltest = tests.StandardModelTest(model, var_pts=var_pts)
53+
modeltest.test_all()
5454

55-
# def test_lumped_thermal(self):
56-
# options = {"thermal": "lumped"}
57-
# model = pybamm.lithium_ion.DFN(options)
58-
# var = pybamm.standard_spatial_vars
59-
# var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
60-
# modeltest = tests.StandardModelTest(model, var_pts=var_pts)
61-
# modeltest.test_all()
55+
def test_lumped_thermal(self):
56+
options = {"thermal": "lumped"}
57+
model = pybamm.lithium_ion.DFN(options)
58+
var = pybamm.standard_spatial_vars
59+
var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5}
60+
modeltest = tests.StandardModelTest(model, var_pts=var_pts)
61+
modeltest.test_all()
6262

6363
def test_potentiostatic(self):
6464
options = {"thermal": None, "problem type": "potentiostatic"}

tests/unit/test_models/test_submodels/test_current_collector/test_homogeneous_current_collector.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class TestUniformModel(unittest.TestCase):
1111
def test_public_functions(self):
1212
param = pybamm.standard_parameters_lead_acid
1313

14-
options = {"problem type": "galavanostatic"}
14+
options = {"problem type": "galvanostatic"}
1515
submodel = pybamm.current_collector.Uniform(param, options)
1616
std_tests = tests.StandardSubModelTests(submodel)
1717
std_tests.test_all()

0 commit comments

Comments
 (0)