|
8 | 8 | import unittest
|
9 | 9 |
|
10 | 10 |
|
| 11 | +def run_standard_dfn_tests(options): |
| 12 | + model = pybamm.lithium_ion.DFN(options) |
| 13 | + var = pybamm.standard_spatial_vars |
| 14 | + var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
| 15 | + modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
| 16 | + modeltest.test_all() |
| 17 | + |
| 18 | + |
11 | 19 | @unittest.skipIf(pybamm.have_scikits_odes(), "scikits.odes not installed")
|
12 | 20 | class TestDFN(unittest.TestCase):
|
13 |
| - def test_basic_processing(self): |
14 |
| - options = {"thermal": None} |
15 |
| - model = pybamm.lithium_ion.DFN(options) |
16 |
| - var = pybamm.standard_spatial_vars |
17 |
| - var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
18 |
| - modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
19 |
| - modeltest.test_all() |
20 |
| - |
21 |
| - def test_optimisations(self): |
22 |
| - options = {"thermal": None} |
23 |
| - model = pybamm.lithium_ion.DFN(options) |
24 |
| - optimtest = tests.OptimisationsTest(model) |
25 |
| - |
26 |
| - original = optimtest.evaluate_model() |
27 |
| - simplified = optimtest.evaluate_model(simplify=True) |
28 |
| - using_known_evals = optimtest.evaluate_model(use_known_evals=True) |
29 |
| - simp_and_known = optimtest.evaluate_model(simplify=True, use_known_evals=True) |
30 |
| - simp_and_python = optimtest.evaluate_model(simplify=True, to_python=True) |
31 |
| - np.testing.assert_array_almost_equal(original, simplified) |
32 |
| - np.testing.assert_array_almost_equal(original, using_known_evals) |
33 |
| - np.testing.assert_array_almost_equal(original, simp_and_known) |
34 |
| - |
35 |
| - np.testing.assert_array_almost_equal(original, simp_and_python) |
36 |
| - |
37 |
| - def test_full_thermal(self): |
38 |
| - options = {"thermal": "full"} |
39 |
| - model = pybamm.lithium_ion.DFN(options) |
40 |
| - var = pybamm.standard_spatial_vars |
41 |
| - var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
42 |
| - modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
43 |
| - modeltest.test_all() |
44 |
| - |
45 |
| - def test_lumped_thermal(self): |
46 |
| - options = {"thermal": "lumped"} |
47 |
| - model = pybamm.lithium_ion.DFN(options) |
48 |
| - var = pybamm.standard_spatial_vars |
49 |
| - var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
50 |
| - modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
51 |
| - modeltest.test_all() |
| 21 | + # def test_basic_processing(self): |
| 22 | + # options = {"thermal": None} |
| 23 | + # model = pybamm.lithium_ion.DFN(options) |
| 24 | + # var = pybamm.standard_spatial_vars |
| 25 | + # var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
| 26 | + # modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
| 27 | + # modeltest.test_all() |
| 28 | + |
| 29 | + # def test_optimisations(self): |
| 30 | + # options = {"thermal": None} |
| 31 | + # model = pybamm.lithium_ion.DFN(options) |
| 32 | + # optimtest = tests.OptimisationsTest(model) |
| 33 | + |
| 34 | + # original = optimtest.evaluate_model() |
| 35 | + # simplified = optimtest.evaluate_model(simplify=True) |
| 36 | + # using_known_evals = optimtest.evaluate_model(use_known_evals=True) |
| 37 | + # simp_and_known = optimtest.evaluate_model(simplify=True, use_known_evals=True) |
| 38 | + # simp_and_python = optimtest.evaluate_model(simplify=True, to_python=True) |
| 39 | + # np.testing.assert_array_almost_equal(original, simplified) |
| 40 | + # np.testing.assert_array_almost_equal(original, using_known_evals) |
| 41 | + # np.testing.assert_array_almost_equal(original, simp_and_known) |
| 42 | + |
| 43 | + # np.testing.assert_array_almost_equal(original, simp_and_python) |
| 44 | + |
| 45 | + # def test_full_thermal(self): |
| 46 | + # options = {"thermal": "full"} |
| 47 | + # model = pybamm.lithium_ion.DFN(options) |
| 48 | + # var = pybamm.standard_spatial_vars |
| 49 | + # var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
| 50 | + # modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
| 51 | + # modeltest.test_all() |
| 52 | + |
| 53 | + # def test_lumped_thermal(self): |
| 54 | + # options = {"thermal": "lumped"} |
| 55 | + # model = pybamm.lithium_ion.DFN(options) |
| 56 | + # var = pybamm.standard_spatial_vars |
| 57 | + # var_pts = {var.x_n: 10, var.x_s: 10, var.x_p: 10, var.r_n: 5, var.r_p: 5} |
| 58 | + # modeltest = tests.StandardModelTest(model, var_pts=var_pts) |
| 59 | + # modeltest.test_all() |
| 60 | + |
| 61 | + def test_potentiostatic(self): |
| 62 | + options = {"thermal": None, "problem type": "potentiostatic"} |
| 63 | + run_standard_dfn_tests(options) |
52 | 64 |
|
53 | 65 |
|
54 | 66 | if __name__ == "__main__":
|
|
0 commit comments