docs: def PartialDynamicSystem(self, ieq, variable):
          """
          returns dynamical system blocks associated to output variable
          """
  #        print(ieq,variable.name)
          if ieq == 0:
              # U1-U2=R(i1)
              if variable == self.physical_nodes[0].variable:
                  # U1 is output
                  # U1=R(i1)+U2
                  return [WeightedSum([self.physical_nodes[1].variable, self.variables[0]], variable, [1, self.R])]
              elif variable == self.physical_nodes[1].variable:
                  # U2 is output
                  # U2=-R(i1)+U2
                  return [WeightedSum([self.physical_nodes[0].variable, self.variables[0]], variable, [1, -self.R])]
              elif variable == self.variables[0]:
                  # i1 is output
                  # i1=(U1-U2)/R
                  return [WeightedSum([self.physical_nodes[0].variable, self.physical_nodes[1].variable], variable, [1/self.R, -1/self.R])]
          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)]