@@ -21,144 +21,98 @@ def test_lithium_ion(self):
21
21
"particle geometry"
22
22
# a_n dimensional
23
23
np .testing .assert_almost_equal (
24
- values .process_symbol (param .a_n_dim ).evaluate (None , None ),
25
- 0.18 * 10 ** (6 ),
26
- 2 ,
24
+ values .evaluate (param .a_n_dim ), 0.18 * 10 ** (6 ), 2
27
25
)
28
26
# R_n dimensional
29
- np .testing .assert_almost_equal (
30
- values .process_symbol (param .R_n ).evaluate (None , None ), 1 * 10 ** (- 5 ), 2
31
- )
27
+ np .testing .assert_almost_equal (values .evaluate (param .R_n ), 1 * 10 ** (- 5 ), 2 )
32
28
33
29
# a_n
34
- np .testing .assert_almost_equal (
35
- values .process_symbol (param .a_n ).evaluate (None , None ), 1.8 , 2
36
- )
30
+ np .testing .assert_almost_equal (values .evaluate (param .a_n ), 1.8 , 2 )
37
31
38
32
# a_p dimensional
39
33
np .testing .assert_almost_equal (
40
- values .process_symbol (param .a_p_dim ).evaluate (None , None ),
41
- 0.15 * 10 ** (6 ),
42
- 2 ,
34
+ values .evaluate (param .a_p_dim ), 0.15 * 10 ** (6 ), 2
43
35
)
44
36
45
37
# R_p dimensional
46
- np .testing .assert_almost_equal (
47
- values .process_symbol (param .R_n ).evaluate (None , None ), 1 * 10 ** (- 5 ), 2
48
- )
38
+ np .testing .assert_almost_equal (values .evaluate (param .R_n ), 1 * 10 ** (- 5 ), 2 )
49
39
50
40
# a_p
51
- np .testing .assert_almost_equal (
52
- values .process_symbol (param .a_p ).evaluate (None , None ), 1.5 , 2
53
- )
41
+ np .testing .assert_almost_equal (values .evaluate (param .a_p ), 1.5 , 2 )
54
42
55
43
"reaction rates"
56
44
# m_n*
57
45
np .testing .assert_almost_equal (
58
- values .process_symbol (param .m_n_dimensional (param .T_ref )).evaluate (
59
- None , None
60
- ),
61
- 2 * 10 ** (- 5 ),
62
- 8 ,
46
+ values .evaluate (param .m_n_dimensional (param .T_ref )), 2 * 10 ** (- 5 ), 8
63
47
)
64
48
65
49
np .testing .assert_almost_equal (
66
- values .process_symbol (1 / param .C_r_n * c_rate ).evaluate (None , None ),
67
- 26.6639 ,
68
- 3 ,
50
+ values .evaluate (1 / param .C_r_n * c_rate ), 26.6639 , 3
69
51
)
70
52
71
53
# m_p*
72
54
np .testing .assert_almost_equal (
73
- values .process_symbol (param .m_p_dimensional (param .T_ref )).evaluate (
74
- None , None
75
- ),
76
- 6 * 10 ** (- 7 ),
77
- 8 ,
55
+ values .evaluate (param .m_p_dimensional (param .T_ref )), 6 * 10 ** (- 7 ), 8
78
56
)
79
57
80
58
# gamma_p / C_r_p
81
59
np .testing .assert_almost_equal (
82
- values .process_symbol (param .gamma_p / param .C_r_p * c_rate ).evaluate (
83
- None , None
84
- ),
85
- 1.366 ,
86
- 3 ,
60
+ values .evaluate (param .gamma_p / param .C_r_p * c_rate ), 1.366 , 3
87
61
)
88
62
89
63
"particle dynamics"
90
64
# neg diffusion coefficient
91
65
np .testing .assert_almost_equal (
92
- values .process_symbol (
93
- param .D_n_dimensional (param .c_n_init , param .T_ref )
94
- ).evaluate (None , None ),
66
+ values .evaluate (param .D_n_dimensional (param .c_n_init , param .T_ref )),
95
67
3.9 * 10 ** (- 14 ),
96
68
2 ,
97
69
)
98
70
99
71
# neg diffusion timescale
100
72
np .testing .assert_almost_equal (
101
- values .process_symbol (param .tau_diffusion_n ).evaluate (None , None ),
102
- 2.5641 * 10 ** (3 ),
103
- 2 ,
73
+ values .evaluate (param .tau_diffusion_n ), 2.5641 * 10 ** (3 ), 2
104
74
)
105
75
106
76
# tau_n / tau_d (1/gamma_n in Scott's transfer)
107
- np .testing .assert_almost_equal (
108
- values .process_symbol (param .C_n / c_rate ).evaluate (None , None ), 0.11346 , 3
109
- )
77
+ np .testing .assert_almost_equal (values .evaluate (param .C_n / c_rate ), 0.11346 , 3 )
110
78
111
79
# pos diffusion coefficient
112
80
np .testing .assert_almost_equal (
113
- values .process_symbol (
114
- param .D_p_dimensional (param .c_p_init , param .T_ref )
115
- ).evaluate (None , None ),
81
+ values .evaluate (param .D_p_dimensional (param .c_p_init , param .T_ref )),
116
82
1 * 10 ** (- 13 ),
117
83
2 ,
118
84
)
119
85
120
86
# pos diffusion timescale
121
87
np .testing .assert_almost_equal (
122
- values .process_symbol (param .tau_diffusion_p ).evaluate (None , None ),
123
- 1 * 10 ** (3 ),
124
- 2 ,
88
+ values .evaluate (param .tau_diffusion_p ), 1 * 10 ** (3 ), 2
125
89
)
126
90
127
91
# tau_p / tau_d (1/gamma_p in Scott's transfer)
128
- np .testing .assert_almost_equal (
129
- values .process_symbol (param .C_p / c_rate ).evaluate (None , None ), 0.044249 , 3
130
- )
92
+ np .testing .assert_almost_equal (values .evaluate (param .C_p / c_rate ), 0.044249 , 3 )
131
93
132
94
"electrolyte dynamics"
133
95
# typical diffusion coefficient (we should change the typ value in paper to
134
96
# match this one. We take this parameter excluding the exp(-0.65) in the
135
97
# paper at the moment
136
98
np .testing .assert_almost_equal (
137
- values .process_symbol (
138
- param .D_e_dimensional (param .c_e_typ , param .T_ref )
139
- ).evaluate (None , None ),
99
+ values .evaluate (param .D_e_dimensional (param .c_e_typ , param .T_ref )),
140
100
5.34 * 10 ** (- 10 ) * np .exp (- 0.65 ),
141
101
10 ,
142
102
)
143
103
144
104
# electrolyte diffusion timescale (accounting for np.exp(-0.65) in
145
105
# diffusion_typ). Change value in paper to this.
146
106
np .testing .assert_almost_equal (
147
- values .process_symbol (param .tau_diffusion_e ).evaluate (None , None ),
148
- 181.599 ,
149
- 3 ,
107
+ values .evaluate (param .tau_diffusion_e ), 181.599 , 3
150
108
)
151
109
152
110
# C_e
153
- np .testing .assert_almost_equal (
154
- values .process_symbol (param .C_e / c_rate ).evaluate (None , None ), 0.008 , 3
155
- )
111
+ np .testing .assert_almost_equal (values .evaluate (param .C_e / c_rate ), 0.008 , 3 )
156
112
157
113
# electrolyte conductivity
158
114
np .testing .assert_almost_equal (
159
- values .process_symbol (
160
- param .kappa_e_dimensional (param .c_e_typ , param .T_ref )
161
- ).evaluate (None , None ),
115
+ values .evaluate (param .kappa_e_dimensional (param .c_e_typ , param .T_ref )),
162
116
1.1045 ,
163
117
3 ,
164
118
)
@@ -167,32 +121,26 @@ def test_lithium_ion(self):
167
121
# F R / T (should be equal to old 1 / Lambda)
168
122
old_Lambda = 38
169
123
np .testing .assert_almost_equal (
170
- values .process_symbol (param .potential_scale ).evaluate (None , None ),
171
- 1 / old_Lambda ,
172
- 3 ,
124
+ values .evaluate (param .potential_scale ), 1 / old_Lambda , 3
173
125
)
174
126
175
127
"electrode conductivities"
176
128
# neg dimensional
177
- np .testing .assert_almost_equal (
178
- values .process_symbol (param .sigma_n_dim ).evaluate (None , None ), 100 , 3
179
- )
129
+ np .testing .assert_almost_equal (values .evaluate (param .sigma_n_dim ), 100 , 3 )
180
130
181
131
# neg dimensionless (old sigma_n / old_Lambda ) (this is different to values
182
132
# in paper so check again, it is close enough though for now)
183
133
np .testing .assert_almost_equal (
184
- values .process_symbol (param .sigma_n * c_rate ). evaluate ( None , None ), 475.7 , 1
134
+ values .evaluate (param .sigma_n * c_rate ), 475.7 , 1
185
135
)
186
136
187
137
# neg dimensional
188
- np .testing .assert_almost_equal (
189
- values .process_symbol (param .sigma_p_dim ).evaluate (None , None ), 10 , 3
190
- )
138
+ np .testing .assert_almost_equal (values .evaluate (param .sigma_p_dim ), 10 , 3 )
191
139
192
140
# neg dimensionless (old sigma_n / old_Lambda ) (this is different to values in
193
141
# paper so check again, it is close enough for now though)
194
142
np .testing .assert_almost_equal (
195
- values .process_symbol (param .sigma_p * c_rate ). evaluate ( None , None ), 47.57 , 1
143
+ values .evaluate (param .sigma_p * c_rate ), 47.57 , 1
196
144
)
197
145
198
146
def test_thermal_parameters (self ):
@@ -201,72 +149,48 @@ def test_thermal_parameters(self):
201
149
c_rate = param .i_typ / 24
202
150
203
151
# Density
204
- np .testing .assert_almost_equal (
205
- values .process_symbol (param .rho_cn ).evaluate (), 1.9019 , 2
206
- )
207
- np .testing .assert_almost_equal (
208
- values .process_symbol (param .rho_n ).evaluate (), 0.6403 , 2
209
- )
210
- np .testing .assert_almost_equal (
211
- values .process_symbol (param .rho_s ).evaluate (), 0.1535 , 2
212
- )
213
- np .testing .assert_almost_equal (
214
- values .process_symbol (param .rho_p ).evaluate (), 1.2605 , 2
215
- )
216
- np .testing .assert_almost_equal (
217
- values .process_symbol (param .rho_cp ).evaluate (), 1.3403 , 2
218
- )
152
+ np .testing .assert_almost_equal (values .evaluate (param .rho_cn ), 1.9019 , 2 )
153
+ np .testing .assert_almost_equal (values .evaluate (param .rho_n ), 0.6403 , 2 )
154
+ np .testing .assert_almost_equal (values .evaluate (param .rho_s ), 0.1535 , 2 )
155
+ np .testing .assert_almost_equal (values .evaluate (param .rho_p ), 1.2605 , 2 )
156
+ np .testing .assert_almost_equal (values .evaluate (param .rho_cp ), 1.3403 , 2 )
219
157
220
158
# Thermal conductivity
221
- np .testing .assert_almost_equal (
222
- values .process_symbol (param .lambda_cn ).evaluate (), 6.7513 , 2
223
- )
224
- np .testing .assert_almost_equal (
225
- values .process_symbol (param .lambda_n ).evaluate (), 0.0296 , 2
226
- )
227
- np .testing .assert_almost_equal (
228
- values .process_symbol (param .lambda_s ).evaluate (), 0.0027 , 2
229
- )
230
- np .testing .assert_almost_equal (
231
- values .process_symbol (param .lambda_p ).evaluate (), 0.0354 , 2
232
- )
233
- np .testing .assert_almost_equal (
234
- values .process_symbol (param .lambda_cp ).evaluate (), 3.9901 , 2
235
- )
159
+ np .testing .assert_almost_equal (values .evaluate (param .lambda_cn ), 6.7513 , 2 )
160
+ np .testing .assert_almost_equal (values .evaluate (param .lambda_n ), 0.0296 , 2 )
161
+ np .testing .assert_almost_equal (values .evaluate (param .lambda_s ), 0.0027 , 2 )
162
+ np .testing .assert_almost_equal (values .evaluate (param .lambda_p ), 0.0354 , 2 )
163
+ np .testing .assert_almost_equal (values .evaluate (param .lambda_cp ), 3.9901 , 2 )
236
164
237
165
# other thermal parameters
238
166
239
167
# note: in paper this is 0.0534 * c_rate which conflicts with this
240
168
# if we do C_th * c_rate we get 0.0534 so probably error in paper
241
169
# np.testing.assert_almost_equal(
242
- # values.process_symbol (param.C_th / c_rate).evaluate( ), 0.0253, 2
170
+ # values.evaluate (param.C_th / c_rate), 0.0253, 2
243
171
# )
244
172
245
- np .testing .assert_almost_equal (
246
- values .process_symbol (param .Theta / c_rate ).evaluate (), 0.008 , 2
247
- )
173
+ np .testing .assert_almost_equal (values .evaluate (param .Theta / c_rate ), 0.008 , 2 )
248
174
249
- np .testing .assert_almost_equal (
250
- values .process_symbol (param .h ).evaluate (), 3.7881 * 10 ** (- 5 ), 7
251
- )
175
+ np .testing .assert_almost_equal (values .evaluate (param .h ), 3.7881 * 10 ** (- 5 ), 7 )
252
176
253
177
# np.testing.assert_almost_equal(
254
- # values.process_symbol (param.B / c_rate).evaluate( ), 36.216, 2
178
+ # values.evaluate (param.B / c_rate), 36.216, 2
255
179
# )
256
180
257
- np .testing .assert_equal (values .process_symbol (param .T_init ). evaluate ( ), 0 )
181
+ np .testing .assert_equal (values .evaluate (param .T_init ), 0 )
258
182
259
183
# test timescale
260
184
# np.testing.assert_almost_equal(
261
- # values.process_symbol (param.tau_th_yz).evaluate( ), 1.4762 * 10 ** (3), 2
185
+ # values.evaluate (param.tau_th_yz), 1.4762 * 10 ** (3), 2
262
186
# )
263
187
264
188
# thermal = pybamm.thermal_parameters
265
189
# np.testing.assert_almost_equal(
266
- # values.process_symbol (thermal.rho_eff_dim).evaluate( ), 1.8116 * 10 ** (6), 2
190
+ # values.evaluate (thermal.rho_eff_dim), 1.8116 * 10 ** (6), 2
267
191
# )
268
192
# np.testing.assert_almost_equal(
269
- # values.process_symbol (thermal.lambda_eff_dim).evaluate( ), 59.3964, 2
193
+ # values.evaluate (thermal.lambda_eff_dim), 59.3964, 2
270
194
# )
271
195
272
196
def test_parameter_functions (self ):
@@ -276,17 +200,17 @@ def test_parameter_functions(self):
276
200
c_test = pybamm .Scalar (0.5 )
277
201
T_test = pybamm .Scalar (0 )
278
202
279
- values .process_symbol (param .U_n (c_test , T_test )). evaluate ( )
280
- values .process_symbol (param .U_p (c_test , T_test )). evaluate ( )
281
- values .process_symbol (param .dUdT_n (c_test )). evaluate ( )
282
- values .process_symbol (param .dUdT_p (c_test )). evaluate ( )
203
+ values .evaluate (param .U_n (c_test , T_test ))
204
+ values .evaluate (param .U_p (c_test , T_test ))
205
+ values .evaluate (param .dUdT_n (c_test ))
206
+ values .evaluate (param .dUdT_p (c_test ))
283
207
284
- values .process_symbol (param .D_p (c_test , T_test )). evaluate ( )
285
- values .process_symbol (param .D_n (c_test , T_test )). evaluate ( )
208
+ values .evaluate (param .D_p (c_test , T_test ))
209
+ values .evaluate (param .D_n (c_test , T_test ))
286
210
287
211
c_e_test = pybamm .Scalar (1 )
288
- values .process_symbol (param .D_e (c_e_test , T_test )). evaluate ( )
289
- values .process_symbol (param .kappa_e (c_e_test , T_test )). evaluate ( )
212
+ values .evaluate (param .D_e (c_e_test , T_test ))
213
+ values .evaluate (param .kappa_e (c_e_test , T_test ))
290
214
291
215
292
216
if __name__ == "__main__" :
0 commit comments