SIRIUS 7.5.0
Electronic structure library and applications
|
Set of basic parameters of a simulation. More...
#include <simulation_parameters.hpp>
Inherited by sirius::Simulation_context.
Public Member Functions | |
Config & | cfg () |
Config const & | cfg () const |
void | import (std::string const &str__) |
Import parameters from a file or a serialized json string. More... | |
void | import (nlohmann::json const &dict__) |
Import parameters from a json dictionary. More... | |
void | import (cmd_args const &args__) |
Import from command line arguments. More... | |
void | lmax_apw (int lmax_apw__) |
void | lmax_rho (int lmax_rho__) |
void | lmax_pot (int lmax_pot__) |
void | set_num_mag_dims (int num_mag_dims__) |
void | set_hubbard_correction (bool hubbard_correction__) |
bool | gamma_point (bool gamma_point__) |
Set flag for Gamma-point calculation. More... | |
std::vector< int > | mpi_grid_dims (std::vector< int > mpi_grid_dims__) |
Set dimensions of MPI grid for band diagonalization problem. More... | |
void | add_xc_functional (std::string name__) |
void | electronic_structure_method (std::string name__) |
auto | electronic_structure_method () const |
void | core_relativity (std::string name__) |
Set core relativity for the LAPW method. More... | |
void | valence_relativity (std::string name__) |
Set valence relativity for the LAPW method. More... | |
void | processing_unit (std::string name__) |
void | smearing (std::string name__) |
auto | smearing () const |
void | molecule (bool molecule__) |
auto | verbosity () const |
int | verbosity (int level__) |
Set verbosity level. More... | |
int | lmax_rho () const |
int | lmmax_rho () const |
int | lmax_pot () const |
int | lmmax_pot () const |
double | aw_cutoff () const |
double | aw_cutoff (double aw_cutoff__) |
double | pw_cutoff () const |
Plane-wave cutoff for G-vectors (in 1/[a.u.]). More... | |
double | pw_cutoff (double pw_cutoff__) |
Set plane-wave cutoff. More... | |
double | gk_cutoff () const |
Cutoff for G+k vectors (in 1/[a.u.]). More... | |
double | gk_cutoff (double gk_cutoff__) |
Set the cutoff for G+k vectors. More... | |
int | num_mag_dims () const |
Number of dimensions in the magnetization vector. More... | |
int | num_spins () const |
Number of spin components. More... | |
int | num_mag_comp () const |
Number of components in the complex density matrix. More... | |
int | num_spinor_comp () const |
Number of non-zero spinor components. More... | |
int | num_spinors () const |
Number of spinor wave-functions labeled by a sinlge band index. More... | |
int | num_fv_states (int num_fv_states__) |
Set the number of first-variational states. More... | |
int | num_fv_states () const |
Number of first-variational states. More... | |
int | num_bands (int num_bands__) |
Set the number of bands. More... | |
int | num_bands () const |
Total number of bands. More... | |
int | max_occupancy () const |
Maximum band occupancy. More... | |
double | min_occupancy () const |
Minimum occupancy to consider band to be occupied. More... | |
double | min_occupancy (double val__) |
Set minimum occupancy. More... | |
bool | so_correction () const |
bool | so_correction (bool so_correction__) |
bool | hubbard_correction () const |
bool | gamma_point () const |
sddk::device_t | processing_unit () const |
double | smearing_width () const |
double | smearing_width (double smearing_width__) |
void | set_auto_rmt (int auto_rmt__) |
int | auto_rmt () const |
bool | need_sv () const |
std::vector< int > | mpi_grid_dims () const |
int | cyclic_block_size () const |
bool | full_potential () const |
std::vector< std::string > | xc_functionals () const |
std::string | std_evp_solver_name () const |
Get the name of the standard eigen-value solver to use. More... | |
std::string | std_evp_solver_name (std::string name__) |
Set the name of the standard eigen-value solver to use. More... | |
std::string | gen_evp_solver_name () const |
Get the name of the generalized eigen-value solver to use. More... | |
std::string | gen_evp_solver_name (std::string name__) |
Set the name of the generalized eigen-value solver to use. More... | |
relativity_t | valence_relativity () const |
relativity_t | core_relativity () const |
double | rmt_max () const |
double | spglib_tolerance () const |
bool | molecule () const |
bool | use_symmetry () const |
Get a use_symmetry flag. More... | |
bool | use_symmetry (bool use_symmetry__) |
Set a use_symmetry flag. More... | |
std::string | iterative_solver_type (std::string type__) |
double | empty_states_tolerance (double tolerance__) |
Set the tolerance for empty states. More... | |
int | sht_coverage (int sht_coverage__) |
Set the variable which controls the type of sperical coverage. More... | |
Protected Member Functions | |
Simulation_parameters (Simulation_parameters const &)=delete | |
Protected Attributes | |
sddk::device_t | processing_unit_ {sddk::device_t::CPU} |
Type of the processing unit. More... | |
relativity_t | valence_relativity_ {relativity_t::zora} |
Type of relativity for valence states. More... | |
relativity_t | core_relativity_ {relativity_t::dirac} |
Type of relativity for core states. More... | |
electronic_structure_method_t | electronic_structure_method_ {electronic_structure_method_t::full_potential_lapwlo} |
Type of electronic structure method. More... | |
smearing::smearing_t | smearing_ {smearing::smearing_t::gaussian} |
Type of occupation numbers smearing. More... | |
Private Attributes | |
Config | cfg_ |
All user-provided paramters are stored here. More... | |
Set of basic parameters of a simulation.
This class provides shortcuts to the mostly used input parameters, for example verbosity
.
Definition at line 60 of file simulation_parameters.hpp.
|
inline |
Definition at line 97 of file simulation_parameters.hpp.
|
inline |
Definition at line 67 of file simulation_parameters.hpp.
|
inline |
Definition at line 72 of file simulation_parameters.hpp.
void sirius::Simulation_parameters::import | ( | std::string const & | str__ | ) |
Import parameters from a file or a serialized json string.
Definition at line 155 of file simulation_parameters.cpp.
void sirius::Simulation_parameters::import | ( | nlohmann::json const & | dict__ | ) |
Import parameters from a json dictionary.
Definition at line 162 of file simulation_parameters.cpp.
void sirius::Simulation_parameters::import | ( | cmd_args const & | args__ | ) |
Import from command line arguments.
Definition at line 168 of file simulation_parameters.cpp.
|
inline |
Definition at line 110 of file simulation_parameters.hpp.
|
inline |
Definition at line 115 of file simulation_parameters.hpp.
|
inline |
Definition at line 120 of file simulation_parameters.hpp.
|
inline |
Definition at line 125 of file simulation_parameters.hpp.
|
inline |
Definition at line 132 of file simulation_parameters.hpp.
|
inline |
Set flag for Gamma-point calculation.
Definition at line 139 of file simulation_parameters.hpp.
|
inline |
Set dimensions of MPI grid for band diagonalization problem.
Definition at line 146 of file simulation_parameters.hpp.
|
inline |
Definition at line 152 of file simulation_parameters.hpp.
void sirius::Simulation_parameters::electronic_structure_method | ( | std::string | name__ | ) |
Definition at line 228 of file simulation_parameters.cpp.
|
inline |
Definition at line 161 of file simulation_parameters.hpp.
void sirius::Simulation_parameters::core_relativity | ( | std::string | name__ | ) |
Set core relativity for the LAPW method.
Definition at line 192 of file simulation_parameters.cpp.
void sirius::Simulation_parameters::valence_relativity | ( | std::string | name__ | ) |
Set valence relativity for the LAPW method.
Definition at line 199 of file simulation_parameters.cpp.
void sirius::Simulation_parameters::processing_unit | ( | std::string | name__ | ) |
Definition at line 206 of file simulation_parameters.cpp.
void sirius::Simulation_parameters::smearing | ( | std::string | name__ | ) |
Definition at line 221 of file simulation_parameters.cpp.
|
inline |
Definition at line 176 of file simulation_parameters.hpp.
|
inline |
Definition at line 181 of file simulation_parameters.hpp.
|
inline |
Definition at line 186 of file simulation_parameters.hpp.
|
inline |
Set verbosity level.
Definition at line 192 of file simulation_parameters.hpp.
|
inline |
Definition at line 198 of file simulation_parameters.hpp.
|
inline |
Definition at line 203 of file simulation_parameters.hpp.
|
inline |
Definition at line 208 of file simulation_parameters.hpp.
|
inline |
Definition at line 213 of file simulation_parameters.hpp.
|
inline |
Definition at line 218 of file simulation_parameters.hpp.
|
inline |
Definition at line 223 of file simulation_parameters.hpp.
|
inline |
Plane-wave cutoff for G-vectors (in 1/[a.u.]).
Definition at line 230 of file simulation_parameters.hpp.
|
inline |
Set plane-wave cutoff.
Definition at line 236 of file simulation_parameters.hpp.
|
inline |
Cutoff for G+k vectors (in 1/[a.u.]).
Definition at line 243 of file simulation_parameters.hpp.
|
inline |
Set the cutoff for G+k vectors.
Definition at line 249 of file simulation_parameters.hpp.
|
inline |
Number of dimensions in the magnetization vector.
Definition at line 256 of file simulation_parameters.hpp.
|
inline |
Number of spin components.
This parameter can take only two values: 1 – non-magnetic calcaulation and wave-functions, 2 – spin-polarized calculation and wave-functions.
Definition at line 266 of file simulation_parameters.hpp.
|
inline |
Number of components in the complex density matrix.
In case of non-collinear magnetism only one out of two non-diagonal components is stored.
Definition at line 273 of file simulation_parameters.hpp.
|
inline |
Number of non-zero spinor components.
In non magnetic case this is equal to 1, in collinear magnetic case it is also equal to 1 (pure spinors), in non-collinear case the number of components is 2 (general spinor case).
Definition at line 281 of file simulation_parameters.hpp.
|
inline |
Number of spinor wave-functions labeled by a sinlge band index.
In magnetic collinear case the wave-functions have two spin components, but they describe different states (pure spin-up, pure spin-dn), thus the number of spinors packed in a single band index is 2. In non-collinear case we have full two-component spinors for each band index.
Definition at line 294 of file simulation_parameters.hpp.
|
inline |
Set the number of first-variational states.
Definition at line 304 of file simulation_parameters.hpp.
|
inline |
Number of first-variational states.
Definition at line 311 of file simulation_parameters.hpp.
|
inline |
Set the number of bands.
Definition at line 317 of file simulation_parameters.hpp.
|
inline |
Total number of bands.
Definition at line 324 of file simulation_parameters.hpp.
|
inline |
Maximum band occupancy.
Definition at line 334 of file simulation_parameters.hpp.
|
inline |
Minimum occupancy to consider band to be occupied.
Definition at line 340 of file simulation_parameters.hpp.
|
inline |
Set minimum occupancy.
Definition at line 346 of file simulation_parameters.hpp.
|
inline |
Definition at line 352 of file simulation_parameters.hpp.
|
inline |
Definition at line 357 of file simulation_parameters.hpp.
|
inline |
Definition at line 363 of file simulation_parameters.hpp.
|
inline |
Definition at line 368 of file simulation_parameters.hpp.
|
inline |
Definition at line 373 of file simulation_parameters.hpp.
|
inline |
Definition at line 378 of file simulation_parameters.hpp.
|
inline |
Definition at line 383 of file simulation_parameters.hpp.
|
inline |
Definition at line 389 of file simulation_parameters.hpp.
|
inline |
Definition at line 394 of file simulation_parameters.hpp.
|
inline |
Definition at line 399 of file simulation_parameters.hpp.
|
inline |
Definition at line 404 of file simulation_parameters.hpp.
|
inline |
Definition at line 409 of file simulation_parameters.hpp.
|
inline |
Definition at line 414 of file simulation_parameters.hpp.
|
inline |
Definition at line 419 of file simulation_parameters.hpp.
|
inline |
Get the name of the standard eigen-value solver to use.
Definition at line 425 of file simulation_parameters.hpp.
|
inline |
Set the name of the standard eigen-value solver to use.
Definition at line 431 of file simulation_parameters.hpp.
|
inline |
Get the name of the generalized eigen-value solver to use.
Definition at line 438 of file simulation_parameters.hpp.
|
inline |
Set the name of the generalized eigen-value solver to use.
Definition at line 444 of file simulation_parameters.hpp.
|
inline |
Definition at line 450 of file simulation_parameters.hpp.
|
inline |
Definition at line 455 of file simulation_parameters.hpp.
|
inline |
Definition at line 460 of file simulation_parameters.hpp.
|
inline |
Definition at line 465 of file simulation_parameters.hpp.
|
inline |
Definition at line 470 of file simulation_parameters.hpp.
|
inline |
Get a use_symmetry flag.
If crystal symmetry is used, density and potential are symmetrized.
Definition at line 477 of file simulation_parameters.hpp.
|
inline |
Set a use_symmetry flag.
Definition at line 483 of file simulation_parameters.hpp.
|
inline |
Definition at line 489 of file simulation_parameters.hpp.
|
inline |
Set the tolerance for empty states.
Definition at line 496 of file simulation_parameters.hpp.
|
inline |
Set the variable which controls the type of sperical coverage.
Definition at line 503 of file simulation_parameters.hpp.
|
private |
All user-provided paramters are stored here.
Definition at line 64 of file simulation_parameters.hpp.
|
protected |
Type of the processing unit.
Definition at line 79 of file simulation_parameters.hpp.
|
protected |
Type of relativity for valence states.
Definition at line 82 of file simulation_parameters.hpp.
|
protected |
Type of relativity for core states.
Definition at line 85 of file simulation_parameters.hpp.
|
protected |
Type of electronic structure method.
Definition at line 88 of file simulation_parameters.hpp.
|
protected |
Type of occupation numbers smearing.
Definition at line 91 of file simulation_parameters.hpp.