tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_scf_diag::diag_solver_type Type Referenceabstract

Abstract base class for electronic solvers. More...

Inheritance diagram for tblite_scf_diag::diag_solver_type:
tblite_scf_solver::solver_type tblite_lapack_sygvd::sygvd_solver tblite_lapack_sygvr::sygvr_solver

Public Member Functions

generic solve (self, hmat, smat, eval, error)
 
generic solve (self, hmat, smat, eval, error)
 
procedure(solve_sp), deferred solve_sp (self, hmat, smat, eval, error)
 
procedure(solve_dp), deferred solve_dp (self, hmat, smat, eval, error)
 
procedure get_density (self, hmat, smat, eval, focc, density, error)
 
procedure get_wdensity (self, hmat, smat, eval, focc, density, error)
 
procedure delete (self)
 Delete the solver instance.
 
- Public Member Functions inherited from tblite_scf_solver::solver_type
procedure(get_density), deferred get_density (self, hmat, smat, eval, focc, density, error)
 
procedure(get_density), deferred get_wdensity (self, hmat, smat, eval, focc, density, error)
 
procedure(delete), deferred delete (self)
 

Additional Inherited Members

- Data Fields inherited from tblite_scf_solver::solver_type
real(wp) kt
 Electronic temperature.
 
real(wp), dimension(:), allocatable nel
 Number of electrons per spin channel.
 

Detailed Description

Abstract base class for electronic solvers.

Member Function/Subroutine Documentation

◆ delete()

procedure tblite_scf_diag::diag_solver_type::delete ( class(diag_solver_type), intent(inout) self)

Delete the solver instance.

Parameters
[in,out]selfSolver for the general eigenvalue problem

◆ get_density()

procedure tblite_scf_diag::diag_solver_type::get_density ( class(diag_solver_type), intent(inout) self,
real(wp), dimension(:, :, :), intent(inout), contiguous hmat,
real(wp), dimension(:, :), intent(in), contiguous smat,
real(wp), dimension(:, :), intent(inout), contiguous eval,
real(wp), dimension(:, :), intent(inout), contiguous focc,
real(wp), dimension(:, :, :), intent(inout), contiguous density,
type(error_type), intent(out), allocatable error )
Parameters
[in,out]selfSolver for the general eigenvalue problem
[in]smatOverlap matrix
[in,out]hmatHamiltonian matrix, contains eigenvectors on output
[in,out]evalEigenvalues
[in,out]foccOccupation numbers
[in,out]densityDensity matrix
[out]errorError handling

◆ get_wdensity()

procedure tblite_scf_diag::diag_solver_type::get_wdensity ( class(diag_solver_type), intent(inout) self,
real(wp), dimension(:, :, :), intent(inout), contiguous hmat,
real(wp), dimension(:, :), intent(in), contiguous smat,
real(wp), dimension(:, :), intent(inout), contiguous eval,
real(wp), dimension(:, :), intent(inout), contiguous focc,
real(wp), dimension(:, :, :), intent(inout), contiguous density,
type(error_type), intent(out), allocatable error )
Parameters
[in,out]selfSolver for the general eigenvalue problem
[in]smatOverlap matrix
[in,out]hmatHamiltonian matrix containing eigenvectors from SCF
[in,out]evalEigenvalues
[in,out]foccOccupation numbers
[in,out]densityDensity matrix
[out]errorError handling

The documentation for this type was generated from the following file: