Documentation for module almo_scf_diis_types

A DIIS implementation for the ALMO-based SCF methods

source: almo_scf_diis_types.F
Loading...

public Types:

almo_scf_diis_type
...

Generic procedures:

almo_scf_diis_init

public Subroutines/Functions:

extrapolates the variable using the saved history
adds a variable-error pair to the diis structure
destroys the diis structure

public Types:

TYPE :: almo_scf_diis_type

...


INTEGER
:: diis_env_type ...
INTEGER
:: buffer_length ...
INTEGER
:: max_buffer_length ...
TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: m_var ...
TYPE(dbcsr_type),
DIMENSION(:), ALLOCATABLE :: m_err ...
DIMENSION(:,:), ALLOCATABLE :: d_var ...
DIMENSION(:,:), ALLOCATABLE :: d_err ...
DIMENSION(:), ALLOCATABLE :: m_b ...
INTEGER
:: in_point ...
INTEGER
:: error_type ...


Generic procedure almo_scf_diis_init

initializes the diis structure

INTENT(inout)
:: diis_env × ×
TYPE(dbcsr_type),
INTENT(in)
:: sample_err ×
INTENT(in)
:: sample_err(:) ×
TYPE(dbcsr_type),
INTENT(in)
:: sample_var ×
INTEGER,
INTENT(in)
:: error_type × ×
INTEGER,
INTENT(in)
:: max_length × ×

SUBROUTINEalmo_scf_diis_extrapolate(diis_env, extr_var, d_extr_var)

extrapolates the variable using the saved history

Arguments:
INTENT(inout)
:: diis_env ...
TYPE(dbcsr_type),
INTENT(inout),
OPTIONAL
:: extr_var ...
INTENT(inout),
OPTIONAL
:: d_extr_var(:) ...

SUBROUTINEalmo_scf_diis_push(diis_env, var, err, d_var, d_err)

adds a variable-error pair to the diis structure

Arguments:
INTENT(inout)
:: diis_env ...
TYPE(dbcsr_type),
INTENT(in),
OPTIONAL
:: var ...
TYPE(dbcsr_type),
INTENT(in),
OPTIONAL
:: err ...
INTENT(in),
OPTIONAL
:: d_var(:) ...
INTENT(in),
OPTIONAL
:: d_err(:) ...

SUBROUTINEalmo_scf_diis_release(diis_env)

destroys the diis structure

Arguments:
INTENT(inout)
:: diis_env ...

SUBROUTINEalmo_scf_diis_init_dbcsr(diis_env, sample_err, sample_var, error_type, max_length)

initializes the diis structure

Arguments:
INTENT(inout)
:: diis_env ...
TYPE(dbcsr_type),
INTENT(in)
:: sample_err ...
TYPE(dbcsr_type),
INTENT(in)
:: sample_var ...
INTEGER,
INTENT(in)
:: error_type ...
INTEGER,
INTENT(in)
:: max_length ...

SUBROUTINEalmo_scf_diis_init_domain(diis_env, sample_err, error_type, max_length)

initializes the diis structure

Arguments:
INTENT(inout)
:: diis_env ...
INTENT(in)
:: sample_err(:) ...
INTEGER,
INTENT(in)
:: error_type ...
INTEGER,
INTENT(in)
:: max_length ...