tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
tblite_context_solver::context_solver Type Referenceabstract

Abstract base class for creating electronic solver instances. More...

Inheritance diagram for tblite_context_solver::context_solver:
tblite_lapack_solver::lapack_solver

Public Member Functions

procedure(new), deferred new (self, solver, overlap, nel, kt, comm)
 Create new instance of electronic solver.
procedure(delete), deferred delete (self, solver)
 Delete an electronic solver instance.
procedure distributed_columns (self, n, comm)
 Opt in only when the factory accepts column-distributed input matrices.

Detailed Description

Abstract base class for creating electronic solver instances.

Member Function/Subroutine Documentation

◆ delete()

procedure(delete), deferred tblite_context_solver::context_solver::delete ( class(context_solver), intent(inout) self,
class(solver_type), intent(inout), allocatable solver )
pure virtual

Delete an electronic solver instance.

Parameters
[in,out]selfInstance of the solver factory
[in,out]solverElectronic solver instance

◆ distributed_columns()

procedure tblite_context_solver::context_solver::distributed_columns ( class(context_solver), intent(in) self,
integer, intent(in) n,
integer, intent(in), optional comm )

Opt in only when the factory accepts column-distributed input matrices.

Parameters
[in]selfInstance of the solver factory
[in]nGlobal dimension of the eigenvalue problem
[in]commCommunicator for distributed matrices, if requested

◆ new()

procedure(new), deferred tblite_context_solver::context_solver::new ( class(context_solver), intent(inout) self,
class(solver_type), intent(out), allocatable solver,
real(wp), dimension(:, :), intent(in) overlap,
real(wp), dimension(:), intent(in) nel,
real(wp), intent(in) kt,
integer, intent(in), optional comm )
pure virtual

Create new instance of electronic solver.

Parameters
[in,out]selfInstance of the solver factory
[out]solverNew electronic solver
[in]overlapOverlap matrix
[in]ktElectronic temperature
[in]nelNumber of electrons per spin channel
[in]commCommunicator to distribute the diagonalization over, absent keeps it local

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