davidson_neci Module



Contents


Variables

Type Visibility Attributes Name Initial
integer, public :: max_num_davidson_iters = 50
real(kind=dp), public :: residual_norm_target = 1e-7_dp

Derived Types

type, public ::  DavidsonCalcType

Components

Type Visibility Attributes Name Initial
type(HamiltonianCalcType), public :: super
real(kind=dp), public, allocatable, dimension(:, :) :: multiplied_basis_vectors
real(kind=dp), public, allocatable, dimension(:) :: davidson_eigenvector
real(kind=dp), public, allocatable, dimension(:) :: eigenvector_proj
real(kind=dp), public, allocatable, dimension(:) :: residual
real(kind=dp), public :: residual_norm
real(kind=dp), public :: davidson_eigenvalue
real(kind=dp), public, allocatable, dimension(:) :: temp_in
real(kind=dp), public, allocatable, dimension(:) :: temp_out

Functions

public function davidson_direct_ci_init() result(this)

Arguments

None

Return Value type(DavidsonCalcType)


Subroutines

public subroutine perform_davidson(this, hamil_type_in, print_info_in)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
integer, intent(in) :: hamil_type_in
logical, intent(in) :: print_info_in

public subroutine InitDavidsonCalc(this, print_info, hamil_type)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
logical, intent(in) :: print_info
integer, intent(in) :: hamil_type

public subroutine subspace_expansion(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine subspace_extraction(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine project_hamiltonian(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine calculate_residual(this, basis_index)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this
integer, intent(in) :: basis_index

public subroutine calculate_residual_norm(this)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this

public subroutine FreeDavidsonCalc(this)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this

public subroutine DestroyDavidsonCalc(this)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this

public subroutine davidson_direct_ci_end(this)

Arguments

Type IntentOptional Attributes Name
type(DavidsonCalcType), intent(inout) :: this