![]() |
(git:b77b4be)
|
Optimizer for the atomic code. More...
Data Types | |
type | atom_history_type |
Functions/Subroutines | |
pure subroutine, public | atom_history_init (history, optimization, matrix) |
Initialise a circular buffer to keep Kohn-Sham and density matrices from previous iteration. | |
pure subroutine, public | atom_history_update (history, pmat, fmat, emat, energy, error) |
Add matrices from the current iteration into the circular buffer. | |
pure subroutine, public | atom_history_release (history) |
Release circular buffer to keep historic matrices. | |
subroutine, public | atom_opt_fmat (fmat, history, err) |
Construct a Kohn-Sham matrix for the next iteration based on the historic data. | |
Optimizer for the atomic code.
pure subroutine, public atom_optimization::atom_history_init | ( | type(atom_history_type), intent(inout) | history, |
type(atom_optimization_type), intent(in) | optimization, | ||
real(dp), dimension(:, :, :), intent(in) | matrix | ||
) |
Initialise a circular buffer to keep Kohn-Sham and density matrices from previous iteration.
history | object to initialise |
optimization | optimisation parameters |
matrix | reference matrix. Historic matrices will have the same size as this reference matrix |
Definition at line 55 of file atom_optimization.F.
pure subroutine, public atom_optimization::atom_history_update | ( | type(atom_history_type), intent(inout) | history, |
real(dp), dimension(:, :, :), intent(in) | pmat, | ||
real(dp), dimension(:, :, :), intent(in) | fmat, | ||
real(dp), dimension(:, :, :), intent(in) | emat, | ||
real(dp), intent(in) | energy, | ||
real(dp), intent(in) | error | ||
) |
Add matrices from the current iteration into the circular buffer.
history | object to keep historic matrices |
pmat | density matrix |
fmat | Kohn-Sham matrix |
emat | error matrix |
energy | total energy |
error | convergence |
Definition at line 102 of file atom_optimization.F.
pure subroutine, public atom_optimization::atom_history_release | ( | type(atom_history_type), intent(inout) | history | ) |
Release circular buffer to keep historic matrices.
history | object to release |
Definition at line 131 of file atom_optimization.F.
subroutine, public atom_optimization::atom_opt_fmat | ( | real(dp), dimension(:, :, :), intent(inout) | fmat, |
type(atom_history_type), intent(inout) | history, | ||
real(dp), intent(in) | err | ||
) |
Construct a Kohn-Sham matrix for the next iteration based on the historic data.
fmat | new Kohn-Sham matrix |
history | historic matrices |
err | convergence |
Definition at line 170 of file atom_optimization.F.