ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
exx_info.h
Go to the documentation of this file.
1#ifndef EXX_INFO_H
2#define EXX_INFO_H
3
5#include "xc_functional.h"
6
7#include <vector>
8#include <map>
9#include <string>
10
12{
14 {
15 bool cal_exx = false;
16
17 std::map<Conv_Coulomb_Pot_K::Coulomb_Type, std::vector<std::map<std::string,std::string>>> coulomb_param;
18
19 // Fock:
20 // "alpha": "0"
21 // "singularity_correction": "limits" / "spencer" / "revised_spencer"
22 // "lambda": "0.3"
23 // "Rcut"
24 // Erfc:
25 // "alpha": "0"
26 // "omega": "0.11"
27 // "singularity_correction": "limits" / "spencer" / "revised_spencer"
28 // "Rcut"
29
31 double hybrid_alpha = 0.25;
32 double hse_omega = 0.11;
34
35 bool separate_loop = true;
36 size_t hybrid_step = 1;
37 };
39
51
53 {
54 const std::map<Conv_Coulomb_Pot_K::Coulomb_Type, std::vector<std::map<std::string,std::string>>> &coulomb_param;
55
56 bool real_number = false;
57
58 double pca_threshold = 0;
59 std::vector<std::string> files_abfs;
60 double C_threshold = 0;
61 double V_threshold = 0;
62 double dm_threshold = 0;
63 double C_grad_threshold = 0;
64 double V_grad_threshold = 0;
67 double ccp_rmesh_times = 10;
69 double kmesh_times = 4;
70
71 int abfs_Lmax = 0; // tmp
72
77 };
79
81 {
82 int abfs_Lmax = 0; // tmp
83 double ecut_exx = 60;
84 double tolerence = 1E-2;
85 double kmesh_times = 4;
86 };
88
90 {
91 }
92};
93
94#endif
Ccp_Type
Definition conv_coulomb_pot_k.h:11
Definition exx_info.h:14
std::map< Conv_Coulomb_Pot_K::Coulomb_Type, std::vector< std::map< std::string, std::string > > > coulomb_param
Definition exx_info.h:17
double hse_omega
Definition exx_info.h:32
bool cal_exx
Definition exx_info.h:15
double mixing_beta_for_loop1
Definition exx_info.h:33
bool separate_loop
Definition exx_info.h:35
double hybrid_alpha
Definition exx_info.h:31
size_t hybrid_step
Definition exx_info.h:36
Conv_Coulomb_Pot_K::Ccp_Type ccp_type
Definition exx_info.h:30
Definition exx_info.h:41
Exx_Info_Lip(const Exx_Info::Exx_Info_Global &info_global)
Definition exx_info.h:46
const double & hse_omega
Definition exx_info.h:43
const Conv_Coulomb_Pot_K::Ccp_Type & ccp_type
Definition exx_info.h:42
double lambda
Definition exx_info.h:44
Definition exx_info.h:81
double tolerence
Definition exx_info.h:84
double ecut_exx
Definition exx_info.h:83
double kmesh_times
Definition exx_info.h:85
int abfs_Lmax
Definition exx_info.h:82
Definition exx_info.h:53
std::vector< std::string > files_abfs
Definition exx_info.h:59
const std::map< Conv_Coulomb_Pot_K::Coulomb_Type, std::vector< std::map< std::string, std::string > > > & coulomb_param
Definition exx_info.h:54
double C_grad_threshold
Definition exx_info.h:63
bool real_number
Definition exx_info.h:56
double ccp_rmesh_times
Definition exx_info.h:67
Exx_Info_RI(const Exx_Info::Exx_Info_Global &info_global)
Definition exx_info.h:73
bool exx_symmetry_realspace
Definition exx_info.h:68
double C_grad_R_threshold
Definition exx_info.h:65
int abfs_Lmax
Definition exx_info.h:71
double pca_threshold
Definition exx_info.h:58
double V_threshold
Definition exx_info.h:61
double dm_threshold
Definition exx_info.h:62
double V_grad_R_threshold
Definition exx_info.h:66
double kmesh_times
Definition exx_info.h:69
double C_threshold
Definition exx_info.h:60
double V_grad_threshold
Definition exx_info.h:64
Definition exx_info.h:12
Exx_Info()
Definition exx_info.h:89
Exx_Info_Lip info_lip
Definition exx_info.h:50
Exx_Info_Opt_ABFs info_opt_abfs
Definition exx_info.h:87
Exx_Info_Global info_global
Definition exx_info.h:38
Exx_Info_RI info_ri
Definition exx_info.h:78