From ecd9f466d9f9b7f338434f0bf6f5531ab9c5640a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 Sep 2023 16:28:35 +0200 Subject: [PATCH] Documentation (citation) --- README.md | 3 +-- ocaml/trexio/Makefile | 5 ++++- ocaml/trexio/compile-lib.sh | 4 +++- ocaml/trexio/dune-project | 4 ++-- ocaml/trexio/trexio.opam | 5 +++++ src/README.org | 18 ++++++++++++++++++ 6 files changed, 33 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2d76146..39aacac 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,7 @@ [![build](https://github.com/TREX-CoE/trexio/actions/workflows/actions.yml/badge.svg)](https://github.com/TREX-CoE/trexio/actions/workflows/actions.yml) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/TREX-CoE/trexio) -TREX library for efficient I/O. - +TREXIO is an open-source file format and library developed for the storage and manipulation of data produced by quantum chemistry calculations. It is designed with the goal of providing a reliable and efficient method of storing and exchanging wave function parameters and matrix elements, making it an important tool for researchers in the field of quantum chemistry. In this work, we present an overview of the TREXIO file format and library. The library consists of a front-end implemented in the C programming language and two different back-ends: a text back-end and a binary back-end utilizing the HDF5 library which enables fast read and write operations. It is compatible with a variety of platforms and has interfaces for the Fortran, Python, and OCaml programming languages. In addition, a suite of tools has been developed to facilitate the use of the TREXIO format and library, including converters for popular quantum chemistry codes and utilities for validating and manipulating data stored in TREXIO files. The simplicity, versatility, and ease of use of TREXIO make it a valuable resource for researchers working with quantum chemistry data. ## Minimal requirements (for users): diff --git a/ocaml/trexio/Makefile b/ocaml/trexio/Makefile index e5be1ca..8783f1a 100644 --- a/ocaml/trexio/Makefile +++ b/ocaml/trexio/Makefile @@ -4,7 +4,10 @@ default: sources lib/trexio.ml: ../../trex.json read_json.py src/trexio.ml src/trexio.mli src/trexio_stubs.c ./read_json.py -sources: lib/trexio.ml +lib/trexio.h: + cp ../../include/trexio.h lib/ + +sources: lib/trexio.ml lib/trexio.h clean: dune clean diff --git a/ocaml/trexio/compile-lib.sh b/ocaml/trexio/compile-lib.sh index 71d3455..2a0dce3 100755 --- a/ocaml/trexio/compile-lib.sh +++ b/ocaml/trexio/compile-lib.sh @@ -21,8 +21,10 @@ set -e if test "$TASK" = "build" ; then tar -zxf trexio-*.tar.gz cd trexio-* - ./configure --prefix=${PREFIX} +# ./configure --prefix=${PREFIX} --without-fortran --enable-static --disable-shared + ./configure --prefix=${PWD}/.. --without-fortran --enable-static --disable-shared make -j 4 + make -j install cd ../ elif test "$TASK" = "install" ; then cd trexio-* diff --git a/ocaml/trexio/dune-project b/ocaml/trexio/dune-project index 7793cce..f37f9f6 100644 --- a/ocaml/trexio/dune-project +++ b/ocaml/trexio/dune-project @@ -1,9 +1,9 @@ (lang dune 3.1) (name trexio) -(version 2.3.0) +(version 2.3.2) -(generate_opam_files true) +(generate_opam_files false) (source (github trex-coe/trexio_ocaml)) diff --git a/ocaml/trexio/trexio.opam b/ocaml/trexio/trexio.opam index 95dd208..d3a6a46 100644 --- a/ocaml/trexio/trexio.opam +++ b/ocaml/trexio/trexio.opam @@ -29,6 +29,7 @@ depexts: [ ] build: [ ["dune" "subst"] {dev} + ["./compile-lib.sh" "%{prefix}%" "build"] [ "dune" "build" @@ -41,4 +42,8 @@ build: [ "@doc" {with-doc} ] ] +install: [ + ["./compile-lib.sh" "%{prefix}%" "install"] + ["dune" "install"] +] dev-repo: "git+https://github.com/trex-coe/trexio_ocaml.git" diff --git a/src/README.org b/src/README.org index 8480790..f6fae60 100644 --- a/src/README.org +++ b/src/README.org @@ -19,6 +19,24 @@ and two different back-ends: a text back-end and a binary back-end utilizing the HDF5 library enabling fast read and write speeds. It is compatible with a variety of platforms and has interfaces for Fortran, Python, and OCaml. +If you use TREXIO, please cite this article published in the [[https://doi.org/10.1063/5.0148161][Journal of Chemical Physics]]: +#+begin_src latex +@article{posenitskiy_2023, + author = {Posenitskiy, Evgeny and Chilkuri, Vijay Gopal and Ammar, Abdallah and Hapka, Micha{\l} and Pernal, Katarzyna and Shinde, Ravindra and Landinez Borda, Edgar Josu{\'{e}} and Filippi, Claudia and Nakano, Kosuke and Kohul{\'{a}}k, Otto and Sorella, Sandro and de Oliveira Castro, Pablo and Jalby, William and R{\'{\i}}os, Pablo L{\'{o}}pez and Alavi, Ali and Scemama, Anthony}, + title = {{TREXIO: A file format and library for quantum chemistry}}, + journal = {J. Chem. Phys.}, + volume = {158}, + number = {17}, + year = {2023}, + month = may, + issn = {0021-9606}, + publisher = {AIP Publishing}, + doi = {10.1063/5.0148161} +} +#+end_src +If you don't have access to the journal, you can access the manuscript on +[[https://doi.org/10.48550/arXiv.2302.14793][arXiv:2302.14793]]. + -------------------------------- #+BEGIN_EXPORT html