GeometryOptimizationModule Module

A Module For Geometry Optimization



Contents


Subroutines

public subroutine PurificationExtrapolate(PreviousDensity, Overlap, nel, 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 AttributesName
type(Matrix_ps), intent(in) :: PreviousDensity

Previous density to extrapolate from.

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

The overlap matrix of the new geometry.

integer, intent(in) :: nel

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 AttributesName
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