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

Control parameters. More...

#include <config.hpp>

Public Member Functions

 control_t (nlohmann::json &dict__)
 
auto mpi_grid_dims () const
 the mpi grid is setting the parameters for blacs grid / band parallelisation, the rest going to k-point parallelization. More...
 
void mpi_grid_dims (std::vector< int > mpi_grid_dims__)
 
auto cyclic_block_size () const
 Block size for ScaLAPACK, ELPA, and DLA-Future. More...
 
void cyclic_block_size (int cyclic_block_size__)
 
auto reduce_gvec () const
 Reduce G-vectors by inversion symmetry. More...
 
void reduce_gvec (bool reduce_gvec__)
 
auto std_evp_solver_name () const
 Standard eigen-value solver to use. More...
 
void std_evp_solver_name (std::string std_evp_solver_name__)
 
auto gen_evp_solver_name () const
 Generalized eigen-value solver to use. More...
 
void gen_evp_solver_name (std::string gen_evp_solver_name__)
 
auto fft_mode () const
 Coarse grid FFT mode (serial or parallel). More...
 
void fft_mode (std::string fft_mode__)
 
auto processing_unit () const
 Main processing unit to use during the execution. More...
 
void processing_unit (std::string processing_unit__)
 
auto rmt_max () const
 Maximum allowed muffin-tin radius in case of LAPW. More...
 
void rmt_max (double rmt_max__)
 
auto spglib_tolerance () const
 Tolerance of the spglib in finding crystal symmetries. More...
 
void spglib_tolerance (double spglib_tolerance__)
 
auto verbosity () const
 Level of verbosity. More...
 
void verbosity (int verbosity__)
 
auto verification () const
 Level of internal verification. More...
 
void verification (int verification__)
 
auto num_bands_to_print () const
 Number of eigen-values that are printed to the standard output. More...
 
void num_bands_to_print (int num_bands_to_print__)
 
auto print_stress () const
 If true then the stress tensor components are printed at the end of SCF run. More...
 
void print_stress (bool print_stress__)
 
auto print_forces () const
 If true then the atomic forces are printed at the end of SCF run. More...
 
void print_forces (bool print_forces__)
 
auto print_neighbors () const
 If true then the list of nearest neighbours for each atom is printed to the standard output. More...
 
void print_neighbors (bool print_neighbors__)
 
auto use_second_variation () const
 True if second-variational diagonalization is used in LAPW method. More...
 
void use_second_variation (bool use_second_variation__)
 
auto beta_chunk_size () const
 Number of atoms in a chunk of beta-projectors. More...
 
void beta_chunk_size (int beta_chunk_size__)
 
auto ortho_rf () const
 Orthogonalize LAPW radial functions. More...
 
void ortho_rf (bool ortho_rf__)
 
auto output () const
 Type of the output stream (stdout:, file:name) More...
 
void output (std::string output__)
 
auto gvec_chunk_size () const
 Split local G-vectors in chunks to reduce the GPU memory consumption of augmentation operator. More...
 
void gvec_chunk_size (int gvec_chunk_size__)
 

Private Attributes

nlohmann::json & dict_
 

Detailed Description

Control parameters.

Parameters of the control input sections do not in general change the numerics, but instead control how the results are obtained. Changing parameters in control section should not change the significant digits in final results.

Definition at line 632 of file config.hpp.

Constructor & Destructor Documentation

◆ control_t()

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

Definition at line 635 of file config.hpp.

Member Function Documentation

◆ mpi_grid_dims() [1/2]

auto sirius::config_t::control_t::mpi_grid_dims ( ) const
inline

the mpi grid is setting the parameters for blacs grid / band parallelisation, the rest going to k-point parallelization.

Definition at line 640 of file config.hpp.

◆ mpi_grid_dims() [2/2]

void sirius::config_t::control_t::mpi_grid_dims ( std::vector< int >  mpi_grid_dims__)
inline

Definition at line 644 of file config.hpp.

