code: def run(self, **kwargs):
          
          ret = None
  
          # initialization Y matrix and inital guess
          self.pre()
          t, _ = elapsed()
  
          # call solution methods
          if self.config.method == 'NR':
              ret = self.newton()
          elif self.config.method == 'DCPF':
              ret = self.dcpf()
          elif self.config.method in ('FDPF', 'FDBX', 'FDXB'):
              ret = self.fdpf()
  
          self.post()
          _, s = elapsed(t)
  
          if self.solved:
              logger.info(' Solution converged in {} in {} iterations'.format(s, self.niter))
          else:
              logger.warning(' Solution failed in {} in {} iterations'.format(s,
                             self.niter))
          return ret
docs: call the power flow solution routine
  
          Returns
          -------
          bool
              True for success, False for fail