votca 2024.2-dev
Loading...
Searching...
No Matches
vxc_functionals.h
Go to the documentation of this file.
1/*
2 * Copyright 2009-2020 The VOTCA Development Team
3 * (http://www.votca.org)
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License")
6 *
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 */
19
20#pragma once
21#ifndef VOTCA_XTP_VXC_FUNCTIONALS_H
22#define VOTCA_XTP_VXC_FUNCTIONALS_H
23
24// Standard includes
25#include <map>
26#include <string>
27
28namespace votca {
29namespace xtp {
30
38 public:
40
41 int getID(std::string name) const {
42 if (!stringtoID_.count(name)) {
43 throw std::runtime_error("Functional " + name + " not supported");
44 }
45 return stringtoID_.at(name);
46 }
47
48 private:
49 std::map<std::string, int> stringtoID_;
50
51 inline void FillMaps() { FillstringtoID(); }
52
53 inline void FillstringtoID() {
54
55 stringtoID_["XC_LDA_X"] = 1;
56 stringtoID_["XC_LDA_C_WIGNER"] = 2;
57 stringtoID_["XC_LDA_C_RPA"] = 3;
58 stringtoID_["XC_LDA_C_HL"] = 4;
59 stringtoID_["XC_LDA_C_GL"] = 5;
60 stringtoID_["XC_LDA_C_XALPHA"] = 6;
61 stringtoID_["XC_LDA_C_VWN"] = 7;
62 stringtoID_["XC_LDA_C_VWN_RPA"] = 8;
63 stringtoID_["XC_LDA_C_PZ"] = 9;
64 stringtoID_["XC_LDA_C_PZ_MOD"] = 10;
65 stringtoID_["XC_LDA_C_OB_PZ"] = 11;
66 stringtoID_["XC_LDA_C_PW"] = 12;
67 stringtoID_["XC_LDA_C_PW_MOD"] = 13;
68 stringtoID_["XC_LDA_C_OB_PW"] = 14;
69 stringtoID_["XC_LDA_C_2D_AMGB"] = 15;
70 stringtoID_["XC_LDA_C_2D_PRM"] = 16;
71 stringtoID_["XC_LDA_C_vBH"] = 17;
72 stringtoID_["XC_LDA_C_1D_CSC"] = 18;
73 stringtoID_["XC_LDA_X_2D"] = 19;
74 stringtoID_["XC_LDA_XC_TETER93"] = 20;
75 stringtoID_["XC_LDA_X_1D"] = 21;
76 stringtoID_["XC_LDA_C_ML1"] = 22;
77 stringtoID_["XC_LDA_C_ML2"] = 23;
78 stringtoID_["XC_LDA_C_GOMBAS"] = 24;
79 stringtoID_["XC_LDA_C_PW_RPA"] = 25;
80 stringtoID_["XC_LDA_C_1D_LOOS"] = 26;
81 stringtoID_["XC_LDA_C_RC04"] = 27;
82 stringtoID_["XC_LDA_C_VWN_1"] = 28;
83 stringtoID_["XC_LDA_C_VWN_2"] = 29;
84 stringtoID_["XC_LDA_C_VWN_3"] = 30;
85 stringtoID_["XC_LDA_C_VWN_4"] = 31;
86 stringtoID_["XC_LDA_K_TF"] = 50;
87 stringtoID_["XC_LDA_K_LP"] = 51;
88 stringtoID_["XC_GGA_C_Q2D"] = 47;
89 stringtoID_["XC_GGA_X_Q2D"] = 48;
90 stringtoID_["XC_GGA_X_PBE_MOL"] = 49;
91 stringtoID_["XC_GGA_K_TFVW"] = 52;
92 stringtoID_["XC_GGA_K_REVAPBEINT"] = 53;
93 stringtoID_["XC_GGA_K_APBEINT"] = 54;
94 stringtoID_["XC_GGA_K_REVAPBE"] = 55;
95 stringtoID_["XC_GGA_X_AK13"] = 56;
96 stringtoID_["XC_GGA_K_MEYER"] = 57;
97 stringtoID_["XC_GGA_X_LV_RPW86"] = 58;
98 stringtoID_["XC_GGA_X_PBE_TCA"] = 59;
99 stringtoID_["XC_GGA_X_PBEINT"] = 60;
100 stringtoID_["XC_GGA_C_ZPBEINT"] = 61;
101 stringtoID_["XC_GGA_C_PBEINT"] = 62;
102 stringtoID_["XC_GGA_C_ZPBESOL"] = 63;
103 stringtoID_["XC_GGA_XC_OPBE_D"] = 65;
104 stringtoID_["XC_GGA_XC_OPWLYP_D"] = 66;
105 stringtoID_["XC_GGA_XC_OBLYP_D"] = 67;
106 stringtoID_["XC_GGA_X_VMT84_GE"] = 68;
107 stringtoID_["XC_GGA_X_VMT84_PBE"] = 69;
108 stringtoID_["XC_GGA_X_VMT_GE"] = 70;
109 stringtoID_["XC_GGA_X_VMT_PBE"] = 71;
110 stringtoID_["XC_GGA_C_N12_SX"] = 79;
111 stringtoID_["XC_GGA_C_N12"] = 80;
112 stringtoID_["XC_GGA_X_N12"] = 82;
113 stringtoID_["XC_GGA_C_VPBE"] = 83;
114 stringtoID_["XC_GGA_C_OP_XALPHA"] = 84;
115 stringtoID_["XC_GGA_C_OP_G96"] = 85;
116 stringtoID_["XC_GGA_C_OP_PBE"] = 86;
117 stringtoID_["XC_GGA_C_OP_B88"] = 87;
118 stringtoID_["XC_GGA_C_FT97"] = 88;
119 stringtoID_["XC_GGA_C_SPBE"] = 89;
120 stringtoID_["XC_GGA_X_SSB_SW"] = 90;
121 stringtoID_["XC_GGA_X_SSB"] = 91;
122 stringtoID_["XC_GGA_X_SSB_D"] = 92;
123 stringtoID_["XC_GGA_XC_HCTH_407P"] = 93;
124 stringtoID_["XC_GGA_XC_HCTH_P76"] = 94;
125 stringtoID_["XC_GGA_XC_HCTH_P14"] = 95;
126 stringtoID_["XC_GGA_XC_B97_GGA1"] = 96;
127 stringtoID_["XC_GGA_XC_HCTH_A"] = 97;
128 stringtoID_["XC_GGA_X_BPCCAC"] = 98;
129 stringtoID_["XC_GGA_C_REVTCA"] = 99;
130 stringtoID_["XC_GGA_C_TCA"] = 100;
131 stringtoID_["XC_GGA_X_PBE"] = 101;
132 stringtoID_["XC_GGA_X_PBE_R"] = 102;
133 stringtoID_["XC_GGA_X_B86"] = 103;
134 stringtoID_["XC_GGA_X_HERMAN"] = 104;
135 stringtoID_["XC_GGA_X_B86_MGC"] = 105;
136 stringtoID_["XC_GGA_X_B88"] = 106;
137 stringtoID_["XC_GGA_X_G96"] = 107;
138 stringtoID_["XC_GGA_X_PW86"] = 108;
139 stringtoID_["XC_GGA_X_PW91"] = 109;
140 stringtoID_["XC_GGA_X_OPTX"] = 110;
141 stringtoID_["XC_GGA_X_DK87_R1"] = 111;
142 stringtoID_["XC_GGA_X_DK87_R2"] = 112;
143 stringtoID_["XC_GGA_X_LG93"] = 113;
144 stringtoID_["XC_GGA_X_FT97_A"] = 114;
145 stringtoID_["XC_GGA_X_FT97_B"] = 115;
146 stringtoID_["XC_GGA_X_PBE_SOL"] = 116;
147 stringtoID_["XC_GGA_X_RPBE"] = 117;
148 stringtoID_["XC_GGA_X_WC"] = 118;
149 stringtoID_["XC_GGA_X_MPW91"] = 119;
150 stringtoID_["XC_GGA_X_AM05"] = 120;
151 stringtoID_["XC_GGA_X_PBEA"] = 121;
152 stringtoID_["XC_GGA_X_MPBE"] = 122;
153 stringtoID_["XC_GGA_X_XPBE"] = 123;
154 stringtoID_["XC_GGA_X_2D_B86_MGC"] = 124;
155 stringtoID_["XC_GGA_X_BAYESIAN"] = 125;
156 stringtoID_["XC_GGA_X_PBE_JSJR"] = 126;
157 stringtoID_["XC_GGA_X_2D_B88"] = 127;
158 stringtoID_["XC_GGA_X_2D_B86"] = 128;
159 stringtoID_["XC_GGA_X_2D_PBE"] = 129;
160 stringtoID_["XC_GGA_C_PBE"] = 130;
161 stringtoID_["XC_GGA_C_LYP"] = 131;
162 stringtoID_["XC_GGA_C_P86"] = 132;
163 stringtoID_["XC_GGA_C_PBE_SOL"] = 133;
164 stringtoID_["XC_GGA_C_PW91"] = 134;
165 stringtoID_["XC_GGA_C_AM05"] = 135;
166 stringtoID_["XC_GGA_C_XPBE"] = 136;
167 stringtoID_["XC_GGA_C_LM"] = 137;
168 stringtoID_["XC_GGA_C_PBE_JRGX"] = 138;
169 stringtoID_["XC_GGA_X_OPTB88_VDW"] = 139;
170 stringtoID_["XC_GGA_X_PBEK1_VDW"] = 140;
171 stringtoID_["XC_GGA_X_OPTPBE_VDW"] = 141;
172 stringtoID_["XC_GGA_X_RGE2"] = 142;
173 stringtoID_["XC_GGA_C_RGE2"] = 143;
174 stringtoID_["XC_GGA_X_RPW86"] = 144;
175 stringtoID_["XC_GGA_X_KT1"] = 145;
176 stringtoID_["XC_GGA_XC_KT2"] = 146;
177 stringtoID_["XC_GGA_C_WL"] = 147;
178 stringtoID_["XC_GGA_C_WI"] = 148;
179 stringtoID_["XC_GGA_X_MB88"] = 149;
180 stringtoID_["XC_GGA_X_SOGGA"] = 150;
181 stringtoID_["XC_GGA_X_SOGGA11"] = 151;
182 stringtoID_["XC_GGA_C_SOGGA11"] = 152;
183 stringtoID_["XC_GGA_C_WI0"] = 153;
184 stringtoID_["XC_GGA_XC_TH1"] = 154;
185 stringtoID_["XC_GGA_XC_TH2"] = 155;
186 stringtoID_["XC_GGA_XC_TH3"] = 156;
187 stringtoID_["XC_GGA_XC_TH4"] = 157;
188 stringtoID_["XC_GGA_X_C09X"] = 158;
189 stringtoID_["XC_GGA_C_SOGGA11_X"] = 159;
190 stringtoID_["XC_GGA_X_LB"] = 160;
191 stringtoID_["XC_GGA_XC_HCTH_93"] = 161;
192 stringtoID_["XC_GGA_XC_HCTH_120"] = 162;
193 stringtoID_["XC_GGA_XC_HCTH_147"] = 163;
194 stringtoID_["XC_GGA_XC_HCTH_407"] = 164;
195 stringtoID_["XC_GGA_XC_EDF1"] = 165;
196 stringtoID_["XC_GGA_XC_XLYP"] = 166;
197 stringtoID_["XC_GGA_XC_B97"] = 167;
198 stringtoID_["XC_GGA_XC_B97_1"] = 168;
199 stringtoID_["XC_GGA_XC_B97_2"] = 169;
200 stringtoID_["XC_GGA_XC_B97_D"] = 170;
201 stringtoID_["XC_GGA_XC_B97_K"] = 171;
202 stringtoID_["XC_GGA_XC_B97_3"] = 172;
203 stringtoID_["XC_GGA_XC_PBE1W"] = 173;
204 stringtoID_["XC_GGA_XC_MPWLYP1W"] = 174;
205 stringtoID_["XC_GGA_XC_PBELYP1W"] = 175;
206 stringtoID_["XC_GGA_XC_SB98_1a"] = 176;
207 stringtoID_["XC_GGA_XC_SB98_1b"] = 177;
208 stringtoID_["XC_GGA_XC_SB98_1c"] = 178;
209 stringtoID_["XC_GGA_XC_SB98_2a"] = 179;
210 stringtoID_["XC_GGA_XC_SB98_2b"] = 180;
211 stringtoID_["XC_GGA_XC_SB98_2c"] = 181;
212 stringtoID_["XC_GGA_X_LBM"] = 182;
213 stringtoID_["XC_GGA_X_OL2"] = 183;
214 stringtoID_["XC_GGA_X_APBE"] = 184;
215 stringtoID_["XC_GGA_K_APBE"] = 185;
216 stringtoID_["XC_GGA_C_APBE"] = 186;
217 stringtoID_["XC_GGA_K_TW1"] = 187;
218 stringtoID_["XC_GGA_K_TW2"] = 188;
219 stringtoID_["XC_GGA_K_TW3"] = 189;
220 stringtoID_["XC_GGA_K_TW4"] = 190;
221 stringtoID_["XC_GGA_X_HTBS"] = 191;
222 stringtoID_["XC_GGA_X_AIRY"] = 192;
223 stringtoID_["XC_GGA_X_LAG"] = 193;
224 stringtoID_["XC_GGA_XC_MOHLYP"] = 194;
225 stringtoID_["XC_GGA_XC_MOHLYP2"] = 195;
226 stringtoID_["XC_GGA_XC_TH_FL"] = 196;
227 stringtoID_["XC_GGA_XC_TH_FC"] = 197;
228 stringtoID_["XC_GGA_XC_TH_FCFO"] = 198;
229 stringtoID_["XC_GGA_XC_TH_FCO"] = 199;
230 stringtoID_["XC_GGA_C_OPTC"] = 200;
231 stringtoID_["XC_GGA_K_VW"] = 500;
232 stringtoID_["XC_GGA_K_GE2"] = 501;
233 stringtoID_["XC_GGA_K_GOLDEN"] = 502;
234 stringtoID_["XC_GGA_K_YT65"] = 503;
235 stringtoID_["XC_GGA_K_BALTIN"] = 504;
236 stringtoID_["XC_GGA_K_LIEB"] = 505;
237 stringtoID_["XC_GGA_K_ABSP1"] = 506;
238 stringtoID_["XC_GGA_K_ABSP2"] = 507;
239 stringtoID_["XC_GGA_K_GR"] = 508;
240 stringtoID_["XC_GGA_K_LUDENA"] = 509;
241 stringtoID_["XC_GGA_K_GP85"] = 510;
242 stringtoID_["XC_GGA_K_PEARSON"] = 511;
243 stringtoID_["XC_GGA_K_OL1"] = 512;
244 stringtoID_["XC_GGA_K_OL2"] = 513;
245 stringtoID_["XC_GGA_K_FR_B88"] = 514;
246 stringtoID_["XC_GGA_K_FR_PW86"] = 515;
247 stringtoID_["XC_GGA_K_DK"] = 516;
248 stringtoID_["XC_GGA_K_PERDEW"] = 517;
249 stringtoID_["XC_GGA_K_VSK"] = 518;
250 stringtoID_["XC_GGA_K_VJKS"] = 519;
251 stringtoID_["XC_GGA_K_ERNZERHOF"] = 520;
252 stringtoID_["XC_GGA_K_LC94"] = 521;
253 stringtoID_["XC_GGA_K_LLP"] = 522;
254 stringtoID_["XC_GGA_K_THAKKAR"] = 523;
255 stringtoID_["XC_GGA_X_WPBEH"] = 524;
256 stringtoID_["XC_GGA_X_HJS_PBE"] = 525;
257 stringtoID_["XC_GGA_X_HJS_PBE_SOL"] = 526;
258 stringtoID_["XC_GGA_X_HJS_B88"] = 527;
259 stringtoID_["XC_GGA_X_HJS_B97X"] = 528;
260 stringtoID_["XC_GGA_X_ITYH"] = 529;
261 stringtoID_["XC_GGA_X_SFAT"] = 530;
262 stringtoID_["XC_HYB_GGA_X_N12_SX"] = 81;
263 stringtoID_["XC_HYB_GGA_XC_B3PW91"] = 401;
264 stringtoID_["XC_HYB_GGA_XC_B3LYP"] = 402;
265 stringtoID_["XC_HYB_GGA_XC_B3P86"] = 403;
266 stringtoID_["XC_HYB_GGA_XC_O3LYP"] = 404;
267 stringtoID_["XC_HYB_GGA_XC_mPW1K"] = 405;
268 stringtoID_["XC_HYB_GGA_XC_PBEH"] = 406;
269 stringtoID_["XC_HYB_GGA_XC_B97"] = 407;
270 stringtoID_["XC_HYB_GGA_XC_B97_1"] = 408;
271 stringtoID_["XC_HYB_GGA_XC_B97_2"] = 410;
272 stringtoID_["XC_HYB_GGA_XC_X3LYP"] = 411;
273 stringtoID_["XC_HYB_GGA_XC_B1WC"] = 412;
274 stringtoID_["XC_HYB_GGA_XC_B97_K"] = 413;
275 stringtoID_["XC_HYB_GGA_XC_B97_3"] = 414;
276 stringtoID_["XC_HYB_GGA_XC_MPW3PW"] = 415;
277 stringtoID_["XC_HYB_GGA_XC_B1LYP"] = 416;
278 stringtoID_["XC_HYB_GGA_XC_B1PW91"] = 417;
279 stringtoID_["XC_HYB_GGA_XC_mPW1PW"] = 418;
280 stringtoID_["XC_HYB_GGA_XC_MPW3LYP"] = 419;
281 stringtoID_["XC_HYB_GGA_XC_SB98_1a"] = 420;
282 stringtoID_["XC_HYB_GGA_XC_SB98_1b"] = 421;
283 stringtoID_["XC_HYB_GGA_XC_SB98_1c"] = 422;
284 stringtoID_["XC_HYB_GGA_XC_SB98_2a"] = 423;
285 stringtoID_["XC_HYB_GGA_XC_SB98_2b"] = 424;
286 stringtoID_["XC_HYB_GGA_XC_SB98_2c"] = 425;
287 stringtoID_["XC_HYB_GGA_X_SOGGA11_X"] = 426;
288 stringtoID_["XC_HYB_GGA_XC_HSE03"] = 427;
289 stringtoID_["XC_HYB_GGA_XC_HSE06"] = 428;
290 stringtoID_["XC_HYB_GGA_XC_HJS_PBE"] = 429;
291 stringtoID_["XC_HYB_GGA_XC_HJS_PBE_SOL"] = 430;
292 stringtoID_["XC_HYB_GGA_XC_HJS_B88"] = 431;
293 stringtoID_["XC_HYB_GGA_XC_HJS_B97X"] = 432;
294 stringtoID_["XC_HYB_GGA_XC_CAM_B3LYP"] = 433;
295 stringtoID_["XC_HYB_GGA_XC_TUNED_CAM_B3LYP"] = 434;
296 stringtoID_["XC_HYB_GGA_XC_BHANDH"] = 435;
297 stringtoID_["XC_HYB_GGA_XC_BHANDHLYP"] = 436;
298 stringtoID_["XC_HYB_GGA_XC_MB3LYP_RC04"] = 437;
299 stringtoID_["XC_HYB_GGA_XC_MPWLYP1M"] = 453;
300 stringtoID_["XC_HYB_GGA_XC_REVB3LYP"] = 454;
301 stringtoID_["XC_HYB_GGA_XC_CAMY_BLYP"] = 455;
302 stringtoID_["XC_HYB_GGA_XC_PBE0_13"] = 456;
303 }
304};
305
306} // namespace xtp
307} // namespace votca
308
309#endif // VOTCA_XTP_VXC_FUNCTIONALS_H
conversion of functional string into integer
std::map< std::string, int > stringtoID_
int getID(std::string name) const
base class for all analysis tools
Definition basebead.h:33