I'm having trouble resolving the energy output in SIESTA, specifically that
it seems to violate the virial theorem. The virial theorem requires that the
EXACT solution must satisfy kinetic energy = - total energy, but I'm not
getting anywhere close to that.
Below is the energy output of an optimization I ran:
Final energy (eV):
Kinetic = 5497.928558
Hartree = 2350.057707
Ext. field = 0.000000
Exch.-corr. = -1786.932583
Ion-electron = -9917.735789
Ion-ion = -3791.753153
Ekinion = 0.000000
Total = -7648.435261
The relaxation runs fine and the relaxed coordinates are good, but as you
can see there is a discrepency of ~2000 eV (or about 30%) between Kinetic
and -Total.
Am I missing something?
Thanks,
Ben
*************************************
#General system specifications
SystemName Olivine
SystemLabel Ol
NumberOfAtoms 28
NumberOfSpecies 3
%block ChemicalSpeciesLabel
1 12 Mg # Species index, atomic number, species label
2 14 Si # Species index, atomic number, species label
3 8 O # Species index, atomic number, species label
%endblock ChemicalSpeciesLabel
AtomicCoordinatesFormat Ang
%block LatticeVectors
4.6300 0.00000 0.00000
0.0000 9.96000 0.00000
0.0000 0.00000 5.98000
%endblock LatticeVectors
%block AtomicCoordinatesAndAtomicSpecies
28 atom coordinates, etc.
%endblock AtomicCoordinatesAndAtomicSpecies
%block GeometryConstraints
position 1
%endblock GeometryConstraints
%block PAO.Basis
bases from the SIESTA database
%endblock PAO.Basis
XC.Functional LDA
XC.Authors CA
MeshCutoff 300.0 Ry
MaxSCFIterations 600
DM.MixingWeight 0.01
MD.TypeOfRun CG
MD.NumCGSteps 600
MD.VariableCell
SolutionMethod diagon
AtomCoorFormatOut Ang
MD.MaxForceTol 0.004 ev/Ang
DM.Tolerance 1.d-4
DM.EnergyTolerance 1.d-4 ev
MD.MaxCGDispl 0.000635 Ang
WriteForces .true.