◆ cyclic_block_size() [1/2]

auto sirius::config_t::control_t::cyclic_block_size ( ) const
inline

Block size for ScaLAPACK, ELPA, and DLA-Future.

Definition at line 652 of file config.hpp.

◆ cyclic_block_size() [2/2]

void sirius::config_t::control_t::cyclic_block_size ( int  cyclic_block_size__)
inline

Definition at line 656 of file config.hpp.

◆ reduce_gvec() [1/2]

auto sirius::config_t::control_t::reduce_gvec ( ) const
inline

Reduce G-vectors by inversion symmetry.

For real-valued functions like density and potential it is sufficient to store only half of the G-vectors and use the relation f(G) = f^{*}(-G) to recover second half of the plane-wave expansion coefficients.

Definition at line 669 of file config.hpp.

◆ reduce_gvec() [2/2]

void sirius::config_t::control_t::reduce_gvec ( bool  reduce_gvec__)
inline

Definition at line 673 of file config.hpp.

◆ std_evp_solver_name() [1/2]

auto sirius::config_t::control_t::std_evp_solver_name ( ) const
inline

Standard eigen-value solver to use.

Definition at line 681 of file config.hpp.

◆ std_evp_solver_name() [2/2]

void sirius::config_t::control_t::std_evp_solver_name ( std::string  std_evp_solver_name__)
inline

Definition at line 685 of file config.hpp.

◆ gen_evp_solver_name() [1/2]

auto sirius::config_t::control_t::gen_evp_solver_name ( ) const
inline

Generalized eigen-value solver to use.

Definition at line 693 of file config.hpp.

◆ gen_evp_solver_name() [2/2]

void sirius::config_t::control_t::gen_evp_solver_name ( std::string  gen_evp_solver_name__)
inline

Definition at line 697 of file config.hpp.

◆ fft_mode() [1/2]

auto sirius::config_t::control_t::fft_mode ( ) const
inline

Coarse grid FFT mode (serial or parallel).

Coarse FFT grid is used in application of the Hamiltonian to the wave-functions and also in the construction of the charge density from the wave-functions squared.

Definition at line 709 of file config.hpp.

◆ fft_mode() [2/2]

void sirius::config_t::control_t::fft_mode ( std::string  fft_mode__)
inline

Definition at line 713 of file config.hpp.

◆ processing_unit() [1/2]

auto sirius::config_t::control_t::processing_unit ( ) const
inline

Main processing unit to use during the execution.

Definition at line 721 of file config.hpp.

◆ processing_unit() [2/2]

void sirius::config_t::control_t::processing_unit ( std::string  processing_unit__)
inline

Definition at line 725 of file config.hpp.

◆ rmt_max() [1/2]

auto sirius::config_t::control_t::rmt_max ( ) const
inline

Maximum allowed muffin-tin radius in case of LAPW.

Definition at line 733 of file config.hpp.

◆ rmt_max() [2/2]

void sirius::config_t::control_t::rmt_max ( double  rmt_max__)
inline

Definition at line 737 of file config.hpp.

◆ spglib_tolerance() [1/2]

auto sirius::config_t::control_t::spglib_tolerance ( ) const
inline

Tolerance of the spglib in finding crystal symmetries.

Definition at line 745 of file config.hpp.

◆ spglib_tolerance() [2/2]

void sirius::config_t::control_t::spglib_tolerance ( double  spglib_tolerance__)
inline

Definition at line 749 of file config.hpp.

◆ verbosity() [1/2]

auto sirius::config_t::control_t::verbosity ( ) const
inline

Level of verbosity.

The following convention in proposed:

  • 0: silent mode (no output is printed)
  • 1: basic output (low level of output)
  • 2: extended output (medium level of output)
  • 3: extensive output (high level of output)

Definition at line 764 of file config.hpp.

◆ verbosity() [2/2]

void sirius::config_t::control_t::verbosity ( int  verbosity__)
inline

