55from scipy .integrate import cumulative_trapezoid
66import xarray as xr
77import bisect
8+ from pybammsolvers import idaklu
89
910
1011class ProcessedVariable :
@@ -140,13 +141,13 @@ def _setup_cpp_inputs(self, t, full_range):
140141
141142 is_f_contiguous = _is_f_contiguous (ys )
142143
143- ts = pybamm . solvers . idaklu_solver . idaklu .VectorRealtypeNdArray (ts )
144- ys = pybamm . solvers . idaklu_solver . idaklu .VectorRealtypeNdArray (ys )
144+ ts = idaklu .VectorRealtypeNdArray (ts )
145+ ys = idaklu .VectorRealtypeNdArray (ys )
145146 if self .hermite_interpolation :
146- yps = pybamm . solvers . idaklu_solver . idaklu .VectorRealtypeNdArray (yps )
147+ yps = idaklu .VectorRealtypeNdArray (yps )
147148 else :
148149 yps = None
149- inputs = pybamm . solvers . idaklu_solver . idaklu .VectorRealtypeNdArray (inputs )
150+ inputs = idaklu .VectorRealtypeNdArray (inputs )
150151
151152 # Generate the serialized C++ functions only once
152153 funcs_unique = {}
@@ -164,9 +165,7 @@ def _observe_hermite_cpp(self, t):
164165
165166 ts , ys , yps , funcs , inputs , _ = self ._setup_cpp_inputs (t , full_range = False )
166167 shapes = self ._shape (t )
167- return pybamm .solvers .idaklu_solver .idaklu .observe_hermite_interp (
168- t , ts , ys , yps , inputs , funcs , shapes
169- )
168+ return idaklu .observe_hermite_interp (t , ts , ys , yps , inputs , funcs , shapes )
170169
171170 def _observe_raw_cpp (self ):
172171 pybamm .logger .debug ("Observing the variable raw data in C++" )
@@ -176,9 +175,7 @@ def _observe_raw_cpp(self):
176175 )
177176 shapes = self ._shape (self .t_pts )
178177
179- return pybamm .solvers .idaklu_solver .idaklu .observe (
180- ts , ys , inputs , funcs , is_f_contiguous , shapes
181- )
178+ return idaklu .observe (ts , ys , inputs , funcs , is_f_contiguous , shapes )
182179
183180 def _observe_raw_python (self ):
184181 raise NotImplementedError # pragma: no cover
0 commit comments