SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Private Attributes | List of all members
sirius::config_t::parameters_t Class Reference

Parameters of the simulation. More...

#include <config.hpp>

Public Member Functions

 parameters_t (nlohmann::json &dict__)
 
auto electronic_structure_method () const
 Type of electronic structure method. More...
 
void electronic_structure_method (std::string electronic_structure_method__)
 
auto xc_functionals () const
 List of XC functionals (typically contains exchange term and correlation term). More...
 
void xc_functionals (std::vector< std::string > xc_functionals__)
 
auto core_relativity () const
 Type of core-states relativity in full-potential LAPW case. More...
 
void core_relativity (std::string core_relativity__)
 
auto valence_relativity () const
 Type of valence states relativity in full-potential LAPW case. More...
 
void valence_relativity (std::string valence_relativity__)
 
auto num_bands () const
 Number of bands. More...
 
void num_bands (int num_bands__)
 
auto num_fv_states () const
 Number of first-variational states. More...
 
void num_fv_states (int num_fv_states__)
 
auto smearing_width () const
 Width of the smearing delta-function in the units of [Ha]. More...
 
void smearing_width (double smearing_width__)
 
auto smearing () const
 Type of occupancy smearing. More...
 
void smearing (std::string smearing__)
 
auto pw_cutoff () const
 Cutoff for plane-waves (for density and potential expansion) in the units of [a.u.^-1]. More...
 
void pw_cutoff (double pw_cutoff__)
 
auto aw_cutoff () const
 Cutoff for augmented-wave functions. More...
 
void aw_cutoff (double aw_cutoff__)
 
auto gk_cutoff () const
 Cutoff for |G+k| plane-waves in the units of [a.u.^-1]. More...
 
void gk_cutoff (double gk_cutoff__)
 
auto lmax_apw () const
 Maximum l for APW functions. More...
 
void lmax_apw (int lmax_apw__)
 
auto lmax_rho () const
 Maximum l for density expansion in real spherical harmonics. More...
 
void lmax_rho (int lmax_rho__)
 
auto lmax_pot () const
 Maximum l for potential expansion in real spherical harmonics. More...
 
void lmax_pot (int lmax_pot__)
 
auto num_mag_dims () const
 Number of dimensions of the magnetization and effective magnetic field vector. More...
 
void num_mag_dims (int num_mag_dims__)
 
auto auto_rmt () const
 A choice of scaleing muffin-tin radii automatically. More...
 
void auto_rmt (int auto_rmt__)
 
auto ngridk () const
 Regular k-point grid for the SCF ground state. More...
 
void ngridk (std::array< int, 3 > ngridk__)
 
auto shiftk () const
 Shift in the k-point grid. More...
 
void shiftk (std::array< int, 3 > shiftk__)
 
auto vk () const
 Specific list of k-point coordinates. More...
 
void vk (std::vector< std::array< double, 3 > > vk__)
 
auto num_dft_iter () const
 Number of SCF iterations. More...
 
void num_dft_iter (int num_dft_iter__)
 
auto energy_tol () const
 Tolerance in total energy change (in units of [Ha]). More...
 
void energy_tol (double energy_tol__)
 
auto density_tol () const
 Tolerance for the density mixing. More...
 
void density_tol (double density_tol__)
 
auto molecule () const
 True if this is a molecule calculation. More...
 
void molecule (bool molecule__)
 
auto gamma_point () const
 True if gamma-point (real) version of the PW code is used. More...
 
void gamma_point (bool gamma_point__)
 
auto so_correction () const
 True if spin-orbit correction is applied. More...
 
void so_correction (bool so_correction__)
 
auto hubbard_correction () const
 True if Hubbard U correction is applied. More...
 
void hubbard_correction (bool hubbard_correction__)
 
auto use_symmetry () const
 True if symmetry is used. More...
 
void use_symmetry (bool use_symmetry__)
 
auto use_ibz () const
 Use irreducible Brillouin zone. More...
 
void use_ibz (bool use_ibz__)
 
