Skip to content
  • giannozz's avatar
    Minor and not-so-minor bugs and bugs-not-bugs: · d1bb578d
    giannozz authored
    - unused array mexx0 was allocated and never deallocated (noticed by
      Massimiaino Fatica)
    - a temporary variable was not correctly initialized (most compilers set
      initial values to zero but this is not guaranteed)
    - occupancies of Hubbard manifold (variable "ns") were computed independently
      on all processors, but their consistency was not ensured. Now there is a
      broadcast in "new_ns" that ensures consistency. While not a bug in principle,
      in practice this could lead to small divergencies buiding up between the
      ns on different processors, leading to small divergences of the
      self-consistency error (dr2), leading to small divergencies of the
      diagonalization threshold (ethr), leading to different numbers of
      unconverged eigenvalues on different processors, leading to mysterious MPI
      crashes. I am not sure about the origin of the divergence, but broadcasting
      ns seems to fix the problem.
    d1bb578d