@@ -20,20 +20,20 @@ def test_on_spme(self):
20
20
np .testing .assert_array_less (1 , solution .t .size )
21
21
22
22
def test_on_spme_sensitivities (self ):
23
- param_name = "Negative electrode conductivity [S.m-1]"
24
- neg_electrode_cond = 100.0
23
+ param_name = 'Typical current [A]'
24
+ param_value = 0.15652
25
25
model = pybamm .lithium_ion .SPMe ()
26
26
geometry = model .default_geometry
27
27
param = model .default_parameter_values
28
28
param .update ({param_name : "[input]" })
29
- inputs = {param_name : neg_electrode_cond }
29
+ inputs = {param_name : param_value }
30
30
param .process_model (model )
31
31
param .process_geometry (geometry )
32
32
mesh = pybamm .Mesh (geometry , model .default_submesh_types , model .default_var_pts )
33
33
disc = pybamm .Discretisation (mesh , model .default_spatial_methods )
34
34
disc .process_model (model )
35
35
t_eval = np .linspace (0 , 3600 , 100 )
36
- solver = pybamm .IDAKLUSolver ()
36
+ solver = pybamm .IDAKLUSolver (rtol = 1e-10 , atol = 1e-10 )
37
37
solution = solver .solve (
38
38
model , t_eval ,
39
39
inputs = inputs ,
@@ -48,16 +48,18 @@ def test_on_spme_sensitivities(self):
48
48
h = 1e-6
49
49
sol_plus = solver .solve (
50
50
model , t_eval ,
51
- inputs = {param_name : neg_electrode_cond + 0.5 * h }
51
+ inputs = {param_name : param_value + 0.5 * h }
52
52
)
53
53
sol_neg = solver .solve (
54
54
model , t_eval ,
55
- inputs = {param_name : neg_electrode_cond - 0.5 * h }
55
+ inputs = {param_name : param_value - 0.5 * h }
56
56
)
57
57
dyda_fd = (sol_plus .y - sol_neg .y ) / h
58
+ dyda_fd = dyda_fd .transpose ().reshape (- 1 , 1 )
58
59
59
- np .testing .assert_array_almost_equal (
60
- dyda_ida , dyda_fd
60
+ np .testing .assert_allclose (
61
+ dyda_ida , dyda_fd ,
62
+ rtol = 1e-2 , atol = 1e-3 ,
61
63
)
62
64
63
65
def test_set_tol_by_variable (self ):
@@ -109,7 +111,6 @@ def test_changing_grid(self):
109
111
if __name__ == "__main__" :
110
112
print ("Add -v for more debug output" )
111
113
112
- pybamm .set_logging_level ('INFO' )
113
114
if "-v" in sys .argv :
114
115
debug = True
115
116
pybamm .settings .debug_mode = True
0 commit comments