|
SIRIUS 7.5.0
Electronic structure library and applications
|
The whole DFT ground state implementation. More...
#include <dft_ground_state.hpp>
Public Member Functions | |
| DFT_ground_state (K_point_set &kset__) | |
| Constructor. More... | |
| Simulation_context const & | ctx () const |
| Return reference to a simulation context. More... | |
| Hamiltonian0< double > & | get_H0 () const |
| Density & | density () |
| Potential & | potential () |
| K_point_set & | k_point_set () |
| Force & | forces () |
| Stress & | stress () |
| double | ewald_energy () const |
| double | scf_correction_energy () const |
| void | create_H0 () |
| double | total_energy () const |
| void | initial_state () |
| Generate initial density, potential and a subspace of wave-functions. More... | |
| void | update () |
| Update the parameters after the change of lattice vectors or atomic positions. More... | |
| json | find (double density_tol, double energy_tol, double initial_tolerance, int num_dft_iter, bool write_state) |
| Run the SCF ground state calculation and find a total energy minimum. More... | |
| void | print_info (std::ostream &out__) const |
| Print the basic information (total energy, charges, moments, etc.). More... | |
| double | energy_kin_sum_pw () const |
| json | serialize () |
| json | check_scf_density () |
| A quick check of self-constent density in case of pseudopotential. More... | |
Private Attributes | |
| Simulation_context & | ctx_ |
| Context of simulation. More... | |
| K_point_set & | kset_ |
| Set of k-points that are used to generate density. More... | |
| Unit_cell & | unit_cell_ |
| Alias of the unit cell. More... | |
| Potential | potential_ |
| Instance of the Potential class. More... | |
| Density | density_ |
| Instance of the Density class. More... | |
| Stress | stress_ |
| Lattice stress. More... | |
| Force | forces_ |
| Atomic forces. More... | |
| std::shared_ptr< Hamiltonian0< double > > | H0_ |
| k-point independent part of the Hamiltonian. More... | |
| double | ewald_energy_ {0} |
| Store Ewald energy which is computed once and which doesn't change during the run. More... | |
| double | scf_correction_energy_ {0} |
| Correction to total energy from the SCF density minimisation. More... | |
The whole DFT ground state implementation.
The DFT cycle consists of four basic steps: solution of the Kohn-Sham equations, summation of the occupied states in order to get a system's charge density and magnetization, mixing and finally gneneration of the effective potential and effective magnetic field.
Definition at line 44 of file dft_ground_state.hpp.
|
inline |
Constructor.
Definition at line 79 of file dft_ground_state.hpp.
|
inline |
Definition at line 93 of file dft_ground_state.hpp.
|
inline |
Return reference to a simulation context.
Definition at line 113 of file dft_ground_state.hpp.
|
inline |
Definition at line 118 of file dft_ground_state.hpp.
|
inline |
Definition at line 123 of file dft_ground_state.hpp.
|
inline |
Definition at line 128 of file dft_ground_state.hpp.
|
inline |
Definition at line 133 of file dft_ground_state.hpp.
|
inline |
Definition at line 138 of file dft_ground_state.hpp.
|
inline |
Definition at line 143 of file dft_ground_state.hpp.
|
inline |
Definition at line 148 of file dft_ground_state.hpp.
|
inline |
Definition at line 153 of file dft_ground_state.hpp.
| void sirius::DFT_ground_state::create_H0 | ( | ) |
Definition at line 57 of file dft_ground_state.cpp.
| double sirius::DFT_ground_state::total_energy | ( | ) | const |
Definition at line 110 of file dft_ground_state.cpp.
| void sirius::DFT_ground_state::initial_state | ( | ) |
Generate initial density, potential and a subspace of wave-functions.
Definition at line 34 of file dft_ground_state.cpp.
| void sirius::DFT_ground_state::update | ( | ) |
Update the parameters after the change of lattice vectors or atomic positions.
Definition at line 65 of file dft_ground_state.cpp.
| json sirius::DFT_ground_state::find | ( | double | density_tol, |
| double | energy_tol, | ||
| double | initial_tolerance, | ||
| int | num_dft_iter, | ||
| bool | write_state | ||
| ) |
Run the SCF ground state calculation and find a total energy minimum.
Definition at line 193 of file dft_ground_state.cpp.
| void sirius::DFT_ground_state::print_info | ( | std::ostream & | out__ | ) | const |
Print the basic information (total energy, charges, moments, etc.).
Definition at line 434 of file dft_ground_state.cpp.
| double sirius::DFT_ground_state::energy_kin_sum_pw | ( | ) | const |
Definition at line 80 of file dft_ground_state.cpp.
| json sirius::DFT_ground_state::serialize | ( | ) |
Definition at line 116 of file dft_ground_state.cpp.
| json sirius::DFT_ground_state::check_scf_density | ( | ) |
A quick check of self-constent density in case of pseudopotential.
Definition at line 123 of file dft_ground_state.cpp.
|
private |
Context of simulation.
Definition at line 48 of file dft_ground_state.hpp.
|
private |
Set of k-points that are used to generate density.
Definition at line 51 of file dft_ground_state.hpp.
|
private |
Alias of the unit cell.
Definition at line 54 of file dft_ground_state.hpp.
|
private |
Instance of the Potential class.
Definition at line 57 of file dft_ground_state.hpp.
|
private |
Instance of the Density class.
Definition at line 60 of file dft_ground_state.hpp.
|
private |
Lattice stress.
Definition at line 63 of file dft_ground_state.hpp.
|
private |
Atomic forces.
Definition at line 66 of file dft_ground_state.hpp.
|
private |
k-point independent part of the Hamiltonian.
Definition at line 69 of file dft_ground_state.hpp.
|
private |
Store Ewald energy which is computed once and which doesn't change during the run.
Definition at line 72 of file dft_ground_state.hpp.
|
private |
Correction to total energy from the SCF density minimisation.
Definition at line 75 of file dft_ground_state.hpp.