You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,33 @@
1
1
# Release notes
2
2
3
+
## Version [v0.12.0] - 2024.05.28
4
+
5
+
### Breaking
6
+
7
+
* the `mp2fit` (`rifit`) basis sets have been renamed to `mpfit`.
8
+
*`ERI_?e?c` routines have been renamed to `eri_?e?idx`.
9
+
10
+
### Changed
11
+
12
+
* use SVD in DIIS.
13
+
* increase number of iterations in 2D-CCSD IAS test.
14
+
* interface to `libcint_jll` has been implemented. The basis set library is added (in Molpro format), and basis sets are parsed to a `BasisSet` object. `GaussianBasis.jl` dependency is removed.
15
+
16
+
### Added
17
+
18
+
* Expand README
19
+
*`amdmkl()` function to speed up MKL on AMD machines.
20
+
* CROP-DIIS option (JCTC 11, 1518 (2015)) which is less sensitive to the DIIS dimension. To activate, set `diis` option `crop=true`, the DIIS dimension can be changed using `maxcrop` (default is 3).
21
+
* An option `print_init` is added to the `@print_input` macro (default is `false`). If set to `true`, the `ElemCo.jl` info is printed again (useful if the output is redirected in julia to a file).
22
+
* A simple DMRG routine is added based on `ITensors` (adapted from `ITensorChemistry.jl`).
23
+
* A Molpro interface to import matrop matrices (orbitals or overlap).
24
+
25
+
### Fixed
26
+
27
+
* Get rid of error message from git if .git is not available (e.g., in the case of the released version).
28
+
* Sort orblist, which fixes issues if user occupations are not provided in a sorted list.
29
+
* Fix amplitudes before Hylleraas energy calculation for FR-CC, which will properly report the energy in a (2,2) (single iteration) calculation.
For a development version of `ElemCo.jl`, clone the repository and create an alias to set the project to the `ElemCo.jl` directory,
42
+
43
+
### Installation
44
+
45
+
To install `ElemCo.jl`, run the following command in the Julia REPL,
46
+
47
+
```julia
48
+
julia>using Pkg
49
+
julia> Pkg.add("ElemCo")
43
50
```
51
+
52
+
For a development version of `ElemCo.jl`, clone the [ElemCo.jl-devel](https://github.com/fkfest/ElemCo.jl-devel) repository and create an alias to set the project to the `ElemCo.jl` directory,
53
+
54
+
```bash
44
55
alias jlm='julia --project=<path_to_ElemCo.jl>'
45
56
```
57
+
46
58
Now the command `jlm` can be used to start the calculations,
47
-
```
59
+
60
+
```bash
48
61
jlm input.jl
49
62
```
50
63
51
-
Default scratch directory path on Windows is the first environment variable found in the ordered list `TMP`, `TEMP`, `USERPROFILE`.
52
-
On all other operating systems `TMPDIR`, `TMP`, `TEMP`, and `TEMPDIR`. If none of these are found, the path `/tmp` is used.
53
-
Default scratch folder name is `elemcojlscr`.
64
+
### Input file
65
+
66
+
The input file is a Julia script that contains the calculation details. The script should start with the following lines,
67
+
68
+
```julia
69
+
using ElemCo
70
+
@print_input
71
+
```
72
+
73
+
The `@print_input` macro prints the input file to the standard output. The calculation details are specified using the macros provided by `ElemCo.jl`.
74
+
75
+
### Macros
76
+
77
+
The following macros are available in `ElemCo.jl` (see [the documentation for more details and macros](https://elem.co.il/stable/elemco/)),
78
+
79
+
-`@dfhf` - Performs a density-fitted Hartree-Fock calculation.
80
+
-`@cc <method>` - Performs a coupled cluster calculation.
81
+
-`@dfcc <method>` - Performs a coupled cluster calculation using density fitting.
82
+
-`@set <option> <setting>` - Sets the options for the calculation.
83
+
84
+
etc.
85
+
86
+
Default scratch directory path on Windows is the first environment variable found in the ordered list `TMP`, `TEMP`, `USERPROFILE`.
87
+
On all other operating systems `TMPDIR`, `TMP`, `TEMP`, and `TEMPDIR`. If none of these are found, the path `/tmp` is used.
88
+
Default scratch folder name is `elemcojlscr`.
54
89
55
90
Variable names `fcidump`, `geometry` and `basis` are reserved for the file name of FCIDUMP, geometry specification and basis sets, respectively.
56
91
57
92
### Example
93
+
58
94
#### DCSD calculation using integrals from a FCIDUMP file
95
+
59
96
The ground state energy can be calculated using the DCSD method with the following script:
97
+
60
98
```julia
61
99
using ElemCo
62
100
@print_input
63
101
fcidump ="../test/H2O.FCIDUMP"
64
102
@cc dcsd
65
103
```
104
+
66
105
#### DCSD calculation of the water molecule using density-fitted integrals
106
+
67
107
In order to calculate the ground state energy of the water molecule using the DCSD method, the following script can be used:
108
+
68
109
```julia
69
110
using ElemCo
70
111
@print_input
@@ -73,18 +114,17 @@ geometry="bohr
73
114
H1 0.000000000 1.489124508 1.033245507
74
115
H2 0.000000000 -1.489124508 1.033245507"
75
116
76
-
basis = Dict("ao"=>"cc-pVDZ",
77
-
"jkfit"=>"cc-pvtz-jkfit",
78
-
"mp2fit"=>"cc-pvdz-rifit")
117
+
basis ="vdz"
79
118
@dfhf
80
119
@cc dcsd
81
120
```
121
+
82
122
The `@dfhf` macro calculates the density-fitted Hartree-Fock energy and orbitals
83
123
and then DCSD calculation is performed using density-fitted integrals.
84
124
85
125
Further example scripts are provided in the `examples` directory.
86
126
87
-
Documentation is available at https://elem.co.il.
127
+
Documentation is available at <https://elem.co.il>.
The basis set is defined as a dictionary, where the keys are
8
+
the types of the basis sets, and the values are the basis set:
9
+
10
+
```julia
11
+
basis = Dict("ao"=>"cc-pVTZ",
12
+
"jkfit"=>"cc-pvtz-jkfit",
13
+
"mpfit"=>"cc-pvtz-mpfit")
14
+
```
15
+
16
+
The basis set dictionary contains three keys: `ao`, `jkfit`, and
17
+
`mpfit`. The `ao` key contains the basis set for the AO integrals, the
18
+
`jkfit` key contains the basis set for the density fitting integrals in the Hartree-Fock calculations,
19
+
and the `mpfit` key contains the fitting basis set for the correlated calculations.
20
+
21
+
Alternatively, you can define the basis set using a string that defines the AO basis. In this case, the `jkfit` and `mpfit` basis names will be generated automatically. Here's an example of how you can define the basis set using a string:
22
+
23
+
```julia
24
+
basis ="cc-pVDZ"
25
+
```
26
+
27
+
Common acronyms are also supported for the basis set names, e.g., `cc-pVDZ` can be written as `vdz`, and
0 commit comments