10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-11-07 06:33:38 +01:00

Added qmcchem info

This commit is contained in:
Anthony Scemama 2015-12-29 01:16:19 +01:00
parent a15f3ae2b1
commit 749fdec879
5 changed files with 57 additions and 17 deletions

View File

@ -23,14 +23,14 @@ diffusion Monte Carlo algorithm.
* The number of simultaneous worker nodes can be variable during a calculation * The number of simultaneous worker nodes can be variable during a calculation
* Fully fault-tolerant (crashing nodes don't stop the running calculation) * Fully fault-tolerant (crashing nodes don't stop the running calculation)
* QMC=Chem has been used in grid environments (EGI european grid) and * QMC=Chem has been used in grid environments (EGI european grid) and
in Cloud environments (rance Grilles) coupled to supercomputers in Cloud environments (France Grilles) coupled to supercomputers
Warnings: Warnings:
* QMC=Chem is under the GPLv2 license. Any modifications to or * QMC=Chem is under the GPLv2 license. Any modifications to or
software including (via compiler) GPL-licensed code must also be made available software including (via compiler) GPL-licensed code must also be made available
under the GPL along with build & install instructions. under the GPL along with build & install instructions.
* Pseudopotentials are about to change in EZFIO database. Current calculations * Pseudopotentials are about to change in the EZFIO database. Current calculations
will not be compatible with future versions will not be compatible with future versions
@ -43,9 +43,9 @@ Requirements
* [F77_ZMQ ZeroMQ Fortran interface](http://github.com/scemama/f77_zmq/) * [F77_ZMQ ZeroMQ Fortran interface](http://github.com/scemama/f77_zmq/)
* [IRPF90 Fortran code generator](http://irpf90.ups-tlse.fr) * [IRPF90 Fortran code generator](http://irpf90.ups-tlse.fr)
* [EZFIO Easy Fortran I/O library generator](http://github.com/scemama/EZFIO) * [EZFIO Easy Fortran I/O library generator](http://github.com/scemama/EZFIO)
* GNU C++ Compiler (g++) for ZeroMQ * GNU C++ Compiler (g++) for ZeroMQ and Ninja
* Python >= 2.6 for install scripts * Python >= 2.6 for install scripts
* Bash * Bash for install scripts
* Fortran compiler, Intel Fortran recommended * Fortran compiler, Intel Fortran recommended
* Lapack library, Intel MKL recommended * Lapack library, Intel MKL recommended
@ -57,17 +57,23 @@ library need to be installed manually by the user.
Installation Installation
------------ ------------
The ``make.config`` file contains compiler specific parameters. The ``make.config`` file contains compiler specific parameters. You should change
them to match your hardware.
The ``configure.sh`` script will first download the The ``configure.sh`` script will first download the
[Ninja](http://github.com/martine/ninja) build tool, and will then run Ninja [Ninja](http://github.com/martine/ninja) build tool, and will then run Ninja
using the ``install/build.ninja`` file. The configuration script will work in using the ``install/build.ninja`` file. The configuration script will work in
the ``install`` directory. It will first download into the the ``install`` directory. It will first download into the
``install/Downloads`` directory everything that needs to be installed. The ``install/Downloads`` directory everything that needs to be installed.
building of the dependencies takes place in the ``install/_build`` directory, The building of the dependencies takes place in the ``install/_build``
and the packages that are being installed can be followed by looking at the log directory, and the packages that are being installed can be followed by looking
files in this directory. When a package was successfully installed, a ``*.ok`` at the log files in this directory. When a package was successfully installed,
file is created and the log file is deleted. a ``*.ok`` file is created and the log file is deleted.
If you don't have an internet connection available, you can execute the
downloading step on another computer and transfer all the downloaded files
into the ``Downloads`` directory.
Before using or compiling QMC=Chem, environment variables need to be loaded. The Before using or compiling QMC=Chem, environment variables need to be loaded. The
environment variables are located in the ``qmcchemrc`` file: environment variables are located in the ``qmcchemrc`` file:
@ -86,12 +92,12 @@ $ ninja
Example of a QMC=Chem calculation Example of a QMC=Chem calculation
--------------------------------- ---------------------------------
Calculation with the quantum package Calculation with the [quantum package](http://github.com/LCPQ/quantum_package)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) Create the ``xyz`` file containing the nuclear coordinates of the system 1) Create the ``xyz`` file containing the nuclear coordinates of the system
```bash ```
$ cat > h2o.xyz << EOF $ cat > h2o.xyz << EOF
3 3
Water molecule Water molecule
@ -137,7 +143,7 @@ In QMC=Chem, everything goes through the use of the ``qmcchem`` command.
When a command is run with no arguments, it prints a help message. When a command is run with no arguments, it prints a help message.
This is mainly the manual of QMC=Chem. For example: This is mainly the manual of QMC=Chem. For example:
```bash ```
$ qmcchem $ qmcchem
QMC=Chem command QMC=Chem command
@ -179,7 +185,7 @@ missing anonymous argument: EZFIO_FILE
1) Set the parameters for a VMC calculation to create initial walker positions 1) Set the parameters for a VMC calculation to create initial walker positions
```bash ```
$ qmcchem edit -h $ qmcchem edit -h
Edit input data Edit input data
@ -253,5 +259,5 @@ References
> Anthony Scemama , Michel Caffarel , Emmanuel Oseret and William Jalby (2013), in: Journal of Computational Chemistry, 34:11(938--951) > Anthony Scemama , Michel Caffarel , Emmanuel Oseret and William Jalby (2013), in: Journal of Computational Chemistry, 34:11(938--951)
[Quantum Monte Carlo with very large multideterminant wavefunctions](http://arxiv.org/abs/1509.03114) [Quantum Monte Carlo with very large multideterminant wavefunctions](http://arxiv.org/abs/1509.03114)
> Anthony Scemama , Thomas Applencourt , Emmanuel Giner and Michel Caffarel (2015), in: ArXiv ePrints:arXiv:1510.00730 [physics.chem-ph] > Anthony Scemama , Thomas Applencourt , Emmanuel Giner and Michel Caffarel (2015), in: ArXiv ePrints:arXiv:1510.00730v2 [physics.chem-ph]

View File

@ -66,6 +66,9 @@ let qmcchem = lazy(
and qmc = lazy( and qmc = lazy(
Filename.concat (Lazy.force root) "bin/qmc" Filename.concat (Lazy.force root) "bin/qmc"
) )
and qmcchem_info = lazy(
Filename.concat (Lazy.force root) "bin/qmcchem_info"
)
and qmc_mic = lazy( and qmc_mic = lazy(
Filename.concat (Lazy.force root) "bin/qmc_mic" Filename.concat (Lazy.force root) "bin/qmc_mic"
) )

31
ocaml/Qmcchem_info.ml Normal file
View File

@ -0,0 +1,31 @@
open Core.Std
let run ezfio_filename =
let qmcchem_info =
Lazy.force Qmcchem_config.qmcchem_info
in
let prog, args =
qmcchem_info,
[ qmcchem_info ; ezfio_filename ]
in
ignore @@
Unix.exec ~prog ~args ()
let spec =
let open Command.Spec in
empty
+> anon ("ezfio_file" %: string)
let command =
Command.basic
~summary: "Display info on an EZFIO database"
~readme:(fun () ->
"
Display info on an EZFIO database
")
spec
(fun ezfio_file () -> run ezfio_file )

View File

@ -1,4 +1,3 @@
MAIN=qmcchem MAIN=qmcchem
# Main program to build # Main program to build

View File

@ -5,6 +5,7 @@ let command =
Command.group ~summary:"QMC=Chem command" [ Command.group ~summary:"QMC=Chem command" [
"debug" , Qmcchem_debug.command ; "debug" , Qmcchem_debug.command ;
"edit" , Qmcchem_edit.command ; "edit" , Qmcchem_edit.command ;
"info" , Qmcchem_info.command ;
"md5" , Qmcchem_md5.command ; "md5" , Qmcchem_md5.command ;
"result", Qmcchem_result.command ; "result", Qmcchem_result.command ;
"run" , Qmcchem_run.command ; "run" , Qmcchem_run.command ;