mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-26 21:33:30 +01:00
Merge branch 'dev-lct' of https://github.com/QuantumPackage/qp2 into dev-lct
This commit is contained in:
commit
5d4a51d287
@ -46,7 +46,7 @@ Requirements
|
||||
- `GMP <https://gmplib.org/>`_ : Gnu Multiple Precision Arithmetic Library
|
||||
- |OCaml| compiler with |OPAM| package manager
|
||||
- `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
|
||||
- `libcap <https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git>`_ : POSIX capabilities required by Bubblewrap
|
||||
- |Ninja| : a parallel build system
|
||||
|
||||
|
||||
|
21
README.md
21
README.md
@ -1,13 +1,28 @@
|
||||
# Quantum Package 2.0
|
||||
|
||||
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
||||
|
||||
|
||||
[*Quantum package 2.0: an open-source determinant-driven suite of programs*](https://pubs.acs.org/doi/10.1021/acs.jctc.9b00176)\
|
||||
Y. Garniron, K. Gasperich, T. Applencourt, A. Benali, A. Ferté, J. Paquier, B. Pradines, R. Assaraf, P. Reinhardt, J. Toulouse, P. Barbaresco, N. Renon, G. David, J. P. Malrieu, M. Véril, M. Caffarel, P. F. Loos, E. Giner and A. Scemama\
|
||||
J. Chem. Theory Comput. (2019)\
|
||||
J. Chem. Theory Comput., 15:6, 3591--3609, (2019)\
|
||||
https://arxiv.org/abs/1902.08154
|
||||
|
||||
|
||||
<img src="https://raw.githubusercontent.com/QuantumPackage/qp2/master/data/qp2.png" width="250">
|
||||
```
|
||||
@article{doi:10.1021/acs.jctc.9b00176,
|
||||
author = {Garniron, Yann and Applencourt, Thomas and Gasperich, Kevin and Benali, Anouar and Ferté, Anthony and Paquier, Julien and Pradines, Barthélémy and Assaraf, Roland and Reinhardt, Peter and Toulouse, Julien and Barbaresco, Pierrette and Renon, Nicolas and David, Grégoire and Malrieu, Jean-Paul and Véril, Mickaël and Caffarel, Michel and Loos, Pierre-François and Giner, Emmanuel and Scemama, Anthony},
|
||||
title = {Quantum Package 2.0: An Open-Source Determinant-Driven Suite of Programs},
|
||||
journal = {Journal of Chemical Theory and Computation},
|
||||
volume = {15},
|
||||
number = {6},
|
||||
pages = {3591-3609},
|
||||
year = {2019},
|
||||
doi = {10.1021/acs.jctc.9b00176},
|
||||
note ={PMID: 31082265},
|
||||
URL = { https://doi.org/10.1021/acs.jctc.9b00176 },
|
||||
eprint = { https://doi.org/10.1021/acs.jctc.9b00176 }
|
||||
}
|
||||
```
|
||||
|
||||
# Getting started
|
||||
|
||||
|
@ -1,71 +0,0 @@
|
||||
#!/usr/bin/env python2
|
||||
|
||||
|
||||
"""
|
||||
Creates an ssh tunnel for using slaves on another network.
|
||||
Launch a server on the front-end node of the cluster on which the master
|
||||
process runs. Then start a client ont the front-end node of the distant
|
||||
cluster.
|
||||
|
||||
Usage:
|
||||
qp_tunnel server EZFIO_DIR
|
||||
qp_tunnel client <address> EZFIO_DIR
|
||||
|
||||
Options:
|
||||
-h --help
|
||||
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import zmq
|
||||
|
||||
try:
|
||||
import qp_path
|
||||
except ImportError:
|
||||
print "source .quantum_package.rc"
|
||||
raise
|
||||
|
||||
from docopt import docopt
|
||||
from ezfio import ezfio
|
||||
|
||||
|
||||
def get_address(filename):
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'r') as f:
|
||||
a = f.readlines()[0].strip()
|
||||
return a
|
||||
|
||||
|
||||
def set_address(filename,address):
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'r') as f:
|
||||
backup = f.readlines()
|
||||
|
||||
with open(os.path.join(filename,'work','qp_run_address'),'w') as f:
|
||||
f.write('\n'.join([address]+backup))
|
||||
|
||||
|
||||
def main_server(arguments,filename):
|
||||
destination = get_address(filename)
|
||||
print destination
|
||||
|
||||
|
||||
def main_client(arguments,filename):
|
||||
destination = arguments["<address>"]
|
||||
print destination
|
||||
|
||||
|
||||
def main(arguments):
|
||||
"""Main function"""
|
||||
|
||||
print arguments
|
||||
filename = arguments["EZFIO_DIR"]
|
||||
|
||||
if arguments["server"]:
|
||||
return main_server(arguments, filename)
|
||||
if arguments["client"]:
|
||||
return main_client(arguments, filename)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ARGUMENTS = docopt(__doc__)
|
||||
main(ARGUMENTS)
|
@ -176,6 +176,7 @@ Providers
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nucl_coord`
|
||||
|
||||
@ -214,6 +215,7 @@ Providers
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nproc`
|
||||
* :c:data:`nucl_coord`
|
||||
@ -290,6 +292,7 @@ Subroutines / functions
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`nucl_coord`
|
||||
|
||||
|
@ -1016,6 +1016,70 @@ Subroutines / functions
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_non_zero_jl:
|
||||
|
||||
|
||||
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out_val_index,non_zero_int)
|
||||
|
||||
|
||||
Gets multiple AO bi-electronic integral from the AO map .
|
||||
All non-zero i are retrieved for j,k,l fixed.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_map`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_two_e_integral_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_get`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_non_zero_jl_from_list:
|
||||
|
||||
|
||||
File : :file:`ao_two_e_ints/map_integrals.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,sze_max,out_val,out_val_index,non_zero_int)
|
||||
|
||||
|
||||
Gets multiple AO two-electron integrals from the AO map .
|
||||
All non-zero i are retrieved for j,k,l fixed.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_map`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_two_e_integral_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_get`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: give_polynom_mult_center_x:
|
||||
|
||||
|
||||
@ -1243,6 +1307,8 @@ Subroutines / functions
|
||||
* :c:func:`get_ao_two_e_integral_erf`
|
||||
* :c:func:`get_ao_two_e_integrals_erf_non_zero`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl_from_list`
|
||||
* :c:func:`get_mo_two_e_integral_erf`
|
||||
* :c:func:`get_mo_two_e_integrals_coulomb_ii`
|
||||
* :c:func:`get_mo_two_e_integrals_erf`
|
||||
|
@ -93,6 +93,12 @@ EZFIO parameters
|
||||
Total number of grid points
|
||||
|
||||
|
||||
.. option:: thresh_grid
|
||||
|
||||
threshold on the weight of a given grid point
|
||||
|
||||
Default: 1.e-20
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
@ -210,6 +216,7 @@ Providers
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -244,6 +251,40 @@ Providers
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: final_grid_points_per_atom
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: final_weight_at_r_vector_per_atom (n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r
|
||||
|
||||
|
||||
@ -263,10 +304,10 @@ Providers
|
||||
|
||||
* :c:data:`alpha_knowles`
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`grid_atomic_number`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`m_knowles`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
@ -276,6 +317,9 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r_vector
|
||||
@ -309,6 +353,7 @@ Providers
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -343,6 +388,69 @@ Providers
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r_vector_per_atom
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: final_weight_at_r_vector_per_atom (n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
|
||||
|
||||
.. c:var:: grid_atomic_number
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/atomic_number.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: grid_atomic_number (nucl_num)
|
||||
|
||||
|
||||
Atomic number used to adjust the grid
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
.. c:var:: grid_points_per_atom
|
||||
|
||||
|
||||
@ -362,10 +470,10 @@ Providers
|
||||
|
||||
* :c:data:`alpha_knowles`
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`grid_atomic_number`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`m_knowles`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
@ -375,6 +483,7 @@ Providers
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
@ -439,6 +548,7 @@ Providers
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -473,6 +583,74 @@ Providers
|
||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
.. c:var:: index_final_points_per_atom
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: final_weight_at_r_vector_per_atom (n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
|
||||
|
||||
.. c:var:: index_final_points_per_atom_reverse
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: final_weight_at_r_vector_per_atom (n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom (3,n_pts_max_per_atom,nucl_num)
|
||||
integer, allocatable :: index_final_points_per_atom_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
|
||||
|
||||
.. c:var:: index_final_points_reverse
|
||||
|
||||
|
||||
@ -504,6 +682,7 @@ Providers
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -576,8 +755,10 @@ Providers
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -681,11 +862,13 @@ Providers
|
||||
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_grid_per_atom`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
@ -721,15 +904,81 @@ Providers
|
||||
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_grid_per_atom`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
|
||||
.. c:var:: n_pts_max_per_atom
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: n_pts_per_atom (nucl_num)
|
||||
integer :: n_pts_max_per_atom
|
||||
|
||||
|
||||
Number of points which are non zero
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
|
||||
|
||||
.. c:var:: n_pts_per_atom
|
||||
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_per_atom.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: n_pts_per_atom (nucl_num)
|
||||
integer :: n_pts_max_per_atom
|
||||
|
||||
|
||||
Number of points which are non zero
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`thresh_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
|
||||
|
||||
.. c:var:: weight_at_r
|
||||
|
||||
|
||||
@ -754,7 +1003,6 @@ Providers
|
||||
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`nucl_num`
|
||||
@ -824,7 +1072,6 @@ Subroutines / functions
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
@ -727,9 +727,40 @@ Providers
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`variance_match_weight`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
|
||||
|
||||
.. c:var:: variance_match_weight
|
||||
|
||||
|
||||
File : :file:`cipsi/selection.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: variance_match_weight (N_states)
|
||||
|
||||
|
||||
Weights adjusted along the selection to make the variances
|
||||
of each state coincide.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`selection_weight`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
@ -879,6 +910,7 @@ Subroutines / functions
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`weight_selection`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`do_only_1h1p`
|
||||
@ -1181,6 +1213,7 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_det`
|
||||
@ -1203,6 +1236,7 @@ Subroutines / functions
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Called by:
|
||||
@ -1551,12 +1585,14 @@ Subroutines / functions
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`psi_energy_with_nucl_rep`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_relative_error`
|
||||
@ -1619,6 +1655,7 @@ Subroutines / functions
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
|
||||
.. c:function:: run_pt2_slave:
|
||||
@ -1776,16 +1813,18 @@ Subroutines / functions
|
||||
* :c:data:`psi_bilinear_matrix_values`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`psi_bilinear_matrix_values`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`psi_bilinear_matrix_values`
|
||||
* :c:data:`weight_selection`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
|
||||
@ -1859,6 +1898,7 @@ Subroutines / functions
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
||||
@ -1879,6 +1919,7 @@ Subroutines / functions
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`zmq_state`
|
||||
@ -1935,6 +1976,7 @@ Subroutines / functions
|
||||
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
||||
@ -1959,6 +2001,7 @@ Subroutines / functions
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`psi_energy_with_nucl_rep`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`n_det_max`
|
||||
@ -2028,6 +2071,7 @@ Subroutines / functions
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
|
||||
.. c:function:: select_connected:
|
||||
@ -2351,6 +2395,43 @@ Subroutines / functions
|
||||
* :c:func:`check_mem`
|
||||
|
||||
|
||||
.. c:function:: update_pt2_and_variance_weights:
|
||||
|
||||
|
||||
File : :file:`cipsi/selection.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st)
|
||||
|
||||
|
||||
Updates the rPT2- and Variance- matching weights.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`zmq_pt2`
|
||||
* :c:func:`zmq_selection`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
|
||||
.. c:function:: zmq_pt2:
|
||||
|
||||
|
||||
@ -2368,6 +2449,7 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_bilinear_matrix_values`
|
||||
@ -2378,7 +2460,7 @@ Subroutines / functions
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
@ -2396,7 +2478,7 @@ Subroutines / functions
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`psi_det_beta_unique`
|
||||
* :c:data:`det_to_occ_pattern`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`global_selection_buffer`
|
||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_f`
|
||||
@ -2405,7 +2487,7 @@ Subroutines / functions
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`global_selection_buffer`
|
||||
* :c:data:`pseudo_sym`
|
||||
* :c:data:`pt2_w`
|
||||
* :c:data:`pt2_u`
|
||||
|
||||
@ -2434,6 +2516,7 @@ Subroutines / functions
|
||||
* :c:func:`pt2_slave_inproc`
|
||||
* :c:func:`remove_duplicates_in_selection_buffer`
|
||||
* :c:func:`resident_memory`
|
||||
* :c:func:`update_pt2_and_variance_weights`
|
||||
* :c:func:`write_double`
|
||||
* :c:func:`write_int`
|
||||
* :c:func:`zmq_selection`
|
||||
@ -2453,6 +2536,7 @@ Subroutines / functions
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
|
||||
.. c:function:: zmq_selection:
|
||||
@ -2472,12 +2556,12 @@ Subroutines / functions
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_bilinear_matrix_values`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`state_average_weight`
|
||||
@ -2493,8 +2577,9 @@ Subroutines / functions
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`pseudo_sym`
|
||||
|
||||
Called by:
|
||||
|
||||
@ -2519,6 +2604,7 @@ Subroutines / functions
|
||||
* :c:func:`save_wavefunction`
|
||||
* :c:func:`selection_collector`
|
||||
* :c:func:`selection_slave_inproc`
|
||||
* :c:func:`update_pt2_and_variance_weights`
|
||||
* :c:func:`write_double`
|
||||
|
||||
Touches:
|
||||
@ -2534,4 +2620,5 @@ Subroutines / functions
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
||||
|
@ -1756,6 +1756,40 @@ Subroutines / functions
|
||||
* :c:func:`i_wee_j_single`
|
||||
|
||||
|
||||
.. c:function:: print_energy_components:
|
||||
|
||||
|
||||
File : :file:`davidson/print_e_components.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine print_energy_components()
|
||||
|
||||
|
||||
Prints the different components of the energy.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_integrals_n_e`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`mo_pseudo_integrals`
|
||||
* :c:data:`mo_kinetic_integrals`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`print_summary`
|
||||
|
||||
|
||||
.. c:function:: u_0_h_u_0:
|
||||
|
||||
|
||||
|
@ -61,12 +61,18 @@ EZFIO parameters
|
||||
|
||||
Default: True
|
||||
|
||||
.. option:: used_weight
|
||||
.. option:: weight_one_e_dm
|
||||
|
||||
Weight used in the calculation of the one-electron density matrix. 0: 1./(c_0^2), 1: 1/N_states, 2: input state-average weight, 3: 1/(Norm_L3(Psi))
|
||||
|
||||
Default: 1
|
||||
|
||||
.. option:: weight_selection
|
||||
|
||||
Weight used in the selection. 0: input state-average weight, 1: 1./(c_0^2), 2: rPT2 matching, 3: variance matching, 4: variance and rPT2 matching, 5: variance minimization and matching
|
||||
|
||||
Default: 2
|
||||
|
||||
.. option:: threshold_generators
|
||||
|
||||
Thresholds on generators (fraction of the square of the norm)
|
||||
@ -119,6 +125,12 @@ EZFIO parameters
|
||||
Weight of the states in state-average calculations.
|
||||
|
||||
|
||||
.. option:: selection_factor
|
||||
|
||||
f such that the number of determinants to add is f * N_det * sqrt(N_states)
|
||||
|
||||
Default: 1.
|
||||
|
||||
.. option:: thresh_sym
|
||||
|
||||
Thresholds to check if a determinant is connected with HF
|
||||
@ -3638,7 +3650,7 @@ Providers
|
||||
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
|
||||
Needed by:
|
||||
|
||||
@ -3648,6 +3660,7 @@ Providers
|
||||
* :c:data:`det_alpha_norm`
|
||||
* :c:data:`one_e_dm_mo_alpha_average`
|
||||
* :c:data:`psi_average_norm_contrib`
|
||||
* :c:data:`selection_weight`
|
||||
|
||||
|
||||
.. c:var:: weight_occ_pattern
|
||||
|
@ -199,6 +199,70 @@ Providers
|
||||
* :c:data:`potential_xc_alpha_ao_sr_lda`
|
||||
|
||||
|
||||
.. c:var:: aos_in_r_array_per_atom
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_in_r_array_per_atom (ao_num,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: aos_in_r_array_per_atom_transp (n_pts_max_per_atom,ao_num,nucl_num)
|
||||
|
||||
|
||||
aos_in_r_array_per_atom(i,j,k) = value of the ith ao on the jth grid point attached on the kth atom
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_in_r_array_per_atom_transp
|
||||
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_in_r_array_per_atom (ao_num,n_pts_max_per_atom,nucl_num)
|
||||
double precision, allocatable :: aos_in_r_array_per_atom_transp (n_pts_max_per_atom,ao_num,nucl_num)
|
||||
|
||||
|
||||
aos_in_r_array_per_atom(i,j,k) = value of the ith ao on the jth grid point attached on the kth atom
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_in_r_array_transp
|
||||
|
||||
|
||||
|
@ -146,6 +146,7 @@ Providers
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
@ -153,8 +154,9 @@ Providers
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
|
||||
.. c:var:: ezfio_work_dir
|
||||
@ -296,6 +298,7 @@ Providers
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
@ -303,8 +306,9 @@ Providers
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
|
||||
.. c:var:: output_wall_time_0
|
||||
@ -411,6 +415,7 @@ Providers
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
@ -418,8 +423,9 @@ Providers
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
|
||||
.. c:var:: qp_kill_filename
|
||||
@ -764,6 +770,7 @@ Subroutines / functions
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
@ -771,8 +778,9 @@ Subroutines / functions
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
Calls:
|
||||
|
||||
|
@ -160,6 +160,13 @@ Subroutines / functions
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`print_energy_components`
|
||||
|
||||
|
||||
.. c:function:: save_iterations:
|
||||
|
||||
|
@ -174,6 +174,7 @@ Providers
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
@ -181,8 +182,9 @@ Providers
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
|
||||
|
||||
.. c:var:: mpi_rank
|
||||
|
@ -103,6 +103,8 @@ Index of Providers
|
||||
* :c:data:`aos_grad_in_r_array_transp`
|
||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_in_r_array_per_atom`
|
||||
* :c:data:`aos_in_r_array_per_atom_transp`
|
||||
* :c:data:`aos_in_r_array_transp`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array_transp`
|
||||
@ -251,8 +253,10 @@ Index of Providers
|
||||
* :c:data:`fact_inv`
|
||||
* :c:data:`file_lock`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_grid_points_per_atom`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`final_weight_at_r_vector`
|
||||
* :c:data:`final_weight_at_r_vector_per_atom`
|
||||
* :c:data:`fock_matrix_alpha_no_xc_ao`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
@ -282,6 +286,7 @@ Index of Providers
|
||||
* :c:data:`give_polynomial_mult_center_one_e_erf_opt`
|
||||
* :c:data:`global_selection_buffer`
|
||||
* :c:data:`global_selection_buffer_lock`
|
||||
* :c:data:`grid_atomic_number`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`grid_type_sgn`
|
||||
@ -313,6 +318,8 @@ Index of Providers
|
||||
* :c:data:`inact_bitmask`
|
||||
* :c:data:`inact_virt_bitmask`
|
||||
* :c:data:`index_final_points`
|
||||
* :c:data:`index_final_points_per_atom`
|
||||
* :c:data:`index_final_points_per_atom_reverse`
|
||||
* :c:data:`index_final_points_reverse`
|
||||
* :c:data:`index_holes_bitmask`
|
||||
* :c:data:`index_particl_bitmask`
|
||||
@ -460,6 +467,8 @@ Index of Providers
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_pt_max_i_x`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`n_pts_max_per_atom`
|
||||
* :c:data:`n_pts_per_atom`
|
||||
* :c:data:`n_single_exc_bitmasks`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
@ -754,6 +763,7 @@ Index of Providers
|
||||
* :c:data:`selection_criterion`
|
||||
* :c:data:`selection_criterion_factor`
|
||||
* :c:data:`selection_criterion_min`
|
||||
* :c:data:`selection_factor`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`short_range_hartree`
|
||||
* :c:data:`short_range_hartree_operator`
|
||||
@ -775,6 +785,7 @@ Index of Providers
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`theta_angular_integration_lebedev`
|
||||
* :c:data:`thresh_grid`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`thresh_sym`
|
||||
* :c:data:`threshold_davidson`
|
||||
@ -792,11 +803,14 @@ Index of Providers
|
||||
* :c:data:`unpaired_alpha_electrons`
|
||||
* :c:data:`used_weight`
|
||||
* :c:data:`var_pt2_ratio`
|
||||
* :c:data:`variance_match_weight`
|
||||
* :c:data:`variance_max`
|
||||
* :c:data:`virt_bitmask`
|
||||
* :c:data:`virt_bitmask_4`
|
||||
* :c:data:`weight_at_r`
|
||||
* :c:data:`weight_occ_pattern`
|
||||
* :c:data:`weight_one_e_dm`
|
||||
* :c:data:`weight_selection`
|
||||
* :c:data:`weights_angular_integration_lebedev`
|
||||
* :c:data:`weights_angular_points`
|
||||
* :c:data:`write_ao_integrals_e_n`
|
||||
@ -1033,6 +1047,8 @@ Index of Subroutines/Functions
|
||||
* :c:func:`get_ao_two_e_integrals_erf`
|
||||
* :c:func:`get_ao_two_e_integrals_erf_non_zero`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl`
|
||||
* :c:func:`get_ao_two_e_integrals_non_zero_jl_from_list`
|
||||
* :c:func:`get_d0`
|
||||
* :c:func:`get_d1`
|
||||
* :c:func:`get_d2`
|
||||
@ -1280,6 +1296,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`print_ci_vectors`
|
||||
* :c:func:`print_det`
|
||||
* :c:func:`print_e_conv`
|
||||
* :c:func:`print_energy_components`
|
||||
* :c:func:`print_extrapolated_energy`
|
||||
* :c:func:`print_generators_bitmasks_holes`
|
||||
* :c:func:`print_generators_bitmasks_holes_for_one_generator`
|
||||
@ -1418,6 +1435,7 @@ Index of Subroutines/Functions
|
||||
* :c:func:`u_0_s2_u_0`
|
||||
* :c:func:`u_dot_u`
|
||||
* :c:func:`u_dot_v`
|
||||
* :c:func:`update_pt2_and_variance_weights`
|
||||
* :c:func:`v_e_n`
|
||||
* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab`
|
||||
* :c:func:`v_phi`
|
||||
|
@ -89,5 +89,7 @@ fci
|
||||
* :c:data:`pt2_match_weight`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`variance_match_weight`
|
||||
|
@ -55,5 +55,6 @@ pt2
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`selection_weight`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
37
docs/source/programs/rotate_mos.rst
Normal file
37
docs/source/programs/rotate_mos.rst
Normal file
@ -0,0 +1,37 @@
|
||||
.. _rotate_mos:
|
||||
|
||||
.. program:: rotate_mos
|
||||
|
||||
==========
|
||||
rotate_mos
|
||||
==========
|
||||
|
||||
|
||||
|
||||
|
||||
Rotates molecular orbitals i and j by combining them as
|
||||
$1/\sqrt{2} ( \phi_i + \phi_j )$ and
|
||||
$1/\sqrt{2} ( \phi_i - \phi_j )$.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_mos`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
39
docs/source/programs/sort_by_fock_energies.rst
Normal file
39
docs/source/programs/sort_by_fock_energies.rst
Normal file
@ -0,0 +1,39 @@
|
||||
.. _sort_by_fock_energies:
|
||||
|
||||
.. program:: sort_by_fock_energies
|
||||
|
||||
=====================
|
||||
sort_by_fock_energies
|
||||
=====================
|
||||
|
||||
|
||||
|
||||
|
||||
Program that saves the current |MOs| ordered by diagonal element of the Fock operator.
|
||||
|
||||
Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`save_mos`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
27
docs/source/programs/swap_mos.rst
Normal file
27
docs/source/programs/swap_mos.rst
Normal file
@ -0,0 +1,27 @@
|
||||
.. _swap_mos:
|
||||
|
||||
.. program:: swap_mos
|
||||
|
||||
========
|
||||
swap_mos
|
||||
========
|
||||
|
||||
|
||||
|
||||
|
||||
Swaps the indices of two molecular orbitals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_mos`
|
19
docs/source/programs/test.rst
Normal file
19
docs/source/programs/test.rst
Normal file
@ -0,0 +1,19 @@
|
||||
.. _test:
|
||||
|
||||
.. program:: test
|
||||
|
||||
====
|
||||
test
|
||||
====
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`two_e_integrals_index`
|
||||
* :c:func:`two_e_integrals_index_reverse`
|
@ -28,18 +28,22 @@
|
||||
year = 2019,
|
||||
month = {may},
|
||||
publisher = {American Chemical Society ({ACS})},
|
||||
author = {Pierre-Francois Loos and Bartélémy Pradines and Anthony Scemama and Julien Toulouse and Emmanuel Giner},
|
||||
title = {A Density-Based Basis-Set Correction For Wave Function Theory},
|
||||
volume = {10},
|
||||
number = {11},
|
||||
pages = {2931--2937},
|
||||
author = {Pierre-Fran{\c{c}}ois Loos and Barth{\'{e}}l{\'{e}}my Pradines and Anthony Scemama and Julien Toulouse and Emmanuel Giner},
|
||||
title = {A Density-Based Basis-Set Correction for Wave Function Theory},
|
||||
journal = {The Journal of Physical Chemistry Letters}
|
||||
}
|
||||
|
||||
|
||||
@article{Garniron_2019,
|
||||
doi = {10.1021/acs.jctc.9b00176},
|
||||
url = {https://doi.org/10.1021%2Facs.jctc.9b00176},
|
||||
year = 2019,
|
||||
month = {may},
|
||||
publisher = {American Chemical Society ({ACS})},
|
||||
author = {Yann Garniron and Thomas Applencourt and Kevin Gasperich and Anouar Benali and Anthony Ferte and Julien Paquier and Bartélémy Pradines and Roland Assaraf and Peter Reinhardt and Julien Toulouse and Pierrette Barbaresco and Nicolas Renon and Gregoire David and Jean-Paul Malrieu and Mickael Veril and Michel Caffarel and Pierre-Francois Loos and Emmanuel Giner and Anthony Scemama},
|
||||
author = {Yann Garniron and Thomas Applencourt and Kevin Gasperich and Anouar Benali and Anthony Fert{\'{e}} and Julien Paquier and Barth{\'{e}}l{\'{e}}my Pradines and Roland Assaraf and Peter Reinhardt and Julien Toulouse and Pierrette Barbaresco and Nicolas Renon and Gr{\'{e}}goire David and Jean-Paul Malrieu and Mickaël V{\'{e}}ril and Michel Caffarel and Pierre-Fran{\c{c}}ois Loos and Emmanuel Giner and Anthony Scemama},
|
||||
title = {Quantum Package 2.0: An Open-Source Determinant-Driven Suite of Programs},
|
||||
journal = {Journal of Chemical Theory and Computation}
|
||||
}
|
||||
|
89
docs/source/users_guide/qp_tunnel.rst
Normal file
89
docs/source/users_guide/qp_tunnel.rst
Normal file
@ -0,0 +1,89 @@
|
||||
.. _qp_tunnel:
|
||||
|
||||
=========
|
||||
qp_tunnel
|
||||
=========
|
||||
|
||||
.. TODO
|
||||
|
||||
.. program:: qp_tunnel
|
||||
|
||||
Establishes a tunnel to allow communications between machines within
|
||||
different networks, for example multiple MPI slave jobs running on
|
||||
different clusters.
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
.. code:: bash
|
||||
|
||||
qp_tunnel [-g] (ADDRESS|EZFIO_DIR)
|
||||
|
||||
``EZFIO_DIR`` is the name of the |EZFIO| directory containing the data,
|
||||
and ``ADDRESS`` is the address of another tunnel.
|
||||
|
||||
|
||||
.. option:: -h, --help
|
||||
|
||||
Displays the help message
|
||||
|
||||
|
||||
.. option:: -g, --get-input
|
||||
|
||||
Download the EZFIO directory from the remote instance of qp_tunnel.
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
.. code:: text
|
||||
|
||||
+-------------------+ +------------------+
|
||||
| | | |
|
||||
| N1_1 N1_2 N1_3 | | N2_1 N2_2 N2_3 |
|
||||
| | | | | | | | | |
|
||||
| +----+----+ | | +----+----+ |
|
||||
| | | | | |
|
||||
| C1 F1 | | F2 C2 |
|
||||
| +---------=----=--------+ |
|
||||
| | | |
|
||||
+-------------------+ +------------------+
|
||||
|
||||
|
||||
Imagine you have two clusters, C1 and C2. Each cluster is accessible via SSH
|
||||
on a front-end named respectively F1 and F2. Groups of nodes N1 and N2 have
|
||||
been reserved by the batch scheduling system on both clusters.
|
||||
Each node in N1 is on the same network as the other nodes of N1, but they
|
||||
can't access the network on which the nodes of N2 are.
|
||||
|
||||
1) Start a parallel simulation on the cluster C1, running on nodes N1.
|
||||
We assume that there is a shared file system, such that F1 can access
|
||||
the EZFIO directory. We also assume that F1 can communicate with the
|
||||
nodes of N1.
|
||||
|
||||
2) Run a tunnel on the front-end F1 and keep it running:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
me@f1 $ qp_tunnel my_directory.ezfio
|
||||
Connect to:
|
||||
tcp://31.122.230.47:42379
|
||||
Ready
|
||||
|
||||
3) On the front-end F2, run another instance connecting to the other one,
|
||||
which will fetch the |EZFIO| directory:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
me@f2 $ qp_tunnel --get-input tcp://31.122.230.47:42379
|
||||
Connect to:
|
||||
tcp://31.122.209.139:42379
|
||||
Communication [ OK ]
|
||||
Getting input... my_directory.ezfio ...done
|
||||
Ready
|
||||
|
||||
4) Keep the tunnel running, and you can now run a slave simulation within the
|
||||
nodes N2.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CIS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "CIS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cis \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CISD" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "CISD" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cisd \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CONFIGURE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "CONFIGURE" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
configure \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "DIAGONALIZE_H" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "DIAGONALIZE_H" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
diagonalize_h \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "EXCITED_STATES" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "EXCITED_STATES" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
excited_states \- | Quantum Package >
|
||||
.
|
||||
|
14
man/fci.1
14
man/fci.1
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCI" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCI" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fci \- | Quantum Package >
|
||||
.
|
||||
@ -125,10 +125,10 @@ Touches:
|
||||
\fBpsi_occ_pattern\fP
|
||||
.IP \(bu 2
|
||||
\fBc0_weight\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBdistributed_davidson\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBpsi_coef\fP
|
||||
.IP \(bu 2
|
||||
@ -143,10 +143,10 @@ Touches:
|
||||
\fBpsi_energy\fP
|
||||
.IP \(bu 2
|
||||
\fBpsi_occ_pattern\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBpsi_energy\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBpt2_e0_denominator\fP
|
||||
.IP \(bu 2
|
||||
@ -156,9 +156,13 @@ Touches:
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.IP \(bu 2
|
||||
\fBselection_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBstate_average_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBthreshold_generators\fP
|
||||
.IP \(bu 2
|
||||
\fBvariance_match_weight\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCIDUMP" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCIDUMP" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fcidump \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
four_idx_transform \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "INTERFACES" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "INTERFACES" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
interfaces \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "KS_SCF" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "MOLDEN" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "MOLDEN" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
molden \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "NATURAL_ORBITALS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "NATURAL_ORBITALS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
natural_orbitals \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PLUGINS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
plugins \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_CI_VECTORS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_CI_VECTORS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_ci_vectors \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_E_CONV" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_E_CONV" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_e_conv \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_WF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_WF" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_wf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINTING" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINTING" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
printing \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PT2" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "PT2" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
pt2 \- | Quantum Package >
|
||||
.
|
||||
@ -104,6 +104,8 @@ Touches:
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.IP \(bu 2
|
||||
\fBselection_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBstate_average_weight\fP
|
||||
.IP \(bu 2
|
||||
\fBthreshold_generators\fP
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_convert_output_to_ezfio \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_CREATE_EZFIO" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_CREATE_EZFIO" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_create_ezfio \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EDIT" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EDIT" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_edit \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_export_as_tgz \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_PLUGINS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_PLUGINS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_plugins \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_RESET" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_RESET" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_reset \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_RUN" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_RUN" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_run \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_frozen_core \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_MO_CLASS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_MO_CLASS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_mo_class \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_STOP" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_STOP" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_stop \- | Quantum Package >
|
||||
.
|
||||
|
139
man/qp_tunnel.1
Normal file
139
man/qp_tunnel.1
Normal file
@ -0,0 +1,139 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_TUNNEL" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_tunnel \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Establishes a tunnel to allow communications between machines within
|
||||
different networks, for example multiple MPI slave jobs running on
|
||||
different clusters.
|
||||
.SH USAGE
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
qp_tunnel [\-g] (ADDRESS|EZFIO_DIR)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
\fBEZFIO_DIR\fP is the name of the \fI\%EZFIO\fP directory containing the data,
|
||||
and \fBADDRESS\fP is the address of another tunnel.
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-h, \-\-help
|
||||
Displays the help message
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.TP
|
||||
.B \-g, \-\-get\-input
|
||||
Download the EZFIO directory from the remote instance of qp_tunnel.
|
||||
.UNINDENT
|
||||
.SH EXAMPLE
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
| | | |
|
||||
| N1_1 N1_2 N1_3 | | N2_1 N2_2 N2_3 |
|
||||
| | | | | | | | | |
|
||||
| +\-\-\-\-+\-\-\-\-+ | | +\-\-\-\-+\-\-\-\-+ |
|
||||
| | | | | |
|
||||
| C1 F1 | | F2 C2 |
|
||||
| +\-\-\-\-\-\-\-\-\-=\-\-\-\-=\-\-\-\-\-\-\-\-+ |
|
||||
| | | |
|
||||
+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Imagine you have two clusters, C1 and C2. Each cluster is accessible via SSH
|
||||
on a front\-end named respectively F1 and F2. Groups of nodes N1 and N2 have
|
||||
been reserved by the batch scheduling system on both clusters.
|
||||
Each node in N1 is on the same network as the other nodes of N1, but they
|
||||
can’t access the network on which the nodes of N2 are.
|
||||
.INDENT 0.0
|
||||
.IP 1. 3
|
||||
Start a parallel simulation on the cluster C1, running on nodes N1.
|
||||
We assume that there is a shared file system, such that F1 can access
|
||||
the EZFIO directory. We also assume that F1 can communicate with the
|
||||
nodes of N1.
|
||||
.IP 2. 3
|
||||
Run a tunnel on the front\-end F1 and keep it running:
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
me@f1 $ qp_tunnel my_directory.ezfio
|
||||
Connect to:
|
||||
tcp://31.122.230.47:42379
|
||||
Ready
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.IP 3. 3
|
||||
On the front\-end F2, run another instance connecting to the other one,
|
||||
which will fetch the \fI\%EZFIO\fP directory:
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
me@f2 $ qp_tunnel \-\-get\-input tcp://31.122.230.47:42379
|
||||
Connect to:
|
||||
tcp://31.122.209.139:42379
|
||||
Communication [ OK ]
|
||||
Getting input... my_directory.ezfio ...done
|
||||
Ready
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.INDENT 0.0
|
||||
.IP 4. 3
|
||||
Keep the tunnel running, and you can now run a slave simulation within the
|
||||
nodes N2.
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_UPDATE" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_UPDATE" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_update \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QPSH" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "QPSH" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qpsh \- | Quantum Package >
|
||||
.
|
||||
|
85
man/rotate_mos.1
Normal file
85
man/rotate_mos.1
Normal file
@ -0,0 +1,85 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "ROTATE_MOS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
rotate_mos \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Rotates molecular orbitals i and j by combining them as
|
||||
$1/sqrt{2} ( phi_i + phi_j )$ and
|
||||
$1/sqrt{2} ( phi_i - phi_j )$.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBsave_mos()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Touches:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "RS_KS_SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "RS_KS_SCF" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
rs_ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_NATORB" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_NATORB" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_natorb \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_ONE_E_DM" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_ONE_E_DM" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_one_e_dm \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_ORTHO_MOS" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_ORTHO_MOS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_ortho_mos \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SCF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "SCF" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
scf \- | Quantum Package >
|
||||
.
|
||||
|
89
man/sort_by_fock_energies.1
Normal file
89
man/sort_by_fock_energies.1
Normal file
@ -0,0 +1,89 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SORT_BY_FOCK_ENERGIES" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
sort_by_fock_energies \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Program that saves the current MOs ordered by diagonal element of the Fock operator.
|
||||
.sp
|
||||
Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_mo\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBdsort()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBsave_mos()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Touches:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
69
man/swap_mos.1
Normal file
69
man/swap_mos.1
Normal file
@ -0,0 +1,69 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SWAP_MOS" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
swap_mos \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Swaps the indices of two molecular orbitals
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBsave_mos()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
55
man/test.1
Normal file
55
man/test.1
Normal file
@ -0,0 +1,55 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "TEST" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
test \- | Quantum Package >
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
.de1 rstReportMargin
|
||||
\\$1 \\n[an-margin]
|
||||
level \\n[rst2man-indent-level]
|
||||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
-
|
||||
\\n[rst2man-indent0]
|
||||
\\n[rst2man-indent1]
|
||||
\\n[rst2man-indent2]
|
||||
..
|
||||
.de1 INDENT
|
||||
.\" .rstReportMargin pre:
|
||||
. RS \\$1
|
||||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||||
. nr rst2man-indent-level +1
|
||||
.\" .rstReportMargin post:
|
||||
..
|
||||
.de UNINDENT
|
||||
. RE
|
||||
.\" indent \\n[an-margin]
|
||||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.nr rst2man-indent-level -1
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBtwo_e_integrals_index()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBtwo_e_integrals_index_reverse()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
2019, A. Scemama, E. Giner
|
||||
.\" Generated by docutils manpage writer.
|
||||
.
|
@ -1,6 +1,6 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "WRITE_INTEGRALS_ERF" "1" "May 28, 2019" "2.0" "Quantum Package"
|
||||
.TH "WRITE_INTEGRALS_ERF" "1" "Jun 15, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
write_integrals_erf \- | Quantum Package >
|
||||
.
|
||||
|
@ -1,4 +1,4 @@
|
||||
PKG core ZMQ cryptokit
|
||||
PKG core zmq cryptokit
|
||||
B _build/
|
||||
|
||||
|
||||
|
402
ocaml/qp_tunnel.ml
Normal file
402
ocaml/qp_tunnel.ml
Normal file
@ -0,0 +1,402 @@
|
||||
open Qputils
|
||||
open Qptypes
|
||||
|
||||
type ezfio_or_address = EZFIO of string | ADDRESS of string
|
||||
type req_or_sub = REQ | SUB
|
||||
|
||||
let localport = 42379
|
||||
|
||||
let () =
|
||||
let open Command_line in
|
||||
begin
|
||||
"Creates an ssh tunnel for using slaves on another network. Launch a server on the front-end node of the cluster on which the master process runs. Then start a client ont the front-end node of the distant cluster."
|
||||
|
||||
|> set_footer_doc ;
|
||||
|
||||
[ { short='g' ; long="get-input" ; opt=Optional ;
|
||||
doc="Downloads the EZFIO directory." ;
|
||||
arg=Without_arg; } ;
|
||||
|
||||
anonymous
|
||||
"(EZFIO_DIR|ADDRESS)"
|
||||
Mandatory
|
||||
"EZFIO directory or address.";
|
||||
] |> set_specs
|
||||
end;
|
||||
|
||||
let arg =
|
||||
let x =
|
||||
match Command_line.anon_args () with
|
||||
| [x] -> x
|
||||
| _ -> begin
|
||||
Command_line.help () ;
|
||||
failwith "EZFIO_FILE or ADDRESS is missing"
|
||||
end
|
||||
in
|
||||
if Sys.file_exists x && Sys.is_directory x then
|
||||
EZFIO x
|
||||
else
|
||||
ADDRESS x
|
||||
in
|
||||
|
||||
|
||||
|
||||
|
||||
let localhost =
|
||||
Lazy.force TaskServer.ip_address
|
||||
in
|
||||
|
||||
|
||||
let long_address =
|
||||
match arg with
|
||||
| ADDRESS x -> x
|
||||
| EZFIO x ->
|
||||
let ic =
|
||||
Filename.concat (Qpackage.ezfio_work x) "qp_run_address"
|
||||
|> open_in
|
||||
in
|
||||
let result =
|
||||
input_line ic
|
||||
|> String.trim
|
||||
in
|
||||
close_in ic;
|
||||
result
|
||||
in
|
||||
|
||||
let protocol, address, port =
|
||||
match String.split_on_char ':' long_address with
|
||||
| t :: a :: p :: [] -> t, a, int_of_string p
|
||||
| _ -> failwith @@
|
||||
Printf.sprintf "%s : Malformed address" long_address
|
||||
in
|
||||
|
||||
|
||||
let zmq_context =
|
||||
Zmq.Context.create ()
|
||||
in
|
||||
|
||||
|
||||
(** Check availability of the ports *)
|
||||
let localport =
|
||||
let dummy_socket =
|
||||
Zmq.Socket.create zmq_context Zmq.Socket.rep
|
||||
in
|
||||
let rec try_new_port port_number =
|
||||
try
|
||||
List.iter (fun i ->
|
||||
let address =
|
||||
Printf.sprintf "tcp://%s:%d" localhost (port_number+i)
|
||||
in
|
||||
Zmq.Socket.bind dummy_socket address;
|
||||
Zmq.Socket.unbind dummy_socket address
|
||||
) [ 0;1;2;3;4;5;6;7;8;9 ] ;
|
||||
port_number
|
||||
with
|
||||
| Unix.Unix_error _ -> try_new_port (port_number+100)
|
||||
in
|
||||
let result =
|
||||
try_new_port localport
|
||||
in
|
||||
Zmq.Socket.close dummy_socket;
|
||||
result
|
||||
in
|
||||
|
||||
|
||||
let create_socket sock_type bind_or_connect addr =
|
||||
let socket =
|
||||
Zmq.Socket.create zmq_context sock_type
|
||||
in
|
||||
let () =
|
||||
try
|
||||
bind_or_connect socket addr
|
||||
with
|
||||
| _ -> failwith @@
|
||||
Printf.sprintf "Unable to establish connection to %s." addr
|
||||
in
|
||||
socket
|
||||
in
|
||||
|
||||
|
||||
(* Handle termination *)
|
||||
let run_status = ref true in
|
||||
let handler =
|
||||
Sys.Signal_handle (fun signum ->
|
||||
run_status := false;
|
||||
Sys.set_signal signum Sys.Signal_default
|
||||
)
|
||||
in
|
||||
Sys.set_signal Sys.sigusr1 handler;
|
||||
Sys.set_signal Sys.sigint handler;
|
||||
|
||||
|
||||
let new_thread req_or_sub addr_in addr_out =
|
||||
let socket_in, socket_out =
|
||||
match req_or_sub with
|
||||
| REQ ->
|
||||
create_socket Zmq.Socket.rep Zmq.Socket.bind addr_in,
|
||||
create_socket Zmq.Socket.req Zmq.Socket.connect addr_out
|
||||
| SUB ->
|
||||
create_socket Zmq.Socket.sub Zmq.Socket.connect addr_in,
|
||||
create_socket Zmq.Socket.pub Zmq.Socket.bind addr_out
|
||||
in
|
||||
|
||||
if req_or_sub = SUB then
|
||||
Zmq.Socket.subscribe socket_in "";
|
||||
|
||||
|
||||
let action =
|
||||
match req_or_sub with
|
||||
| REQ -> (fun () ->
|
||||
Zmq.Socket.recv_all socket_in |> Zmq.Socket.send_all socket_out;
|
||||
Zmq.Socket.recv_all socket_out |> Zmq.Socket.send_all socket_in )
|
||||
| SUB -> (fun () ->
|
||||
Zmq.Socket.recv_all socket_in |> Zmq.Socket.send_all socket_out)
|
||||
in
|
||||
|
||||
|
||||
let pollitem =
|
||||
Zmq.Poll.mask_of
|
||||
[| (socket_in, Zmq.Poll.In) |]
|
||||
in
|
||||
|
||||
|
||||
while !run_status do
|
||||
|
||||
let polling =
|
||||
Zmq.Poll.poll ~timeout:1000 pollitem
|
||||
in
|
||||
|
||||
match polling.(0) with
|
||||
| Some Zmq.Poll.In -> action ()
|
||||
| None -> ()
|
||||
| Some Zmq.Poll.In_out
|
||||
| Some Zmq.Poll.Out -> ()
|
||||
|
||||
done;
|
||||
|
||||
Zmq.Socket.close socket_in;
|
||||
Zmq.Socket.close socket_out;
|
||||
in
|
||||
|
||||
|
||||
|
||||
let ocaml_thread =
|
||||
let addr_out =
|
||||
Printf.sprintf "tcp:%s:%d" address port
|
||||
in
|
||||
|
||||
let addr_in =
|
||||
Printf.sprintf "tcp://*:%d" localport
|
||||
in
|
||||
|
||||
let f () =
|
||||
new_thread REQ addr_in addr_out
|
||||
in
|
||||
|
||||
(Thread.create f) ()
|
||||
in
|
||||
Printf.printf "Connect to:\ntcp://%s:%d\n%!" localhost localport;
|
||||
|
||||
|
||||
let fortran_thread =
|
||||
let addr_out =
|
||||
Printf.sprintf "tcp:%s:%d" address (port+2)
|
||||
in
|
||||
|
||||
let addr_in =
|
||||
Printf.sprintf "tcp://*:%d" (localport+2)
|
||||
in
|
||||
|
||||
let f () =
|
||||
new_thread REQ addr_in addr_out
|
||||
in
|
||||
(Thread.create f) ()
|
||||
in
|
||||
|
||||
|
||||
let pub_thread =
|
||||
let addr_in =
|
||||
Printf.sprintf "tcp:%s:%d" address (port+1)
|
||||
in
|
||||
|
||||
let addr_out =
|
||||
Printf.sprintf "tcp://*:%d" (localport+1)
|
||||
in
|
||||
|
||||
let f () =
|
||||
new_thread SUB addr_in addr_out
|
||||
in
|
||||
(Thread.create f) ()
|
||||
in
|
||||
|
||||
|
||||
|
||||
let input_thread =
|
||||
let f () =
|
||||
let addr_out =
|
||||
match arg with
|
||||
| EZFIO _ -> None
|
||||
| ADDRESS _ -> Some (
|
||||
Printf.sprintf "tcp:%s:%d" address (port+9) )
|
||||
in
|
||||
|
||||
let addr_in =
|
||||
Printf.sprintf "tcp://*:%d" (localport+9)
|
||||
in
|
||||
|
||||
let socket_in =
|
||||
create_socket Zmq.Socket.rep Zmq.Socket.bind addr_in
|
||||
in
|
||||
|
||||
let socket_out =
|
||||
match addr_out with
|
||||
| Some addr_out -> Some (
|
||||
create_socket Zmq.Socket.req Zmq.Socket.connect addr_out)
|
||||
| None -> None
|
||||
in
|
||||
|
||||
let temp_file =
|
||||
Filename.temp_file "qp_tunnel" ".tar.gz"
|
||||
in
|
||||
|
||||
let get_ezfio_filename () =
|
||||
match arg with
|
||||
| EZFIO x -> x
|
||||
| ADDRESS _ ->
|
||||
begin
|
||||
match socket_out with
|
||||
| None -> assert false
|
||||
| Some socket_out -> (
|
||||
Zmq.Socket.send socket_out "get_ezfio_filename" ;
|
||||
Zmq.Socket.recv socket_out
|
||||
)
|
||||
end
|
||||
in
|
||||
|
||||
let get_input () =
|
||||
match arg with
|
||||
| EZFIO x ->
|
||||
begin
|
||||
Printf.sprintf "tar -zcf %s %s" temp_file x
|
||||
|> Sys.command |> ignore;
|
||||
let fd =
|
||||
Unix.openfile temp_file [Unix.O_RDONLY] 0o640
|
||||
in
|
||||
let len =
|
||||
Unix.lseek fd 0 Unix.SEEK_END
|
||||
in
|
||||
ignore @@ Unix.lseek fd 0 Unix.SEEK_SET ;
|
||||
let bstr =
|
||||
Unix.map_file fd Bigarray.char
|
||||
Bigarray.c_layout false [| len |]
|
||||
|> Bigarray.array1_of_genarray
|
||||
in
|
||||
let result =
|
||||
String.init len (fun i -> bstr.{i}) ;
|
||||
in
|
||||
Unix.close fd;
|
||||
Sys.remove temp_file;
|
||||
result
|
||||
end
|
||||
| ADDRESS _ ->
|
||||
begin
|
||||
match socket_out with
|
||||
| None -> assert false
|
||||
| Some socket_out -> (
|
||||
Zmq.Socket.send socket_out "get_input" ;
|
||||
Zmq.Socket.recv socket_out
|
||||
)
|
||||
end
|
||||
in
|
||||
|
||||
let () =
|
||||
match socket_out with
|
||||
| None -> ()
|
||||
| Some socket_out ->
|
||||
Zmq.Socket.send socket_out "test";
|
||||
Printf.printf "Communication [ %s ]\n%!" (Zmq.Socket.recv socket_out);
|
||||
in
|
||||
|
||||
(* Download input if asked *)
|
||||
if Command_line.get_bool "get-input" then
|
||||
begin
|
||||
match arg with
|
||||
| EZFIO _ -> ()
|
||||
| ADDRESS _ ->
|
||||
begin
|
||||
Printf.printf "Getting input... %!";
|
||||
let ezfio_filename =
|
||||
get_ezfio_filename ()
|
||||
in
|
||||
Printf.printf "%s%!" ezfio_filename;
|
||||
let oc =
|
||||
open_out temp_file
|
||||
in
|
||||
get_input ()
|
||||
|> output_string oc;
|
||||
close_out oc;
|
||||
Printf.sprintf "tar -zxf %s" temp_file
|
||||
|> Sys.command |> ignore ;
|
||||
let oc =
|
||||
Filename.concat (Qpackage.ezfio_work ezfio_filename) "qp_run_address"
|
||||
|> open_out
|
||||
in
|
||||
Printf.fprintf oc "tcp://%s:%d\n" localhost localport;
|
||||
close_out oc;
|
||||
Printf.printf " ...done\n%!"
|
||||
end
|
||||
end;
|
||||
|
||||
(* Main loop *)
|
||||
let pollitem =
|
||||
Zmq.Poll.mask_of [| (socket_in, Zmq.Poll.In) |]
|
||||
in
|
||||
|
||||
let action () =
|
||||
match Zmq.Socket.recv socket_in with
|
||||
| "get_input" -> get_input ()
|
||||
|> Zmq.Socket.send socket_in
|
||||
| "get_ezfio_filename" -> get_ezfio_filename ()
|
||||
|> Zmq.Socket.send socket_in
|
||||
| "test" -> Zmq.Socket.send socket_in "OK"
|
||||
| x -> Printf.sprintf "Message '%s' not understood" x
|
||||
|> Zmq.Socket.send socket_in
|
||||
in
|
||||
|
||||
Printf.printf "Ready\n%!";
|
||||
while !run_status do
|
||||
|
||||
let polling =
|
||||
Zmq.Poll.poll ~timeout:1000 pollitem
|
||||
in
|
||||
|
||||
match polling.(0) with
|
||||
| Some Zmq.Poll.In -> action ()
|
||||
| None -> ()
|
||||
| Some Zmq.Poll.In_out
|
||||
| Some Zmq.Poll.Out -> ()
|
||||
|
||||
done;
|
||||
|
||||
let () =
|
||||
match socket_out with
|
||||
| Some socket_out -> Zmq.Socket.close socket_out
|
||||
| None -> ()
|
||||
in
|
||||
Zmq.Socket.close socket_in
|
||||
in
|
||||
|
||||
(Thread.create f) ()
|
||||
in
|
||||
|
||||
(* Termination *)
|
||||
Thread.join input_thread;
|
||||
Thread.join fortran_thread;
|
||||
Thread.join pub_thread;
|
||||
Thread.join ocaml_thread;
|
||||
Zmq.Context.terminate zmq_context;
|
||||
Printf.printf "qp_tunnel exited properly.\n"
|
||||
|
||||
|
||||
|
||||
|
@ -1,17 +1,26 @@
|
||||
program rotate_mos
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Rotates molecular orbitals i and j by combining them as
|
||||
! $1/\sqrt{2} ( \phi_i + \phi_j )$ and
|
||||
! $1/\sqrt{2} ( \phi_i - \phi_j )$.
|
||||
END_DOC
|
||||
integer :: iorb,jorb
|
||||
read(5,*)iorb,jorb
|
||||
double precision, allocatable :: mo_coef_tmp(:,:)
|
||||
allocate(mo_coef_tmp(ao_num,mo_num))
|
||||
mo_coef_tmp = mo_coef
|
||||
integer :: i,j
|
||||
double precision :: dsqrt2_inv
|
||||
double precision, allocatable :: mo_coef_tmp(:,:)
|
||||
|
||||
read(5,*)iorb,jorb
|
||||
|
||||
allocate(mo_coef_tmp(ao_num,mo_num))
|
||||
mo_coef_tmp = mo_coef
|
||||
|
||||
dsqrt2_inv = 1.d0/dsqrt(2.d0)
|
||||
do i = 1, ao_num
|
||||
mo_coef(i,iorb) = dsqrt2_inv * ( mo_coef_tmp(i,iorb) + mo_coef_tmp(i,jorb) )
|
||||
mo_coef(i,jorb) = dsqrt2_inv * ( mo_coef_tmp(i,iorb) - mo_coef_tmp(i,jorb) )
|
||||
enddo
|
||||
|
||||
touch mo_coef
|
||||
call save_mos
|
||||
|
||||
|
@ -1,23 +1,28 @@
|
||||
program sort_by_fock_energies
|
||||
BEGIN_DOC
|
||||
! programs that save the current mos ordered by Diagonal element of the Fock operator.
|
||||
!
|
||||
! Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||
! Program that saves the current |MOs| ordered by diagonal element of the Fock operator.
|
||||
!
|
||||
! Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||
END_DOC
|
||||
implicit none
|
||||
integer :: i,j,k
|
||||
integer, allocatable :: iorder(:)
|
||||
double precision, allocatable :: fock_energies_tmp(:), new_mo_coef(:,:)
|
||||
|
||||
allocate(iorder(mo_num), fock_energies_tmp(mo_num),new_mo_coef(ao_num,mo_num))
|
||||
|
||||
do i = 1, mo_num
|
||||
fock_energies_tmp(i) = Fock_matrix_diag_mo(i)
|
||||
print*,'fock_energies_tmp(i) = ',fock_energies_tmp(i)
|
||||
iorder(i) = i
|
||||
enddo
|
||||
|
||||
print*,''
|
||||
print*,'Sorting by Fock energies'
|
||||
print*,''
|
||||
|
||||
call dsort(fock_energies_tmp,iorder,mo_num)
|
||||
|
||||
do i = 1, mo_num
|
||||
k = iorder(i)
|
||||
print*,'fock_energies_new(i) = ',fock_energies_tmp(i)
|
||||
@ -25,6 +30,7 @@ program sort_by_fock_energies
|
||||
new_mo_coef(j,i) = mo_coef(j,k)
|
||||
enddo
|
||||
enddo
|
||||
|
||||
mo_coef = new_mo_coef
|
||||
touch mo_coef
|
||||
call save_mos
|
||||
|
@ -1,5 +1,8 @@
|
||||
program swap_mos
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Swaps the indices of two molecular orbitals
|
||||
END_DOC
|
||||
integer :: i,j, i1, i2
|
||||
double precision :: x
|
||||
print *, 'MOs to swap?'
|
||||
|
@ -301,7 +301,6 @@ function new_zmq_push_socket(thread)
|
||||
END_DOC
|
||||
integer, intent(in) :: thread
|
||||
integer :: rc
|
||||
character*(8), external :: zmq_port
|
||||
integer(ZMQ_PTR) :: new_zmq_push_socket
|
||||
|
||||
call omp_set_lock(zmq_lock)
|
||||
@ -425,7 +424,6 @@ subroutine end_zmq_pair_socket(zmq_socket_pair)
|
||||
END_DOC
|
||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_pair
|
||||
integer :: rc
|
||||
character*(8), external :: zmq_port
|
||||
|
||||
call omp_set_lock(zmq_lock)
|
||||
rc = f77_zmq_close(zmq_socket_pair)
|
||||
@ -445,7 +443,6 @@ subroutine end_zmq_pull_socket(zmq_socket_pull)
|
||||
END_DOC
|
||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_pull
|
||||
integer :: rc
|
||||
character*(8), external :: zmq_port
|
||||
|
||||
! rc = f77_zmq_setsockopt(zmq_socket_pull,ZMQ_LINGER,0,4)
|
||||
! if (rc /= 0) then
|
||||
@ -472,7 +469,6 @@ subroutine end_zmq_push_socket(zmq_socket_push,thread)
|
||||
integer, intent(in) :: thread
|
||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_push
|
||||
integer :: rc
|
||||
character*(8), external :: zmq_port
|
||||
|
||||
rc = f77_zmq_setsockopt(zmq_socket_push,ZMQ_LINGER,300000,4)
|
||||
if (rc /= 0) then
|
||||
@ -1032,7 +1028,6 @@ subroutine end_zmq_to_qp_run_socket(zmq_to_qp_run_socket)
|
||||
! Terminate the socket from the application to qp_run
|
||||
END_DOC
|
||||
integer(ZMQ_PTR), intent(in) :: zmq_to_qp_run_socket
|
||||
character*(8), external :: zmq_port
|
||||
integer :: rc
|
||||
|
||||
rc = f77_zmq_setsockopt(zmq_to_qp_run_socket,ZMQ_LINGER,300000,4)
|
||||
|
Loading…
Reference in New Issue
Block a user