finitetemp Module

this module contains all subroutines related to finite temperature calculation



Functions

public function calculate_entropy(f_occ) result(ret)

function returns the electronic entropy -

Arguments

Type IntentOptional Attributes Name
real(kind=long), intent(in) :: f_occ(:)

Return Value real(kind=long)


Subroutines

public subroutine occ_broadening(p, f, temp)

washes out fractional occupation number for orbitals with simialr energy

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(wf_data), intent(inout) :: f
real(kind=long), intent(in) :: temp

public subroutine fermi_occupation(p, f, yes_initialize)

this subroutine return calculates the chemical potential such that we have sum(F%N_occ) electrons at temperature P%T_eV with orbital energies F%CE fractional occupations are saved in F%f_occ. by Ludger Inhester 26/11/2014 Kota Hanasaki : revision 1406 to adapt to low temperature 01/12/2014 Kota Hanasaki : revision 1413 fix initial guess Mar 2017 Ludger Inhester : cleaned up code, restricted it to obitals F%Ncore+1, choose better variable names if improvement is smaller than this, increase trial step v = TWO* sum( fermi( F%CE(:),T_AU, mu ) ) - Ne Convergence Check...

Arguments

Type IntentOptional Attributes Name
type(param), intent(in) :: p
type(wf_data), intent(inout) :: f
logical, optional :: yes_initialize