@@ -63,7 +63,7 @@ def eval_f(self, u, t):
6363
6464 t_switch = np .inf if self .t_switch is None else self .t_switch
6565
66- if u [1 ] <= self .params .V_ref or t >= t_switch :
66+ if u [1 ] <= self .params .V_ref [ 0 ] or t >= t_switch :
6767 f .expl [0 ] = self .params .Vs / self .params .L
6868
6969 else :
@@ -88,11 +88,11 @@ def solve_system(self, rhs, factor, u0, t):
8888
8989 t_switch = np .inf if self .t_switch is None else self .t_switch
9090
91- if rhs [1 ] <= self .params .V_ref or t >= t_switch :
91+ if rhs [1 ] <= self .params .V_ref [ 0 ] or t >= t_switch :
9292 self .A [0 , 0 ] = - (self .params .Rs + self .params .R ) / self .params .L
9393
9494 else :
95- self .A [1 , 1 ] = - 1 / (self .params .C * self .params .R )
95+ self .A [1 , 1 ] = - 1 / (self .params .C [ 0 ] * self .params .R )
9696
9797 me = self .dtype_u (self .init )
9898 me [:] = np .linalg .solve (np .eye (self .params .nvars ) - factor * self .A , rhs )
@@ -113,7 +113,7 @@ def u_exact(self, t):
113113 me = self .dtype_u (self .init )
114114
115115 me [0 ] = 0.0 # cL
116- me [1 ] = self .params .alpha * self .params .V_ref # vC
116+ me [1 ] = self .params .alpha * self .params .V_ref [ 0 ] # vC
117117
118118 return me
119119
@@ -135,12 +135,12 @@ def get_switching_info(self, u, t):
135135 m_guess = - 100
136136
137137 for m in range (len (u )):
138- if u [m ][1 ] - self .params .V_ref <= 0 :
138+ if u [m ][1 ] - self .params .V_ref [ 0 ] <= 0 :
139139 switch_detected = True
140140 m_guess = m - 1
141141 break
142142
143- vC_switch = [u [m ][1 ] - self .params .V_ref for m in range (1 , len (u ))] if switch_detected else []
143+ vC_switch = [u [m ][1 ] - self .params .V_ref [ 0 ] for m in range (1 , len (u ))] if switch_detected else []
144144
145145 return switch_detected , m_guess , vC_switch
146146
@@ -193,12 +193,12 @@ def eval_f(self, u, t):
193193
194194 t_switch = np .inf if self .t_switch is None else self .t_switch
195195
196- if u [1 ] <= self .params .V_ref or t >= t_switch :
196+ if u [1 ] <= self .params .V_ref [ 0 ] or t >= t_switch :
197197 self .A [0 , 0 ] = - (self .params .Rs + self .params .R ) / self .params .L
198198 non_f [0 ] = self .params .Vs
199199
200200 else :
201- self .A [1 , 1 ] = - 1 / (self .params .C * self .params .R )
201+ self .A [1 , 1 ] = - 1 / (self .params .C [ 0 ] * self .params .R )
202202 non_f [0 ] = 0
203203
204204 f [:] = self .A .dot (u ) + non_f
@@ -224,12 +224,12 @@ def solve_system(self, rhs, factor, u0, t):
224224
225225 t_switch = np .inf if self .t_switch is None else self .t_switch
226226
227- if rhs [1 ] <= self .params .V_ref or t >= t_switch :
227+ if rhs [1 ] <= self .params .V_ref [ 0 ] or t >= t_switch :
228228 self .A [0 , 0 ] = - (self .params .Rs + self .params .R ) / self .params .L
229229 non_f [0 ] = self .params .Vs
230230
231231 else :
232- self .A [1 , 1 ] = - 1 / (self .params .C * self .params .R )
232+ self .A [1 , 1 ] = - 1 / (self .params .C [ 0 ] * self .params .R )
233233 non_f [0 ] = 0
234234
235235 # start newton iteration
0 commit comments