auto nn_radius () const
 Radius of atom nearest-neighbour cluster. More...
 
void nn_radius (double nn_radius__)
 
auto reduce_aux_bf () const
 Reduction of the auxiliary magnetic field at each SCF step. More...
 
void reduce_aux_bf (double reduce_aux_bf__)
 
auto extra_charge () const
 Introduce extra charge to the system. Positive charge means extra holes, negative charge - extra electrons. More...
 
void extra_charge (double extra_charge__)
 
auto xc_dens_tre () const
 XC density threshold (debug purposes). More...
 
void xc_dens_tre (double xc_dens_tre__)
 
auto use_scf_correction () const
 True if SCF correction to total energy should be computed. More...
 
void use_scf_correction (bool use_scf_correction__)
 
auto precision_wf () const
 The floating point precision of the Kohn-Sham wave-functions. More...
 
void precision_wf (std::string precision_wf__)
 
auto precision_hs () const
 The floating point precision of the Hamiltonian subspace matrices. More...
 
void precision_hs (std::string precision_hs__)
 
auto precision_gs () const
 The final floating point precision of the ground state DFT calculation (dev options). More...
 
void precision_gs (std::string precision_gs__)
 

Private Attributes

nlohmann::json & dict_
 

Detailed Description

Parameters of the simulation.

Most of this parameters control the behavior of high-level classes like sirius::DFT_ground_state.

Definition at line 908 of file config.hpp.

Constructor & Destructor Documentation

◆ parameters_t()

sirius::config_t::parameters_t::parameters_t ( nlohmann::json &  dict__)
inline

Definition at line 911 of file config.hpp.

Member Function Documentation

◆ electronic_structure_method() [1/2]

auto sirius::config_t::parameters_t::electronic_structure_method ( ) const
inline

Type of electronic structure method.

Definition at line 916 of file config.hpp.

◆ electronic_structure_method() [2/2]

void sirius::config_t::parameters_t::electronic_structure_method ( std::string  electronic_structure_method__)
inline

Definition at line 920 of file config.hpp.

◆ xc_functionals() [1/2]

auto sirius::config_t::parameters_t::xc_functionals ( ) const
inline

List of XC functionals (typically contains exchange term and correlation term).

Naming convention of LibXC is used, names should be provided in capital letters.

Definition at line 931 of file config.hpp.

◆ xc_functionals() [2/2]

void sirius::config_t::parameters_t::xc_functionals ( std::vector< std::string >  xc_functionals__)
inline

Definition at line 935 of file config.hpp.

◆ core_relativity() [1/2]

auto sirius::config_t::parameters_t::core_relativity ( ) const
inline

Type of core-states relativity in full-potential LAPW case.

Definition at line 943 of file config.hpp.

◆ core_relativity() [2/2]

void sirius::config_t::parameters_t::core_relativity ( std::string  core_relativity__)
inline

Definition at line 947 of file config.hpp.

◆ valence_relativity() [1/2]

auto sirius::config_t::parameters_t::valence_relativity ( ) const
inline

Type of valence states relativity in full-potential LAPW case.

Definition at line 955 of file config.hpp.

◆ valence_relativity() [2/2]

void sirius::config_t::parameters_t::valence_relativity ( std::string  valence_relativity__)
inline

Definition at line 959 of file config.hpp.

◆ num_bands() [1/2]

auto sirius::config_t::parameters_t::num_bands ( ) const
inline

Number of bands.

In spin-collinear case this is the number of bands for each spin channel.

Definition at line 970 of file config.hpp.

◆ num_bands() [2/2]

void sirius::config_t::parameters_t::num_bands ( int  num_bands__)
inline

Definition at line 974 of file config.hpp.

◆ num_fv_states() [1/2]

auto sirius::config_t::parameters_t::num_fv_states ( ) const
inline

Number of first-variational states.

Definition at line 982 of file config.hpp.

◆ num_fv_states() [2/2]

void sirius::config_t::parameters_t::num_fv_states ( int  num_fv_states__)
inline

