Skip to content

Commit 3183a6a

Browse files
committed
labeling sss -> ss
1 parent 7df6652 commit 3183a6a

File tree

4 files changed

+48
-21
lines changed

4 files changed

+48
-21
lines changed

CHANGES

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ Following is a brief summary of changes made in each release of Libint.
55

66
- 2022-xx-yy: 2.8.0-beta.1
77
- UNMERGED PR #271: Small pkgconfig and cmake detection improvements. Enable unity build.
8-
- UNMERGED PR #270: For Windows, basis sets with a star have been renamed to "s" on the filesystem,
8+
Testing of solid harmonics runtime switchable from #269.
9+
- PR #270: For Windows, basis sets with a star have been renamed to "s" on the filesystem,
910
so 6-31g**.g94 -> 6-31gss.g94. In code, the basis can be accessed through "6-31g**" (longstanding)
1011
or "6-31gss" (new) for all operating systems.
11-
- UNMERGED PR #270: Adapt build system and header imports so that library and Python bindings can build on
12+
- PR #270: Adapt build system and header imports so that library and Python bindings can build on
1213
Windows (at least with clang-cl compiler atop MSVC). Note that a Linux- or Mac-generated export
1314
builds on Windows; one cannot generate an export on Windows. Note also that only a static library
1415
build, not a shared one, works on Windows (see #237).

INSTALL.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ libint2::finalize();
1717
```
1818
SHGShell: 1
1919
SHGShell: 2
20-
Configuration: eri_c4_d0_l2;eri_c4_d0_l3;sss;...
20+
Configuration: eri_c4_d0_l2;eri_c4_d0_l3;ss;...
2121
```
2222

2323
For the C library, a similar function is available:
@@ -26,7 +26,7 @@ For the C library, a similar function is available:
2626
printf("CMake Configuration (C) : %s\n", configuration_accessor());
2727
```
2828
```
29-
CMake Configuration (C) : eri_c4_d0_l2;eri_c4_d0_l3;sss;...
29+
CMake Configuration (C) : eri_c4_d0_l2;eri_c4_d0_l3;ss;...
3030
```
3131

3232
If you have a built libint2 library whose history you don't know, a command like this on Linux can provide the same information:
@@ -35,12 +35,11 @@ If you have a built libint2 library whose history you don't know, a command like
3535
strings -n80 /a/random/L2/lying/around/libint2.so
3636
```
3737
```
38-
eri_c2_d0_l2;eri_c2_d0_l3;eri_c2_d1_l2;eri_c3_d0_l2;eri_c3_d0_l3;eri_c3_d1_l2;eri_c4_d0_l2;eri_c4_d1_l2;impure_sh;onebody_d0_l2;onebody_d0_l3;onebody_d1_l2;sss
38+
eri_c2_d0_l2;eri_c2_d0_l3;eri_c2_d1_l2;eri_c3_d0_l2;eri_c3_d0_l3;eri_c3_d1_l2;eri_c4_d0_l2;eri_c4_d1_l2;impure_sh;onebody_d0_l2;onebody_d0_l3;onebody_d1_l2;ss
3939
```
4040

41-
A patch like the following is suitable for an export tarball generated from the next following. See
42-
https://github.com/loriab/libint/blob/new-cmake-2023-take2-b/cmake/libint2-config.cmake.in#L37-L65
43-
for decoding the configuration components.
41+
A patch like the following is suitable for an export tarball generated from the next following.
42+
[See guide](#configuration-codes) for decoding the configuration components.
4443

4544
```
4645
--- src/configuration.cc.cmake.in 2023-09-05 09:13:50.000000000 -0400
@@ -50,7 +49,7 @@ for decoding the configuration components.
5049
const char * configuration_accessor() {
5150
//return "@Libint2_CONFIG_COMPONENTS@";
5251
- return "(nyi)";
53-
+ return "eri_c2_d0_l2;eri_c2_d0_l3;eri_c2_d0_l4;eri_c2_d0_l5;eri_c2_d0_l6;eri_c2_d1_l2;eri_c2_d1_l3;eri_c2_d1_l4;eri_c2_d1_l5;eri_c3_d0_l2;eri_c3_d0_l3;eri_c3_d0_l4;eri_c3_d0_l5;eri_c3_d0_l6;eri_c3_d1_l2;eri_c3_d1_l3;eri_c3_d1_l4;eri_c3_d1_l5;eri_c4_d0_l2;eri_c4_d0_l3;eri_c4_d0_l4;eri_c4_d0_l5;eri_c4_d1_l2;eri_c4_d1_l3;eri_c4_d1_l4;g12_d0_l2;g12_d0_l3;g12_d0_l4;g12_d1_l2;g12_d1_l3;g12_d1_l4;impure_sh;onebody_d0_l2;onebody_d0_l3;onebody_d0_l4;onebody_d0_l5;onebody_d0_l6;onebody_d1_l2;onebody_d1_l3;onebody_d1_l4;onebody_d1_l5;onebody_d2_l2;onebody_d2_l3;onebody_d2_l4;sss";
52+
+ return "eri_c2_d0_l2;eri_c2_d0_l3;eri_c2_d0_l4;eri_c2_d0_l5;eri_c2_d0_l6;eri_c2_d1_l2;eri_c2_d1_l3;eri_c2_d1_l4;eri_c2_d1_l5;eri_c3_d0_l2;eri_c3_d0_l3;eri_c3_d0_l4;eri_c3_d0_l5;eri_c3_d0_l6;eri_c3_d1_l2;eri_c3_d1_l3;eri_c3_d1_l4;eri_c3_d1_l5;eri_c4_d0_l2;eri_c4_d0_l3;eri_c4_d0_l4;eri_c4_d0_l5;eri_c4_d1_l2;eri_c4_d1_l3;eri_c4_d1_l4;g12_d0_l2;g12_d0_l3;g12_d0_l4;g12_d1_l2;g12_d1_l3;g12_d1_l4;impure_sh;onebody_d0_l2;onebody_d0_l3;onebody_d0_l4;onebody_d0_l5;onebody_d0_l6;onebody_d1_l2;onebody_d1_l3;onebody_d1_l4;onebody_d1_l5;onebody_d2_l2;onebody_d2_l3;onebody_d2_l4;ss";
5453
}
5554
```
5655
```
@@ -68,3 +67,28 @@ for decoding the configuration components.
6867
--with-eri2-max-am=6,5 \
6968
--with-max-am=6,5
7069
```
70+
71+
#### Configuration Codes
72+
73+
Evenually, these will be CMake Components, too.
74+
75+
```
76+
onebody_dD_lL - library includes 1-body integrals with derivative order D (D=0,1,2,...) and max angular momentum up to L (L=2,3,4,...)
77+
eri_cC_dD_lL - library includes 2-body integrals with C (C=2,3,4) centers, derivative order D (D=0,1,2,...), and max angular momentum up to L (L=2,3,4,...)
78+
g12_dD-lL - library includes F12 integrals with Gaussian factors with derivative order D and max angular momentum up to L
79+
80+
impure_sh - library doesn't assume that 2- and 3-center integrals involve pure solid harmonics
81+
82+
cart shell_set used_by
83+
-------- --------- -------
84+
ss - library integrals use ordering standard + standard = mpqc4, cp2k, psi4 (psi4 requires runtime-setting of solid harmonic ordering to Gaussian)
85+
so - library integrals use ordering + orca
86+
is - library integrals use ordering intv3 + standard = mpqc3
87+
io - library integrals use ordering + orca
88+
gs - library integrals use ordering gamess + standard = gamess
89+
go - library integrals use ordering + orca
90+
os - library integrals use ordering orca + standard
91+
oo - library integrals use ordering + orca = orca
92+
bs - library integrals use ordering bagel + standard = bagel
93+
bo - library integrals use ordering + orca
94+
```

export/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ exportdir::
3737
-$(INSTALL) $(INSTALLLIBOPT) $(SRCDIR)/INSTALL.export $(TOPDIR)/$(EXPORTDIR)/INSTALL
3838
-$(INSTALL) $(INSTALLLIBOPT) $(SRCDIR)/LICENSE.export $(TOPDIR)/$(EXPORTDIR)/LICENSE
3939
-$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/README.md $(TOPDIR)/$(EXPORTDIR)/README.md
40+
-$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/INSTALL.md $(TOPDIR)/$(EXPORTDIR)/INSTALL.md
4041
-$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/COPYING $(TOPDIR)/$(EXPORTDIR)/COPYING
4142
-$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/COPYING.LESSER $(TOPDIR)/$(EXPORTDIR)/COPYING.LESSER
4243
-$(INSTALL) $(INSTALLLIBOPT) $(SRCTOPDIR)/CITATION $(TOPDIR)/$(EXPORTDIR)/CITATION

tests/hartree-fock/hartree-fock++-validate.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,19 +54,20 @@ def validate(label, data, refdata, tolerance, textline):
5454
-8.04716669024124, 0.638204907990955, -6.35134519242917 ]
5555
Qtol = 1e-8
5656

57-
# Note that the sphemultipole order is fixed at generator build time (not influenced by libint2::solid_harmonics_ordering())
58-
if (LIBINT_SHGSHELL_ORDERING == LIBINT_SHGSHELL_ORDERING_STANDARD):
59-
smuref = [-muref[1]/2, muref[2], -muref[0]/2] # [ 0.046, -0.105, 0.132]
60-
print("Checking sphemultipole LIBINT_SHGSHELL_ORDERING=Standard\n");
61-
else:
62-
smuref = [ muref[2], -muref[0]/2, -muref[1]/2] # [-0.105, 0.132, 0.046]
63-
print("Checking sphemultipole LIBINT_SHGSHELL_ORDERING=Gaussian\n");
64-
smutol = 1e-9
57+
# * Note that the sphemultipole order is fixed at generator build time (not influenced by
58+
# libint2::solid_harmonics_ordering())
59+
# * As of https://github.com/evaleev/libint/commit/cdbb9f3, sphemultipole is hard-coded at Standard
60+
# (and not influenced by LIBINT_SHGSHELL_ORDERING)
61+
smuref = [-muref[1]/2, muref[2], -muref[0]/2] # [ 0.046, -0.105, 0.132]
62+
sQref = [Qref[1]/4, -Qref[4]/2, (2*Qref[5] - Qref[0] - Qref[3])/4, -Qref[2]/2, (Qref[0] - Qref[3])/8 ]
63+
print("Checking sphemultipole Standard\n");
64+
65+
# Reference values from LIBINT_SHGSHELL_ORDERING=Gaussian. These are no longer accessible after cdbb9f3.
66+
# print("Checking sphemultipole Gaussian\n");
67+
# smuref = [ muref[2], -muref[0]/2, -muref[1]/2] # [-0.105, 0.132, 0.046]
68+
# sQref = [(2*Qref[5] - Qref[0] - Qref[3])/4, -Qref[2]/2, -Qref[4]/2, (Qref[0] - Qref[3])/8, Qref[1]/4]
6569

66-
if (LIBINT_SHGSHELL_ORDERING == LIBINT_SHGSHELL_ORDERING_STANDARD):
67-
sQref = [Qref[1]/4, -Qref[4]/2, (2*Qref[5] - Qref[0] - Qref[3])/4, -Qref[2]/2, (Qref[0] - Qref[3])/8 ]
68-
else:
69-
sQref = [(2*Qref[5] - Qref[0] - Qref[3])/4, -Qref[2]/2, -Qref[4]/2, (Qref[0] - Qref[3])/8, Qref[1]/4]
70+
smutol = 1e-9
7071
sQtol = 1e-8
7172

7273
F1ref = [-5.43569555903312, -1.88298017654395, -2.17427822361352,

0 commit comments

Comments
 (0)