- 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.
impossible clashes with LIBS as defined by the OS or as used by the configure's
of external libraries (e.g. FoX, for which one such problem has been reported)
after the proliferarion of modules and libraries, I have collected into a
single variable BASEMOD_FLAGS, defined in make.inc, the list of directories
for modules, to be included by all codes. IMPORTANT NOTICE: re-run "configure",
the new Makefiles work in conjunction with the new make.inc