Definition at line 986 of file config.hpp.

◆ smearing_width() [1/2]

auto sirius::config_t::parameters_t::smearing_width ( ) const
inline

Width of the smearing delta-function in the units of [Ha].

Definition at line 994 of file config.hpp.

◆ smearing_width() [2/2]

void sirius::config_t::parameters_t::smearing_width ( double  smearing_width__)
inline

Definition at line 998 of file config.hpp.

◆ smearing() [1/2]

auto sirius::config_t::parameters_t::smearing ( ) const
inline

Type of occupancy smearing.

Definition at line 1006 of file config.hpp.

◆ smearing() [2/2]

void sirius::config_t::parameters_t::smearing ( std::string  smearing__)
inline

Definition at line 1010 of file config.hpp.

◆ pw_cutoff() [1/2]

auto sirius::config_t::parameters_t::pw_cutoff ( ) const
inline

Cutoff for plane-waves (for density and potential expansion) in the units of [a.u.^-1].

Definition at line 1018 of file config.hpp.

◆ pw_cutoff() [2/2]

void sirius::config_t::parameters_t::pw_cutoff ( double  pw_cutoff__)
inline

Definition at line 1022 of file config.hpp.

◆ aw_cutoff() [1/2]

auto sirius::config_t::parameters_t::aw_cutoff ( ) const
inline

Cutoff for augmented-wave functions.

This value is equal to R_{MT} * |G+k|_{max}

Definition at line 1033 of file config.hpp.

◆ aw_cutoff() [2/2]

void sirius::config_t::parameters_t::aw_cutoff ( double  aw_cutoff__)
inline

Definition at line 1037 of file config.hpp.

◆ gk_cutoff() [1/2]

auto sirius::config_t::parameters_t::gk_cutoff ( ) const
inline

Cutoff for |G+k| plane-waves in the units of [a.u.^-1].

Definition at line 1045 of file config.hpp.

◆ gk_cutoff() [2/2]

void sirius::config_t::parameters_t::gk_cutoff ( double  gk_cutoff__)
inline

Definition at line 1049 of file config.hpp.

◆ lmax_apw() [1/2]

auto sirius::config_t::parameters_t::lmax_apw ( ) const
inline

Maximum l for APW functions.

Definition at line 1057 of file config.hpp.

◆ lmax_apw() [2/2]

void sirius::config_t::parameters_t::lmax_apw ( int  lmax_apw__)
inline

Definition at line 1061 of file config.hpp.

◆ lmax_rho() [1/2]

auto sirius::config_t::parameters_t::lmax_rho ( ) const
inline

Maximum l for density expansion in real spherical harmonics.

Definition at line 1069 of file config.hpp.

◆ lmax_rho() [2/2]

void sirius::config_t::parameters_t::lmax_rho ( int  lmax_rho__)
inline

Definition at line 1073 of file config.hpp.

◆ lmax_pot() [1/2]

auto sirius::config_t::parameters_t::lmax_pot ( ) const
inline

Maximum l for potential expansion in real spherical harmonics.

Definition at line 1081 of file config.hpp.

◆ lmax_pot() [2/2]

void sirius::config_t::parameters_t::lmax_pot ( int  lmax_pot__)
inline

Definition at line 1085 of file config.hpp.

◆ num_mag_dims() [1/2]

auto sirius::config_t::parameters_t::num_mag_dims ( ) const
inline

Number of dimensions of the magnetization and effective magnetic field vector.

Definition at line 1093 of file config.hpp.

◆ num_mag_dims() [2/2]

void sirius::config_t::parameters_t::num_mag_dims ( int  num_mag_dims__)
inline

Definition at line 1097 of file config.hpp.

◆ auto_rmt() [1/2]

auto sirius::config_t::parameters_t::auto_rmt ( ) const
inline

A choice of scaleing muffin-tin radii automatically.

Definition at line 1105 of file config.hpp.

◆ auto_rmt() [2/2]

