GeometryOptimizationModule Module

A Module For Geometry Optimization



Contents


Subroutines

public subroutine PurificationExtrapolate(PreviousDensity, Overlap, trace, NewDensity, solver_parameters_in)

Create a new guess at the Density Matrix after updating the geometry. Based on the purification algorithm in \cite niklasson2010trace .

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: PreviousDensity

Previous density to extrapolate from.

type(Matrix_ps), intent(in) :: Overlap

The overlap matrix of the new geometry.

real(kind=NTREAL), intent(in) :: trace

The trace of the density matrix (usually the number of electrons).

type(Matrix_ps), intent(inout) :: NewDensity

The extrapolated density.

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for the solver

public subroutine LowdinExtrapolate(PreviousDensity, OldOverlap, NewOverlap, NewDensity, solver_parameters_in)

Create a new guess at the Density Matrix after updating the geometry. Based on the lowdin algorithm in \cite exner2002comparison .

Arguments

Type IntentOptional Attributes Name
type(Matrix_ps), intent(in) :: PreviousDensity

THe previous density to extrapolate from.

type(Matrix_ps), intent(in) :: OldOverlap

The old overlap matrix from the previous geometry.

type(Matrix_ps), intent(in) :: NewOverlap

The new overlap matrix from the current geometry.

type(Matrix_ps), intent(inout) :: NewDensity

The extrapolated density.

type(SolverParameters_t), intent(in), optional :: solver_parameters_in

Parameters for the solver