Skip to content

Commit

Permalink
Update some install info and some important toml keywords
Browse files Browse the repository at this point in the history
  • Loading branch information
pprcht committed Aug 22, 2024
1 parent 31d5fee commit 6b5637b
Show file tree
Hide file tree
Showing 4 changed files with 111 additions and 37 deletions.
75 changes: 62 additions & 13 deletions _data/inputkv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ general:
- comm: "`bin`, `binary`"
descript: >
Specify a `xtb` binary as a *string*. Used for *legacy* runtypes of CREST.
Specify a `xtb` binary as a *string*. Used for *legacy* runtypes of CREST.
This is equivalent to the `--xnam` cmd argumnet.
For new integrations use the `binary` option within the `[calculation.level]` block.
- key: runtype
Expand All @@ -24,11 +25,22 @@ general:
The possible values are:
vals:
- "`none` - do nothing"
- "`singlepoint`,`sp` - perform a single calculation for the input structure"
- "`ancopt`,`optimize` - optimize the input structure"
- "`ancopt_ensemble`,`optimize_ensemble` - optimize the input ensemble,
- "`numhess` - numerical calculation of second derivatives"
- "`ancopt_ensemble`,`optimize_ensemble`,`mdopt` - optimize the input ensemble,
similar to the `--mdopt` function."
- "`screen_ensemble`,`screen` - optimize the input ensemble in a multistep procedure
and sort, similar to the `--screen` function."
- "`md`,`mtd`,`dynamics`,`metadynamics` - perform a (meta)dynamics simulation."
- "`mecp`,`mecp_search` - MECP search algorithm"
- "`imtd-mtd` - Standard conformational sampling algo based on metadynamics"
- "`nci-mtd`,`nci` - perform sampling with a wall potential (NCI_MTD workflow)"
- "`entropy`,`imtd-smtd` - perform extensive sampling targeting configurational entropy"


- key: constraints
descript: >
Specify a file with the `xtb`-style structure constraints to be included in the calculation.
- key: preopt
descript: >
Expand Down Expand Up @@ -63,6 +75,14 @@ calculation:
Activate/Deactivate the energy printout via `elog`.<br>
Specify as *boolean* (`true`/`false`)
- key: opt_engine
descript: >
Select geometry optimization algorithm as a *string*.
vals:
- "`ancopt` - Use the ANCOPT algorithm (RFO with internal coordinates)"
- "`rfo` - Use a rational function algorithm (Cartesian coordinates)"
- "`gd` - Use a simple gradient descent algorithm (Cartesian coordinates)"

- key: hess_update
descript: >
Select the Hessian update method for ANCOPT as a *string*.
Expand All @@ -73,7 +93,31 @@ calculation:
- "`sr1` - Use the symmetric rank one (SR1) update method"
- "`bofill` - Use the Bofill type update"
- "`schlegel` - Use the Farkas-Schlegel type update"