void sirius::config_t::parameters_t::auto_rmt ( int  auto_rmt__)
inline

Definition at line 1109 of file config.hpp.

◆ ngridk() [1/2]

auto sirius::config_t::parameters_t::ngridk ( ) const
inline

Regular k-point grid for the SCF ground state.

Definition at line 1117 of file config.hpp.

◆ ngridk() [2/2]

void sirius::config_t::parameters_t::ngridk ( std::array< int, 3 >  ngridk__)
inline

Definition at line 1121 of file config.hpp.

◆ shiftk() [1/2]

auto sirius::config_t::parameters_t::shiftk ( ) const
inline

Shift in the k-point grid.

Definition at line 1129 of file config.hpp.

◆ shiftk() [2/2]

void sirius::config_t::parameters_t::shiftk ( std::array< int, 3 >  shiftk__)
inline

Definition at line 1133 of file config.hpp.

◆ vk() [1/2]

auto sirius::config_t::parameters_t::vk ( ) const
inline

Specific list of k-point coordinates.

Definition at line 1141 of file config.hpp.

◆ vk() [2/2]

void sirius::config_t::parameters_t::vk ( std::vector< std::array< double, 3 > >  vk__)
inline

Definition at line 1145 of file config.hpp.

◆ num_dft_iter() [1/2]

auto sirius::config_t::parameters_t::num_dft_iter ( ) const
inline

Number of SCF iterations.

Definition at line 1153 of file config.hpp.

◆ num_dft_iter() [2/2]

void sirius::config_t::parameters_t::num_dft_iter ( int  num_dft_iter__)
inline

Definition at line 1157 of file config.hpp.

◆ energy_tol() [1/2]

auto sirius::config_t::parameters_t::energy_tol ( ) const
inline

Tolerance in total energy change (in units of [Ha]).

Definition at line 1165 of file config.hpp.

◆ energy_tol() [2/2]

void sirius::config_t::parameters_t::energy_tol ( double  energy_tol__)
inline

Definition at line 1169 of file config.hpp.

◆ density_tol() [1/2]

auto sirius::config_t::parameters_t::density_tol ( ) const
inline

Tolerance for the density mixing.

Definition at line 1177 of file config.hpp.

◆ density_tol() [2/2]

void sirius::config_t::parameters_t::density_tol ( double  density_tol__)
inline

Definition at line 1181 of file config.hpp.

◆ molecule() [1/2]

auto sirius::config_t::parameters_t::molecule ( ) const
inline

True if this is a molecule calculation.

Definition at line 1189 of file config.hpp.

◆ molecule() [2/2]

void sirius::config_t::parameters_t::molecule ( bool  molecule__)
inline

Definition at line 1193 of file config.hpp.

◆ gamma_point() [1/2]

auto sirius::config_t::parameters_t::gamma_point ( ) const
inline

True if gamma-point (real) version of the PW code is used.

Definition at line 1201 of file config.hpp.

◆ gamma_point() [2/2]

void sirius::config_t::parameters_t::gamma_point ( bool  gamma_point__)
inline

Definition at line 1205 of file config.hpp.

◆ so_correction() [1/2]

auto sirius::config_t::parameters_t::so_correction ( ) const
inline

True if spin-orbit correction is applied.

Definition at line 1213 of file config.hpp.

◆ so_correction() [2/2]

void sirius::config_t::parameters_t::so_correction ( bool  so_correction__)
inline

Definition at line 1217 of file config.hpp.

◆ hubbard_correction() [1/2]

auto sirius::config_t::parameters_t::hubbard_correction ( ) const
inline

True if Hubbard U correction is applied.

Definition at line 1225 of file config.hpp.

◆ hubbard_correction() [2/2]

void sirius::config_t::parameters_t::hubbard_correction ( bool  hubbard_correction__)
inline

Definition at line 1229 of file config.hpp.

◆ use_symmetry() [1/2]

auto sirius::config_t::parameters_t::use_symmetry ( ) const
inline

True if symmetry is used.

Definition at line 1237 of file config.hpp.

