@@ -506,7 +506,7 @@ def _jac(self, variable):
506
506
"""
507
507
raise NotImplementedError
508
508
509
- def _base_evaluate (self , t = None , y = None , u = None ):
509
+ def _base_evaluate (self , t = None , y = None , y_dot = None , u = None ):
510
510
"""evaluate expression tree
511
511
512
512
will raise a ``NotImplementedError`` if this member function has not
@@ -520,7 +520,10 @@ def _base_evaluate(self, t=None, y=None, u=None):
520
520
time at which to evaluate (default None)
521
521
522
522
y : numpy.array, optional
523
- array to evaluate when solving (default None)
523
+ array with state values to evaluate when solving (default None)
524
+
525
+ y_dot : numpy.array, optional
526
+ array with time derivatives of state values to evaluate when solving (default None)
524
527
525
528
"""
526
529
raise NotImplementedError (
@@ -530,7 +533,7 @@ def _base_evaluate(self, t=None, y=None, u=None):
530
533
)
531
534
)
532
535
533
- def evaluate (self , t = None , y = None , u = None , known_evals = None ):
536
+ def evaluate (self , t = None , y = None , y_dot = None , u = None , known_evals = None ):
534
537
"""Evaluate expression tree (wrapper to allow using dict of known values).
535
538
If the dict 'known_evals' is provided, the dict is searched for self.id; if
536
539
self.id is in the keys, return that value; otherwise, evaluate using
@@ -541,7 +544,9 @@ def evaluate(self, t=None, y=None, u=None, known_evals=None):
541
544
t : float or numeric type, optional
542
545
time at which to evaluate (default None)
543
546
y : numpy.array, optional
544
- array to evaluate when solving (default None)
547
+ array with state values to evaluate when solving (default None)
548
+ y_dot : numpy.array, optional
549
+ array with time derivatives of state values to evaluate when solving (default None)
545
550
u : dict, optional
546
551
dictionary of inputs to use when solving (default None)
547
552
known_evals : dict, optional
@@ -556,10 +561,10 @@ def evaluate(self, t=None, y=None, u=None, known_evals=None):
556
561
"""
557
562
if known_evals is not None :
558
563
if self .id not in known_evals :
559
- known_evals [self .id ] = self ._base_evaluate (t , y , u )
564
+ known_evals [self .id ] = self ._base_evaluate (t , y , y_dot , u )
560
565
return known_evals [self .id ], known_evals
561
566
else :
562
- return self ._base_evaluate (t , y , u )
567
+ return self ._base_evaluate (t , y , y_dot , u )
563
568
564
569
def evaluate_for_shape (self ):
565
570
"""Evaluate expression tree to find its shape. For symbols that cannot be
0 commit comments