scf_conv_result Derived Type

type, public :: scf_conv_result

@brief Base type for SCF converger results @detail It is used by main SCF convergence driver scf_conv The extending type should provide the following interfaces: init : preliminary initialization of internal subconverger data clean : destructor setup : setting-up of the sub-converger equations, taking into the account the new data added in main SCF driver run : solving the equations, returns scf_conv_result datatype. Multiple subsequent calls to this procedure without re-running setup should not change internal state and have to give same results


Inherits

type~~scf_conv_result~~InheritsGraph type~scf_conv_result scf_conv_result type~converger_data converger_data type~scf_conv_result->type~converger_data dat

Components

Type Visibility Attributes Name Initial
integer, public :: ierr = 5
real(kind=dp), public :: error = 1.0e99_dp
type(converger_data), public, pointer :: dat => null()
character(len=conv_name_maxlen), public :: active_converger_name = ''

Type-Bound Procedures

procedure, public, pass :: get_fock => conv_result_dummy_get_fock

  • private subroutine conv_result_dummy_get_fock(self, matrix, istat)

    @brief Form the new Fock matrix

    Arguments

    Type IntentOptional Attributes Name
    class(scf_conv_result), intent(in) :: self
    real(kind=dp), intent(inout) :: matrix(:,:)
    integer, intent(out) :: istat

procedure, public, pass :: get_density => conv_result_dummy_get_density

  • private subroutine conv_result_dummy_get_density(self, matrix, istat)

    @brief Form the new density matrix

    Arguments

    Type IntentOptional Attributes Name
    class(scf_conv_result), intent(in) :: self
    real(kind=dp), intent(inout) :: matrix(:,:)
    integer, intent(out) :: istat