This thread is locked.Only browsing is available.
Top Page > Browsing
Electronic entropy appears to be missing
Date: 2017/06/17 07:58
Name: Chris Latham

Greetings,

I have been digging through the OpenMX source code to try and work out what it actually does, and how it works. In addition to my previous post on the Land\'e g-factor of electrons when calculating magnetic moments in Bohr magneton units <http://www.openmx-square.org/forum/patio.cgi?mode=view&no=2218> I have failed to find where the electronic entropy term for the total energy is calculated. Also, the term does not appear in the energy decomposition shown before the line

Utot = Ukin+UH0+UH1+Una+Unl+Uxc0+Uxc1+Ucore+Uhub+Ucs+Uzs+Uzo+Uef+UvdW

in the main results file. If scf.ElectronicTemperature > 0.0 then the electronic entropy term needs to be calculated and included in the total energy.

Has the electronic entropy been included somewhere, or has it been unintentionally omitted? Please let me know, and I would appreciate an answer to my earlier Land\'e g-factor query as well.

Thank you,

Christopher Latham.
メンテ
Page: [1]

Re: Electronic entropy appears to be missing ( No.1 )
Date: 2017/06/19 02:40
Name: Kylin

Dear Chris

I think there is no implementation for electronic entropy calculation in openmx. Scf.ElectronicTemperature in openmx could be regarded as some kinds of smearing function for gapless system (e.g. metal). Thus whether you choose Fermi-Dirac function or Guassian function or Methfessel-Paxton Hermite polynomial function, all the mentioned smearing function could be regarded as "a numerical trick" to stabilize the DFT calculation [JCP 145, 220901 (2016)].

Of course, we can choose the FD function with a physical meaning to calculate the electronic entropy terms. But I didn't think we need to to take it.

Cheers
Kylin
メンテ
Re: Electronic entropy appears to be missing ( No.2 )
Date: 2017/06/19 04:35
Name: Chris Latham

Hello Kylin (et al.),

In fact, the electronic entropy term *should* be included, and this is the usual practice in other DFT packages.

It is quite simple to implement. In the article you cited [doi: 10.1063/1.4972007], equations 6 and 7 give the entropy at each k-point, which needs to be multiplied by the appropriate weighting for the k-point, summed over all the k-points and eigenvalues, and add up the total energy with the -TS term, as in equation 8, at the end of the SCF calculation. In other words, for a Fermi-Dirac distribution, one needs something like,

S[i,j] = -k*w[i]*(p[j]*log(p[j])+(1.0-p[j])*log(1.0-p[j]);

where S[i,j] is the contribution to the entropy at k-point i, from each state, j, with occupancy p[j] calculated from the FD-function for the eigenvalue of j, and w[i] is the weighting of the k-point i. Obviously, one would actually code this as a double loop over i and j including spins, and multiply by -k afterwards, to get a total entropy, S. Also, one can use the fact that p[j]=1.0 for more than a few kT below the electron chemical potential, and p[j]=0.0 for more than a few kT above it, to speed things up.

So, yes, a smearing function is indeed a well-known old trick to stabilize SCF calculations, but the entropy term then does need to be included in the total energy.

Thank you,

Christopher.
メンテ

Page: [1]