tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_wavefunction_type Module Reference

Declaration of a tight-binding wavefunction. More...

Data Types

type  wavefunction_type
 Tight-binding wavefunction. More...
 

Functions/Subroutines

subroutine, public new_wavefunction (self, nat, nsh, nao, nspin, kt, grad)
 
subroutine, public get_density_matrix (focc, coeff, pmat)
 
subroutine, public get_alpha_beta_occupation (nocc, nuhf, nalp, nbet)
 Split an real occupation number into alpha and beta space.
 

Detailed Description

Declaration of a tight-binding wavefunction.

Function/Subroutine Documentation

◆ get_alpha_beta_occupation()

subroutine, public tblite_wavefunction_type::get_alpha_beta_occupation ( real(wp), intent(in) nocc,
real(wp), intent(in) nuhf,
real(wp), intent(out) nalp,
real(wp), intent(out) nbet )

Split an real occupation number into alpha and beta space.

This routine does not perform any checks on the condition mod(nocc, 2) == 0 .eqv. mod(nuhf, 2) == 0 and will yield fractional occupations in case those condtions are not fullfilled. However, it will avoid creating negative occupation numbers.

◆ new_wavefunction()

subroutine, public tblite_wavefunction_type::new_wavefunction ( type(wavefunction_type), intent(out) self,
integer, intent(in) nat,
integer, intent(in) nsh,
integer, intent(in) nao,
integer, intent(in) nspin,
real(wp), intent(in) kt,
logical, intent(in), optional grad )
Parameters
[in]gradFlag to indicate if a wavefunction gradient is requested