-
Notifications
You must be signed in to change notification settings - Fork 32
Expand file tree
/
Copy pathaliases.cpp
More file actions
140 lines (137 loc) · 5.27 KB
/
aliases.cpp
File metadata and controls
140 lines (137 loc) · 5.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
* XCFun, an arbitrary order exchange-correlation library
* Copyright (C) 2020 Ulf Ekström and contributors.
*
* This file is part of XCFun.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* For information on the complete list of contributors to the
* XCFun library, see: <https://xcfun.readthedocs.io/>
*/
#include "xcint.hpp"
static struct alias_data aliases_array[XC_MAX_ALIASES] = {
{"null", "No functional", {{"slaterx", 0.0}}},
{"lda",
"Slater exchange and VWN5 correlation",
{{"slaterx", 1.0}, {"vwn5c", 1.0}}},
{"blyp", "Becke exchange and LYP correlation", {{"beckex", 1.0}, {"lypc", 1.0}}},
{"pbe", "PBE exchange and correlation", {{"pbex", 1.0}, {"pbec", 1.0}}},
{"bp86", "Becke-Perdew 1986", {{"beckex", 1.0}, {"p86c", 1.0}}},
{"kt1", "Keal-Tozer 2", {{"slaterx", 1.}, {"ktx", -0.006}, {"vwn5c", 1.}}},
{"kt2",
"Keal-Tozer 2",
{{"slaterx", 1.07173}, {"ktx", -0.006}, {"vwn5c", 0.576727}}},
{"kt3",
"Keal-Tozer 3",
{{"slaterx", 1.092},
{"ktx", -0.004},
{"optxcorr", -0.925452},
{"lypc", 0.864409}}},
{"ldaerf",
"Short-range exchange and correlation LDA functional",
{{"ldaerfx", 1.0}, {"ldaerfc", 1.0}}},
// Hybrid Functionals
{"pbe0",
"Perdew-Burke-Ernzerhof",
{{"pbex", 0.75}, {"pbec", 1.0}, {"exx", 0.25}}},
{"b3lyp5",
"Becke-3-paramater-LYP (VWN5 form)",
{{"slaterx", 0.80},
{"beckecorrx", 0.72},
{"lypc", 0.81},
{"vwn5c", 0.19},
{"exx", 0.20}}},
{"m06", "M06", {{"m06c", 1.0}, {"m06x", 1.0}}},
{"m06-2x", "M06 2X", {{"m06x2c", 1.0}, {"m06x2x", 1.0}}},
{"m06L", "M06 L", {{"m06lc", 1.0}, {"m06lx", 1.0}}},
{"b3lyp",
"Becke-3-paramater-LYP (VWN3 form)",
{{"slaterx", 0.80},
{"beckecorrx", 0.72},
{"lypc", 0.81},
{"vwn3c", 0.19},
{"exx", 0.20}}},
{"b3p86",
"Becke-3-paramater-LYP (VWN5 form)",
{{"slaterx", 0.80},
{"beckecorrx", 0.72},
{"p86corrc", 0.81},
{"vwn5c", 1.0},
{"exx", 0.20}}},
{"b3p86-g",
"Becke-3-paramater-LYP (VWN3 form)",
{{"slaterx", 0.80},
{"beckecorrx", 0.72},
{"p86corrc", 0.81},
{"vwn3c", 1.0},
{"exx", 0.20}}},
{"bpw91", "Becke 88 exchange+PW91", {{"beckex", 1.0}, {"pw91c", 1.0}}},
{"b97",
"B97 exchange and correlation",
{{"b97x", 1.0}, {"b97c", 1.0}, {"exx", 0.1943}}},
{"b97-1",
"B97-1 exchange and correlation",
{{"b97_1x", 1.0}, {"b97_1c", 1.0}, {"exx", 0.21}}},
{"b97_2",
"B97-2 exchange and correlation",
{{"b97_2x", 1.0}, {"b97_2c", 1.0}, {"exx", 0.21}}},
{"camb3lyp",
"CAM-B3LYP",
{{"cam_alpha", 0.19},
{"cam_beta", 0.46},
{"rangesep_mu", 0.33},
{"beckecamx", 1.0},
{"vwn5c", 0.19},
{"lypc", 0.81},
{"exx", 1.0}}},
// Some of these are there to match the names used in Dalton
{"vwn", "VWN5 correlation", {{"vwn5c", 1.0}}},
{"vwn5", "VWN5 correlation", {{"vwn5c", 1.0}}},
{"vwn3", "VWN5 correlation", {{"vwn3c", 1.0}}},
{"svwn",
"Slater exchange and VWN5 correlation",
{{"slaterx", 1.0}, {"vwn5c", 1.0}}},
{"svwn5",
"Slater exchange and VWN5 correlation",
{{"slaterx", 1.0}, {"vwn5c", 1.0}}},
{"svwn3",
"Slater exchange and VWN3 correlation",
{{"slaterx", 1.0}, {"vwn3c", 1.0}}},
{"becke", "Becke exchange", {{"beckecorrx", 1.0}}},
{"slater", "Slater exchange", {{"slaterx", 1.0}}},
{"olyp", "LYP correlation and OPTX exchange", {{"lypc", 1.0}, {"optx", 1.0}}},
{"lyp", "LYP correlation", {{"lypc", 1.0}}},
// ADMM exchange funtional corrections
{"B88X", "Becke exchange", {{"slaterx", 1.}, {"beckecorrx", 1.0}}},
{"LDAX", "Slater exchange", {{"slaterx", 1.}}},
{"PBEX", "PBE exchange", {{"pbex", 1.0}}},
// Alias for HF-type exchange to allow the GGAKEY option in lsdalton
{"HF", "Hartree-Fock exchange", {{"exx", 1.0}}},
{"KT3X",
"Keal-Tozer 3 exchange",
{{"slaterx", 1.092}, {"ktx", -0.004}, {"optxcorr", -0.925452}}},
{"OPTX", "OptX exchange", {{"slaterx", 1.05151}, {"optxcorr", -1.43169}}},
{"camcompx",
"Complementary part of CAM exchange",
{{"beckex", 1.0},
{"beckecamx", -1.0},
{"cam_alpha", 0.19},
{"cam_beta", 0.46},
{"rangesep_mu", 0.33}}},
// Kinetic energy corrections for orbital free DFT
{"tfk",
"Thomas-Fermi correction to be put in effective potential.",
{{"tfk", 1.0}}},
{"tw",
"von Weizsacker correction to be put in effective potential.",
{{"tw", 1.0}}},
{"scan", "Strongly Constrained and Appropriately Normed", {{"scanx", 1.0}, {"scanc", 1.0}}},
{"rscan", "regularised Strongly Constrained and Appropriately Normed", {{"rscanx", 1.0}, {"rscanc", 1.0}}},
{"rppscan", "regularised-improved Strongly Constrained and Appropriately Normed", {{"rppscanx", 1.0}, {"rppscanc", 1.0}}},
{"r2scan", "regularised-restored Strongly Constrained and Appropriately Normed", {{"r2scanx", 1.0}, {"r2scanc", 1.0}}},
{"r4scan", "4th order regularised-restored Strongly Constrained and Appropriately Normed", {{"r4scanx", 1.0}, {"r4scanc", 1.0}}}
};
struct alias_data * xcint_aliases = aliases_array;