◆ use_symmetry() [2/2]

void sirius::config_t::parameters_t::use_symmetry ( bool  use_symmetry__)
inline

Definition at line 1241 of file config.hpp.

◆ use_ibz() [1/2]

auto sirius::config_t::parameters_t::use_ibz ( ) const
inline

Use irreducible Brillouin zone.

Definition at line 1249 of file config.hpp.

◆ use_ibz() [2/2]

void sirius::config_t::parameters_t::use_ibz ( bool  use_ibz__)
inline

Definition at line 1253 of file config.hpp.

◆ nn_radius() [1/2]

auto sirius::config_t::parameters_t::nn_radius ( ) const
inline

Radius of atom nearest-neighbour cluster.

Definition at line 1261 of file config.hpp.

◆ nn_radius() [2/2]

void sirius::config_t::parameters_t::nn_radius ( double  nn_radius__)
inline

Definition at line 1265 of file config.hpp.

◆ reduce_aux_bf() [1/2]

auto sirius::config_t::parameters_t::reduce_aux_bf ( ) const
inline

Reduction of the auxiliary magnetic field at each SCF step.

Definition at line 1273 of file config.hpp.

◆ reduce_aux_bf() [2/2]

void sirius::config_t::parameters_t::reduce_aux_bf ( double  reduce_aux_bf__)
inline

Definition at line 1277 of file config.hpp.

◆ extra_charge() [1/2]

auto sirius::config_t::parameters_t::extra_charge ( ) const
inline

Introduce extra charge to the system. Positive charge means extra holes, negative charge - extra electrons.

Definition at line 1285 of file config.hpp.

◆ extra_charge() [2/2]

void sirius::config_t::parameters_t::extra_charge ( double  extra_charge__)
inline

Definition at line 1289 of file config.hpp.

◆ xc_dens_tre() [1/2]

auto sirius::config_t::parameters_t::xc_dens_tre ( ) const
inline

XC density threshold (debug purposes).

Definition at line 1297 of file config.hpp.

◆ xc_dens_tre() [2/2]

void sirius::config_t::parameters_t::xc_dens_tre ( double  xc_dens_tre__)
inline

Definition at line 1301 of file config.hpp.

◆ use_scf_correction() [1/2]

auto sirius::config_t::parameters_t::use_scf_correction ( ) const
inline

True if SCF correction to total energy should be computed.

Definition at line 1309 of file config.hpp.

◆ use_scf_correction() [2/2]

void sirius::config_t::parameters_t::use_scf_correction ( bool  use_scf_correction__)
inline

Definition at line 1313 of file config.hpp.

◆ precision_wf() [1/2]

auto sirius::config_t::parameters_t::precision_wf ( ) const
inline

The floating point precision of the Kohn-Sham wave-functions.

Definition at line 1321 of file config.hpp.

◆ precision_wf() [2/2]

void sirius::config_t::parameters_t::precision_wf ( std::string  precision_wf__)
inline

Definition at line 1325 of file config.hpp.

◆ precision_hs() [1/2]

auto sirius::config_t::parameters_t::precision_hs ( ) const
inline

The floating point precision of the Hamiltonian subspace matrices.

Definition at line 1333 of file config.hpp.

◆ precision_hs() [2/2]

void sirius::config_t::parameters_t::precision_hs ( std::string  precision_hs__)
inline

Definition at line 1337 of file config.hpp.

◆ precision_gs() [1/2]

auto sirius::config_t::parameters_t::precision_gs ( ) const
inline

The final floating point precision of the ground state DFT calculation (dev options).

Definition at line 1345 of file config.hpp.

◆ precision_gs() [2/2]

void sirius::config_t::parameters_t::precision_gs ( std::string  precision_gs__)
inline

Definition at line 1349 of file config.hpp.

Member Data Documentation

◆ dict_

nlohmann::json& sirius::config_t::parameters_t::dict_
private

Definition at line 1357 of file config.hpp.


The documentation for this class was generated from the following file: