Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 10 additions & 8 deletions include/seq_damp_chgpen.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ SEQ_CUDA
inline void damp_pole(real* restrict dmpik, real* restrict dmpi,
real* restrict dmpk, real r, real alphai, real alphak)
{
real eps = 0.001f;
real eps = 0.01f;
real diff = REAL_ABS(alphai - alphak);
real dampi = alphai * r;
real dampk = alphak * r;
Expand Down Expand Up @@ -109,8 +109,9 @@ inline void damp_pole(real* restrict dmpik, real* restrict dmpi,
// valence-valence
real alphai2 = alphai * alphai;
real alphak2 = alphak * alphak;
real termi = alphak2 / (alphak2 - alphai2);
real termk = alphai2 / (alphai2 - alphak2);
real alphaik = ((alphak + alphai) * (alphak - alphai));
real termi = alphak2 / alphaik;
real termk = -alphai2 / alphaik;
real termi2 = termi * termi;
real termk2 = termk * termk;

Expand Down Expand Up @@ -185,7 +186,7 @@ SEQ_CUDA
inline void damp_polar(real* restrict dmpik, real* restrict dmpi,
real* restrict dmpk, real r, real alphai, real alphak)
{
real eps = 0.005f;
real eps = 0.05f;
real diff = REAL_ABS(alphai - alphak);
real dampi = alphai * r;
real dampk = alphak * r;
Expand Down Expand Up @@ -230,8 +231,9 @@ inline void damp_polar(real* restrict dmpik, real* restrict dmpi,
// valence-valence
real alphai2 = alphai * alphai;
real alphak2 = alphak * alphak;
real termi = alphak2 / (alphak2 - alphai2);
real termk = alphai2 / (alphai2 - alphak2);
real alphaik = ((alphak + alphai) * (alphak - alphai));
real termi = alphak2 / alphaik;
real termk = -alphai2 / alphaik;
real termi2 = termi * termi;
real termk2 = termk * termk;

Expand All @@ -253,7 +255,7 @@ SEQ_CUDA
inline void damp_dir(real* restrict dmpi, real* restrict dmpk, real r,
real alphai, real alphak)
{
real eps = 0.001f;
real eps = 0.05f;
real diff = REAL_ABS(alphai - alphak);
real dampi = alphai * r;
real dampk = alphak * r;
Expand Down Expand Up @@ -296,7 +298,7 @@ inline void damp_dir(real* restrict dmpi, real* restrict dmpk, real r,
SEQ_CUDA
inline void damp_mut(real* restrict dmpik, real r, real alphai, real alphak)
{
real eps = 0.005f;
real eps = 0.05f;
real diff = REAL_ABS(alphai - alphak);
real dampi = alphai * r;
real dampk = alphak * r;
Expand Down
10 changes: 6 additions & 4 deletions include/seq_damprep.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,15 @@ inline void damp_rep(real* restrict dmpik, real r, real rinv, real r2, real rr3,
real dmpi25 = dmpi23 * dmpi22;

real diff = REAL_ABS(dmpi - dmpk);
real eps = 0.005f;

// divisions
const real div3 = 1 / ((real)3);
const real div9 = 1 / ((real)9);
const real div945 = 1 / ((real)945);

real pre, s, ds, d2s, d3s, d4s, d5s;
if (diff < 0.005f) {
if (diff < eps) {
real r6 = r3 * r3;
real r7 = r4 * r3;

Expand Down Expand Up @@ -76,11 +77,12 @@ inline void damp_rep(real* restrict dmpik, real r, real rinv, real r2, real rr3,
real dmpk24 = dmpk22 * dmpk22;
real dmpk25 = dmpk23 * dmpk22;

real term = dmpi22 - dmpk22;
real tmp = (4 * dmpi2 * dmpk2) / term;
real term = 0.25f * (dmpi + dmpk) * (dmpi - dmpk);
real term1 = (dmpi + dmpk) * (dmpi - dmpk);
real tmp = 4 * (dmpi * dmpk) / term1;
pre = (8192 * dmpi23 * dmpk23) / (term * term * term * term);

real coef1 = 4 / term;
real coef1 = 16 / term1;

s = (dampi * expk) + (dampk * expi) + tmp * (expi - expk);
ds =
Expand Down
13 changes: 8 additions & 5 deletions include/seq_pair_disp.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ void pair_disp(real r, real r2, real rr1, //
}


real eps = 0.005f;
real diff = REAL_ABS(ai - ak);
real rr2 = rr1 * rr1;
real rr6 = rr2 * rr2 * rr2;
real di = ai * r;
Expand All @@ -29,11 +31,13 @@ void pair_disp(real r, real r2, real rr1, //
real expk = REAL_EXP(-dk);
real di2 = di * di;
real damp = 1, ddamp = 0;
if (ai != ak) {
if (diff > eps) {
real ai2 = ai * ai;
real ak2 = ak * ak;
real ti = ak2 * REAL_RECIP(ak2 - ai2);
real tk = ai2 * REAL_RECIP(ai2 - ak2);
// real ti = ak2 * REAL_RECIP(ak2 - ai2);
// real tk = ai2 * REAL_RECIP(ai2 - ak2);
real ti = ak2 * REAL_RECIP((ak + ai)*(ak - ai));
real tk = ai2 * REAL_RECIP((ai + ak)*(ai - ak));
real a1 = 2 * ti + 1;
real b1 = 2 * tk + 1;
real termi = ((di / 2 + b1) / 2 * di + b1) * di + b1;
Expand All @@ -49,8 +53,7 @@ void pair_disp(real r, real r2, real rr1, //
b2 *= ak * dk2 * tk * tk * expk;
ddamp = a2 + b2;
}
}
if (ai == ak) {
} else {
real term = ((((di + 5) * di + 17) * di / 96 + 0.5f) * di + 1) * di + 1;
damp = 1 - term * expi;
if CONSTEXPR (DO_G)
Expand Down
152 changes: 152 additions & 0 deletions src/test/file/dmso/dmso.xyz
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
150 Dimethylsulfoxide (S101 Database)
25.00000000 25.00000000 30.00000000 90.00000000 90.00000000 90.00000000
1 C 10.83176362 12.50048040 -11.34998719 161 3 5 6 7
2 O 8.21370934 11.88683602 -11.61920045 160 3
3 S 9.55580510 11.52553364 -12.21348857 159 1 2 4
4 C 9.72086092 12.36946486 -13.80583270 161 3 8 9 10
5 H 10.56787504 13.55892910 -11.38478115 162 1
6 H 10.90882665 12.15103745 -10.31813556 162 1
7 H 11.77702006 12.34159345 -11.87694430 162 1
8 H 9.56220752 13.44085890 -13.69224109 162 4
9 H 10.73026645 12.18257210 -14.18707683 162 4
10 H 9.01239016 11.95639586 -14.52080075 162 4
11 C 9.49594455 -5.83564569 -14.16842300 161 13 15 16 17
12 O 10.54057860 -7.67785122 -15.87703844 160 13
13 S 9.67493539 -7.58469936 -14.64386890 159 11 12 14
14 C 10.67021442 -8.09363989 -13.19710423 161 13 18 19 20
15 H 10.48068665 -5.37132853 -14.09250905 162 11
16 H 8.88739065 -5.32810227 -14.91967305 162 11
17 H 8.98638819 -5.80998304 -13.19509676 162 11
18 H 11.60282081 -7.52661468 -13.17990651 162 14
19 H 10.07996890 -7.87225176 -12.30257094 162 14
20 H 10.87004710 -9.16725047 -13.25211839 162 14
21 C 12.74348854 9.41232667 -15.55241863 161 23 25 26 27
22 O 10.28230315 9.11483233 -14.48692346 160 23
23 S 11.72924196 9.19390700 -14.06441690 159 21 22 24
24 C 12.28520284 7.49684576 -13.70151623 161 23 28 29 30
25 H 12.72343812 10.47755307 -15.80429599 162 21
26 H 13.76323800 9.10417060 -15.31572365 162 21
27 H 12.35941975 8.81262852 -16.37861062 162 21
28 H 12.06303603 6.85203685 -14.55379862 162 24
29 H 13.36851684 7.53431273 -13.53584246 162 24
30 H 11.77618349 7.14282870 -12.80206711 162 24
31 C 6.43614124 -12.09441818 14.67965603 161 33 35 36 37
32 O 8.51800611 -10.87223982 13.43487443 160 33
33 S 7.37393833 -10.57223692 14.36603083 159 31 32 34
34 C 6.07357861 -9.72041284 13.41521653 161 33 38 39 40
35 H 6.36800881 -12.69450575 13.76874691 162 31
36 H 6.96618727 -12.64150308 15.45969919 162 31
37 H 5.45084587 -11.82590108 15.06694680 162 31
38 H 5.71586101 -10.38260423 12.62450269 162 34
39 H 5.26168608 -9.46918162 14.10441831 162 34
40 H 6.50083615 -8.80752127 12.99332814 162 34
41 C 5.60289159 7.55667044 -10.95566808 161 43 45 46 47
42 O 4.50608398 10.02025443 -10.83594401 160 43
43 S 5.80989682 9.35139749 -11.19923874 159 41 42 44
44 C 6.98409818 9.60429524 -9.82796162 161 43 48 49 50
45 H 5.10283539 7.35474492 -10.00611897 162 41
46 H 5.02017096 7.18233482 -11.80141052 162 41
47 H 6.58751247 7.08744477 -10.99066662 162 41
48 H 6.50042674 9.39644605 -8.87127682 162 44
49 H 7.84390005 8.94982478 -9.98390329 162 44
50 H 7.32913361 10.64108836 -9.88026242 162 44
51 C 7.99645620 -9.93283134 -12.30834346 161 53 55 56 57
52 O 8.01918655 -7.25445828 -11.99578179 160 53
53 S 7.05466009 -8.41427437 -11.94000340 159 51 52 54
54 C 6.02893290 -8.33786230 -13.44058864 161 53 58 59 60
55 H 8.62607394 -9.77141835 -13.18017586 162 51
56 H 8.59002566 -10.20349343 -11.43317508 162 51
57 H 7.29100160 -10.73742172 -12.50880234 162 51
58 H 6.67078752 -8.18715376 -14.30897038 162 54
59 H 5.46404391 -9.27756435 -13.51300278 162 54
60 H 5.33067691 -7.50421794 -13.33695622 162 54
61 C -7.77601451 6.78292039 -14.03101887 161 63 65 66 67
62 O -9.79423764 8.55636499 -13.87780624 160 63
63 S -8.28548852 8.53427320 -13.92476552 159 61 62 64
64 C -7.65859439 8.80579486 -12.23531047 161 63 68 69 70
65 H -8.19457086 6.22892322 -13.18848261 162 61
66 H -8.14680694 6.37381778 -14.97392830 162 61
67 H -6.68416205 6.73342408 -14.01444644 162 61
68 H -8.24631407 8.23634840 -11.51205619 162 64
69 H -6.60721400 8.51518510 -12.20253187 162 64
70 H -7.72717547 9.87689273 -12.03463519 162 64
71 C 7.49774755 9.94152318 -14.35434843 161 73 75 76 77
72 O 5.84276431 7.84895101 -14.01204438 160 73
73 S 7.31563951 8.16818744 -14.09820216 159 71 72 74
74 C 7.93526515 7.65565856 -15.72402261 161 73 78 79 80
75 H 6.92963269 10.24814170 -15.23500111 162 71
76 H 7.18097463 10.48203086 -13.45962280 162 71
77 H 8.55969338 10.08534526 -14.56269391 162 71
78 H 7.42172081 8.21419855 -16.51256994 162 74
79 H 8.99064019 7.93984982 -15.73726326 162 74
80 H 7.82104259 6.57706005 -15.84918529 162 74
81 C 9.29430460 12.22984573 11.27146392 161 83 85 86 87
82 O 7.73996590 10.52038577 12.70204595 160 83
83 S 9.08468103 11.20930262 12.76644662 159 81 82 84
84 C 10.36824400 9.99452020 12.34317158 161 83 88 89 90
85 H 8.89841558 11.71417290 10.39408559 162 81
86 H 8.77826614 13.17374294 11.46018771 162 81
87 H 10.36244046 12.43505938 11.17194883 162 81
88 H 10.21049460 9.61570722 11.33159947 162 84
89 H 11.32365305 10.53155287 12.42687423 162 84
90 H 10.33457002 9.19547689 13.08502459 162 84
91 C -4.55283339 12.15989911 -12.45799797 161 93 95 96 97
92 O -6.89386006 11.46383222 -13.62635325 160 93
93 S -5.41203058 11.17590346 -13.72045326 159 91 92 94
94 C -4.74285402 12.04993810 -15.16422562 161 93 98 99 100
95 H -4.86609832 13.20354072 -12.52301201 162 91
96 H -4.77104947 11.75032487 -11.46963995 162 91
97 H -3.47871626 12.08418673 -12.66548768 162 91
98 H -5.05438646 13.09600267 -15.14594672 162 94
99 H -3.65063225 11.98794989 -15.09617092 162 94
100 H -5.08964890 11.55698945 -16.07491236 162 94
101 C 11.53203995 -10.49510704 14.75498111 161 103 105 106 107
102 O 11.87079021 -12.57908410 13.04765015 160 103
103 S 12.26626466 -11.13383795 13.22884510 159 101 102 104
104 C 11.28687227 -10.10562164 12.09217832 161 103 108 109 110
105 H 11.91331479 -11.04499648 15.61820291 162 101
106 H 11.82050288 -9.44203991 14.81487926 162 101
107 H 10.44678238 -10.57161760 14.66806123 162 101
108 H 10.22383394 -10.34067137 12.20494318 162 104
109 H 11.42438274 -9.05551193 12.37353515 162 104
110 H 11.61586323 -10.27212171 11.06448843 162 104
111 C 0.21844466 10.85901778 -12.45882087 161 113 115 116 117
112 O -1.98433950 11.47018656 -13.91233098 160 113
113 S -0.50609455 11.20749395 -14.09361151 159 111 112 114
114 C 0.33359663 12.79327691 -14.37744068 161 113 118 119 120
115 H 1.30107302 10.79108626 -12.59135083 162 111
116 H -0.01535696 11.66962681 -11.76653458 162 111
117 H -0.16866942 9.90654308 -12.09131141 162 111
118 H 0.02047502 13.19452822 -15.34345036 162 114
119 H 0.10271420 13.49341973 -13.57249512 162 114
120 H 1.41397527 12.59222676 -14.39981370 162 114
121 C 4.21705627 9.64713466 -15.82112250 161 123 125 126 127
122 O 2.73485937 11.20034205 -14.19223366 160 123
123 S 3.86289127 10.19749276 -14.12210317 159 121 122 124
124 C 3.16941422 8.62657402 -13.51797862 161 123 128 129 130
125 H 3.28889843 9.41280271 -16.34501636 162 121
126 H 4.77407680 10.43246132 -16.33990558 162 121
127 H 4.84504751 8.75654268 -15.75384937 162 121
128 H 2.26868961 8.36913222 -14.07892953 162 124
129 H 3.93824725 7.85392425 -13.66139186 162 124
130 H 2.95949689 8.73724059 -12.44960897 162 124
131 C -9.80046706 11.69765525 -15.16499153 161 133 135 136 137
132 O -12.10310448 12.04100520 -13.76373874 160 133
133 S -10.65379971 12.46593816 -13.75939279 159 131 132 134
134 C -9.80075592 11.55466814 -12.43831173 161 133 138 139 140
135 H -9.97544956 10.62417281 -15.16283000 162 131
136 H -10.17412008 12.13965080 -16.09283222 162 131
137 H -8.72656756 11.87661544 -15.05063728 162 131
138 H -10.05808730 10.49517458 -12.51065935 162 134
139 H -8.72268853 11.69624599 -12.57814292 162 134
140 H -10.11157035 11.95923738 -11.47253814 162 134
141 C 3.27086582 -12.39040846 -11.47712716 161 143 145 146 147
142 O 5.18973947 -10.91401688 -12.65978861 160 143
143 S 5.00656098 -12.26671014 -12.01437213 159 141 142 144
144 C 5.70975386 -12.18534911 -10.33830849 161 143 148 149 150
145 H 3.02449958 -11.56874522 -10.80195241 162 141
146 H 2.63929711 -12.38125168 -12.36866339 162 141
147 H 3.16128628 -13.35989736 -10.97180558 162 141
148 H 6.79518070 -12.30958741 -10.43565779 162 144
149 H 5.45953856 -11.23373624 -9.86418929 162 144
150 H 5.29956889 -13.02440506 -9.77000758 162 144
8 changes: 8 additions & 0 deletions src/test/file/hippo/chgtrn/chgtrn.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
parameters hippo19.prm
neighbor-list
a-axis 25.0
b-axis 25.0
c-axis 30.0

chgtrnterm only
chgtrn-cutoff 7.0
Loading