docs: def PartialDynamicSystem(self, ieq, variable):
          """
          returns dynamical system blocks associated to output variable
          """
  
          if ieq == 0:
  
              #            if variable==self.physical_nodes[0].variable:
              # print('1')
              #                # U1 is output
              #                # U1=i1/pC+U2
              #                Uc=Variable(hidden=True)
              #                block1=ODE(self.variables[0],Uc,[1],[0,self.C])
              #                sub1=Sum([self.physical_nodes[1].variable,Uc],variable)
              #                return [block1,sub1]
              #            elif variable==self.physical_nodes[1].variable:
              #                print('2')
              #                # U2 is output
              #                # U2=U1-i1/pC
              #                Uc=Variable(hidden=True)
              #                block1=ODE(self.variables[0],Uc,[-1],[0,self.C])
              #                sum1=Sum([self.physical_nodes[0].variable,Uc],variable)
              #                return [block1,sum1]
              if variable == self.variables[0]:  # i1=(u1-u2)/Lp
                  print('3')
                  # i1 is output
                  # i1=pC(U1-U2)
                  Uc = Variable(hidden=True)
                  subs1 = Subtraction(
                      self.physical_nodes[0].variable, self.physical_nodes[1].variable, Uc)
                  block1 = ODE(Uc, variable, [1], [0, self.L])
                  return [block1, subs1]
          elif ieq == 1:
              # i1=-i2
              if variable == self.variables[0]:
                  # i1 as output
                  return [Gain(self.variables[1], self.variables[0], -1)]
              elif variable == self.variables[1]:
                  # i2 as output
                  return [Gain(self.variables[0], self.variables[1], -1)]