Definition at line 768 of file config.hpp.

◆ verification() [1/2]

auto sirius::config_t::control_t::verification ( ) const
inline

Level of internal verification.

Depending on the level, more expensive self-checks will be performed.

Definition at line 779 of file config.hpp.

◆ verification() [2/2]

void sirius::config_t::control_t::verification ( int  verification__)
inline

Definition at line 783 of file config.hpp.

◆ num_bands_to_print() [1/2]

auto sirius::config_t::control_t::num_bands_to_print ( ) const
inline

Number of eigen-values that are printed to the standard output.

Definition at line 791 of file config.hpp.

◆ num_bands_to_print() [2/2]

void sirius::config_t::control_t::num_bands_to_print ( int  num_bands_to_print__)
inline

Definition at line 795 of file config.hpp.

◆ print_stress() [1/2]

auto sirius::config_t::control_t::print_stress ( ) const
inline

If true then the stress tensor components are printed at the end of SCF run.

Definition at line 803 of file config.hpp.

◆ print_stress() [2/2]

void sirius::config_t::control_t::print_stress ( bool  print_stress__)
inline

Definition at line 807 of file config.hpp.

◆ print_forces() [1/2]

auto sirius::config_t::control_t::print_forces ( ) const
inline

If true then the atomic forces are printed at the end of SCF run.

Definition at line 815 of file config.hpp.

◆ print_forces() [2/2]

void sirius::config_t::control_t::print_forces ( bool  print_forces__)
inline

Definition at line 819 of file config.hpp.

◆ print_neighbors() [1/2]

auto sirius::config_t::control_t::print_neighbors ( ) const
inline

If true then the list of nearest neighbours for each atom is printed to the standard output.

Definition at line 827 of file config.hpp.

◆ print_neighbors() [2/2]

void sirius::config_t::control_t::print_neighbors ( bool  print_neighbors__)
inline

Definition at line 831 of file config.hpp.

◆ use_second_variation() [1/2]

auto sirius::config_t::control_t::use_second_variation ( ) const
inline

True if second-variational diagonalization is used in LAPW method.

Definition at line 839 of file config.hpp.

◆ use_second_variation() [2/2]

void sirius::config_t::control_t::use_second_variation ( bool  use_second_variation__)
inline

Definition at line 843 of file config.hpp.

◆ beta_chunk_size() [1/2]

auto sirius::config_t::control_t::beta_chunk_size ( ) const
inline

Number of atoms in a chunk of beta-projectors.

Definition at line 851 of file config.hpp.

◆ beta_chunk_size() [2/2]

void sirius::config_t::control_t::beta_chunk_size ( int  beta_chunk_size__)
inline

Definition at line 855 of file config.hpp.

◆ ortho_rf() [1/2]

auto sirius::config_t::control_t::ortho_rf ( ) const
inline

Orthogonalize LAPW radial functions.

Definition at line 863 of file config.hpp.

◆ ortho_rf() [2/2]

void sirius::config_t::control_t::ortho_rf ( bool  ortho_rf__)
inline

Definition at line 867 of file config.hpp.

◆ output() [1/2]

auto sirius::config_t::control_t::output ( ) const
inline

Type of the output stream (stdout:, file:name)

Definition at line 875 of file config.hpp.

◆ output() [2/2]

void sirius::config_t::control_t::output ( std::string  output__)
inline

Definition at line 879 of file config.hpp.

◆ gvec_chunk_size() [1/2]

auto sirius::config_t::control_t::gvec_chunk_size ( ) const
inline

Split local G-vectors in chunks to reduce the GPU memory consumption of augmentation operator.

Definition at line 887 of file config.hpp.

◆ gvec_chunk_size() [2/2]

void sirius::config_t::control_t::gvec_chunk_size ( int  gvec_chunk_size__)
inline

Definition at line 891 of file config.hpp.

Member Data Documentation

◆ dict_

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

Definition at line 899 of file config.hpp.


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