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.