TREXIO
TREX library fo efficient I/O.
Minimal requirements (for users):
- Autotools (autoconf, automake, libtool)
- C compiler (gcc/icc/clang)
- Fortran compiler (gfortran/ifort)
- HDF5 library (>= 1.8)
Installation procedure from the tarball (for users):
- Download the
trexio-<version>.tar.gz
file gzip -cd trexio-<version>.tar.gz | tar xvf -
cd trexio-<version>
./configure --enable-silent-rules
make
make check
sudo make install
Note: on systems with no sudo
access, one can replace ./configure
with ./configure prefix=${PWD}/_install
in order to execute make install/uninstall
commands without sudo
privileges.
Additional requirements (for developers):
- python3 (>= 3.6)
- Emacs (>= 26.0)
Installation procedure from the GitHub repo clone (for developers):
git clone https://github.com/TREX-CoE/trexio.git
cd trexio
./autogen.sh
TREXIO_DEVEL=1 ./configure --enable-maintainer-mode
make
make check
sudo make install
Naming convention
The primary TREXIO API is composed of the following functions:
trexio_open
trexio_write_[group]_[variable]
trexio_read_[group]_[variable]
trexio_has_[group]_[variable]
trexio_close
where [group]
and [variable]
substitutions correspond to the contents of the trex.json
configuration file (for more details, see the corresponding documentation page).
For example, consider the coord
variable (array), which belongs to the nucleus
group. The TREXIO user can write or read it using trexio_write_nucleus_coord
or trexio_read_nucleus_coord
functions, respectively.
Note: the [variable]
names have to be unique only within the corresponding parent [group]
.
There is no naming conflict when, for example, num
variable exists both in the nucleus
group (i.e. the number of nuclei) and in the mo
group (i.e. the number of molecular orbitals).
These quantities can be accessed using the corresponding trexio_[has|read|write]_nucleus_num
and trexio_[has|read|write]_mo_num
, respectively.
Tutorial
TODO
Technical documentation
Documentation generated from TREXIO org-mode files.
Miscellaneous
Note: The code should be compliant with the C99 CERT C coding
standard. This can be checked with the cppcheck
tool.
TREX: Targeting Real Chemical Accuracy at the Exascale project has received funding from the European Union’s Horizon 2020 - Research and Innovation program - under grant agreement no. 952165. The content of this document does not represent the opinion of the European Union, and the European Union is not responsible for any use that might be made of such content.