Fix gle - noneq matrix units

Dear LAMMPS users and developers, I have a question concerning the "fix gle" command.

I am feeding this fix with the matrices generated by the official website "GLE 4 MD" http://gle4md.org/index.html?page=matrix&kind=quantum&parset=50_6&temp=13&utemp=k&outmode=raw&aunits=ps&cunits=ev (I am using the quantum thermostat options).
For what regards the A matrix, everything is fine; but I am finding some problems with the noneq keyword and the related C matrix. In fact, I am using metal units for the simulations and I do therefore expect to use energies in eV. But the simulation produces wrong outputs (in particular, wrong temperatures) if I use a C matrix with entries expressed in eV. If I use a C matrix whose entries are in Kelvin, instead, everything seems to be correct.
In which units should be expressed the C matrix, then? Temperature or energies? The papers describing the GLE thermostat seem to suggest the usage of energy units, but LAMMPS appears to be requiring temeprature units...

Thanks in advance

Francesco Mambretti

Dear LAMMPS users and developers, I have a question concerning the "fix
gle" command.

I am feeding this fix with the matrices generated by the official
website "GLE 4 MD"
http://gle4md.org/index.html?page=matrix&kind=quantum&
parset=50_6&temp=13&utemp=k&outmode=raw&aunits=ps&cunits=ev
(I am using the quantum thermostat options).
For what regards the A matrix, everything is fine; but I am finding some
problems with the noneq keyword and the related C matrix. In fact, I am
using metal units for the simulations and I do therefore expect to use
energies in eV. But the simulation produces wrong outputs (in
particular, wrong temperatures) if I use a C matrix with entries
expressed in eV. If I use a C matrix whose entries are in Kelvin,
instead, everything seems to be correct.
In which units should be expressed the C matrix, then? Temperature or
energies? The papers describing the GLE thermostat seem to suggest the
usage of energy units, but LAMMPS appears to be requiring temeprature
units...

​i think for such a specific question, you need to contact the fix gle
developers​ (cc'd).

axel.

Dear Francesco,
You are correct, the C matrix is expected to be in temperature units, although in other codes I have implemented this assuming C to be in energy units. I was finding in general that it makes it somewhat easier to interpret since then the Cpp entry tells you the target temperature for zero-frequency modes. Note BTW that if you use a proper noneq C, your temperature will not reflect the ensemble T, but you seem to be aware of this.
I will update the documentation to clarify this point. Thanks for raising the issue, and also thanks to Axel for forwarding your query to me. Axel, I have attached the updated fix_gle.txt – let me know if you’d rather have me file a pull request, this is so minimal that seems faster for both of us to go this way.
Cheers,
Michele

fix_gle.txt (6.62 KB)