Release notes
Version v0.14.1 - 2025.07.03
Changed
- update libcint to version 6.
- reduce allocations in the integral calculation routines.
Added
- a simple XML based interface to Molpro.
Fixed
- Fix Mac and Windows compatibility issues related to the case insensitivity of the file system. The capital letters in the file names on scratch are now converted to lower case plus a character
ß(e.g.,oVoObecomesovßoß).
Version v0.14.0 - 2025.04.16
Breaking
- the definition of
ampsvdtolthreshold for SVD methods has been changed. Now it corresponds to the threshold for the density matrix (i.e., square of the previous definition). verbosityhas been moved fromECInfotoOptions.print.time.- increase versions of dependencies: julia>1.9
- The core-entry is now required for (non-npy) FCIDUMP files in order to check whether the file is complete.
- DMRG and AtomsBase interface have been moved to extensions. In order to run DMRG, the
ITensorspackage has to be installed and loaded; and in order to useAtomsBaseinterface, theAtomsBase,UnitfulandUnitfulAtomicpackages have to be installed and loaded.
Changed
- faster closed-shell and unrestricted CCSDT and DC-CCSDT implementations.
- ANO-RCC-MB basis is now used as the minimal AO basis for the SAD orbital starting guess.
- memory buffers are now handled by functions and types in
Buffersmodule. - the precompilation is disabled for development versions.
- Buffers is moved to a separate package Buffers.jl.
- reduce memory demand in df-hf.
- remove
IterativeSolversdependency. jkfitbasis now falls back todef2-universal-jkfitif not found (e.g. for avXz basis sets).
Added
- a macro
@dummyhas been added to set some atoms to dummy atoms. - a
neuralizefunction to trickBase.mightaliasinTensorOperationsfor reshaped-buffer arrays. BufferandThreadsBuffertypes andalloc!,drop!,reset!,reshape_buf!functions.BasisBatcherstructure to calculate 3-index integrals in batches.@dfmp2to calculate df-mp2 energy without storing integrals.@freeze_orbsalso accepts now a string of indices using the +/- or :/; syntax (#186)
Fixed
- Improve parsing method names in macros. Now the parser is not confused by multiple dashes in the name and, e.g.,
@cc svd-dc-ccsdtis evaluated correctly. - SAD orbital guess for Li and Be has been fixed.
- molden export functionality has been fixed.
- thread-safe handling of buffers using ThreadsBuffer.
- if some of the npy files are not found, the integrals are read from the fcidump file (#250)
Version v0.13.1 - 2024.07.11
Added
- Store MP2 amplitudes in
cc_amplitudes_files in@cc mp2calculations.
Fixed
- Fix
maxit=0case forcccalculations.
Version v0.13.0 - 2024.07.09
Breaking
DIIS.performhas been changed toDIIS.perform!in order to allow to read the vectors and residuals asVector{}.- The signature of
newmmapfunction has changed (the type specification is now the last argument and defaults toFloat64. - The
FciDumpmodule has been renamed toFciDumps. - The
FDumptype has been changed toFDump{N}with N=3 (for triangular storage of 2-electron integrals) or 4. The logical variabletrianghas been removed (there is a functionis_triang(::FDump)now). AliasesTFDump = FDump{3}andQFDump = FDump{4}have been introduced. - The
ECInfotype now accepts onlyFDump{3}. TheFDump{4}objects have to be transformed first (the transformation functions are not implemented yet). - The triangular functions have been moved to a separate file
utensors.jl, part of theQMTensorsmodule.uppertriangularfunction has been renamed touppertriangular_index. - The driver functions and macros now return energies in an ordered descriptive dictionary
OutDict=ODDict{String,Float64}. Uselast_energyfunction to access the last energy (orlastto access the whole entry including the key and the description).
Changed
- Save the memory using in Hessian matrix calculation in dfmcscf function.
dfdumpstores the MO integrals internally in mmaped files.- The header of the
FDumpis now stored in a type-stable structureFDumpHeader.
Added
- Export of molden files (
@export_molden). At the moment the orbital energies and occupations are not exported. - Add dfmcscf part in documentation
- CCSDT and DC-CCSDT closed-shell implementations generated with Quantwo.
QMTensors.SpinMatrixstruct for one-electron matrices (e.g., MO coefficients)- An ordered descriptive dictionary for energy outputs (
ODDict) has been implemented. Each key-value entry can have a description. DIIS.perform!now accepts a tuple of functions to calculate cusomized dot-products (e.g., involving contravariants etc).
Version v0.12.0 - 2024.05.28
Breaking
- the
mp2fit(rifit) basis sets have been renamed tompfit. ERI_?e?croutines have been renamed toeri_?e?idx.
Changed
- use SVD in DIIS.
- increase number of iterations in 2D-CCSD IAS test.
- interface to
libcint_jllhas been implemented. The basis set library is added (in Molpro format), and basis sets are parsed to aBasisSetobject.GaussianBasis.jldependency is removed.
Added
- Expand README
amdmkl()function to speed up MKL on AMD machines.- CROP-DIIS option (JCTC 11, 1518 (2015)) which is less sensitive to the DIIS dimension. To activate, set
diisoptioncrop=true, the DIIS dimension can be changed usingmaxcrop(default is 3). - An option
print_initis added to the@print_inputmacro (default isfalse). If set totrue, theElemCo.jlinfo is printed again (useful if the output is redirected in julia to a file). - A simple DMRG routine is added based on
ITensors(adapted fromITensorChemistry.jl). - A Molpro interface to import matrop matrices (orbitals or overlap).
Fixed
- Get rid of error message from git if .git is not available (e.g., in the case of the released version).
- Sort orblist, which fixes issues if user occupations are not provided in a sorted list.
- Fix amplitudes before Hylleraas energy calculation for FR-CC, which will properly report the energy in a (2,2) (single iteration) calculation.
Version v0.11.1 - 2024.04.12
Changed
- Remove
ArgParsedependency and set[compat]section inProject.toml.
Version v0.11.0 - 2024.04.12
Breaking
EC.ms(previously of typeMSys) inECInfois renamed toEC.system(of typeAbstractSystem).ECdriverroutine is moved toCCDrivermodule and renamed toccdriver. Thefcidumpkeyword-argument is now empty by default. It doesn't accept list of methods anymore, only one method at a time.- The driver routines and macros return energies as
NamedTuple. - The SVD methods have to be called now as
SVD-<methodname>, e.g.,svd-dcsd. - The
@svdccmacro is renamed to@dfccmacro and calls thedfccdriverroutine, which is intended as a driver routine for all DF-based correlation methods (i.e., methods which don't use theEC.fdintegrals).
Changed
- Renamed function
active_orbitalstooss_active_orbitals. - Renamed function
calc_ccsd_residtocalc_cc_resid. ECdriverandoss_active_orbitalsnow return named tuples.- Improved documentation of occupation strings syntax.
- Switched to
AtomandFlexibleSystemfromAtomsBaseas the internal representation of the molecular system. The basis set is stored for each atom as:basisproperty (asDict{String,String}, e.g.,system[1][:basis]["ao"]). One can also set:basisproperty for the whole system. - Renamed macro
@optto@set.@optis now an alias of@set.
Added
- The automatically generated
UCCSDTandUDC-CCSDTmethods have been added to the docs. - SCS-MP2, SCS-CCSD and SCS-DCSD
Version v0.10.0 - 2024.02.21
Breaking
- Cholesky threshold
thris used for integral decomposition only. Threshold for elimination of redundancies is now calledthred. - Files for amplitudes and multipliers are now called
..._1,..._2,... for singles, doubles, etc.
Changed
- Option
ignore_erroris moved from ECInfo structure towfoptions.
Added
UCCSD(T),ΛUCCSD(T),ΛUDCSDhave been implemented.- Pseudo-canonicalization of the FCIDUMP file (instead of full SCF calculation).
- Generated
UCCSDTandUDC-CCSDTmethods. - Macro
@print_inputto print the source of the input file to the output.
Fixed
- Fix dressing of a three-internal integral (which slightly affected the energy of CCSD/DCSD with
use_kext=false).
Version v0.9.0 - 2024.01.20
Added
- Add various methods (
DF-[U]HF,BO-[U]HF,[U/R]CCSD,[U/R]DCSD,SVD-DCSD,SVD-DC-CCSDT,CCSD(T),ΛCCSD(T),ΛDCSD...). - Setup macros, options etc.
- ...