10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 20:34:58 +01:00

Merge branch 'csf' of github.com:QuantumPackage/qp2 into csf

This commit is contained in:
Anthony Scemama 2020-12-05 16:29:41 +01:00
commit 46cc5048dc
11 changed files with 57 additions and 66 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ config/qp_create_ninja.pickle
src/*/.gitignore
ezfio_interface.irp.f
share
venv

View File

@ -28,6 +28,12 @@ and need to be installed.
When all dependencies have been installed, ( the :command:`configure` will tell you)
source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|.
Now all the requirements are met, you can compile the programs using
.. code:: bash
make
Requirements
============
@ -48,6 +54,7 @@ Requirements
- `Bubblewrap <https://github.com/projectatomic/bubblewrap>`_ : Sandboxing tool required by Opam
- `libcap <https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git>`_ : POSIX capabilities required by Bubblewrap
- |Ninja| : a parallel build system
- |pkg-config|
When all the dependencies have been installed, go into the :file:`config`
@ -79,7 +86,7 @@ The command is to be used as follows:
.. code:: bash
./configure --install <package>
./configure --install=<package>
The following packages are supported by the :command:`configure` installer:

43
TODO
View File

@ -1,43 +0,0 @@
# qpsh
* Faire que le slave de Hartree-fock est le calcul des integrales AO en parallele
# Exterieur
* Un module pour lire les integrales Moleculaires depuis un FCIDUMP
* Un module pour lire des integrales Atomiques (voir module de Mimi pour lire les AO Slater)
* Format Fchk (gaussian)
# Tests:
* Extrapolation
* DFT
# User doc:
* Mettre le mp2 comme exercice
* Interfaces : molden/fcidump
# Programmers doc:
* Example : Simple Hartree-Fock program from scratch
* Examples : subroutine example_module
# enleverle psi_det_size for all complicated stuffs with dimension of psi_coef
# Config file for Cray
# Documentation de /etc
Ajouter les symetries dans devel
IMPORTANT:
Davidson Diagonalization
------------------------
Not enough memory: aborting in davidson_diag_hjj_sjj
qp man does not find the programs in external plugins

36
TODO.org Normal file
View File

@ -0,0 +1,36 @@
det : dans la fonction d'onde vec
csf : dans la fonctions d'onde vec
conf_det : Nconf x Ndet'(conf)
conf_csf : Nconf x Ncsf'(conf)
csf'(conf) : dans une conf (N_somo(conf) + N_domo(conf))
det'(conf) : dans une conf (N_somo(conf) + N_domo(conf))
det''(conf) : probleme modele avec N_somo(conf)
csf''(conf) : probleme modele avec N_somo(conf)
* [0/2]
- [ ] Precalculer dans la base des configurations
W_pq = \sum_{K} <Psi | E_pq | K>
K> configuration \in SOMO-SOMO SOMO-DOMO DOMO-VMO SOMO-VMO
W : matrice mono x mono
- [ ] Fonction conf ->
- [ ] Compute <i|H|j> in conf basis
- [ ] Function hij_conf(i,j) -> matrix Ndet_ixM
(1,Ndet) (Ndet,Ndet) (Ndet,1) -> E
for i=1,Nconf
for j=1,Nconf
(i,Ndet') [(Ndet',Ndet'') (Ndet'',Ndet'') (Ndet'',Ndet')] (Ndet',j) -> E
(i,Ncsf') (Ncsf',Ncsf'') [(Ncsf'',Ndet'') (Ndet'',Ndet'') (Ndet'',Ncsf'')] (Ncsf'',Ncsf') (Ncsf',j) -> E
<psi | [\sum_K E_pq | K>< K | E_rs] | Psi>
C.D^t
K : toutes les mono
<ij|kl> = \sum_m <ij|mj><ml|kl>

View File

@ -30,7 +30,7 @@ try:
from docopt import docopt
from qp_path import QP_SRC, QP_ROOT
except ImportError:
print("source .quantum_package.rc")
print("source quantum_package.rc")
raise

View File

@ -49,7 +49,7 @@ import os.path
try:
import qp_path
except ImportError:
print("source .quantum_package.rc")
print("source quantum_package.rc")
raise
from docopt import docopt

View File

@ -23,7 +23,7 @@ import os.path
try:
import qp_path
except ImportError:
print("source .quantum_package.rc")
print("source quantum_package.rc")
raise
from docopt import docopt

3
configure vendored
View File

@ -410,6 +410,9 @@ EOF
rm --recursive --force -- bats-core-1.1.0 \ "\${QP_ROOT}"/external/bats.tar.gz
EOF
else
error "${PACKAGE} unknown."
fail
fi

View File

@ -1,13 +0,0 @@
# Configuration for the Ninja package
export NINJA=${QP_ROOT}/bin/ninja
function ninja () {
if [[ -f ${QP_ROOT}/build.ninja ]] ; then
${QP_ROOT}/bin/ninja "$@"
else
>&2 echo "Error: build.ninja does not exists.
You need to run ./configure first."
fi
}

View File

@ -3,7 +3,7 @@
QP_PYTHON=
# Load dependencies
for i in ezfio.rc irpf90.rc ninja.rc ocaml.rc
for i in ezfio.rc irpf90.rc ocaml.rc
do
source $i
done

View File

@ -38,7 +38,7 @@ def comp_path(path):
from qp_path import QP_ROOT, QP_SRC, QP_EZFIO
LIB = " -lz"
LIB = " -lz"
EZFIO_LIB = join("$QP_ROOT", "lib", "libezfio_irp.a")
ZMQ_LIB = join("$QP_ROOT", "lib", "libf77zmq.a") + " " + join("$QP_ROOT", "lib", "libzmq.a") + " -lstdc++ -lrt -ldl"
ROOT_BUILD_NINJA = join("$QP_ROOT", "config", "build.ninja")
@ -57,7 +57,7 @@ header = r"""#
# /_/ \__,_/ \___/ /_/|_| \__,_/ _\__, / \___/
# /____/
#
# https://github.com/LCPQ/quantum_package,
# https://github.com/QuantumPackage/qp2,
#
# Generated automatically by {0}
#
@ -416,7 +416,7 @@ def get_l_file_for_module(path_module):
def get_file_dependency(d_info_module):
"""
For a module return all the irp.f90 needed files
For a module return all the irp.f90 needed files
"""
d_irp = defaultdict(dict)
@ -711,7 +711,7 @@ def save_subninja_file(path_module):
""]
path_ninja_cur = join(path_module.abs, "build.ninja")
with open(path_ninja_cur, "w") as f:
f.write(header)
f.write("\n".join(l_string))
@ -851,7 +851,7 @@ if __name__ == "__main__":
# ~#~#~#~#~#~#~#~#~#~#~#~ #
for module_to_compile in l_module:
if module_to_compile.rel == "dummy":
continue