- key: maxcycle
descript: >
Specify maximum optimization cycles an *integer*
- key: optlev
descript: >
Specify default settings/convergence conditions in geometry optimization (see Tab. IV of
https://doi.org/10.1063/5.0197592). Pre-defined levels are `crude`, `vloose`, `loose`,
`normal`, `tight`, `vtight`, `extreme` and must be provided as a *string*
- key: converge_e
descript: >
Specify energy convergence criterium for geometry optimization as a *real* in Hartree
- key: converge_g
descript: >
Specify gradient norm/RMS force convergence criterium for geometry optimization as a *real* in Hartree/Bohr
- key: freeze
descript: >
Provide a list of atoms which shall be enitrely frozen in geometry optimization and MD
simulations. The atom list should be given as a *string* in the [atom list format](../documentation/coords.html#atomlists)


calclevel:

Expand All @@ -83,23 +127,28 @@ calclevel:
This will instruct CREST on the format of energies and gradients that shall be read.
Possible values are:
vals:
- "`tblite` - Select [`tblite` <i class='fa-brands fa-github'></i>](https://github.com/tblite/tblite) as calculation backend, should be used in combination with the `tblite_level` argument"
- "`gfn2` - Quick selection of GFN2-xTB via [`tblite` <i class='fa-brands fa-github'></i>](https://github.com/tblite/tblite)"
- "`gfn1` - Quick selection of GFN1-xTB via [`tblite` <i class='fa-brands fa-github'></i>](https://github.com/tblite/tblite)"
- "`gfnff` - Select GFN-FF via the gfnff-submodule project"
- "`gfn0` - Select GFN0-xTB via the gfn0-submodule project"
- "`gfn0*` - Select a special GFN0-xTB calculator used for MECP calculations (see [https://doi.org/10.1021/acs.jpclett.3c00494](https://doi.org/10.1021/acs.jpclett.3c00494)"
- "`xtb`,`gfn`,`gfn-xtb` - Select GFN*n*-xTB method calculations
performed via the `xtb` program"
performed via the `xtb` program. Should be used in combination with the `binary`
option within this block. However, this setting is not generally recommended because
it will be much slower than the `tblite` backend."
- "`orca` - ORCA subprocesses. Requires to use the arguments `orca_cmd` as well as `orca_template` in addition to this argument. "
- "`generic` - Call a generic script. The script should process the coordinates that
crest writes into a file `genericinp.xyz` and you must know how to obtain the gradient
(see options `gradtype` and `gradfile` below)`"

- comm: "`bin`, `binary`"
descript: >
Select the program/binary/script name to be executed by CREST in order to generate
energies and gradients. Can be a full path. Specify as a *string*.
- key: flags
descript: >
Specify any arguments that are passed to the selected binary as a *string*.
This must exclude arguments generated by CREST, such as the molecular charge
for `xtb` calculations.
Be careful not to abuse this option!
energies and gradients. Can be a full path. Specify as a *string*. Should not be
confused with the `bin` command in the main block, nor with the `--xnam` functionality
via the command line settings. If addressing `xtb` via this option, include all command
line arguments like `-alpb` to this like you would call the binary on its own.
- comm: "`dir`, `calcspace`"
descript: >
Expand Down
42 changes: 23 additions & 19 deletions page/installation/install_compile.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,11 @@ summary: "This guide contains instructions for compiling CREST from source."

In order to compile CREST from source you will need a Fortran and C compiler.
We recommend either the Intel `ifort`/`icx` or GNU `gfortran`/`gcc` compilers.
Both compilers can be obtained free-of-charge, but in our own developments we primairly use the Intel compilers.
Both compilers can be obtained free-of-charge, but you'll only need one of them.
A quick reference on where to obtain either one is proveded in the following.

{% include note.html content="We recommend the `ifort`/`icx` compilers. The `icx` compiler replaces `icc`, for which Intel has now discontinued support." %}


### 1. Intel compilers via oneAPI

The `ifort` and `icx` compilers have become publically available only recently with the introduction of Intel's [oneAPI initiative {% include elink.html %}](https://www.oneapi.io/).
You will need to first install the [Intel oneAPI Base Toolkit {% include elink.html %}](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit) and
afterwards the [Intel oneAPI HPC Toolkit {% include elink.html %}](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit).
Follow the instructions and check the installation via
```bash
ifort -v
```
If this gives you a version number, set these compilers as your defaults:
```bash
export FC=ifort CC=icx
```


### 2. GNU compilers
### 1. GNU compilers

Installing the `gfortran` and `gcc` compilers on Unix systems is fairly straight-foward.
The installation can be done directly via the commandline, e.g., with
Expand Down Expand Up @@ -73,6 +56,27 @@ If you decided on the GNU compilers, set them as your defaults:
export FC=gfortran CC=gcc
```

In case you are going for the GNU compilers, it also makes sense to install openBLAS as a linear algebra backend, for example on Ubuntu via
```bash
sudo apt-get install libopenblas-dev
```


### 2. Intel compilers via oneAPI

The `ifort` and `icx` compilers have become publically available only recently with the introduction of Intel's [oneAPI initiative {% include elink.html %}](https://www.oneapi.io/).
You will need to first install the [Intel oneAPI Base Toolkit {% include elink.html %}](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#base-kit) and
afterwards the [Intel oneAPI HPC Toolkit {% include elink.html %}](https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html#hpc-kit).
Follow the instructions and check the installation via
```bash
ifort -v
```
If this gives you a version number, set these compilers as your defaults:
```bash
export FC=ifort CC=icx
```


---

## Install via CMake
Expand Down
8 changes: 7 additions & 1 deletion page/releases/release_continuous.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,11 @@ permalink: /page/releases/release_continuous.html

The continuous release of CREST can be found at [**https://github.com/crest-lab/crest/releases/tag/latest** {{ site.data.icons.github }}](https://github.com/crest-lab/crest/releases/tag/latest)

It is automatically build from the most current commit on the CREST main branch, using the meson build system and the `ifort`/`icc` compilers.
It is automatically build from the most current commit on the CREST main branch, once using the `meson` build system with `ifort`/`icx` compilers and once with GNU compilers and openBLAS as linear algebra backend.

To use the program simply download the tar ball, unpack it
```bash
tar -xf crest-gnu-12-ubuntu-latest.tar.xz
```
and add the binary to your program path (see [**here**]({{site.baseurl}}//page/installation/install_basic.html#installation-from-precompiled-binaries)). Being statically linked, the binaries should not need any further dependencies at run time.

23 changes: 19 additions & 4 deletions page/releases/release_current.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,44 @@
---
layout: default
title: Release 3.0
title: Release 3.0.x
parent: Releases
nav_order: 3
toc: false
summary: "Release notes for most current CREST version"
permalink: /page/releases/release_current.html
---

# CREST Release 3.0
# CREST Release 3.0.x
{: .no_toc }

<div class="label label-green">CREST 3.0</div>

---

## CREST 3.0.1 (CREST 3.0 Hotfixes)
### What's Changed
* Address errors of issues [#281](https://github.com/crest-lab/crest/issues/281)
* Restore printout of kpush, mentioned in [#284](https://github.com/crest-lab/crest/issues/284)
* Address thread OpenMP handling issues of [#284](https://github.com/crest-lab/crest/issues/284) and [#285](https://github.com/crest-lab/crest/issues/285), see [#289](https://github.com/crest-lab/crest/pull/289)
* Fix uninitialized boolean bug in gcc build [#287](https://github.com/crest-lab/crest/pull/287)
* Fix axis bug causing [#296](https://github.com/crest-lab/crest/issues/296)
* Address QCG issues [#297](https://github.com/crest-lab/crest/issues/297) and [#294](https://github.com/crest-lab/crest/issues/294)
* Singlepoint and optimization printout cleanup

### Other Additions
* Allow `tblite` parameter file read-in in [#303](https://github.com/crest-lab/crest/pull/303)
* Implement dipole and atomic charges readout for tblite calculators, gfn0 and gfnff
* CMake-based unit tests (run `make test` after building)


---

## CREST 3.0

CREST 3.0 is a major overhaul of the previous code versions. A large part of the original source code was rewritten to implement calculators, optimization, and molecular dynamics routines *directly*, rather than relying only on the `xtb` program as a subprocess.
Consequently, there are performance improvements and a significant reduction of I/O operations.
Read all about the new program version in the new open access article [**J. Chem. Phys. 2024, 160, 114110**](https://doi.org/10.1063/5.0197592).

[Download the program here](https://github.com/grimme-lab/crest/releases/tag/v3.0){: .btn .btn-blue }

Features include:
- New [**input file reader** {{site.data.icons.book}}](../documentation/inputfiles.html "Documentation / Input Files")
- Energy- and gradient-based interface for calculations
Expand Down

0 comments on commit 6b5637b

Please sign in to comment.