-
Notifications
You must be signed in to change notification settings - Fork 98
/
CHANGES
261 lines (221 loc) · 13.1 KB
/
CHANGES
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
LIBINT REVISION HISTORY
Following is a brief summary of changes made in each release of Libint.
- 2024-03-04: 2.9.0
- PR #335: l->symbol map reuse + other misc improvements
- PR #334: bump Catch2 to 2.13.10 (HT @hrnagel)
- PR #333: can use modularized Boost, even if built as part of the project
- PR #331: add SOVERSION when building shared library only (HT @loriab)
- PR #329: increase Tenno function interpolation table to support L=9 4-c ERI
- PR #327: fix stochastic failures of tests/eri by reducing range of random shells parameters
- PR #281: auto-generator for DF basis (HT @kshitij-05)
- 2024-02-05: 2.8.2
- PR #324: addresses issues with 3eri derivatives + minor 3eri API safety improvements
- PR #322: update libtool to 2.4.7 + update config.{guess,sub} to 2024-01-01
- PR #319: pylibint builds with latest setuptools (HT @loriab)
- PR #311: clang-format.sh uses bash to resolve #310 (HT @e-kwsm)
- detect Brew-installed GNU tar on MacOS
- 2023-12-19: 2.8.1
- PR #307: fixup progman dvi and html building
- PR #305: disable latex2html detection/use by default
- PR #304: natural order for (σ·p)V(σ·p) integrals (HT @JonathonMisiewicz)
- PR #302: build fix (HT @JonathonMisiewicz)
- PR #231: Add SONAME/SOVERSION to generated library (HT @debichem)
- 2023-12-12: 2.8.0
- PR #297: clang-format
- PR #293: read Gaussian basis set files with L>=7 AOs correctly
- PR #276 and #291: removed checks for pre-c++11 features (TR1 array and shared_ptr, etc.) (HT @e-kwsm)
- PR #289: fixed DIIS ctor (HT @tjira)
- PR #283: bump pybind11 to ValeevGroup/[email protected] (HT @asadchev)
- PR #282: removed obsolete basis files (HT @JonathonMisiewicz)
- PR #279: fixed error in 1-e erf/erfc integrals (HT @JonathonMisiewicz)
- PR @273: support for 1-e (σ·p)V(σ·p) integrals (HT @JonathonMisiewicz)
- PR #271: Add `libint2::configuration_accessor` and `libint2::supports` functions. If
library source is patched, these provide codes for what integrals a library instance can supply. (HT @loriab)
- PR #271: Small pkgconfig and cmake detection improvements. Enable unity build.
Testing of solid harmonics runtime switchable from #269. (HT @loriab)
- PR #270: For Windows, basis sets with a star have been renamed to "s" on the filesystem,
so 6-31g**.g94 -> 6-31gss.g94. In code, the basis can be accessed through "6-31g**" (longstanding)
or "6-31gss" (new) for all operating systems. (HT @loriab)
- PR #270: Adapt build system and header imports so that library and Python bindings can build on
Windows (at least with clang-cl compiler atop MSVC). Note that a Linux- or Mac-generated export
builds on Windows; one cannot generate an export on Windows. Note also that only a static library
build, not a shared one, works on Windows (see #237). (HT @loriab)
- PR #269: minimum CMake bumped to 3.16 (HT @loriab)
- PR #269: Solid harmonics ordering is runtime switchable in the library. Issue
`libint2::set_solid_harmonics_ordering(libint2::SHGShellOrdering_Gaussian)` or `_Standard` before
initialization. Similarly, prefer new `INT_SOLIDHARMINDEX(sho, l, m)` to usual `(l, m)` version. (HT @loriab)
- PR #269: The ordering for spherical multipole integrals has been fixed at Standard, rather than
Gaussian or Standard as previously. Note that between this and the next item above, the
`--with-shgauss-ordering=standard|gaussian` has been rendered pointless for the C++ interface.
- PR #268: Python detection (relevant to Python bindings, Fortran, and some tests) now uses modern
`find_package(Python)`. Specify with `Python_EXECUTABLE` (note change in case) or
https://cmake.org/cmake/help/latest/module/FindPython.html for details . (HT @loriab)
- PR #268: Python bindings can now use Pybind11 >=2.6 and can use detected installation. (HT @loriab)
- PR #249: Python bindings (HT @asadchev)
- PR #246: BasisSet is no longer derived from vector<Shell>
- PR #232: introduced new primitive screening methods
- 2022-06-20: 2.7.2
- PR 251: fixed exponential integrals for large T
- PR 243: fixed Taylor-based Boys engine (HT @bingao)
- 2021-09-19: 2.7.1
- PR #224: fixed tracking of shell-pair data
- PR #223: removed redundant const qualifier (HT @e-kwsm)
- issue #222: fixed compiler tree's install target
- 2021-09-14: 2.7.0
- precision tracking of shell-pair data, respected by Engine::compute2
- fixed excessive lock contention when computing 1-e Coulomb ("nuclear") ints on many threads
- allow access to the Engine dispatch table via compute2_ptrs()
- fixed definitions of def2-tzvpd-c and def2-tzvppd-c bases for Hf
- issue #216: uniform Cartesian convention fixed for 2-body integrals computed with internal permutation
- PR #212, #211: Travis CI -> GH actions
- PR #210: verbose-- (HT @e-kwsm)
- PR #207: make namespaced cmake targets available during build (HT @wavefunction91)
- issue #206: can read G94 files from the "new" Basis Set Exchange
- issue #202: upgraded Catch2 to 2.13.4 to support macos/arm64
- PR #200: Engine supports arbitrary-order 2-body derivatives (HT @adabbott)
- issue #199: fixed libint2::make_point_charges(atoms)
- issue #195: eri test return nonzero if regression detected + looser abs precision tolerance
- PR #193: improved build reproducibility (HT @bmwiedemann)
- issue #188: more robust comparison in fortran/test-eri
- PR #185, #184: fix fortran_example (HT @susilehtola)
- PR #180: min boost version = 1.57 (HT @e-kwsm)
- issues #173, #183: check for existence of macro __has_include before using it
- PR #171: fewer macros (HT @e-kwsm)
- PR #168: typedef struct {} X -> struct X {} (HT @e-kwsm)
- 2020-07-07: 2.7.0-beta.6
- Molden PBC exporter works for 1 and 2 dimensional crystals
- reverted library names changed in 2.7.0-beta.5 to libint2.<suffix>
- PRs #166, #169
- standard library release bumped up to l=10 spherical multipoles
- 2020-04-02: 2.7.0-beta.5
- made usable as a CMake subproject
- the deprecated autotools build harness has been removed from the exported library; CMake is the only way to build exported libs
- reduced compilation noise in generated code
- 2020-03-01: 2.7.0-beta.4
- PR #159: fixed description of cmake option REQUIRE_CXX_API
- resolved issue #164: per-elem BasisSet ctor missing init() (HT @swillow)
- 2020-01-29: 2.7.0-beta.3
- added 2018 CODATA bohr->angstrom conversion, made the default throughout
- Molden exporters use angstroms to avoid extra reliance on its readers' conversion
- resolves issue #158: check for false-positive Eigen search
- Eigen is required by default, unless REQUIRE_CXX_API CMake variable is set to OFF
- 2019-11-26: 2.7.0-beta.2
- resolves issue #143: definition of M_PI in c-api.c may be missing
- resolves issue #144: 'make export' works is building compiler in-source
- PR #149: generate definitions for macros LIBINT2_MAX_AM_defaultN , with N = 1, 2 ...
- resolves issue #150: missing c++11 compile feature inherited by int2 target from int2-obj
- PBCExport can handle monoclinic unit cells
- 2019-08-09: 2.7.0-beta.1
- PR #142: fixed cmake build of fortran interface (HT @pseewald )
- PR #141: can buile shared and static libs in one shot (HT @francesco-bosia )
- added Engine::prescale_by that allows scaling target ints
- 2019-07-23: 2.6.0
- fixed initialization order error in unit test
- unit tests pass valgrind memcheck
- 2019-07-22: 2.6.0-beta.7
- updated docs to point out the ninja/ar issues on macos (see #135)
- added Molpro-sources (aug-)cc-pVXZ-JKFIT basis sets
- resolved #136: Fortran module was not built correctly with out-of-source (cmake) build
- fixed residual precision issues with exponential integrals
- libint2::initialize() now by default turns off diagnostic messages;
do libint2::initialize(true) to keep receiving diagnostics in std::clog (insteadf of std::cout)
- libint2::initialize(std::ostream& os) will write the diagnostics to os
- 2019-07-09: 2.6.0-beta.6
- Ten-no Gm evaluation for m=-1,0 does not use interpolation to guarantee ~1e-14 absolute precision
- resolved issue #134: incomplete std::any functionality in libc++ on pre 10.14 macos
- 2019-06-20: 2.6.0-beta.5
- fixed bundled boost unpacking issues in exported lib CMake build
- rank() and default_braket() are constexpr
- 2019-06-19: 2.6.0-beta.4
- implemented analytic evaluation of (derivative) Slater and Yukawa integrals
- 2019-05-22: 2.6.0-beta.3
- CMake build of exported library works out-of-source
- released standard and mpqc4 libraries assume spherical harmonics for 2- and 3-center integrals
- 2019-05-18: 2.6.0-beta.2
- implemented CMake build of exported library:
- autotools build is deprecated; CMake is primary
- for consistency, renamed imported targets in FindLibint2.cmake introduced in beta.1
- resolved issue #127: incorrect dimensions of 3-center ERI function pointer array used by Fortran interface
- 2019-05-07: 2.6.0-beta.1
- can read PBC-extended XYZ files
- provided (pkg-config based) FindLibint2.cmake module for CMake projects
- removed Engine::set_{oper,braket} deprecated in 2.5.0, use Engine::set instead
- 2019-04-09: 2.5.0
- New Fortran bindings to Libint by Patrick Seewald (https://github.com/pseewald); requires Fortran 2003 or later.
- validation target in exported library works correctly in absence of C++11 API
- cleanup of molden exporter
- Boost.Container's small_vector is only usable if the Boost version >= 1.61
- resolved issues #107, #115: missing #include's
- resolves issues #108: do not use bundled boost if possible
- resolved issue #118: workaround broken Intel C++ 2019 compiler bug
- updated libtool and catch2
- resolved numerous linking issues with -stdlib flags
- Molden exporter supports crystaline orbitals (JMOL extension)
- 2018-08-13: 2.5.0-beta.2
- fixed molden exporter
- 2-body core engine singleton re-initialization is thread-safe
- improved precision of Chebyshev Boys engine and made it the default for 1-e Coulomb ints
- fixed precision handling in reference Boys engine to support arbitrary precision
- resolved issue #105: libint2.h is again usable from C, added unit test
- shell uses Boost.Container's small_vector is available
- 2018-07-11: 2.5.0-beta.1
- resolved issue 90
- resolved issue 91: fixed formatting errors in def2-sv(p)-c, def2-tzvp-c, and def2-tzvpp-c basis set definitions
- resolved issue 95
- minor fixes for C++17 (includes PR 96 HT https://github.com/mfherbst)
- [generated lib only] ensure system boost/preprocessor.hpp is 1.57 or more recent;
reverts to bundled boost is system boost is too old
- resolved issue 97: checks variadic macro support in boost.preprocessor for the libint compiler
- C++ API produces correct 2- and 3-center 2-e derivatives
- added minimal non-HF validation tests for C++ API (only 2-body Coulomb)
- removed the following deprecated features:
- libint2::init
- libint2::cleanup
- deprecated the following features:
- Engine::set_oper (use Engine::set)
- Engine::set_braket (use Engine::set)
- minor C++ API improvements
- 2017-11-21: 2.4.2
- fixed vector.h for use on non-x86 platforms
- 2017-11-06: 2.4.1
- plugged leaky Engine::set_{param,oper,braket}
- fixed uninitialized value use by libint2::molden::Export
- eri test will only validate integrals over Cartesian Gaussians if Obara-Saika-Ahlrichs are used
- 2017-10-25: 2.4.0
- changed default to use user-provided boost over bundled boost + minor fixes
- 2017-10-11: 2.4.0-beta.4
- added support for precomputed pair data use in 2-body C++ API
- fixed the derivative VRRs for the electrostatic potential ints that were used since 2.4.0-beta.3
- fixed Cygwin compilation issues (#85)
- fixed generic derivative code (#86)
- 2017-08-03: 2.4.0-beta.3
- added support for spherical multipole integrals
- electrostatic potential ints use HRR
- configure scripts use AS_HELP_STRING
- 2017-05-18: 2.4.0-beta.2
- cgshell_ordering.h is no longer preprocessed by configure, and has shgshell_ordering.h counterpart
- added molden exporter
- 2017-05-18: 2.4.0-beta.1
- added support for configurable solid harmonic order (standard and GaussianXX only)
- real_t -> scalar_type and realvec_t -> value_type
- 2017-05-02: 2.3.0
- bumped the compiler source license to GPLv3, generated code is LGPLv3.
- replaced non-standard-conforming libint2::any with a homegrown C++17-conforming any;
std::any is used if available.
- 2017-03-29: 2.3.0-beta.6
- minor bug fixes introduced in beta.5
- 2017-03-28: 2.3.0-beta.5
- now use bundled boost preprocessor only
- added erf- and erfc-attenuated Coulomb 1-body ints
- improved const-correctness of C++11 API
- 2017-03-06: 2.3.0-beta.4
- fixed include path handling of in-place vs. installed generated headers (HT https://github.com/mfherbst)
- fixed 2-norm Schwarz computation in hf++
- 2017-01-12: 2.3.0-beta.3
- boys.h requires C++11; Chebyshev7 is the default Boys engine, Chebyshev3 is gone.
- 2016-12-15: 2.3.0-beta.2
- fixed a bug in r12 core integrals code
- added erf- and erfc-attenuated Coulomb integrals
- sanitize Eigen includes
- 2016-11-23: 2.3.0-beta.1
- read_dotxyz accepts bohr-to-angstrom conversion factor, the default is (still) 2010 CODATA