![]() |
(git:4a2d255)
|
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.