@@ -242,13 +242,15 @@ def _base_evaluate(self, t=None, y=None, y_dot=None, u=None):
242
242
return out
243
243
244
244
def diff (self , variable ):
245
+ if variable .id == self .id :
246
+ return pybamm .Scalar (1 )
245
247
if variable .id == pybamm .t .id :
246
248
return StateVectorDot (* self ._y_slices , name = self .name + "'" ,
247
249
domain = self .domain ,
248
250
auxiliary_domains = self .auxiliary_domains ,
249
251
evaluation_array = self .evaluation_array )
250
252
else :
251
- raise NotImplementedError
253
+ return pybamm . Scalar ( 0 )
252
254
253
255
def _jac (self , variable ):
254
256
if isinstance (variable , pybamm .StateVector ):
@@ -307,12 +309,14 @@ def _base_evaluate(self, t=None, y=None, y_dot=None, u=None):
307
309
return out
308
310
309
311
def diff (self , variable ):
310
- if variable .id == pybamm .t .id :
312
+ if variable .id == self .id :
313
+ return pybamm .Scalar (1 )
314
+ elif variable .id == pybamm .t .id :
311
315
raise pybamm .ModelError (
312
316
"cannot take second time derivative of a state vector"
313
317
)
314
318
else :
315
- raise NotImplementedError
319
+ return pybamm . Scalar ( 0 )
316
320
317
321
def _jac (self , variable ):
318
322
if isinstance (variable , pybamm .StateVectorDot ):
0 commit comments