[Octopus-devel] stupid bug?
Miguel Marques
Miguel.Marques at tddft.org
Fri Mar 7 12:42:36 WET 2008
Hi everyone,
I think I discovered a (serious and stupid) bug. It has to do with the
units in the stopping parameters of the SCF. It is very easy to solve,
but we have to decide what is the right way of doing it. Let me explain:
abs_den = int( (rho_i - rho_o)^2 )
therefore, it has units of length^-3
rel_den = 1/N abs_den
again, units of length^-3
abs_ev = sum( |ev_i - ev_o| )
units of energy
rel_ev = abs_ev / sum(ev_o)
dimensionless
abs_forces
units of force
rel_forces
dimensionless
To my surprise I found that in octopus we do not convert the inputs of
these variables, i.e., we are effectively using atomic units for all of
them (someone can check it independently?)!!!! To change that is
trivial, of course, but I also believe that the definition of abs_den is
a bit weird. Wouldn't it be better:
abs_den = int( |rho_i - rho_o|^2 )
This definition is dimensionless, and I don't see why it should be worse
than the previous one.
In any case, I guess that a lot of tests will change due to the
different stopping criterion... Let me know what you think is best to do...
cheers,
Miguel
--
Dr. Miguel A. L. Marques
marques at tddft.org
Laboratoire de Physique de la Matière Condensée et Nanostructures
(LPMCN) - Université Lyon I
Bâtiment Brillouin, Domaine scientifique de la DOUA
69622 Villeurbanne Cedex
Tel +33 (0)4 72448187
Fax +33 (0)4 72432648
More information about the Octopus-devel
mailing list