diff --git a/.travis.yml b/.travis.yml index 0e5f92ea..46e8057f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,8 @@ sudo: true +# +#cache: +# directories: +# - $HOME/.opam/ language: python python: @@ -12,6 +16,7 @@ before_script: script: - ./configure --production ./config/gfortran.cfg - source ./quantum_package.rc + - qp_install_module.py install Full_CI Hartree_Fock - ninja - cd ocaml ; make ; cd - - cd testing_no_regression ; ./unit_test.py diff --git a/COMPILE_RUN.md b/COMPILE_RUN.md deleted file mode 100644 index 9b4263e7..00000000 --- a/COMPILE_RUN.md +++ /dev/null @@ -1,38 +0,0 @@ -# Compile - -We need to create the file which contains all the tree dependencies for the -binaries. It's not a Makefile, but a Ninja file (so don't type `make` is -hopeless, type `ninja` instead). - -The script to create the dependency file (aka `build.ninja`) is -`qp_create_ninja.py`. - -## What utilization of the code will you do? - -* If you only want the binaries (for production workflow) use the flag - `--production` in when calling this script. It's quicker -* Else if you are a developer and you want to be able to compile specific - modules use: `--development`. It will create for you the `build.ninja` in each - module - -## Compilation Flags - -You need to specify all the flags useful for the compilation: like the -optimization flags, the Lapack libary, etc. ``$QP_ROOT/config`` contains -``ifort.cfg`` and ``gfortran.cfg`` containing the compiler flags that will be -used. You can edit these files to modify the compiling options. - -## Example to create the Ninja file - -`qp_create_ninja.py create --production $QP_ROOT/config/ifort.cfg` - -## Compiling - -Just type `ninja` if you are in `$QP_ROOT` (or `ninja -f $QP_ROOT/build.ninja` -elsewhere). The compilation will take approximately 3 min. - -If you have set the `--developement` flag in a specific module you can go in -the corresponding module directory and run `ninja` to build only this module. -You can type `ninja all` in a module for compiling all the submodule - -Finally, go in `$QP_ROOT/ocaml` and type `make` diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 22d52e39..00000000 --- a/INSTALL.md +++ /dev/null @@ -1,85 +0,0 @@ -# Installation - -## Requirements - -* curl -* m4 -* GNU make -* Fortran compiler (ifort or gfortran are tested) -* Python >= 2.6 -* Bash -* Patch (for opam) - -## Optional - -* graphviz - - -## Standard installation - -1) `./setup_environment.sh` - -This command will download and install all the requirements. -Installing OCaml and the Core library may take somme time -(up to 20min on an old machine). - -2) `source quantum_package.rc` - -This file contains all the environement variables neeeded by the quantum package -both to compile and run. This should also be done before running calculations. - -3) `cp ./src/Makefile.config.gfortran ./src/Makefile.config` - -Create the ``Makefile.config`` which contains all the flags needed by the compiler. -The is also an example for the Intel Compiler (`Makefile.config.ifort`). -Edit this file and tune the flags as you want. - -4) `make build` - -It will compile all the executables and tools. - -5) `make binary` - -Optional. It will build a `tar.gz` file containing everything needed to run the quantum package on a -machine where you can't compile. - - -## Installing behind a firewall - -1) Download `tsocks`: - - wget http://sourceforge.net/projects/tsocks/files/latest/download - mv download tsocks.tar.gz - -2) Tranfer `tsocks.tar.gz` on the remote host - -3) Configure `tsocks` with the proper directory for the `tsocks.conf` file: - - tar -zxvf tsocks.tar.gz - cd tsocks-* - ./configure --with-conf=${PWD}/tsocks.conf - -4) Create the `tsocks.conf` file with the following content: - - server = 127.0.0.1 - server_port = 10000 - -5) Create the tsocks library: - - make - -6) Add the `libtsocks.so` to the `LD_PRELOAD` environment variable: - - export LD_PRELOAD="${PWD}/libtsocks.so.1.8" - -7) Create a custom curl command to set the tsocks option: open a file named - `curl`, which is accessible from your `PATH` environment variable before the - real `curl` command, and fill this file with: - - #!/bin/bash - /usr/bin/curl --socks5 127.0.0.1:10000 $@ - -8) Start a tsocks ssh tunnel: - - ssh -fN -D 10000 user@external-server.com - diff --git a/README.md b/README.md index a19896e7..217ff776 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,161 @@ Quantum package =============== + [![Build Status](https://travis-ci.org/LCPQ/quantum_package.svg?branch=master)](https://travis-ci.org/LCPQ/quantum_package) -[![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/LCPQ/quantum_package?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/LCPQ/quantum_package?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -Set of quantum chemistry programs and libraries. +Set of quantum chemistry programs and libraries. +(under GNU GENERAL PUBLIC LICENSE v2) -For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>), or the [Install](INSTALL.md) file. +For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>), or bellow for the installation instruction. + +# Installation + +## Requirements +* Fortran compiler (`ifort` and `gfortran` are tested) +* Python >= 2.6 +* GNU make +* Bash + +## Standard installation + +### 1) Configure + + $ ./configure (--production | --development) + +For example you can type `./configure config/gfortran.cfg --production` + +This command have to purpose : + + - Download and install all the requirements. + Installing OCaml and the Core library may take somme time (up to 20min on an old machine). + - And create the file which contains all the tree dependencies for the binaries. + It's not a Makefile, but a Ninja file (so don't type `make` is hopeless, type `ninja` instead) + +####Compilation Flags (``) + +`` is the path to the file who contain all the flags useful for the compilation: like the optimization flags, the Lapack libary, etc. We have two default configure file in ``$QP_ROOT/config`` : ``ifort.cfg`` and ``gfortran.cfg``. You can edit these files to modify the compiling options. + +#### What utilization of the code will you do? + +* If you only want the binaries (for production workflow) use the flag + `--production` in when calling this script. It's quicker +* Else if you are a developer and you want to be able to compile specific modules use: `--development`. It will create for you the `build.ninja` in each module + +### 2) Set environment variable + + source quantum_package.rc +This file contains all the environment variables needed by the quantum package both to compile and run. This should also be done before running calculations. + +### Optional) Add some new module + + Usage: qp_install_module.py list (--installed|--avalaible-local|--avalaible-remote) + qp_install_module.py install ... + qp_install_module.py create -n [...] + qp_install_module.py download -n [...] + + For exemple you can type : +`qp_install_module.py install Full_CI` + +### 3) Compiling the fortran + + ninja +Just type `ninja` if you are in `$QP_ROOT` (or `ninja -f $QP_ROOT/build.ninja` +elsewhere). The compilation will take approximately 3 min. + +If you have set the `--developement` flag in a specific module you can go in +the corresponding module directory and run `ninja` to build only this module. +You can type `ninja all` in a module for compiling all the submodule + + +### 4) Compiling the OCaml + + cd ocaml ; make ; cd - + +### 5) Testing if all is ok + + cd testing_no_regression ; ./unit_test.py + +## Installing behind a firewall ! + +1) Download `tsocks`: + + wget http://sourceforge.net/projects/tsocks/files/latest/download + mv download tsocks.tar.gz + +2) Tranfer `tsocks.tar.gz` on the remote host + +3) Configure `tsocks` with the proper directory for the `tsocks.conf` file: + + tar -zxvf tsocks.tar.gz + cd tsocks-* + ./configure --with-conf=${PWD}/tsocks.conf + +4) Create the `tsocks.conf` file with the following content: + + server = 127.0.0.1 + server_port = 10000 + +5) Create the tsocks library: + + make + +6) Add the `libtsocks.so` to the `LD_PRELOAD` environment variable: + + export LD_PRELOAD="${PWD}/libtsocks.so.1.8" + +7) Create a custom curl command to set the tsocks option: open a file named + `curl`, which is accessible from your `PATH` environment variable before the + real `curl` command, and fill this file with: + + #!/bin/bash + /usr/bin/curl --socks5 127.0.0.1:10000 $@ + +8) Start a tsocks ssh tunnel: + + ssh -fN -D 10000 user@external-server.com + +# Note on EZFIO.cfg + +##Format specification : + +``` +Required: + [] The name of the provider in irp.f90 and in the EZFIO lib + doc: The plain text documentation + type: A Fancy_type supported by the ocaml. + type `ei_handler.py get_supported_type` for a list + interface: The interface is list of string sepeared by "," who can containt : + - ezfio (if you only whant the ezfiolib) + - provider (if you want the provider) + - ocaml (if you want the ocaml gestion) +Optional: + default: The default value needed, + if 'ocaml' is in interface list. + ! No list is allowed for now ! + size: The size information. + (by default is one) + Example : 1, =sum(ao_num); (ao_num,3) + ezfio_name: The name for the EZFIO lib + (by default is ) + ezfio_dir: Will be the folder of EZFIO. + (by default is ) +``` + +##Example of EZFIO.cfg: + +``` +[thresh_SCF] +doc: Threshold on the convergence of the Hartree Fock energy +type: Threshold +default: 1.e-10 +interface: provider,ezfio,ocaml +size: 1 + +[energy] +type: Strictly_negative_float +doc: Calculated HF energy +interface: ezfio +``` \ No newline at end of file diff --git a/ocaml/.gitignore b/ocaml/.gitignore index cbd77939..20613b5f 100644 --- a/ocaml/.gitignore +++ b/ocaml/.gitignore @@ -38,12 +38,12 @@ qp_print qp_run qp_set_ddci qp_set_mo_class -Input_determinants.ml -Input_hartree_fock.ml -Input_integrals_bielec.ml -Input_perturbation.ml -Input_properties.ml Input_pseudo.ml +Input_integrals_bielec.ml +Input_hartree_fock.ml +Input_perturbation.ml +Input_determinants.ml +Input_properties.ml qp_edit.ml qp_edit qp_edit.native diff --git a/src/CAS_SD/.gitignore b/plugins/CAS_SD/.gitignore similarity index 100% rename from src/CAS_SD/.gitignore rename to plugins/CAS_SD/.gitignore diff --git a/src/CAS_SD/EZFIO.cfg b/plugins/CAS_SD/EZFIO.cfg similarity index 81% rename from src/CAS_SD/EZFIO.cfg rename to plugins/CAS_SD/EZFIO.cfg index 6fb8c8a0..7425c8ba 100644 --- a/src/CAS_SD/EZFIO.cfg +++ b/plugins/CAS_SD/EZFIO.cfg @@ -1,10 +1,10 @@ [energy] type: double precision doc: "Calculated CAS-SD energy" -interface: output +interface: ezfio [energy_pt2] type: double precision doc: "Calculated selected CAS-SD energy with PT2 correction" -interface: output +interface: ezfio diff --git a/src/CAS_SD/H_apply.irp.f b/plugins/CAS_SD/H_apply.irp.f similarity index 100% rename from src/CAS_SD/H_apply.irp.f rename to plugins/CAS_SD/H_apply.irp.f diff --git a/src/CAS_SD/NEEDED_CHILDREN_MODULES b/plugins/CAS_SD/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CAS_SD/NEEDED_CHILDREN_MODULES rename to plugins/CAS_SD/NEEDED_CHILDREN_MODULES diff --git a/src/CAS_SD/README.rst b/plugins/CAS_SD/README.rst similarity index 100% rename from src/CAS_SD/README.rst rename to plugins/CAS_SD/README.rst diff --git a/src/CAS_SD/cas_sd.irp.f b/plugins/CAS_SD/cas_sd.irp.f similarity index 100% rename from src/CAS_SD/cas_sd.irp.f rename to plugins/CAS_SD/cas_sd.irp.f diff --git a/src/CAS_SD/cas_sd_selected.irp.f b/plugins/CAS_SD/cas_sd_selected.irp.f similarity index 100% rename from src/CAS_SD/cas_sd_selected.irp.f rename to plugins/CAS_SD/cas_sd_selected.irp.f diff --git a/src/CAS_SD/tree_dependency.png b/plugins/CAS_SD/tree_dependency.png similarity index 100% rename from src/CAS_SD/tree_dependency.png rename to plugins/CAS_SD/tree_dependency.png diff --git a/src/CID/.gitignore b/plugins/CID/.gitignore similarity index 100% rename from src/CID/.gitignore rename to plugins/CID/.gitignore diff --git a/src/CID/H_apply.irp.f b/plugins/CID/H_apply.irp.f similarity index 100% rename from src/CID/H_apply.irp.f rename to plugins/CID/H_apply.irp.f diff --git a/src/CID/NEEDED_CHILDREN_MODULES b/plugins/CID/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CID/NEEDED_CHILDREN_MODULES rename to plugins/CID/NEEDED_CHILDREN_MODULES diff --git a/src/CID/README.rst b/plugins/CID/README.rst similarity index 100% rename from src/CID/README.rst rename to plugins/CID/README.rst diff --git a/src/CID/cid.irp.f b/plugins/CID/cid.irp.f similarity index 100% rename from src/CID/cid.irp.f rename to plugins/CID/cid.irp.f diff --git a/src/CID/cid_lapack.irp.f b/plugins/CID/cid_lapack.irp.f similarity index 100% rename from src/CID/cid_lapack.irp.f rename to plugins/CID/cid_lapack.irp.f diff --git a/src/CID/tree_dependency.png b/plugins/CID/tree_dependency.png similarity index 100% rename from src/CID/tree_dependency.png rename to plugins/CID/tree_dependency.png diff --git a/src/CID_SC2_selected/.gitignore b/plugins/CID_SC2_selected/.gitignore similarity index 100% rename from src/CID_SC2_selected/.gitignore rename to plugins/CID_SC2_selected/.gitignore diff --git a/src/CID_SC2_selected/H_apply.irp.f b/plugins/CID_SC2_selected/H_apply.irp.f similarity index 100% rename from src/CID_SC2_selected/H_apply.irp.f rename to plugins/CID_SC2_selected/H_apply.irp.f diff --git a/src/CID_SC2_selected/NEEDED_CHILDREN_MODULES b/plugins/CID_SC2_selected/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CID_SC2_selected/NEEDED_CHILDREN_MODULES rename to plugins/CID_SC2_selected/NEEDED_CHILDREN_MODULES diff --git a/src/CID_SC2_selected/README.rst b/plugins/CID_SC2_selected/README.rst similarity index 100% rename from src/CID_SC2_selected/README.rst rename to plugins/CID_SC2_selected/README.rst diff --git a/src/CID_SC2_selected/cid_sc2_selection.irp.f b/plugins/CID_SC2_selected/cid_sc2_selection.irp.f similarity index 100% rename from src/CID_SC2_selected/cid_sc2_selection.irp.f rename to plugins/CID_SC2_selected/cid_sc2_selection.irp.f diff --git a/src/CID_SC2_selected/tree_dependency.png b/plugins/CID_SC2_selected/tree_dependency.png similarity index 100% rename from src/CID_SC2_selected/tree_dependency.png rename to plugins/CID_SC2_selected/tree_dependency.png diff --git a/src/CID_selected/.gitignore b/plugins/CID_selected/.gitignore similarity index 100% rename from src/CID_selected/.gitignore rename to plugins/CID_selected/.gitignore diff --git a/src/CID_selected/H_apply.irp.f b/plugins/CID_selected/H_apply.irp.f similarity index 100% rename from src/CID_selected/H_apply.irp.f rename to plugins/CID_selected/H_apply.irp.f diff --git a/src/CID_selected/NEEDED_CHILDREN_MODULES b/plugins/CID_selected/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CID_selected/NEEDED_CHILDREN_MODULES rename to plugins/CID_selected/NEEDED_CHILDREN_MODULES diff --git a/src/CID_selected/README.rst b/plugins/CID_selected/README.rst similarity index 94% rename from src/CID_selected/README.rst rename to plugins/CID_selected/README.rst index 5a56d57a..ad309857 100644 --- a/src/CID_selected/README.rst +++ b/plugins/CID_selected/README.rst @@ -33,120 +33,120 @@ Documentation Assume N_int is already provided. -`h_apply_cisd_selection_dipole_moment_z `_ +`h_apply_cisd_selection_dipole_moment_z `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_dipole_moment_z_diexc `_ +`h_apply_cisd_selection_dipole_moment_z_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_dipole_moment_z_monoexc `_ +`h_apply_cisd_selection_dipole_moment_z_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet `_ +`h_apply_cisd_selection_epstein_nesbet `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_2x2 `_ +`h_apply_cisd_selection_epstein_nesbet_2x2 `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_2x2_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_2x2_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2 `_ +`h_apply_cisd_selection_epstein_nesbet_sc2 `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_h_core `_ +`h_apply_cisd_selection_h_core `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_h_core_diexc `_ +`h_apply_cisd_selection_h_core_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_h_core_monoexc `_ +`h_apply_cisd_selection_h_core_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. diff --git a/src/CID_selected/cid_selection.irp.f b/plugins/CID_selected/cid_selection.irp.f similarity index 100% rename from src/CID_selected/cid_selection.irp.f rename to plugins/CID_selected/cid_selection.irp.f diff --git a/src/CID_selected/tree_dependency.png b/plugins/CID_selected/tree_dependency.png similarity index 100% rename from src/CID_selected/tree_dependency.png rename to plugins/CID_selected/tree_dependency.png diff --git a/src/CIS/.gitignore b/plugins/CIS/.gitignore similarity index 100% rename from src/CIS/.gitignore rename to plugins/CIS/.gitignore diff --git a/src/CIS/H_apply.irp.f b/plugins/CIS/H_apply.irp.f similarity index 100% rename from src/CIS/H_apply.irp.f rename to plugins/CIS/H_apply.irp.f diff --git a/src/CIS/NEEDED_CHILDREN_MODULES b/plugins/CIS/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CIS/NEEDED_CHILDREN_MODULES rename to plugins/CIS/NEEDED_CHILDREN_MODULES diff --git a/src/CIS/README.rst b/plugins/CIS/README.rst similarity index 100% rename from src/CIS/README.rst rename to plugins/CIS/README.rst diff --git a/src/CIS/cis.irp.f b/plugins/CIS/cis.irp.f similarity index 100% rename from src/CIS/cis.irp.f rename to plugins/CIS/cis.irp.f diff --git a/src/CIS/super_ci.irp.f b/plugins/CIS/super_ci.irp.f similarity index 100% rename from src/CIS/super_ci.irp.f rename to plugins/CIS/super_ci.irp.f diff --git a/src/CIS/tree_dependency.png b/plugins/CIS/tree_dependency.png similarity index 100% rename from src/CIS/tree_dependency.png rename to plugins/CIS/tree_dependency.png diff --git a/src/CISD/.gitignore b/plugins/CISD/.gitignore similarity index 100% rename from src/CISD/.gitignore rename to plugins/CISD/.gitignore diff --git a/src/CISD/H_apply.irp.f b/plugins/CISD/H_apply.irp.f similarity index 100% rename from src/CISD/H_apply.irp.f rename to plugins/CISD/H_apply.irp.f diff --git a/src/CISD/NEEDED_CHILDREN_MODULES b/plugins/CISD/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CISD/NEEDED_CHILDREN_MODULES rename to plugins/CISD/NEEDED_CHILDREN_MODULES diff --git a/src/CISD/README.rst b/plugins/CISD/README.rst similarity index 100% rename from src/CISD/README.rst rename to plugins/CISD/README.rst diff --git a/src/CISD/cisd.irp.f b/plugins/CISD/cisd.irp.f similarity index 100% rename from src/CISD/cisd.irp.f rename to plugins/CISD/cisd.irp.f diff --git a/src/CISD/cisd_lapack.irp.f b/plugins/CISD/cisd_lapack.irp.f similarity index 100% rename from src/CISD/cisd_lapack.irp.f rename to plugins/CISD/cisd_lapack.irp.f diff --git a/src/CISD/tree_dependency.png b/plugins/CISD/tree_dependency.png similarity index 100% rename from src/CISD/tree_dependency.png rename to plugins/CISD/tree_dependency.png diff --git a/src/CISD_SC2_selected/.gitignore b/plugins/CISD_SC2_selected/.gitignore similarity index 100% rename from src/CISD_SC2_selected/.gitignore rename to plugins/CISD_SC2_selected/.gitignore diff --git a/src/CISD_SC2_selected/EZFIO.cfg b/plugins/CISD_SC2_selected/EZFIO.cfg similarity index 82% rename from src/CISD_SC2_selected/EZFIO.cfg rename to plugins/CISD_SC2_selected/EZFIO.cfg index 3b49c52b..79e3e90c 100644 --- a/src/CISD_SC2_selected/EZFIO.cfg +++ b/plugins/CISD_SC2_selected/EZFIO.cfg @@ -1,10 +1,10 @@ [energy] type: double precision doc: Calculated CISD_SC2 energy of ground_state -interface: output +interface: ezfio [energy_pt2] type: double precision doc: Calculated CISD_SC2 energy+pt2 of ground_state -interface: output +interface: ezfio diff --git a/src/CISD_SC2_selected/H_apply.irp.f b/plugins/CISD_SC2_selected/H_apply.irp.f similarity index 100% rename from src/CISD_SC2_selected/H_apply.irp.f rename to plugins/CISD_SC2_selected/H_apply.irp.f diff --git a/src/CISD_SC2_selected/NEEDED_CHILDREN_MODULES b/plugins/CISD_SC2_selected/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CISD_SC2_selected/NEEDED_CHILDREN_MODULES rename to plugins/CISD_SC2_selected/NEEDED_CHILDREN_MODULES diff --git a/src/CISD_SC2_selected/README.rst b/plugins/CISD_SC2_selected/README.rst similarity index 100% rename from src/CISD_SC2_selected/README.rst rename to plugins/CISD_SC2_selected/README.rst diff --git a/src/CISD_SC2_selected/cisd_sc2_selection.irp.f b/plugins/CISD_SC2_selected/cisd_sc2_selection.irp.f similarity index 100% rename from src/CISD_SC2_selected/cisd_sc2_selection.irp.f rename to plugins/CISD_SC2_selected/cisd_sc2_selection.irp.f diff --git a/src/CISD_SC2_selected/tree_dependency.png b/plugins/CISD_SC2_selected/tree_dependency.png similarity index 100% rename from src/CISD_SC2_selected/tree_dependency.png rename to plugins/CISD_SC2_selected/tree_dependency.png diff --git a/src/CISD_selected/.gitignore b/plugins/CISD_selected/.gitignore similarity index 100% rename from src/CISD_selected/.gitignore rename to plugins/CISD_selected/.gitignore diff --git a/src/CISD_selected/H_apply.irp.f b/plugins/CISD_selected/H_apply.irp.f similarity index 100% rename from src/CISD_selected/H_apply.irp.f rename to plugins/CISD_selected/H_apply.irp.f diff --git a/src/CISD_selected/NEEDED_CHILDREN_MODULES b/plugins/CISD_selected/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/CISD_selected/NEEDED_CHILDREN_MODULES rename to plugins/CISD_selected/NEEDED_CHILDREN_MODULES diff --git a/src/CISD_selected/README.rst b/plugins/CISD_selected/README.rst similarity index 94% rename from src/CISD_selected/README.rst rename to plugins/CISD_selected/README.rst index 00ef10bb..230df80c 100644 --- a/src/CISD_selected/README.rst +++ b/plugins/CISD_selected/README.rst @@ -33,120 +33,120 @@ Documentation Assume N_int is already provided. -`h_apply_cisd_selection_dipole_moment_z `_ +`h_apply_cisd_selection_dipole_moment_z `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_dipole_moment_z_diexc `_ +`h_apply_cisd_selection_dipole_moment_z_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_dipole_moment_z_monoexc `_ +`h_apply_cisd_selection_dipole_moment_z_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet `_ +`h_apply_cisd_selection_epstein_nesbet `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_2x2 `_ +`h_apply_cisd_selection_epstein_nesbet_2x2 `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_2x2_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_2x2_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_2x2_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2 `_ +`h_apply_cisd_selection_epstein_nesbet_sc2 `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_no_projected_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc `_ +`h_apply_cisd_selection_epstein_nesbet_sc2_projected_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_h_core `_ +`h_apply_cisd_selection_h_core `_ Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. -`h_apply_cisd_selection_h_core_diexc `_ +`h_apply_cisd_selection_h_core_diexc `_ Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. -`h_apply_cisd_selection_h_core_monoexc `_ +`h_apply_cisd_selection_h_core_monoexc `_ Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided. diff --git a/src/CISD_selected/cisd_selection.irp.f b/plugins/CISD_selected/cisd_selection.irp.f similarity index 100% rename from src/CISD_selected/cisd_selection.irp.f rename to plugins/CISD_selected/cisd_selection.irp.f diff --git a/src/CISD_selected/tree_dependency.png b/plugins/CISD_selected/tree_dependency.png similarity index 100% rename from src/CISD_selected/tree_dependency.png rename to plugins/CISD_selected/tree_dependency.png diff --git a/src/DDCI_selected/.gitignore b/plugins/DDCI_selected/.gitignore similarity index 100% rename from src/DDCI_selected/.gitignore rename to plugins/DDCI_selected/.gitignore diff --git a/src/DDCI_selected/EZFIO.cfg b/plugins/DDCI_selected/EZFIO.cfg similarity index 79% rename from src/DDCI_selected/EZFIO.cfg rename to plugins/DDCI_selected/EZFIO.cfg index c9d53993..01a40af2 100644 --- a/src/DDCI_selected/EZFIO.cfg +++ b/plugins/DDCI_selected/EZFIO.cfg @@ -1,4 +1,4 @@ [energy] type: double precision doc: "Calculated CAS-SD energy" -interface: output \ No newline at end of file +interface: ezfio \ No newline at end of file diff --git a/src/DDCI_selected/H_apply.irp.f b/plugins/DDCI_selected/H_apply.irp.f similarity index 100% rename from src/DDCI_selected/H_apply.irp.f rename to plugins/DDCI_selected/H_apply.irp.f diff --git a/src/DDCI_selected/NEEDED_CHILDREN_MODULES b/plugins/DDCI_selected/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/DDCI_selected/NEEDED_CHILDREN_MODULES rename to plugins/DDCI_selected/NEEDED_CHILDREN_MODULES diff --git a/src/DDCI_selected/README.rst b/plugins/DDCI_selected/README.rst similarity index 100% rename from src/DDCI_selected/README.rst rename to plugins/DDCI_selected/README.rst diff --git a/src/DDCI_selected/ddci.irp.f b/plugins/DDCI_selected/ddci.irp.f similarity index 100% rename from src/DDCI_selected/ddci.irp.f rename to plugins/DDCI_selected/ddci.irp.f diff --git a/src/DDCI_selected/tree_dependency.png b/plugins/DDCI_selected/tree_dependency.png similarity index 100% rename from src/DDCI_selected/tree_dependency.png rename to plugins/DDCI_selected/tree_dependency.png diff --git a/src/DensityMatrix/.gitignore b/plugins/DensityMatrix/.gitignore similarity index 100% rename from src/DensityMatrix/.gitignore rename to plugins/DensityMatrix/.gitignore diff --git a/src/DensityMatrix/README.rst b/plugins/DensityMatrix/README.rst similarity index 100% rename from src/DensityMatrix/README.rst rename to plugins/DensityMatrix/README.rst diff --git a/src/DensityMatrix/density_matrix.irp.f b/plugins/DensityMatrix/density_matrix.irp.f similarity index 100% rename from src/DensityMatrix/density_matrix.irp.f rename to plugins/DensityMatrix/density_matrix.irp.f diff --git a/src/DensityMatrix/det_num.irp.f b/plugins/DensityMatrix/det_num.irp.f similarity index 100% rename from src/DensityMatrix/det_num.irp.f rename to plugins/DensityMatrix/det_num.irp.f diff --git a/src/FCIdump/.gitignore b/plugins/FCIdump/.gitignore similarity index 100% rename from src/FCIdump/.gitignore rename to plugins/FCIdump/.gitignore diff --git a/src/FCIdump/NEEDED_CHILDREN_MODULES b/plugins/FCIdump/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/FCIdump/NEEDED_CHILDREN_MODULES rename to plugins/FCIdump/NEEDED_CHILDREN_MODULES diff --git a/src/FCIdump/README.rst b/plugins/FCIdump/README.rst similarity index 100% rename from src/FCIdump/README.rst rename to plugins/FCIdump/README.rst diff --git a/src/FCIdump/fcidump.irp.f b/plugins/FCIdump/fcidump.irp.f similarity index 100% rename from src/FCIdump/fcidump.irp.f rename to plugins/FCIdump/fcidump.irp.f diff --git a/src/FCIdump/tree_dependency.png b/plugins/FCIdump/tree_dependency.png similarity index 100% rename from src/FCIdump/tree_dependency.png rename to plugins/FCIdump/tree_dependency.png diff --git a/src/Full_CI/.gitignore b/plugins/Full_CI/.gitignore similarity index 100% rename from src/Full_CI/.gitignore rename to plugins/Full_CI/.gitignore diff --git a/src/Full_CI/EZFIO.cfg b/plugins/Full_CI/EZFIO.cfg similarity index 79% rename from src/Full_CI/EZFIO.cfg rename to plugins/Full_CI/EZFIO.cfg index 37f25eda..9a552cd0 100644 --- a/src/Full_CI/EZFIO.cfg +++ b/plugins/Full_CI/EZFIO.cfg @@ -1,10 +1,10 @@ [energy] type: double precision doc: Calculated Selected FCI energy -interface: output +interface: ezfio [energy_pt2] type: double precision doc: Calculated FCI energy + PT2 -interface: output +interface: ezfio diff --git a/src/Full_CI/H_apply.irp.f b/plugins/Full_CI/H_apply.irp.f similarity index 100% rename from src/Full_CI/H_apply.irp.f rename to plugins/Full_CI/H_apply.irp.f diff --git a/src/Full_CI/NEEDED_CHILDREN_MODULES b/plugins/Full_CI/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Full_CI/NEEDED_CHILDREN_MODULES rename to plugins/Full_CI/NEEDED_CHILDREN_MODULES diff --git a/src/Full_CI/README.rst b/plugins/Full_CI/README.rst similarity index 100% rename from src/Full_CI/README.rst rename to plugins/Full_CI/README.rst diff --git a/src/Full_CI/full_ci.irp.f b/plugins/Full_CI/full_ci.irp.f similarity index 100% rename from src/Full_CI/full_ci.irp.f rename to plugins/Full_CI/full_ci.irp.f diff --git a/src/Full_CI/full_ci_no_skip.irp.f b/plugins/Full_CI/full_ci_no_skip.irp.f similarity index 100% rename from src/Full_CI/full_ci_no_skip.irp.f rename to plugins/Full_CI/full_ci_no_skip.irp.f diff --git a/src/Full_CI/target_pt2.irp.f b/plugins/Full_CI/target_pt2.irp.f similarity index 100% rename from src/Full_CI/target_pt2.irp.f rename to plugins/Full_CI/target_pt2.irp.f diff --git a/src/Full_CI/tree_dependency.png b/plugins/Full_CI/tree_dependency.png similarity index 100% rename from src/Full_CI/tree_dependency.png rename to plugins/Full_CI/tree_dependency.png diff --git a/src/Full_CI/var_pt2_ratio.irp.f b/plugins/Full_CI/var_pt2_ratio.irp.f similarity index 100% rename from src/Full_CI/var_pt2_ratio.irp.f rename to plugins/Full_CI/var_pt2_ratio.irp.f diff --git a/src/Generators_CAS/.gitignore b/plugins/Generators_CAS/.gitignore similarity index 100% rename from src/Generators_CAS/.gitignore rename to plugins/Generators_CAS/.gitignore diff --git a/src/Generators_CAS/NEEDED_CHILDREN_MODULES b/plugins/Generators_CAS/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Generators_CAS/NEEDED_CHILDREN_MODULES rename to plugins/Generators_CAS/NEEDED_CHILDREN_MODULES diff --git a/src/Generators_CAS/README.rst b/plugins/Generators_CAS/README.rst similarity index 100% rename from src/Generators_CAS/README.rst rename to plugins/Generators_CAS/README.rst diff --git a/src/Generators_CAS/generators.irp.f b/plugins/Generators_CAS/generators.irp.f similarity index 100% rename from src/Generators_CAS/generators.irp.f rename to plugins/Generators_CAS/generators.irp.f diff --git a/src/Generators_CAS/tree_dependency.png b/plugins/Generators_CAS/tree_dependency.png similarity index 100% rename from src/Generators_CAS/tree_dependency.png rename to plugins/Generators_CAS/tree_dependency.png diff --git a/src/Generators_full/.gitignore b/plugins/Generators_full/.gitignore similarity index 100% rename from src/Generators_full/.gitignore rename to plugins/Generators_full/.gitignore diff --git a/src/Generators_full/NEEDED_CHILDREN_MODULES b/plugins/Generators_full/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Generators_full/NEEDED_CHILDREN_MODULES rename to plugins/Generators_full/NEEDED_CHILDREN_MODULES diff --git a/src/Generators_full/README.rst b/plugins/Generators_full/README.rst similarity index 100% rename from src/Generators_full/README.rst rename to plugins/Generators_full/README.rst diff --git a/src/Generators_full/generators.irp.f b/plugins/Generators_full/generators.irp.f similarity index 100% rename from src/Generators_full/generators.irp.f rename to plugins/Generators_full/generators.irp.f diff --git a/src/Generators_full/tree_dependency.png b/plugins/Generators_full/tree_dependency.png similarity index 100% rename from src/Generators_full/tree_dependency.png rename to plugins/Generators_full/tree_dependency.png diff --git a/src/Generators_restart/.gitignore b/plugins/Generators_restart/.gitignore similarity index 100% rename from src/Generators_restart/.gitignore rename to plugins/Generators_restart/.gitignore diff --git a/src/Generators_restart/NEEDED_CHILDREN_MODULES b/plugins/Generators_restart/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Generators_restart/NEEDED_CHILDREN_MODULES rename to plugins/Generators_restart/NEEDED_CHILDREN_MODULES diff --git a/src/Generators_restart/README.rst b/plugins/Generators_restart/README.rst similarity index 100% rename from src/Generators_restart/README.rst rename to plugins/Generators_restart/README.rst diff --git a/src/Generators_restart/generators.irp.f b/plugins/Generators_restart/generators.irp.f similarity index 100% rename from src/Generators_restart/generators.irp.f rename to plugins/Generators_restart/generators.irp.f diff --git a/src/Generators_restart/tree_dependency.png b/plugins/Generators_restart/tree_dependency.png similarity index 100% rename from src/Generators_restart/tree_dependency.png rename to plugins/Generators_restart/tree_dependency.png diff --git a/src/Hartree_Fock/.gitignore b/plugins/Hartree_Fock/.gitignore similarity index 100% rename from src/Hartree_Fock/.gitignore rename to plugins/Hartree_Fock/.gitignore diff --git a/src/Hartree_Fock/EZFIO.cfg b/plugins/Hartree_Fock/EZFIO.cfg similarity index 75% rename from src/Hartree_Fock/EZFIO.cfg rename to plugins/Hartree_Fock/EZFIO.cfg index e2b0ea5a..c39c3483 100644 --- a/src/Hartree_Fock/EZFIO.cfg +++ b/plugins/Hartree_Fock/EZFIO.cfg @@ -1,22 +1,22 @@ [thresh_scf] type: Threshold doc: Threshold on the convergence of the Hartree Fock energy -interface: input +interface: ezfio,provider,ocaml default: 1.e-10 [n_it_scf_max] type: Strictly_positive_int doc: Maximum number of SCF iterations -interface: input +interface: ezfio,provider,ocaml default: 200 [mo_guess_type] type: MO_guess doc: Initial MO guess. Can be [ Huckel | HCore ] -interface: input +interface: ezfio,provider,ocaml default: Huckel [energy] type: double precision doc: Calculated HF energy -interface: output +interface: ezfio diff --git a/src/Hartree_Fock/Fock_matrix.irp.f b/plugins/Hartree_Fock/Fock_matrix.irp.f similarity index 100% rename from src/Hartree_Fock/Fock_matrix.irp.f rename to plugins/Hartree_Fock/Fock_matrix.irp.f diff --git a/src/Hartree_Fock/HF_density_matrix_ao.irp.f b/plugins/Hartree_Fock/HF_density_matrix_ao.irp.f similarity index 100% rename from src/Hartree_Fock/HF_density_matrix_ao.irp.f rename to plugins/Hartree_Fock/HF_density_matrix_ao.irp.f diff --git a/src/Hartree_Fock/Huckel_guess.irp.f b/plugins/Hartree_Fock/Huckel_guess.irp.f similarity index 100% rename from src/Hartree_Fock/Huckel_guess.irp.f rename to plugins/Hartree_Fock/Huckel_guess.irp.f diff --git a/src/Hartree_Fock/NEEDED_CHILDREN_MODULES b/plugins/Hartree_Fock/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Hartree_Fock/NEEDED_CHILDREN_MODULES rename to plugins/Hartree_Fock/NEEDED_CHILDREN_MODULES diff --git a/src/Hartree_Fock/README.rst b/plugins/Hartree_Fock/README.rst similarity index 100% rename from src/Hartree_Fock/README.rst rename to plugins/Hartree_Fock/README.rst diff --git a/src/Hartree_Fock/SCF.irp.f b/plugins/Hartree_Fock/SCF.irp.f similarity index 100% rename from src/Hartree_Fock/SCF.irp.f rename to plugins/Hartree_Fock/SCF.irp.f diff --git a/src/Hartree_Fock/damping_SCF.irp.f b/plugins/Hartree_Fock/damping_SCF.irp.f similarity index 100% rename from src/Hartree_Fock/damping_SCF.irp.f rename to plugins/Hartree_Fock/damping_SCF.irp.f diff --git a/src/Hartree_Fock/diagonalize_fock.irp.f b/plugins/Hartree_Fock/diagonalize_fock.irp.f similarity index 100% rename from src/Hartree_Fock/diagonalize_fock.irp.f rename to plugins/Hartree_Fock/diagonalize_fock.irp.f diff --git a/src/Hartree_Fock/huckel.irp.f b/plugins/Hartree_Fock/huckel.irp.f similarity index 100% rename from src/Hartree_Fock/huckel.irp.f rename to plugins/Hartree_Fock/huckel.irp.f diff --git a/plugins/Hartree_Fock/test b/plugins/Hartree_Fock/test new file mode 100644 index 00000000..e69de29b diff --git a/src/Hartree_Fock/tree_dependency.png b/plugins/Hartree_Fock/tree_dependency.png similarity index 100% rename from src/Hartree_Fock/tree_dependency.png rename to plugins/Hartree_Fock/tree_dependency.png diff --git a/src/MP2/.gitignore b/plugins/MP2/.gitignore similarity index 100% rename from src/MP2/.gitignore rename to plugins/MP2/.gitignore diff --git a/src/MP2/H_apply.irp.f b/plugins/MP2/H_apply.irp.f similarity index 100% rename from src/MP2/H_apply.irp.f rename to plugins/MP2/H_apply.irp.f diff --git a/src/MP2/NEEDED_CHILDREN_MODULES b/plugins/MP2/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/MP2/NEEDED_CHILDREN_MODULES rename to plugins/MP2/NEEDED_CHILDREN_MODULES diff --git a/src/MP2/README.rst b/plugins/MP2/README.rst similarity index 100% rename from src/MP2/README.rst rename to plugins/MP2/README.rst diff --git a/src/MP2/mp2.irp.f b/plugins/MP2/mp2.irp.f similarity index 100% rename from src/MP2/mp2.irp.f rename to plugins/MP2/mp2.irp.f diff --git a/src/MP2/tree_dependency.png b/plugins/MP2/tree_dependency.png similarity index 100% rename from src/MP2/tree_dependency.png rename to plugins/MP2/tree_dependency.png diff --git a/src/MRCC/.gitignore b/plugins/MRCC/.gitignore similarity index 100% rename from src/MRCC/.gitignore rename to plugins/MRCC/.gitignore diff --git a/src/MRCC/EZFIO.cfg b/plugins/MRCC/EZFIO.cfg similarity index 77% rename from src/MRCC/EZFIO.cfg rename to plugins/MRCC/EZFIO.cfg index ff586985..789f30ef 100644 --- a/src/MRCC/EZFIO.cfg +++ b/plugins/MRCC/EZFIO.cfg @@ -1,4 +1,4 @@ [energy] type: double precision doc: Calculated MRCC energy -interface: output \ No newline at end of file +interface: ezfio \ No newline at end of file diff --git a/src/MRCC/H_apply.irp.f b/plugins/MRCC/H_apply.irp.f similarity index 100% rename from src/MRCC/H_apply.irp.f rename to plugins/MRCC/H_apply.irp.f diff --git a/src/MRCC/NEEDED_CHILDREN_MODULES b/plugins/MRCC/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/MRCC/NEEDED_CHILDREN_MODULES rename to plugins/MRCC/NEEDED_CHILDREN_MODULES diff --git a/src/MRCC/README.rst b/plugins/MRCC/README.rst similarity index 100% rename from src/MRCC/README.rst rename to plugins/MRCC/README.rst diff --git a/src/MRCC/davidson.irp.f b/plugins/MRCC/davidson.irp.f similarity index 100% rename from src/MRCC/davidson.irp.f rename to plugins/MRCC/davidson.irp.f diff --git a/src/MRCC/mrcc.irp.f b/plugins/MRCC/mrcc.irp.f similarity index 100% rename from src/MRCC/mrcc.irp.f rename to plugins/MRCC/mrcc.irp.f diff --git a/src/MRCC/mrcc_dress.irp.f b/plugins/MRCC/mrcc_dress.irp.f similarity index 100% rename from src/MRCC/mrcc_dress.irp.f rename to plugins/MRCC/mrcc_dress.irp.f diff --git a/src/MRCC/mrcc_utils.irp.f b/plugins/MRCC/mrcc_utils.irp.f similarity index 100% rename from src/MRCC/mrcc_utils.irp.f rename to plugins/MRCC/mrcc_utils.irp.f diff --git a/src/MRCC/tree_dependency.png b/plugins/MRCC/tree_dependency.png similarity index 100% rename from src/MRCC/tree_dependency.png rename to plugins/MRCC/tree_dependency.png diff --git a/src/Molden/.gitignore b/plugins/Molden/.gitignore similarity index 100% rename from src/Molden/.gitignore rename to plugins/Molden/.gitignore diff --git a/src/Molden/NEEDED_CHILDREN_MODULES b/plugins/Molden/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Molden/NEEDED_CHILDREN_MODULES rename to plugins/Molden/NEEDED_CHILDREN_MODULES diff --git a/src/Molden/README.rst b/plugins/Molden/README.rst similarity index 100% rename from src/Molden/README.rst rename to plugins/Molden/README.rst diff --git a/src/Molden/print_mo.irp.f b/plugins/Molden/print_mo.irp.f similarity index 100% rename from src/Molden/print_mo.irp.f rename to plugins/Molden/print_mo.irp.f diff --git a/src/Molden/tree_dependency.png b/plugins/Molden/tree_dependency.png similarity index 100% rename from src/Molden/tree_dependency.png rename to plugins/Molden/tree_dependency.png diff --git a/src/Perturbation/.gitignore b/plugins/Perturbation/.gitignore similarity index 100% rename from src/Perturbation/.gitignore rename to plugins/Perturbation/.gitignore diff --git a/src/Perturbation/EZFIO.cfg b/plugins/Perturbation/EZFIO.cfg similarity index 79% rename from src/Perturbation/EZFIO.cfg rename to plugins/Perturbation/EZFIO.cfg index 28629104..ad26cfe5 100644 --- a/src/Perturbation/EZFIO.cfg +++ b/plugins/Perturbation/EZFIO.cfg @@ -1,19 +1,19 @@ [do_pt2_end] type: logical doc: If true, compute the PT2 at the end of the selection -interface: input +interface: ezfio,provider,ocaml default: True [PT2_max] type: PT2_energy doc: The selection process stops when the largest PT2 (for all the state) is lower than pt2_max in absolute value -interface: input +interface: ezfio,provider,ocaml default: 0.0001 [var_pt2_ratio] type: Normalized_float doc: The selection process stops when the energy ratio variational/(variational+PT2) is equal to var_pt2_ratio -interface: input +interface: ezfio,provider,ocaml default: 0.75 \ No newline at end of file diff --git a/src/Perturbation/Moller_plesset.irp.f b/plugins/Perturbation/Moller_plesset.irp.f similarity index 100% rename from src/Perturbation/Moller_plesset.irp.f rename to plugins/Perturbation/Moller_plesset.irp.f diff --git a/src/Perturbation/NEEDED_CHILDREN_MODULES b/plugins/Perturbation/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Perturbation/NEEDED_CHILDREN_MODULES rename to plugins/Perturbation/NEEDED_CHILDREN_MODULES diff --git a/src/Perturbation/README.rst b/plugins/Perturbation/README.rst similarity index 100% rename from src/Perturbation/README.rst rename to plugins/Perturbation/README.rst diff --git a/src/Perturbation/delta_rho_perturbation.irp.f b/plugins/Perturbation/delta_rho_perturbation.irp.f similarity index 100% rename from src/Perturbation/delta_rho_perturbation.irp.f rename to plugins/Perturbation/delta_rho_perturbation.irp.f diff --git a/src/Perturbation/dipole_moment.irp.f b/plugins/Perturbation/dipole_moment.irp.f similarity index 100% rename from src/Perturbation/dipole_moment.irp.f rename to plugins/Perturbation/dipole_moment.irp.f diff --git a/src/Perturbation/epstein_nesbet.irp.f b/plugins/Perturbation/epstein_nesbet.irp.f similarity index 100% rename from src/Perturbation/epstein_nesbet.irp.f rename to plugins/Perturbation/epstein_nesbet.irp.f diff --git a/src/Perturbation/exc_max.irp.f b/plugins/Perturbation/exc_max.irp.f similarity index 100% rename from src/Perturbation/exc_max.irp.f rename to plugins/Perturbation/exc_max.irp.f diff --git a/src/Perturbation/pert_sc2.irp.f b/plugins/Perturbation/pert_sc2.irp.f similarity index 100% rename from src/Perturbation/pert_sc2.irp.f rename to plugins/Perturbation/pert_sc2.irp.f diff --git a/src/Perturbation/pert_single.irp.f b/plugins/Perturbation/pert_single.irp.f similarity index 100% rename from src/Perturbation/pert_single.irp.f rename to plugins/Perturbation/pert_single.irp.f diff --git a/src/Perturbation/perturbation.irp.f b/plugins/Perturbation/perturbation.irp.f similarity index 100% rename from src/Perturbation/perturbation.irp.f rename to plugins/Perturbation/perturbation.irp.f diff --git a/src/Perturbation/perturbation.template.f b/plugins/Perturbation/perturbation.template.f similarity index 100% rename from src/Perturbation/perturbation.template.f rename to plugins/Perturbation/perturbation.template.f diff --git a/src/Perturbation/selection.irp.f b/plugins/Perturbation/selection.irp.f similarity index 100% rename from src/Perturbation/selection.irp.f rename to plugins/Perturbation/selection.irp.f diff --git a/src/Perturbation/tree_dependency.png b/plugins/Perturbation/tree_dependency.png similarity index 100% rename from src/Perturbation/tree_dependency.png rename to plugins/Perturbation/tree_dependency.png diff --git a/src/Properties/.gitignore b/plugins/Properties/.gitignore similarity index 100% rename from src/Properties/.gitignore rename to plugins/Properties/.gitignore diff --git a/src/Properties/EZFIO.cfg b/plugins/Properties/EZFIO.cfg similarity index 69% rename from src/Properties/EZFIO.cfg rename to plugins/Properties/EZFIO.cfg index d230011d..02f42ad8 100644 --- a/src/Properties/EZFIO.cfg +++ b/plugins/Properties/EZFIO.cfg @@ -1,5 +1,5 @@ [z_one_point] type: double precision doc: z point on which the integrated delta rho is calculated -interface: input +interface: ezfio,provider,ocaml default: 3.9 \ No newline at end of file diff --git a/src/Properties/NEEDED_CHILDREN_MODULES b/plugins/Properties/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Properties/NEEDED_CHILDREN_MODULES rename to plugins/Properties/NEEDED_CHILDREN_MODULES diff --git a/src/Properties/README.rst b/plugins/Properties/README.rst similarity index 100% rename from src/Properties/README.rst rename to plugins/Properties/README.rst diff --git a/src/Properties/average.irp.f b/plugins/Properties/average.irp.f similarity index 100% rename from src/Properties/average.irp.f rename to plugins/Properties/average.irp.f diff --git a/src/Properties/delta_rho.irp.f b/plugins/Properties/delta_rho.irp.f similarity index 100% rename from src/Properties/delta_rho.irp.f rename to plugins/Properties/delta_rho.irp.f diff --git a/src/Properties/properties.irp.f b/plugins/Properties/properties.irp.f similarity index 100% rename from src/Properties/properties.irp.f rename to plugins/Properties/properties.irp.f diff --git a/src/Properties/routines_test.irp.f b/plugins/Properties/routines_test.irp.f similarity index 100% rename from src/Properties/routines_test.irp.f rename to plugins/Properties/routines_test.irp.f diff --git a/src/Properties/slater_rules_mono_electronic.irp.f b/plugins/Properties/slater_rules_mono_electronic.irp.f similarity index 100% rename from src/Properties/slater_rules_mono_electronic.irp.f rename to plugins/Properties/slater_rules_mono_electronic.irp.f diff --git a/src/Properties/tree_dependency.png b/plugins/Properties/tree_dependency.png similarity index 100% rename from src/Properties/tree_dependency.png rename to plugins/Properties/tree_dependency.png diff --git a/src/QmcChem/.gitignore b/plugins/QmcChem/.gitignore similarity index 100% rename from src/QmcChem/.gitignore rename to plugins/QmcChem/.gitignore diff --git a/src/QmcChem/NEEDED_CHILDREN_MODULES b/plugins/QmcChem/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/QmcChem/NEEDED_CHILDREN_MODULES rename to plugins/QmcChem/NEEDED_CHILDREN_MODULES diff --git a/src/QmcChem/README.rst b/plugins/QmcChem/README.rst similarity index 100% rename from src/QmcChem/README.rst rename to plugins/QmcChem/README.rst diff --git a/src/QmcChem/pot_ao_pseudo_ints.irp.f b/plugins/QmcChem/pot_ao_pseudo_ints.irp.f similarity index 100% rename from src/QmcChem/pot_ao_pseudo_ints.irp.f rename to plugins/QmcChem/pot_ao_pseudo_ints.irp.f diff --git a/src/QmcChem/pseudo.irp.f b/plugins/QmcChem/pseudo.irp.f similarity index 100% rename from src/QmcChem/pseudo.irp.f rename to plugins/QmcChem/pseudo.irp.f diff --git a/src/QmcChem/save_for_qmcchem.irp.f b/plugins/QmcChem/save_for_qmcchem.irp.f similarity index 100% rename from src/QmcChem/save_for_qmcchem.irp.f rename to plugins/QmcChem/save_for_qmcchem.irp.f diff --git a/src/QmcChem/tree_dependency.png b/plugins/QmcChem/tree_dependency.png similarity index 100% rename from src/QmcChem/tree_dependency.png rename to plugins/QmcChem/tree_dependency.png diff --git a/src/Selectors_full/.gitignore b/plugins/Selectors_full/.gitignore similarity index 100% rename from src/Selectors_full/.gitignore rename to plugins/Selectors_full/.gitignore diff --git a/src/Selectors_full/NEEDED_CHILDREN_MODULES b/plugins/Selectors_full/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Selectors_full/NEEDED_CHILDREN_MODULES rename to plugins/Selectors_full/NEEDED_CHILDREN_MODULES diff --git a/src/Selectors_full/README.rst b/plugins/Selectors_full/README.rst similarity index 100% rename from src/Selectors_full/README.rst rename to plugins/Selectors_full/README.rst diff --git a/src/Selectors_full/e_corr_selectors.irp.f b/plugins/Selectors_full/e_corr_selectors.irp.f similarity index 100% rename from src/Selectors_full/e_corr_selectors.irp.f rename to plugins/Selectors_full/e_corr_selectors.irp.f diff --git a/src/Selectors_full/selectors.irp.f b/plugins/Selectors_full/selectors.irp.f similarity index 100% rename from src/Selectors_full/selectors.irp.f rename to plugins/Selectors_full/selectors.irp.f diff --git a/src/Selectors_full/tree_dependency.png b/plugins/Selectors_full/tree_dependency.png similarity index 100% rename from src/Selectors_full/tree_dependency.png rename to plugins/Selectors_full/tree_dependency.png diff --git a/src/Selectors_no_sorted/.gitignore b/plugins/Selectors_no_sorted/.gitignore similarity index 100% rename from src/Selectors_no_sorted/.gitignore rename to plugins/Selectors_no_sorted/.gitignore diff --git a/src/Selectors_no_sorted/NEEDED_CHILDREN_MODULES b/plugins/Selectors_no_sorted/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/Selectors_no_sorted/NEEDED_CHILDREN_MODULES rename to plugins/Selectors_no_sorted/NEEDED_CHILDREN_MODULES diff --git a/src/Selectors_no_sorted/README.rst b/plugins/Selectors_no_sorted/README.rst similarity index 100% rename from src/Selectors_no_sorted/README.rst rename to plugins/Selectors_no_sorted/README.rst diff --git a/src/Selectors_no_sorted/e_corr_selectors.irp.f b/plugins/Selectors_no_sorted/e_corr_selectors.irp.f similarity index 100% rename from src/Selectors_no_sorted/e_corr_selectors.irp.f rename to plugins/Selectors_no_sorted/e_corr_selectors.irp.f diff --git a/src/Selectors_no_sorted/selectors.irp.f b/plugins/Selectors_no_sorted/selectors.irp.f similarity index 100% rename from src/Selectors_no_sorted/selectors.irp.f rename to plugins/Selectors_no_sorted/selectors.irp.f diff --git a/src/Selectors_no_sorted/tree_dependency.png b/plugins/Selectors_no_sorted/tree_dependency.png similarity index 100% rename from src/Selectors_no_sorted/tree_dependency.png rename to plugins/Selectors_no_sorted/tree_dependency.png diff --git a/src/SingleRefMethod/.gitignore b/plugins/SingleRefMethod/.gitignore similarity index 100% rename from src/SingleRefMethod/.gitignore rename to plugins/SingleRefMethod/.gitignore diff --git a/src/SingleRefMethod/NEEDED_CHILDREN_MODULES b/plugins/SingleRefMethod/NEEDED_CHILDREN_MODULES similarity index 100% rename from src/SingleRefMethod/NEEDED_CHILDREN_MODULES rename to plugins/SingleRefMethod/NEEDED_CHILDREN_MODULES diff --git a/src/SingleRefMethod/README.rst b/plugins/SingleRefMethod/README.rst similarity index 100% rename from src/SingleRefMethod/README.rst rename to plugins/SingleRefMethod/README.rst diff --git a/src/SingleRefMethod/generators.irp.f b/plugins/SingleRefMethod/generators.irp.f similarity index 100% rename from src/SingleRefMethod/generators.irp.f rename to plugins/SingleRefMethod/generators.irp.f diff --git a/src/SingleRefMethod/tree_dependency.png b/plugins/SingleRefMethod/tree_dependency.png similarity index 100% rename from src/SingleRefMethod/tree_dependency.png rename to plugins/SingleRefMethod/tree_dependency.png diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index 91f42c81..fed8ff31 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -48,9 +48,7 @@ header = r"""# # \_| | (_) |_) (_| | \/ (_| | | (_| |_) | (/_ _> # -QP_ROOT = os.environ['QP_ROOT'] -QP_ROOT_SRC = join(QP_ROOT, 'src') -QP_ROOT_EZFIO = join(QP_ROOT, 'install', 'EZFIO') +from qp_path import QP_ROOT, QP_SRC, QP_EZFIO EZFIO_LIB = join(QP_ROOT, "lib", "libezfio.a") ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja") @@ -67,6 +65,10 @@ Sym_link = namedtuple('Sym_link', ['source', 'destination']) module_instance = ModuleHandler() +def real_join(*args): + return os.path.realpath(join(*args)) + + # _ # |_ ._ _. ._ o _. |_ | _ _ # |_ | | \/ \/ (_| | | (_| |_) | (/_ _> @@ -101,13 +103,13 @@ def dict_module_genelogy_path(d_module_genelogy): """ d = dict() for module_rel, l_children_rel in d_module_genelogy.iteritems(): - module_abs = join(QP_ROOT_SRC, module_rel) + module_abs = real_join(QP_SRC, module_rel) p = Path(module_abs, module_rel) try: - d[p] = Path(join(QP_ROOT_SRC, l_children_rel), l_children_rel) + d[p] = Path(real_join(QP_SRC, l_children_rel), l_children_rel) except: - d[p] = [Path(join(QP_ROOT_SRC, children), children) + d[p] = [Path(real_join(QP_SRC, children), children) for children in l_children_rel] return d @@ -123,11 +125,10 @@ def get_l_module_with_ezfio_cfg(): Return all the module who have a EZFIO.cfg """ from os import listdir - from os.path import isfile, join - qp_src = QP_ROOT_SRC + from os.path import isfile - return [join(qp_src, m) for m in listdir(qp_src) - if isfile(join(qp_src, m, "EZFIO.cfg"))] + return [real_join(QP_SRC, m) for m in listdir(QP_SRC) + if isfile(real_join(QP_SRC, m, "EZFIO.cfg"))] def get_l_ezfio_config(): @@ -137,11 +138,14 @@ def get_l_ezfio_config(): l = [] - cmd = "{0}/*/*.ezfio_config".format(QP_ROOT_SRC) + cmd = "{0}/*/*.ezfio_config".format(QP_SRC) for path_in_module in glob.glob(cmd): - name_lower = os.path.split(path_in_module)[1].lower() - path_in_ezfio = join(QP_ROOT_EZFIO, "config", name_lower) - l.append(EZ_config_path(path_in_module, path_in_ezfio)) + + real_path = real_join(path_in_module) + + name_lower = os.path.split(real_path)[1].lower() + path_in_ezfio = join(QP_EZFIO, "config", name_lower) + l.append(EZ_config_path(real_path, path_in_ezfio)) return l @@ -171,7 +175,7 @@ def get_children_of_ezfio_cfg(l_module_with_ezfio_cfg): """ From a module list of ezfio_cfg return all the stuff create by him """ - config_folder = join(QP_ROOT_EZFIO, "config") + config_folder = join(QP_EZFIO, "config") l_util = dict() @@ -248,7 +252,7 @@ def ninja_ezfio_rule(): for flag in ["FC", "FCFLAGS", "IRPF90"]] install_lib_ezfio = join(QP_ROOT, 'install', 'EZFIO', "lib", "libezfio.a") - l_cmd = ["cd {0}".format(QP_ROOT_EZFIO)] + l_flag + l_cmd = ["cd {0}".format(QP_EZFIO)] + l_flag l_cmd += ["ninja && ln -sf {0} {1}".format(install_lib_ezfio, EZFIO_LIB)] l_string = ["rule build_ezfio", @@ -282,7 +286,7 @@ def get_source_destination(path_module, l_needed_molule): Return a list of Sym_link = namedtuple('Sym_link', ['source', 'destination']) for a module """ - return [Sym_link(m.abs, join(QP_ROOT_SRC, path_module.rel, m.rel)) + return [Sym_link(m.abs, join(QP_SRC, path_module.rel, m.rel)) for m in l_needed_molule] @@ -511,7 +515,7 @@ def get_binaries(path_module): return [] elif "No such file or directory" not in stdout: l_bin = [i.replace(".irp.f", "", 1) for i in stdout.split()] - return [Path(bin_, os.path.basename(bin_)) for bin_ in l_bin] + return [Path(os.path.realpath(bin_), os.path.basename(bin_)) for bin_ in l_bin] else: return [] @@ -534,7 +538,6 @@ def get_dict_binaries(l_module, mode="production"): # Ake module => binaries generated for module in l_module: l_binaries = get_binaries(module) - if l_binaries: d_binaries[module] += l_binaries @@ -555,8 +558,8 @@ def get_dict_binaries(l_module, mode="production"): l_binaries = [] for binaries in d_binaries[module]: - p_abs = join(QP_ROOT_SRC, root_module.rel, module.rel, - binaries.rel) + p_abs = real_join(QP_SRC, root_module.rel) + p_abs = join(p_abs, module.rel, binaries.rel) p_rel = binaries.rel p = Path(p_abs, p_rel) l_binaries.append(p) @@ -714,7 +717,7 @@ def create_build_ninja_global(): ""] l_string += ["rule make_clean", - " command = cd {0} ; clean_modules.sh *".format(QP_ROOT_SRC), + " command = cd {0} ; clean_modules.sh *".format(QP_SRC), " description = Cleaning all modules", ""] l_string += ["build dummy_target: update_build_ninja_root", diff --git a/scripts/ezfio_interface/ei_handler.py b/scripts/ezfio_interface/ei_handler.py index 7e7482e8..c92ac572 100755 --- a/scripts/ezfio_interface/ei_handler.py +++ b/scripts/ezfio_interface/ei_handler.py @@ -10,35 +10,44 @@ Usage: [--ezfio_config] [--ocaml] [--ezfio_default] + ei_handler.py list_supported_type ei_handler.py ocaml_global By default all the option are executed. Options: -h --help - --irpf90 Create the `ezfio_interface.irpf90` - which contains all the providers needed - (aka all with the `interface: input` parameter) - in `${pwd}` - --ezfio_config Create the `${module_lower}_ezfio_interface_config` in - `${QP_ROOT}/EZFIO/config/` - This file is needed by *EZFIO* to create the `libezfio.so` - --ocaml Create the `Input_module.lower.ml` for the *qp_edit* - --ezfio_default Create the `${module_lower}_ezfio_interface_default` in - `${QP_ROOT}/data/ezfio_defaults` needed by - the ocaml - ocaml_global Create the qp_edit + --irpf90 Create the `/ezfio_interface.irpf90` + which contains all the providers needed + --ezfio_config Create the `_ezfio_interface_config` in + `${QP_EZFIO}/config/` + --ocaml Create all the stuff needed by *qp_edit*: + -`Input_.ml` and + - _ezfio_interface_default` + ocaml_global Create the *qp_edit* Format specification : - [provider_name] | the name of the provider in irp.f90 - doc:{str} | Is the doc - Type:{str} | Is a fancy_type supported by the ocaml - ezfio_name:{str} | Will be the name of the file for the ezfio - (optional by default is the name of the provider) - interface:{str} | The provider is a imput or a output - default:{str} | The default value if interface == input: - size:{str} | the size information - (like 1 or =sum(ao_num) or (ao_num,3) ) + +Required: + [] The name of the provider in irp.f90 and in the EZFIO lib + doc: The plain text documentation + type: A Fancy_type supported by the ocaml. + type `ei_handler.py get_supported_type` for a list + interface: The interface is list of string sepeared by "," who can containt : + - ezfio (if you only whant the ezfiolib) + - provider (if you want the provider) + - ocaml (if you want the ocaml gestion) +Optional: + default: The default value needed, + if 'ocaml' is in interface list. + ! No list is allowed for now ! + size: The size information. + (by default is one) + Example : 1, =sum(ao_num); (ao_num,3) + ezfio_name: The name for the EZFIO lib + (by default is ) + ezfio_dir: Will be the folder of EZFIO. + (by default is ) Example of EZFIO.cfg: ``` @@ -46,13 +55,13 @@ Example of EZFIO.cfg: doc: Threshold on the convergence of the Hartree Fock energy type: Threshold default: 1.e-10 -interface: input +interface: provider,ezfio,ocaml size: 1 [energy] type: double precision doc: Calculated HF energy -interface: output +interface: ezfio ``` """ from docopt import docopt @@ -68,10 +77,12 @@ from collections import namedtuple from decorator import cache - from os import listdir from os.path import isdir, join, exists + +from qp_path import QP_ROOT, QP_SRC, QP_OCAML, QP_EZFIO + Type = namedtuple('Type', 'fancy ocaml fortran') @@ -97,10 +108,6 @@ def get_type_dict(): For example fancy_type['Ndet'].fortran = interger .ocaml = int """ - # ~#~#~#~#~ # - # P i c l e # - # ~#~#~#~#~ # - qpackage_root = os.environ['QP_ROOT'] # ~#~#~#~ # # I n i t # @@ -138,7 +145,8 @@ def get_type_dict(): "string": "character*32"} # Read and parse qptype generate - src = qpackage_root + "/ocaml/qptypes_generator.ml" + src = join(QP_OCAML, "qptypes_generator.ml") + with open(src, "r") as f: r = f.read() @@ -194,25 +202,11 @@ def get_dict_config_file(module_obj): size, interface, default} - - - Type : Is a Type named tuple who containt - fortran and ocaml type - - doc : Is the doc - - ezfio_name : Will be the name of the file - - ezfio_dir : Will be the folder who containt the ezfio_name - * /ezfio_dir/ezfio_name - * equal to MODULE_lower name by default. - - interface : The provider is a imput or a output - - default : The default value /!\ stored in a Type named type! - if interface == input - - size : Is the string read in ezfio.cgf who containt the size information - (like 1 or =sum(ao_num)) """ # ~#~#~#~ # # I n i t # # ~#~#~#~ # d = defaultdict(dict) - l_info_required = ["doc", "interface"] l_info_optional = ["ezfio_dir", "ezfio_name", "size"] # ~#~#~#~#~#~#~#~#~#~#~ # @@ -239,8 +233,13 @@ def get_dict_config_file(module_obj): "ezfio_dir": module_obj.lower, "size": "1"} - # Check if type if avalaible - type_ = config_file.get(section, "type") + # Check if type is avalaible + try: + type_ = config_file.get(section, "type") + except ConfigParser.NoOptionError: + error("type", pvd, module_obj.path) + sys.exit(1) + if type_ not in type_dict: print "{0} not avalaible. Choose in:".format(type_) print ", ".join(sorted([i for i in type_dict])) @@ -249,12 +248,23 @@ def get_dict_config_file(module_obj): d[pvd]["type"] = type_dict[type_] # Fill the dict with REQUIRED information - for option in l_info_required: - try: - d[pvd][option] = config_file.get(section, option) - except ConfigParser.NoOptionError: - error(option, pvd, module_obj.path) + try: + d[pvd]["doc"] = config_file.get(section, "doc") + except ConfigParser.NoOptionError: + error("doc", pvd, module_obj.path) + sys.exit(1) + + try: + interface = map(str.lower, config_file.get(section, "interface").split(",")) + except ConfigParser.NoOptionError: + error("doc", pvd, module_obj.path) + sys.exit(1) + else: + if not any(i in ["ezfio", "provider", "ocaml"] for i in interface): + print "Bad keyword for interface for {0}".format(pvd) sys.exit(1) + else: + d[pvd]["interface"] = interface # Fill the dict with OPTIONAL information for option in l_info_optional: @@ -265,7 +275,7 @@ def get_dict_config_file(module_obj): d[pvd][option] = d_default[option] # If interface is input we need a default value information - if d[pvd]["interface"].lower() == "input": + if "ocaml" in d[pvd]["interface"]: try: default_raw = config_file.get(section, "default") except ConfigParser.NoOptionError: @@ -301,7 +311,7 @@ def create_ezfio_provider(dict_ezfio_cfg): ez_p = EZFIO_Provider() for provider_name, dict_info in dict_ezfio_cfg.iteritems(): - if "input" in dict_info["interface"]: + if "provider" in dict_info["interface"]: ez_p.set_type(dict_info['type'].fortran) ez_p.set_name(provider_name) ez_p.set_doc(dict_info['doc']) @@ -455,7 +465,7 @@ def save_ezfio_config(module_lower, str_ezfio_config): "$QP_ROOT/EZFIO/{0}.ezfio_interface_config".format(module_lower) """ name = "{0}.ezfio_interface_config".format(module_lower) - path = os.path.join(os.environ['QP_EZFIO'], "config", name) + path = os.path.join(QP_EZFIO, "config", name) with open(path, "w+") as f: f.write(str_ezfio_config) @@ -473,7 +483,7 @@ def save_ezfio_default(module_lower, str_ezfio_default): """ root_ezfio_default = "{0}/data/ezfio_defaults/".format( - os.environ['QP_ROOT']) + QP_ROOT) path = "{0}/{1}.ezfio_interface_default".format(root_ezfio_default, module_lower) with open(path, "w+") as f: @@ -493,7 +503,7 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower): l_doc = [] for k, v in dict_ezfio_cfg.iteritems(): - if v['interface'] == "input": + if "ocaml" in v['interface']: l_ezfio_name.append(v['ezfio_name']) l_type.append(v["type"]) l_doc.append(v["doc"]) @@ -501,7 +511,6 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower): if not l_ezfio_name: raise ValueError - e_glob = EZFIO_ocaml(l_ezfio_name=l_ezfio_name, l_type=l_type, l_doc=l_doc) @@ -578,11 +587,12 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower): def save_ocaml_input(module_lower, str_ocaml_input): """ Write the str_ocaml_input in - $QP_ROOT/ocaml/Input_{0}.ml".format(module_lower) + qp_path.QP_OCAML/Input_{0}.ml".format(module_lower) """ - path = "{0}/ocaml/Input_{1}.ml".format(os.environ['QP_ROOT'], - module_lower) + name = "Input_{0}.ml".format(module_lower) + + path = join(QP_OCAML, name) with open(path, "w+") as f: f.write(str_ocaml_input) @@ -590,21 +600,15 @@ def save_ocaml_input(module_lower, str_ocaml_input): def get_l_module_with_auto_generate_ocaml_lower(): """ - Get all module who have EZFIO.cfg with input data + Get all module who have EZFIO.cfg with ocaml data (NB `search` in all the ligne and `match` only in one) """ - # ~#~#~#~ # - # I n i t # - # ~#~#~#~ # - - mypath = "{0}/src".format(os.environ['QP_ROOT']) - # ~#~#~#~#~#~#~#~ # # L _ f o l d e r # # ~#~#~#~#~#~#~#~ # - l_folder = [f for f in listdir(mypath) if isdir(join(mypath, f))] + l_folder = [f for f in listdir(QP_SRC) if isdir(join(QP_SRC, f))] # ~#~#~#~#~#~#~#~#~#~#~#~#~#~ # # L _ m o d u l e _ l o w e r # @@ -612,10 +616,10 @@ def get_l_module_with_auto_generate_ocaml_lower(): l_module_lower = [] import re - p = re.compile(ur'interface:\s+input') + p = re.compile(ur'interface:.*ocaml') for f in l_folder: - path = "{0}/{1}/EZFIO.cfg".format(mypath, f) + path = "{0}/{1}/EZFIO.cfg".format(QP_SRC, f) if exists(path): with open(path, 'r') as file_: if p.search(file_.read()): @@ -639,8 +643,7 @@ def create_ocaml_input_global(l_module_with_auto_generate_ocaml_lower): from ezfio_generate_ocaml import EZFIO_ocaml - qpackage_root = os.environ['QP_ROOT'] - path = qpackage_root + "/scripts/ezfio_interface/qp_edit_template" + path = QP_ROOT + "/scripts/ezfio_interface/qp_edit_template" with open(path, "r") as f: template_raw = f.read() @@ -661,10 +664,11 @@ def create_ocaml_input_global(l_module_with_auto_generate_ocaml_lower): def save_ocaml_input_auto(str_ocaml_input_global): """ Write the str_ocaml_input in - $QP_ROOT/ocaml/Input_auto_generated.ml + qp_path.QP_OCAML/Input_auto_generated.ml """ - path = "{0}/ocaml/Input_auto_generated.ml".format(os.environ['QP_ROOT']) + name = "Input_auto_generated.ml" + path = join(QP_OCAML, name) with open(path, "w+") as f: f.write(str_ocaml_input_global) @@ -673,10 +677,11 @@ def save_ocaml_input_auto(str_ocaml_input_global): def save_ocaml_qp_edit(str_ocaml_qp_edit): """ Write the str_ocaml_qp_edit in - $QP_ROOT/ocaml/qp_edit.ml + qp_path.QP_OCAML/qp_edit.ml """ - path = "{0}/ocaml/qp_edit.ml".format(os.environ['QP_ROOT']) + name = "qp_edit.ml" + path = join(QP_OCAML, name) with open(path, "w+") as f: f.write(str_ocaml_qp_edit) @@ -716,9 +721,9 @@ def code_generation(arguments, dict_ezfio_cfg, m): str_ezfio_config = create_ezfio_config(dict_ezfio_cfg) save_ezfio_config(module_lower, str_ezfio_config) - # ~#~#~#~#~#~# - # O c a m l # - # ~#~#~#~#~#~# + # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ # + # O c a m l & e z f i o _ d e f a u l t # + # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ # if do_all or arguments["--ocaml"]: try: str_ocaml_input = create_ocaml_input(dict_ezfio_cfg, module_lower) @@ -727,20 +732,19 @@ def code_generation(arguments, dict_ezfio_cfg, m): else: save_ocaml_input(module_lower, str_ocaml_input) - # ~#~#~#~#~#~#~#~#~#~#~#~#~ # - # e z f i o _ d e f a u l t # - # ~#~#~#~#~#~#~#~#~#~#~#~#~ # - if do_all or arguments["--ezfio_default"]: str_ezfio_default = create_ezfio_default(dict_ezfio_cfg) save_ezfio_default(module_lower, str_ezfio_default) - if __name__ == "__main__": arguments = docopt(__doc__) # ___ # | ._ o _|_ # _|_ | | | |_ # + if arguments["list_supported_type"]: + for i in get_type_dict(): + print i + sys.exit(0) if arguments["ocaml_global"]: @@ -771,14 +775,12 @@ if __name__ == "__main__": # G e t _ l _ d i c t _ e z f i o _ c f g # # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~# # - qpackage_root_src = join(os.environ['QP_ROOT'], "src") - l_module_with_ezfio = [] Module = namedtuple('Module', 'path lower') for f in l_module: - path = join(qpackage_root_src, f, "EZFIO.cfg") + path = join(QP_SRC, f, "EZFIO.cfg") if exists(path): l_module_with_ezfio.append(Module(path, f.lower())) diff --git a/scripts/module/create_executables_list.sh b/scripts/module/create_executables_list.sh index 2f530379..66e9ef2d 100755 --- a/scripts/module/create_executables_list.sh +++ b/scripts/module/create_executables_list.sh @@ -11,14 +11,9 @@ fi cd ${QP_ROOT}/data rm -f executables -EXES=$(find ${QP_ROOT}/src -perm /u+x -type f | grep -e "${QP_ROOT}/src/[^/]*/[^/]*$" |sort ) +EXES=$(find -L ${QP_ROOT}/src -executable -type f | grep -e "${QP_ROOT}/src/[^/]*/[^/]*$" |sort ) for EXE in $EXES do printf "%-30s %s\n" $(basename $EXE) $EXE | sed "s|${QP_ROOT}|\$QP_ROOT|g" >> executables done - - - - - diff --git a/scripts/module/module_handler.py b/scripts/module/module_handler.py index 5bd8310e..d0bcca00 100755 --- a/scripts/module/module_handler.py +++ b/scripts/module/module_handler.py @@ -175,8 +175,16 @@ class ModuleHandler(): draw_module_edge(children, d_ref[children]) all_ready_done.append(module) + path = '{0}.png'.format("tree_dependency") + # Init - graph = pydot.Dot(graph_type='digraph') + try: + graph = pydot.Dot(graph_type='digraph') + except: + with open(path, 'a'): + os.utime(path, None) + return + d_ref = self.dict_child # Create all the edge @@ -186,7 +194,6 @@ class ModuleHandler(): draw_module_edge(module, d_ref[module]) # Save - path = '{0}.png'.format("tree_dependency") graph.write_png(path) diff --git a/scripts/module/qp_install_module.py b/scripts/module/qp_install_module.py index 03dbd350..8e9f149c 100755 --- a/scripts/module/qp_install_module.py +++ b/scripts/module/qp_install_module.py @@ -1,8 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- """ -Usage: qp_install_module.py list [--installed|--avalaible-local|--avalaible-remote] - qp_install_module.py install -n +Usage: qp_install_module.py list (--installed|--avalaible-local|--avalaible-remote) + qp_install_module.py install ... qp_install_module.py create -n [...] qp_install_module.py download -n [...] @@ -64,18 +64,19 @@ if __name__ == '__main__': if arguments["--installed"]: l_repository = [qp_root_src] + if arguments["--avalaible-local"]: + l_repository = [qp_root_plugin] m_instance = ModuleHandler(l_repository) for module in m_instance.l_module: - print module + print "* {0}".format(module) elif arguments["create"]: - m_instance = ModuleHandler(l_repository) + m_instance = ModuleHandler([qp_root_src]) l_children = arguments[""] - qp_root = os.environ['QP_ROOT'] path = os.path.join(qp_root_src, arguments[""]) print "You will create the module:" @@ -100,33 +101,48 @@ if __name__ == '__main__': save_new_module(path, l_child_reduce) elif arguments["download"]: - - d_local = get_dict_child([qp_root_src]) - d_remote = get_dict_child(arguments[""]) - - d_child = d_local.copy() - d_child.update(d_remote) - - name = arguments[""] - l_module_descendant = get_l_module_descendant(d_child, [name]) - - for module in l_module_descendant: - if module not in d_local: - print "you need to install", module + pass +# d_local = get_dict_child([qp_root_src]) +# d_remote = get_dict_child(arguments[""]) +# +# d_child = d_local.copy() +# d_child.update(d_remote) +# +# name = arguments[""] +# l_module_descendant = get_l_module_descendant(d_child, [name]) +# +# for module in l_module_descendant: +# if module not in d_local: +# print "you need to install", module elif arguments["install"]: d_local = get_dict_child([qp_root_src]) - d_plugin = get_dict_child([qp_root_plugin]) d_child = d_local.copy() d_child.update(d_plugin) - name = arguments[""] - l_module_descendant = get_l_module_descendant(d_child, [name]) + l_name = arguments[""] - module_to_cp = [module for module in l_module_descendant if module not in d_local] + for name in l_name: + if name in d_local: + print "{0} Is already installed".format(name) - print "For ln -s by hand the module" - print module_to_cp + l_module_descendant = get_l_module_descendant(d_child, l_name) + + l_module_to_cp = [module for module in l_module_descendant if module not in d_local] + + if l_module_to_cp: + + print "You will need all these modules" + print l_module_to_cp + + print "Installation...", + + for module_to_cp in l_module_to_cp: + src = os.path.join(qp_root_plugin, module_to_cp) + des = os.path.join(qp_root_src, module_to_cp) + os.symlink(src, des) + print "Done" + print "You can now compile as usual" diff --git a/scripts/utility/qp_path.py b/scripts/utility/qp_path.py new file mode 100644 index 00000000..39058557 --- /dev/null +++ b/scripts/utility/qp_path.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os +import sys + +try: + QP_ROOT = os.environ['QP_ROOT'] +except: + print "source quantum_package.rc" + sys.exit(1) +else: + QP_SRC = os.path.join(QP_ROOT, "src") + QP_EZFIO = os.path.join(QP_ROOT, "install", "EZFIO") + QP_OCAML = os.path.join(QP_ROOT, "ocaml") diff --git a/src/Determinants/EZFIO.cfg b/src/Determinants/EZFIO.cfg index 4a2270c7..a124f030 100644 --- a/src/Determinants/EZFIO.cfg +++ b/src/Determinants/EZFIO.cfg @@ -1,112 +1,112 @@ [N_det_max] type: Det_number_max doc: Max number of determinants in the wave function -interface: input +interface: ezfio,provider,ocaml default: 10000 [N_det_max_property] type: Det_number_max doc: Max number of determinants in the wave function when you select for a given property -interface: input +interface: ezfio,provider,ocaml default: 10000 [N_det_max_jacobi] type: Det_number_max doc: Maximum number of determinants diagonalized by Jacobi -interface: input +interface: ezfio,provider,ocaml default: 1000 [N_states] type: States_number doc: Number of states to consider -interface: input +interface: ezfio,provider,ocaml default: 1 [read_wf] type: logical doc: If true, read the wave function from the EZFIO file -interface: input +interface: ezfio,provider,ocaml default: False [only_single_double_dm] type: logical doc: If true, The One body DM is calculated with ignoring the Double<->Doubles extra diag elements -interface: input +interface: ezfio,provider,ocaml default: False [s2_eig] type: logical doc: Force the wave function to be an eigenfunction of S^2 -interface: input +interface: ezfio,provider,ocaml default: False [threshold_generators] type: Threshold doc: Thresholds on generators (fraction of the norm) -interface: input +interface: ezfio,provider,ocaml default: 0.99 [threshold_selectors] type: Threshold doc: Thresholds on selectors (fraction of the norm) -interface: input +interface: ezfio,provider,ocaml default: 0.999 [n_states_diag] type: integer doc: n_states_diag -interface: Ocaml +interface: ezfio, provider [n_int] -interface: OCaml +interface: ezfio, provider doc: n_int type: N_int_number [bit_kind] -interface: OCaml +interface: ezfio, provider doc: bit_kind type: Bit_kind [mo_label] -interface: OCaml +interface: ezfio, provider doc: o_label type: character*(64) [n_det] -interface: OCaml +interface: ezfio, provider doc: n_det type: integer [psi_coef] -interface: OCaml +interface: ezfio, provider doc: psi_coef type: double precision size: (determinants.n_det,determinants.n_states) [psi_det] -interface: OCaml +interface: ezfio, provider doc: psi_det type: integer*8 size: (determinants.n_int*determinants.bit_kind/8,2,determinants.n_det) [det_num] -interface: OCaml +interface: ezfio, provider doc: det_num type: integer [det_occ] -interface: OCaml +interface: ezfio, provider doc: det_occ type: integer size: (electrons.elec_alpha_num,determinants.det_num,2) [det_coef] -interface: OCaml +interface: ezfio, provider doc: det_coef type: double precision size: (determinants.det_num) [expected_s2] -interface: OCaml +interface: ezfio, provider doc: expcted_s2 type: double precision diff --git a/src/Integrals_Bielec/EZFIO.cfg b/src/Integrals_Bielec/EZFIO.cfg index eaada232..3834b121 100644 --- a/src/Integrals_Bielec/EZFIO.cfg +++ b/src/Integrals_Bielec/EZFIO.cfg @@ -1,32 +1,32 @@ [do_direct_integrals] type: logical doc: Compute integrals on the fly -interface: input +interface: ezfio,provider,ocaml default: False ezfio_name: direct [disk_access_mo_integrals] type: Disk_access doc: Read/Write MO integrals from/to disk [ Write | Read | None ] -interface: input +interface: ezfio,provider,ocaml default: None [disk_access_ao_integrals] type: Disk_access doc: Read/Write AO integrals from/to disk [ Write | Read | None ] -interface: input +interface: ezfio,provider,ocaml default: None [ao_integrals_threshold] type: Threshold doc: If || < ao_integrals_threshold then is zero -interface: input +interface: ezfio,provider,ocaml default: 1.e-15 ezfio_name: threshold_ao [mo_integrals_threshold] type: Threshold doc: If || < ao_integrals_threshold then is zero -interface: input +interface: ezfio,provider,ocaml default: 1.e-15 ezfio_name: threshold_mo diff --git a/src/Pseudo/EZFIO.cfg b/src/Pseudo/EZFIO.cfg index 9804c807..ae27bd7c 100644 --- a/src/Pseudo/EZFIO.cfg +++ b/src/Pseudo/EZFIO.cfg @@ -1,88 +1,88 @@ [pseudo_klocmax] doc: test type:integer -interface: input_without_default +interface: ezfio,provider [pseudo_n_k] doc: test type: integer -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_klocmax) [pseudo_v_k] doc: test type: double precision -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_klocmax) [pseudo_dz_k] doc: test type: double precision -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_klocmax) [pseudo_lmax] doc: test type:integer -interface: input_without_default +interface: ezfio,provider [pseudo_kmax] doc: test type:integer -interface: input_without_default +interface: ezfio,provider [pseudo_n_kl] doc: test type: integer -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax) [pseudo_v_kl] doc: test type: double precision -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax) [pseudo_dz_kl] doc: test type: double precision -interface: input_without_default +interface: ezfio,provider size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax) [do_pseudo] type: logical doc: Using pseudo potential integral of not -interface: input +interface: ezfio,provider,ocaml default: False [pseudo_grid_size] type: integer doc: Nb of points of the QMC grid -interface: input +interface: ezfio,provider,ocaml default: 1000 [pseudo_grid_rmax] type: double precision doc: R_maxof the QMC grid -interface: input +interface: ezfio,provider,ocaml default: 10.0 [ao_pseudo_grid] type: double precision doc: QMC grid -interface: output +interface: ezfio size: (ao_basis.ao_num,-pseudo.pseudo_lmax:pseudo.pseudo_lmax,0:pseudo.pseudo_lmax,nuclei.nucl_num,pseudo.pseudo_grid_size) [mo_pseudo_grid] type: double precision doc: QMC grid -interface: output +interface: ezfio size: (ao_basis.ao_num,-pseudo.pseudo_lmax:pseudo.pseudo_lmax,0:pseudo.pseudo_lmax,nuclei.nucl_num,pseudo.pseudo_grid_size) [pseudo_matrix] type: double precision doc: QMC grid -interface: output +interface: ezfio size: (aux_basis.aux_basis_num_sqrt,aux_basis.aux_basis_num_sqrt) diff --git a/testing_no_regression/unit_test.py b/testing_no_regression/unit_test.py index aedc19fc..fda06256 100755 --- a/testing_no_regression/unit_test.py +++ b/testing_no_regression/unit_test.py @@ -183,12 +183,12 @@ def run_hf(geo, basis, mult=1, pseudo=False, remove_after_sucess=True): # ~#~#~#~#~#~#~#~#~#~#~#~#~ # # S e t _ p a r a m e t e r # # ~#~#~#~#~#~#~#~#~#~#~#~#~ # - ezfio.bielec_integrals_direct = False - ezfio.bielec_integrals_threshold_ao = 1.e-15 - ezfio.bielec_integrals_disk_access_ao_integrals = "None" + ezfio.integrals_bielec_direct = False + ezfio.integrals_bielec_threshold_ao = 1.e-15 + ezfio.integrals_bielec_disk_access_ao_integrals = "None" - ezfio.bielec_integrals_threshold_mo = 1.e-15 - ezfio.bielec_integrals_disk_access_mo_integrals = "None" + ezfio.integrals_bielec_threshold_mo = 1.e-15 + ezfio.integrals_bielec_disk_access_mo_integrals = "None" ezfio.hartree_fock_mo_guess_type = "Huckel" ezfio.hartree_fock_thresh_scf = 1.e-10 @@ -200,6 +200,7 @@ def run_hf(geo, basis, mult=1, pseudo=False, remove_after_sucess=True): # R u n # # ~#~#~ # +# cmd = "{0}/Hartree_Fock/SCF {1}.ezfio/".format(QP_src,geo) cmd = "qp_run SCF {0}.ezfio/".format(geo) subprocess.check_call([cmd], shell=True) @@ -252,14 +253,23 @@ def run_full_ci_10k_pt2_end(geo, basis, pseudo): # S e t _ p a r a m e t e r # # ~#~#~#~#~#~#~#~#~#~#~#~#~ # - ezfio.full_ci_do_pt2_end = True - ezfio.full_ci_n_det_max_fci = 10000 - ezfio.full_ci_pt2_max = 1.e-8 + ezfio.determinants_n_det_max = 10000 + ezfio.determinants_n_det_max_jacobi = 10000 + ezfio.determinants_n_states = 1 + ezfio.determinants_read_wf = 1 + ezfio.determinants_s2_eig = False + + ezfio.determinants_threshold_generators = 0.99 + ezfio.determinants_threshold_selectors = 0.999 + + ezfio.perturbation_do_pt2_end = True + ezfio.perturbation_pt2_max = 1.e-4 # ~#~#~ # # R u n # # ~#~#~ # +# cmd = "{0}/Full_CI/full_ci {1}.ezfio/".format(QP_src,geo) cmd = "qp_run full_ci {0}.ezfio/".format(geo) subprocess.check_call([cmd], shell=True)