From 6b5637b7962fb55b0d28631fdc8490209ef4e953 Mon Sep 17 00:00:00 2001 From: Philipp Pracht Date: Thu, 22 Aug 2024 02:20:04 +0200 Subject: [PATCH] Update some install info and some important toml keywords --- _data/inputkv.yml | 75 +++++++++++++++++++++++----- page/installation/install_compile.md | 42 +++++++++------- page/releases/release_continuous.md | 8 ++- page/releases/release_current.md | 23 +++++++-- 4 files changed, 111 insertions(+), 37 deletions(-) diff --git a/_data/inputkv.yml b/_data/inputkv.yml index bea7bcf..9f18649 100644 --- a/_data/inputkv.yml +++ b/_data/inputkv.yml @@ -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 @@ -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: > @@ -63,6 +75,14 @@ calculation: Activate/Deactivate the energy printout via `elog`.
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*. @@ -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: @@ -83,8 +127,17 @@ calclevel: This will instruct CREST on the format of energies and gradients that shall be read. Possible values are: vals: + - "`tblite` - Select [`tblite` ](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` ](https://github.com/tblite/tblite)" + - "`gfn1` - Quick selection of GFN1-xTB via [`tblite` ](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)`" @@ -92,14 +145,10 @@ calclevel: - 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: > diff --git a/page/installation/install_compile.md b/page/installation/install_compile.md index 138e769..071e877 100644 --- a/page/installation/install_compile.md +++ b/page/installation/install_compile.md @@ -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 @@ -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 diff --git a/page/releases/release_continuous.md b/page/releases/release_continuous.md index 878955a..c628f9d 100644 --- a/page/releases/release_continuous.md +++ b/page/releases/release_continuous.md @@ -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. diff --git a/page/releases/release_current.md b/page/releases/release_current.md index 87b3cfa..8b11530 100644 --- a/page/releases/release_current.md +++ b/page/releases/release_current.md @@ -1,6 +1,6 @@ --- layout: default -title: Release 3.0 +title: Release 3.0.x parent: Releases nav_order: 3 toc: false @@ -8,13 +8,30 @@ 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 }
CREST 3.0
--- +## 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 @@ -22,8 +39,6 @@ CREST 3.0 is a major overhaul of the previous code versions. A large part of the 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