mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-12 16:33:37 +01:00
Compare commits
9 Commits
5d6a3201fe
...
b28273ce8d
Author | SHA1 | Date | |
---|---|---|---|
b28273ce8d | |||
|
f877b41ef5 | ||
|
35f7f7b773 | ||
191d8ff0af | |||
7cb3321152 | |||
6479c294e8 | |||
51f81843a6 | |||
|
a6bff0220f | ||
|
244b130a72 |
@ -46,7 +46,7 @@ Requirements
|
|||||||
- `GMP <https://gmplib.org/>`_ : Gnu Multiple Precision Arithmetic Library
|
- `GMP <https://gmplib.org/>`_ : Gnu Multiple Precision Arithmetic Library
|
||||||
- |OCaml| compiler with |OPAM| package manager
|
- |OCaml| compiler with |OPAM| package manager
|
||||||
- `Bubblewrap <https://github.com/projectatomic/bubblewrap>`_ : Sandboxing tool required by Opam
|
- `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
|
- |Ninja| : a parallel build system
|
||||||
|
|
||||||
|
|
||||||
|
@ -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_num`
|
||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`mu_erf`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
@ -214,6 +215,7 @@ Providers
|
|||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
* :c:data:`ezfio_filename`
|
* :c:data:`ezfio_filename`
|
||||||
* :c:data:`io_ao_two_e_integrals_erf`
|
* :c:data:`io_ao_two_e_integrals_erf`
|
||||||
|
* :c:data:`mu_erf`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :c:data:`n_pt_max_integrals`
|
||||||
* :c:data:`nproc`
|
* :c:data:`nproc`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
@ -290,6 +292,7 @@ Subroutines / functions
|
|||||||
* :c:data:`ao_power`
|
* :c:data:`ao_power`
|
||||||
* :c:data:`ao_expo_ordered_transp`
|
* :c:data:`ao_expo_ordered_transp`
|
||||||
* :c:data:`ao_prim_num`
|
* :c:data:`ao_prim_num`
|
||||||
|
* :c:data:`mu_erf`
|
||||||
* :c:data:`ao_nucl`
|
* :c:data:`ao_nucl`
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
|
|
||||||
|
@ -1016,6 +1016,70 @@ Subroutines / functions
|
|||||||
* :c:func:`two_e_integrals_index`
|
* :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:
|
.. 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_integral_erf`
|
||||||
* :c:func:`get_ao_two_e_integrals_erf_non_zero`
|
* :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`
|
||||||
|
* :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_integral_erf`
|
||||||
* :c:func:`get_mo_two_e_integrals_coulomb_ii`
|
* :c:func:`get_mo_two_e_integrals_coulomb_ii`
|
||||||
* :c:func:`get_mo_two_e_integrals_erf`
|
* :c:func:`get_mo_two_e_integrals_erf`
|
||||||
|
@ -93,6 +93,12 @@ EZFIO parameters
|
|||||||
Total number of grid points
|
Total number of grid points
|
||||||
|
|
||||||
|
|
||||||
|
.. option:: thresh_grid
|
||||||
|
|
||||||
|
threshold on the weight of a given grid point
|
||||||
|
|
||||||
|
Default: 1.e-20
|
||||||
|
|
||||||
|
|
||||||
Providers
|
Providers
|
||||||
---------
|
---------
|
||||||
@ -210,6 +216,7 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -244,6 +251,40 @@ Providers
|
|||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
* :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
|
.. c:var:: final_weight_at_r
|
||||||
|
|
||||||
|
|
||||||
@ -263,10 +304,10 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`alpha_knowles`
|
* :c:data:`alpha_knowles`
|
||||||
* :c:data:`angular_quadrature_points`
|
* :c:data:`angular_quadrature_points`
|
||||||
|
* :c:data:`grid_atomic_number`
|
||||||
* :c:data:`grid_points_radial`
|
* :c:data:`grid_points_radial`
|
||||||
* :c:data:`m_knowles`
|
* :c:data:`m_knowles`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_charge`
|
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
@ -276,6 +317,9 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`final_grid_points`
|
* :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
|
.. c:var:: final_weight_at_r_vector
|
||||||
@ -309,6 +353,7 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -343,6 +388,69 @@ Providers
|
|||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
* :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
|
.. c:var:: grid_points_per_atom
|
||||||
|
|
||||||
|
|
||||||
@ -362,10 +470,10 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`alpha_knowles`
|
* :c:data:`alpha_knowles`
|
||||||
* :c:data:`angular_quadrature_points`
|
* :c:data:`angular_quadrature_points`
|
||||||
|
* :c:data:`grid_atomic_number`
|
||||||
* :c:data:`grid_points_radial`
|
* :c:data:`grid_points_radial`
|
||||||
* :c:data:`m_knowles`
|
* :c:data:`m_knowles`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_charge`
|
|
||||||
* :c:data:`nucl_coord`
|
* :c:data:`nucl_coord`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
@ -375,6 +483,7 @@ Providers
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`final_grid_points_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
* :c:data:`one_e_dm_alpha_in_r`
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
@ -439,6 +548,7 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -473,6 +583,74 @@ Providers
|
|||||||
* :c:data:`one_e_dm_no_core_and_grad_alpha_in_r`
|
* :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
|
.. c:var:: index_final_points_reverse
|
||||||
|
|
||||||
|
|
||||||
@ -504,6 +682,7 @@ Providers
|
|||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -576,8 +755,10 @@ Providers
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`final_weight_at_r`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -681,11 +862,13 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`angular_quadrature_points`
|
* :c:data:`angular_quadrature_points`
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`final_grid_points_per_atom`
|
||||||
* :c:data:`final_weight_at_r`
|
* :c:data:`final_weight_at_r`
|
||||||
* :c:data:`grid_points_per_atom`
|
* :c:data:`grid_points_per_atom`
|
||||||
* :c:data:`grid_points_radial`
|
* :c:data:`grid_points_radial`
|
||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_grid_per_atom`
|
* :c:data:`n_points_grid_per_atom`
|
||||||
|
* :c:data:`n_pts_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
* :c:data:`one_e_dm_alpha_in_r`
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
|
|
||||||
@ -721,15 +904,81 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`angular_quadrature_points`
|
* :c:data:`angular_quadrature_points`
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`final_grid_points_per_atom`
|
||||||
* :c:data:`final_weight_at_r`
|
* :c:data:`final_weight_at_r`
|
||||||
* :c:data:`grid_points_per_atom`
|
* :c:data:`grid_points_per_atom`
|
||||||
* :c:data:`grid_points_radial`
|
* :c:data:`grid_points_radial`
|
||||||
* :c:data:`n_points_final_grid`
|
* :c:data:`n_points_final_grid`
|
||||||
* :c:data:`n_points_grid_per_atom`
|
* :c:data:`n_points_grid_per_atom`
|
||||||
|
* :c:data:`n_pts_per_atom`
|
||||||
* :c:data:`one_e_dm_alpha_in_r`
|
* :c:data:`one_e_dm_alpha_in_r`
|
||||||
* :c:data:`weight_at_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
|
.. c:var:: weight_at_r
|
||||||
|
|
||||||
|
|
||||||
@ -754,7 +1003,6 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`grid_points_per_atom`
|
* :c:data:`grid_points_per_atom`
|
||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`nucl_charge`
|
|
||||||
* :c:data:`nucl_coord_transp`
|
* :c:data:`nucl_coord_transp`
|
||||||
* :c:data:`nucl_dist_inv`
|
* :c:data:`nucl_dist_inv`
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
@ -824,7 +1072,6 @@ Subroutines / functions
|
|||||||
* :c:data:`nucl_dist_inv`
|
* :c:data:`nucl_dist_inv`
|
||||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||||
* :c:data:`nucl_coord_transp`
|
* :c:data:`nucl_coord_transp`
|
||||||
* :c:data:`nucl_charge`
|
|
||||||
* :c:data:`nucl_num`
|
* :c:data:`nucl_num`
|
||||||
|
|
||||||
|
|
||||||
|
@ -727,9 +727,40 @@ Providers
|
|||||||
* :c:data:`c0_weight`
|
* :c:data:`c0_weight`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`pt2_match_weight`
|
* :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
|
Subroutines / functions
|
||||||
-----------------------
|
-----------------------
|
||||||
@ -879,6 +910,7 @@ Subroutines / functions
|
|||||||
* :c:data:`selection_weight`
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_hii`
|
* :c:data:`psi_det_hii`
|
||||||
* :c:data:`do_only_1h1p`
|
* :c:data:`do_only_1h1p`
|
||||||
@ -1181,6 +1213,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`generators_bitmask`
|
* :c:data:`generators_bitmask`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
@ -1203,6 +1236,7 @@ Subroutines / functions
|
|||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`pseudo_sym`
|
||||||
* :c:data:`psi_det_generators`
|
* :c:data:`psi_det_generators`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
@ -1551,12 +1585,14 @@ Subroutines / functions
|
|||||||
* :c:data:`correlation_energy_ratio_max`
|
* :c:data:`correlation_energy_ratio_max`
|
||||||
* :c:data:`n_iter`
|
* :c:data:`n_iter`
|
||||||
* :c:data:`psi_energy_with_nucl_rep`
|
* :c:data:`psi_energy_with_nucl_rep`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`psi_occ_pattern`
|
* :c:data:`psi_occ_pattern`
|
||||||
* :c:data:`n_det_max`
|
* :c:data:`n_det_max`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`h_apply_buffer_allocated`
|
* :c:data:`h_apply_buffer_allocated`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
|
* :c:data:`variance_max`
|
||||||
* :c:data:`do_pt2`
|
* :c:data:`do_pt2`
|
||||||
* :c:data:`psi_energy`
|
* :c:data:`psi_energy`
|
||||||
* :c:data:`pt2_relative_error`
|
* :c:data:`pt2_relative_error`
|
||||||
@ -1619,6 +1655,7 @@ Subroutines / functions
|
|||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: run_pt2_slave:
|
.. c:function:: run_pt2_slave:
|
||||||
@ -1776,16 +1813,18 @@ Subroutines / functions
|
|||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`mo_num`
|
* :c:data:`mo_num`
|
||||||
|
* :c:data:`psi_det_sorted`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
* :c:data:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`pt2_f`
|
* :c:data:`pt2_f`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
|
||||||
* :c:data:`elec_alpha_num`
|
* :c:data:`elec_alpha_num`
|
||||||
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_alpha_unique`
|
* :c:data:`psi_det_alpha_unique`
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`psi_det_sorted`
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`pseudo_sym`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
* :c:data:`psi_selectors_coef_transp`
|
* :c:data:`psi_selectors_coef_transp`
|
||||||
|
|
||||||
@ -1859,6 +1898,7 @@ Subroutines / functions
|
|||||||
* :c:data:`pt2_e0_denominator`
|
* :c:data:`pt2_e0_denominator`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
|
|
||||||
@ -1879,6 +1919,7 @@ Subroutines / functions
|
|||||||
.. hlist::
|
.. hlist::
|
||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`psi_det`
|
* :c:data:`psi_det`
|
||||||
* :c:data:`zmq_state`
|
* :c:data:`zmq_state`
|
||||||
@ -1935,6 +1976,7 @@ Subroutines / functions
|
|||||||
|
|
||||||
* :c:data:`pt2_e0_denominator`
|
* :c:data:`pt2_e0_denominator`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
|
|
||||||
@ -1959,6 +2001,7 @@ Subroutines / functions
|
|||||||
* :c:data:`correlation_energy_ratio_max`
|
* :c:data:`correlation_energy_ratio_max`
|
||||||
* :c:data:`n_iter`
|
* :c:data:`n_iter`
|
||||||
* :c:data:`psi_energy_with_nucl_rep`
|
* :c:data:`psi_energy_with_nucl_rep`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`psi_occ_pattern`
|
* :c:data:`psi_occ_pattern`
|
||||||
* :c:data:`pt2_max`
|
* :c:data:`pt2_max`
|
||||||
* :c:data:`n_det_max`
|
* :c:data:`n_det_max`
|
||||||
@ -2028,6 +2071,7 @@ Subroutines / functions
|
|||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: select_connected:
|
.. c:function:: select_connected:
|
||||||
@ -2351,6 +2395,43 @@ Subroutines / functions
|
|||||||
* :c:func:`check_mem`
|
* :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:
|
.. c:function:: zmq_pt2:
|
||||||
|
|
||||||
|
|
||||||
@ -2368,6 +2449,7 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`psi_det_sorted`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
@ -2378,7 +2460,7 @@ Subroutines / functions
|
|||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`psi_det_sorted`
|
||||||
* :c:data:`pt2_j`
|
* :c:data:`pt2_j`
|
||||||
* :c:data:`mo_two_e_integrals_in_map`
|
* :c:data:`mo_two_e_integrals_in_map`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
@ -2396,7 +2478,7 @@ Subroutines / functions
|
|||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`psi_det_beta_unique`
|
* :c:data:`psi_det_beta_unique`
|
||||||
* :c:data:`det_to_occ_pattern`
|
* :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:`psi_bilinear_matrix_transp_rows_loc`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`pt2_f`
|
* :c:data:`pt2_f`
|
||||||
@ -2405,7 +2487,7 @@ Subroutines / functions
|
|||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
* :c:data:`psi_det_hii`
|
* :c:data:`psi_det_hii`
|
||||||
* :c:data:`pt2_j`
|
* :c:data:`pt2_j`
|
||||||
* :c:data:`global_selection_buffer`
|
* :c:data:`pseudo_sym`
|
||||||
* :c:data:`pt2_w`
|
* :c:data:`pt2_w`
|
||||||
* :c:data:`pt2_u`
|
* :c:data:`pt2_u`
|
||||||
|
|
||||||
@ -2434,6 +2516,7 @@ Subroutines / functions
|
|||||||
* :c:func:`pt2_slave_inproc`
|
* :c:func:`pt2_slave_inproc`
|
||||||
* :c:func:`remove_duplicates_in_selection_buffer`
|
* :c:func:`remove_duplicates_in_selection_buffer`
|
||||||
* :c:func:`resident_memory`
|
* :c:func:`resident_memory`
|
||||||
|
* :c:func:`update_pt2_and_variance_weights`
|
||||||
* :c:func:`write_double`
|
* :c:func:`write_double`
|
||||||
* :c:func:`write_int`
|
* :c:func:`write_int`
|
||||||
* :c:func:`zmq_selection`
|
* :c:func:`zmq_selection`
|
||||||
@ -2453,6 +2536,7 @@ Subroutines / functions
|
|||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`pt2_match_weight`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: zmq_selection:
|
.. c:function:: zmq_selection:
|
||||||
@ -2472,12 +2556,12 @@ Subroutines / functions
|
|||||||
:columns: 3
|
:columns: 3
|
||||||
|
|
||||||
* :c:data:`psi_det_sorted`
|
* :c:data:`psi_det_sorted`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`psi_selectors`
|
* :c:data:`psi_selectors`
|
||||||
* :c:data:`psi_bilinear_matrix_values`
|
* :c:data:`psi_bilinear_matrix_values`
|
||||||
* :c:data:`n_det`
|
* :c:data:`n_det`
|
||||||
* :c:data:`psi_bilinear_matrix_columns_loc`
|
* :c:data:`psi_bilinear_matrix_columns_loc`
|
||||||
* :c:data:`n_det_selectors`
|
* :c:data:`n_det_selectors`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
|
||||||
* :c:data:`psi_det_alpha_unique`
|
* :c:data:`psi_det_alpha_unique`
|
||||||
* :c:data:`psi_bilinear_matrix_transp_values`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
@ -2493,8 +2577,9 @@ Subroutines / functions
|
|||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`pt2_f`
|
* :c:data:`pt2_f`
|
||||||
* :c:data:`n_det_generators`
|
* :c:data:`n_det_generators`
|
||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`psi_bilinear_matrix_transp_values`
|
||||||
* :c:data:`n_int`
|
* :c:data:`n_int`
|
||||||
|
* :c:data:`pseudo_sym`
|
||||||
|
|
||||||
Called by:
|
Called by:
|
||||||
|
|
||||||
@ -2519,6 +2604,7 @@ Subroutines / functions
|
|||||||
* :c:func:`save_wavefunction`
|
* :c:func:`save_wavefunction`
|
||||||
* :c:func:`selection_collector`
|
* :c:func:`selection_collector`
|
||||||
* :c:func:`selection_slave_inproc`
|
* :c:func:`selection_slave_inproc`
|
||||||
|
* :c:func:`update_pt2_and_variance_weights`
|
||||||
* :c:func:`write_double`
|
* :c:func:`write_double`
|
||||||
|
|
||||||
Touches:
|
Touches:
|
||||||
@ -2534,4 +2620,5 @@ Subroutines / functions
|
|||||||
* :c:data:`psi_det_size`
|
* :c:data:`psi_det_size`
|
||||||
* :c:data:`psi_det_sorted_bit`
|
* :c:data:`psi_det_sorted_bit`
|
||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`pt2_match_weight`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
|
|
||||||
|
@ -1756,6 +1756,40 @@ Subroutines / functions
|
|||||||
* :c:func:`i_wee_j_single`
|
* :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:
|
.. c:function:: u_0_h_u_0:
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,12 +61,18 @@ EZFIO parameters
|
|||||||
|
|
||||||
Default: True
|
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))
|
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
|
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
|
.. option:: threshold_generators
|
||||||
|
|
||||||
Thresholds on generators (fraction of the square of the norm)
|
Thresholds on generators (fraction of the square of the norm)
|
||||||
@ -119,6 +125,12 @@ EZFIO parameters
|
|||||||
Weight of the states in state-average calculations.
|
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
|
.. option:: thresh_sym
|
||||||
|
|
||||||
Thresholds to check if a determinant is connected with HF
|
Thresholds to check if a determinant is connected with HF
|
||||||
@ -3638,7 +3650,7 @@ Providers
|
|||||||
|
|
||||||
* :c:data:`c0_weight`
|
* :c:data:`c0_weight`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`used_weight`
|
* :c:data:`weight_one_e_dm`
|
||||||
|
|
||||||
Needed by:
|
Needed by:
|
||||||
|
|
||||||
@ -3648,6 +3660,7 @@ Providers
|
|||||||
* :c:data:`det_alpha_norm`
|
* :c:data:`det_alpha_norm`
|
||||||
* :c:data:`one_e_dm_mo_alpha_average`
|
* :c:data:`one_e_dm_mo_alpha_average`
|
||||||
* :c:data:`psi_average_norm_contrib`
|
* :c:data:`psi_average_norm_contrib`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: weight_occ_pattern
|
.. c:var:: weight_occ_pattern
|
||||||
|
@ -199,6 +199,70 @@ Providers
|
|||||||
* :c:data:`potential_xc_alpha_ao_sr_lda`
|
* :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
|
.. c:var:: aos_in_r_array_transp
|
||||||
|
|
||||||
|
|
||||||
|
@ -146,6 +146,7 @@ Providers
|
|||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`scf_algorithm`
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
@ -153,8 +154,9 @@ Providers
|
|||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
* :c:data:`threshold_diis`
|
* :c:data:`threshold_diis`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`used_weight`
|
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
|
* :c:data:`weight_one_e_dm`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: ezfio_work_dir
|
.. c:var:: ezfio_work_dir
|
||||||
@ -296,6 +298,7 @@ Providers
|
|||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`scf_algorithm`
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
@ -303,8 +306,9 @@ Providers
|
|||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
* :c:data:`threshold_diis`
|
* :c:data:`threshold_diis`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`used_weight`
|
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
|
* :c:data:`weight_one_e_dm`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: output_wall_time_0
|
.. c:var:: output_wall_time_0
|
||||||
@ -411,6 +415,7 @@ Providers
|
|||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`scf_algorithm`
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
@ -418,8 +423,9 @@ Providers
|
|||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
* :c:data:`threshold_diis`
|
* :c:data:`threshold_diis`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`used_weight`
|
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
|
* :c:data:`weight_one_e_dm`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: qp_kill_filename
|
.. c:var:: qp_kill_filename
|
||||||
@ -764,6 +770,7 @@ Subroutines / functions
|
|||||||
* :c:func:`roothaan_hall_scf`
|
* :c:func:`roothaan_hall_scf`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`scf_algorithm`
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
@ -771,8 +778,9 @@ Subroutines / functions
|
|||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
* :c:data:`threshold_diis`
|
* :c:data:`threshold_diis`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`used_weight`
|
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
|
* :c:data:`weight_one_e_dm`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
|
|
||||||
Calls:
|
Calls:
|
||||||
|
|
||||||
|
@ -160,6 +160,13 @@ Subroutines / functions
|
|||||||
* :c:func:`run_cipsi`
|
* :c:func:`run_cipsi`
|
||||||
* :c:func:`run_stochastic_cipsi`
|
* :c:func:`run_stochastic_cipsi`
|
||||||
|
|
||||||
|
Calls:
|
||||||
|
|
||||||
|
.. hlist::
|
||||||
|
:columns: 3
|
||||||
|
|
||||||
|
* :c:func:`print_energy_components`
|
||||||
|
|
||||||
|
|
||||||
.. c:function:: save_iterations:
|
.. c:function:: save_iterations:
|
||||||
|
|
||||||
|
@ -174,6 +174,7 @@ Providers
|
|||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
* :c:data:`s2_eig`
|
* :c:data:`s2_eig`
|
||||||
* :c:data:`scf_algorithm`
|
* :c:data:`scf_algorithm`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
@ -181,8 +182,9 @@ Providers
|
|||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
* :c:data:`threshold_diis`
|
* :c:data:`threshold_diis`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
* :c:data:`used_weight`
|
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
|
* :c:data:`weight_one_e_dm`
|
||||||
|
* :c:data:`weight_selection`
|
||||||
|
|
||||||
|
|
||||||
.. c:var:: mpi_rank
|
.. 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`
|
||||||
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
* :c:data:`aos_grad_in_r_array_transp_xyz`
|
||||||
* :c:data:`aos_in_r_array`
|
* :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_in_r_array_transp`
|
||||||
* :c:data:`aos_lapl_in_r_array`
|
* :c:data:`aos_lapl_in_r_array`
|
||||||
* :c:data:`aos_lapl_in_r_array_transp`
|
* :c:data:`aos_lapl_in_r_array_transp`
|
||||||
@ -251,8 +253,10 @@ Index of Providers
|
|||||||
* :c:data:`fact_inv`
|
* :c:data:`fact_inv`
|
||||||
* :c:data:`file_lock`
|
* :c:data:`file_lock`
|
||||||
* :c:data:`final_grid_points`
|
* :c:data:`final_grid_points`
|
||||||
|
* :c:data:`final_grid_points_per_atom`
|
||||||
* :c:data:`final_weight_at_r`
|
* :c:data:`final_weight_at_r`
|
||||||
* :c:data:`final_weight_at_r_vector`
|
* :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_alpha_no_xc_ao`
|
||||||
* :c:data:`fock_matrix_ao`
|
* :c:data:`fock_matrix_ao`
|
||||||
* :c:data:`fock_matrix_ao_alpha`
|
* :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:`give_polynomial_mult_center_one_e_erf_opt`
|
||||||
* :c:data:`global_selection_buffer`
|
* :c:data:`global_selection_buffer`
|
||||||
* :c:data:`global_selection_buffer_lock`
|
* :c:data:`global_selection_buffer_lock`
|
||||||
|
* :c:data:`grid_atomic_number`
|
||||||
* :c:data:`grid_points_per_atom`
|
* :c:data:`grid_points_per_atom`
|
||||||
* :c:data:`grid_points_radial`
|
* :c:data:`grid_points_radial`
|
||||||
* :c:data:`grid_type_sgn`
|
* :c:data:`grid_type_sgn`
|
||||||
@ -313,6 +318,8 @@ Index of Providers
|
|||||||
* :c:data:`inact_bitmask`
|
* :c:data:`inact_bitmask`
|
||||||
* :c:data:`inact_virt_bitmask`
|
* :c:data:`inact_virt_bitmask`
|
||||||
* :c:data:`index_final_points`
|
* :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_final_points_reverse`
|
||||||
* :c:data:`index_holes_bitmask`
|
* :c:data:`index_holes_bitmask`
|
||||||
* :c:data:`index_particl_bitmask`
|
* :c:data:`index_particl_bitmask`
|
||||||
@ -460,6 +467,8 @@ Index of Providers
|
|||||||
* :c:data:`n_points_radial_grid`
|
* :c:data:`n_points_radial_grid`
|
||||||
* :c:data:`n_pt_max_i_x`
|
* :c:data:`n_pt_max_i_x`
|
||||||
* :c:data:`n_pt_max_integrals`
|
* :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_single_exc_bitmasks`
|
||||||
* :c:data:`n_states`
|
* :c:data:`n_states`
|
||||||
* :c:data:`n_states_diag`
|
* :c:data:`n_states_diag`
|
||||||
@ -754,6 +763,7 @@ Index of Providers
|
|||||||
* :c:data:`selection_criterion`
|
* :c:data:`selection_criterion`
|
||||||
* :c:data:`selection_criterion_factor`
|
* :c:data:`selection_criterion_factor`
|
||||||
* :c:data:`selection_criterion_min`
|
* :c:data:`selection_criterion_min`
|
||||||
|
* :c:data:`selection_factor`
|
||||||
* :c:data:`selection_weight`
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`short_range_hartree`
|
* :c:data:`short_range_hartree`
|
||||||
* :c:data:`short_range_hartree_operator`
|
* :c:data:`short_range_hartree_operator`
|
||||||
@ -775,6 +785,7 @@ Index of Providers
|
|||||||
* :c:data:`state_following`
|
* :c:data:`state_following`
|
||||||
* :c:data:`target_energy`
|
* :c:data:`target_energy`
|
||||||
* :c:data:`theta_angular_integration_lebedev`
|
* :c:data:`theta_angular_integration_lebedev`
|
||||||
|
* :c:data:`thresh_grid`
|
||||||
* :c:data:`thresh_scf`
|
* :c:data:`thresh_scf`
|
||||||
* :c:data:`thresh_sym`
|
* :c:data:`thresh_sym`
|
||||||
* :c:data:`threshold_davidson`
|
* :c:data:`threshold_davidson`
|
||||||
@ -792,11 +803,14 @@ Index of Providers
|
|||||||
* :c:data:`unpaired_alpha_electrons`
|
* :c:data:`unpaired_alpha_electrons`
|
||||||
* :c:data:`used_weight`
|
* :c:data:`used_weight`
|
||||||
* :c:data:`var_pt2_ratio`
|
* :c:data:`var_pt2_ratio`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
* :c:data:`variance_max`
|
* :c:data:`variance_max`
|
||||||
* :c:data:`virt_bitmask`
|
* :c:data:`virt_bitmask`
|
||||||
* :c:data:`virt_bitmask_4`
|
* :c:data:`virt_bitmask_4`
|
||||||
* :c:data:`weight_at_r`
|
* :c:data:`weight_at_r`
|
||||||
* :c:data:`weight_occ_pattern`
|
* :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_integration_lebedev`
|
||||||
* :c:data:`weights_angular_points`
|
* :c:data:`weights_angular_points`
|
||||||
* :c:data:`write_ao_integrals_e_n`
|
* :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`
|
||||||
* :c:func:`get_ao_two_e_integrals_erf_non_zero`
|
* :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`
|
||||||
|
* :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_d0`
|
||||||
* :c:func:`get_d1`
|
* :c:func:`get_d1`
|
||||||
* :c:func:`get_d2`
|
* :c:func:`get_d2`
|
||||||
@ -1280,6 +1296,7 @@ Index of Subroutines/Functions
|
|||||||
* :c:func:`print_ci_vectors`
|
* :c:func:`print_ci_vectors`
|
||||||
* :c:func:`print_det`
|
* :c:func:`print_det`
|
||||||
* :c:func:`print_e_conv`
|
* :c:func:`print_e_conv`
|
||||||
|
* :c:func:`print_energy_components`
|
||||||
* :c:func:`print_extrapolated_energy`
|
* :c:func:`print_extrapolated_energy`
|
||||||
* :c:func:`print_generators_bitmasks_holes`
|
* :c:func:`print_generators_bitmasks_holes`
|
||||||
* :c:func:`print_generators_bitmasks_holes_for_one_generator`
|
* :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_0_s2_u_0`
|
||||||
* :c:func:`u_dot_u`
|
* :c:func:`u_dot_u`
|
||||||
* :c:func:`u_dot_v`
|
* :c:func:`u_dot_v`
|
||||||
|
* :c:func:`update_pt2_and_variance_weights`
|
||||||
* :c:func:`v_e_n`
|
* :c:func:`v_e_n`
|
||||||
* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab`
|
* :c:func:`v_grad_rho_oc_to_v_grad_rho_ab`
|
||||||
* :c:func:`v_phi`
|
* :c:func:`v_phi`
|
||||||
|
@ -89,5 +89,7 @@ fci
|
|||||||
* :c:data:`pt2_match_weight`
|
* :c:data:`pt2_match_weight`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :c:data:`threshold_generators`
|
||||||
|
* :c:data:`variance_match_weight`
|
||||||
|
@ -55,5 +55,6 @@ pt2
|
|||||||
* :c:data:`pt2_e0_denominator`
|
* :c:data:`pt2_e0_denominator`
|
||||||
* :c:data:`pt2_stoch_istate`
|
* :c:data:`pt2_stoch_istate`
|
||||||
* :c:data:`read_wf`
|
* :c:data:`read_wf`
|
||||||
|
* :c:data:`selection_weight`
|
||||||
* :c:data:`state_average_weight`
|
* :c:data:`state_average_weight`
|
||||||
* :c:data:`threshold_generators`
|
* :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`
|
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.
|
.\" 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
|
.SH NAME
|
||||||
cis \- | Quantum Package >
|
cis \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
cisd \- | Quantum Package >
|
cisd \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
configure \- | Quantum Package >
|
configure \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
diagonalize_h \- | Quantum Package >
|
diagonalize_h \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
excited_states \- | Quantum Package >
|
excited_states \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
14
man/fci.1
14
man/fci.1
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
fci \- | Quantum Package >
|
fci \- | Quantum Package >
|
||||||
.
|
.
|
||||||
@ -125,10 +125,10 @@ Touches:
|
|||||||
\fBpsi_occ_pattern\fP
|
\fBpsi_occ_pattern\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBc0_weight\fP
|
\fBc0_weight\fP
|
||||||
.UNINDENT
|
|
||||||
.INDENT 2.0
|
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBdistributed_davidson\fP
|
\fBdistributed_davidson\fP
|
||||||
|
.UNINDENT
|
||||||
|
.INDENT 2.0
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBpsi_coef\fP
|
\fBpsi_coef\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
@ -143,10 +143,10 @@ Touches:
|
|||||||
\fBpsi_energy\fP
|
\fBpsi_energy\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBpsi_occ_pattern\fP
|
\fBpsi_occ_pattern\fP
|
||||||
.UNINDENT
|
|
||||||
.INDENT 2.0
|
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBpsi_energy\fP
|
\fBpsi_energy\fP
|
||||||
|
.UNINDENT
|
||||||
|
.INDENT 2.0
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBpt2_e0_denominator\fP
|
\fBpt2_e0_denominator\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
@ -156,9 +156,13 @@ Touches:
|
|||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBread_wf\fP
|
\fBread_wf\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
|
\fBselection_weight\fP
|
||||||
|
.IP \(bu 2
|
||||||
\fBstate_average_weight\fP
|
\fBstate_average_weight\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBthreshold_generators\fP
|
\fBthreshold_generators\fP
|
||||||
|
.IP \(bu 2
|
||||||
|
\fBvariance_match_weight\fP
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
.UNINDENT
|
.UNINDENT
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
fcidump \- | Quantum Package >
|
fcidump \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
four_idx_transform \- | Quantum Package >
|
four_idx_transform \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
interfaces \- | Quantum Package >
|
interfaces \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
ks_scf \- | Quantum Package >
|
ks_scf \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
molden \- | Quantum Package >
|
molden \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
natural_orbitals \- | Quantum Package >
|
natural_orbitals \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
plugins \- | Quantum Package >
|
plugins \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
print_ci_vectors \- | Quantum Package >
|
print_ci_vectors \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
print_e_conv \- | Quantum Package >
|
print_e_conv \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
print_wf \- | Quantum Package >
|
print_wf \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
printing \- | Quantum Package >
|
printing \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
pt2 \- | Quantum Package >
|
pt2 \- | Quantum Package >
|
||||||
.
|
.
|
||||||
@ -104,6 +104,8 @@ Touches:
|
|||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBread_wf\fP
|
\fBread_wf\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
|
\fBselection_weight\fP
|
||||||
|
.IP \(bu 2
|
||||||
\fBstate_average_weight\fP
|
\fBstate_average_weight\fP
|
||||||
.IP \(bu 2
|
.IP \(bu 2
|
||||||
\fBthreshold_generators\fP
|
\fBthreshold_generators\fP
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_convert_output_to_ezfio \- | Quantum Package >
|
qp_convert_output_to_ezfio \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_create_ezfio \- | Quantum Package >
|
qp_create_ezfio \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_edit \- | Quantum Package >
|
qp_edit \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_export_as_tgz \- | Quantum Package >
|
qp_export_as_tgz \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_plugins \- | Quantum Package >
|
qp_plugins \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_reset \- | Quantum Package >
|
qp_reset \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_run \- | Quantum Package >
|
qp_run \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_set_frozen_core \- | Quantum Package >
|
qp_set_frozen_core \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_set_mo_class \- | Quantum Package >
|
qp_set_mo_class \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qp_stop \- | Quantum Package >
|
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.
|
.\" 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
|
.SH NAME
|
||||||
qp_update \- | Quantum Package >
|
qp_update \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
qpsh \- | Quantum Package >
|
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.
|
.\" 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
|
.SH NAME
|
||||||
rs_ks_scf \- | Quantum Package >
|
rs_ks_scf \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
save_natorb \- | Quantum Package >
|
save_natorb \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
save_one_e_dm \- | Quantum Package >
|
save_one_e_dm \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
save_ortho_mos \- | Quantum Package >
|
save_ortho_mos \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Man page generated from reStructuredText.
|
.\" 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
|
.SH NAME
|
||||||
scf \- | Quantum Package >
|
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.
|
.\" 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
|
.SH NAME
|
||||||
write_integrals_erf \- | Quantum Package >
|
write_integrals_erf \- | Quantum Package >
|
||||||
.
|
.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
PKG core ZMQ cryptokit
|
PKG core zmq cryptokit
|
||||||
B _build/
|
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"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
15
src/dft_utils_in_r/kin_dens.irp.f
Normal file
15
src/dft_utils_in_r/kin_dens.irp.f
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
BEGIN_PROVIDER [double precision, kinetic_density_generalized, (n_points_final_grid)]
|
||||||
|
implicit none
|
||||||
|
integer :: i,j,m,i_point
|
||||||
|
kinetic_density_generalized = 0.d0
|
||||||
|
do i_point = 1, n_points_final_grid
|
||||||
|
do i = 1, mo_num
|
||||||
|
do j = 1, mo_num
|
||||||
|
do m = 1, 3
|
||||||
|
kinetic_density_generalized(i_point) += 0.5d0 * mos_grad_in_r_array_tranp(m,j,i_point) * mos_grad_in_r_array_tranp(m,i,i_point) * one_e_dm_mo_for_dft(j,i,1)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER[double precision, mos_grad_in_r_array,(mo_num,n_points_final_grid,3)]
|
BEGIN_PROVIDER[double precision, mos_grad_in_r_array,(mo_num,n_points_final_grid,3)]
|
||||||
|
&BEGIN_PROVIDER[double precision, mos_grad_in_r_array_tranp,(3,mo_num,n_points_final_grid)]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point
|
! mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point
|
||||||
@ -35,8 +36,37 @@
|
|||||||
do m=1,3
|
do m=1,3
|
||||||
call dgemm('N','N',mo_num,n_points_final_grid,ao_num,1.d0,mo_coef_transp,mo_num,aos_grad_in_r_array(1,1,m),ao_num,0.d0,mos_grad_in_r_array(1,1,m),mo_num)
|
call dgemm('N','N',mo_num,n_points_final_grid,ao_num,1.d0,mo_coef_transp,mo_num,aos_grad_in_r_array(1,1,m),ao_num,0.d0,mos_grad_in_r_array(1,1,m),mo_num)
|
||||||
enddo
|
enddo
|
||||||
|
integer :: i,j
|
||||||
|
do i = 1, n_points_final_grid
|
||||||
|
do j = 1, mo_num
|
||||||
|
do m = 1, 3
|
||||||
|
mos_grad_in_r_array_tranp(m,j,i) = mos_grad_in_r_array(j,i,m)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [double precision, alpha_dens_kin_in_r, (n_points_final_grid)]
|
||||||
|
&BEGIN_PROVIDER [double precision, beta_dens_kin_in_r, (n_points_final_grid)]
|
||||||
|
implicit none
|
||||||
|
integer :: i,m,j
|
||||||
|
alpha_dens_kin_in_r = 0.d0
|
||||||
|
beta_dens_kin_in_r = 0.d0
|
||||||
|
do i = 1, n_points_final_grid
|
||||||
|
do j = 1, elec_alpha_num
|
||||||
|
do m = 1, 3
|
||||||
|
alpha_dens_kin_in_r(i) += 0.5d0 * mos_grad_in_r_array_tranp(m,j,i)**2.d0
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
do j = 1, elec_beta_num
|
||||||
|
do m = 1, 3
|
||||||
|
beta_dens_kin_in_r(i) += 0.5d0 * mos_grad_in_r_array_tranp(m,j,i)**2.d0
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
BEGIN_PROVIDER[double precision, mos_lapl_in_r_array,(mo_num,n_points_final_grid,3)]
|
BEGIN_PROVIDER[double precision, mos_lapl_in_r_array,(mo_num,n_points_final_grid,3)]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
|
@ -35,11 +35,8 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
include 'constants.include.F'
|
include 'constants.include.F'
|
||||||
|
|
||||||
! Input variables
|
! Input variables
|
||||||
|
|
||||||
double precision, intent(in) :: rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2
|
double precision, intent(in) :: rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2
|
||||||
|
|
||||||
! Local variables
|
! Local variables
|
||||||
|
|
||||||
double precision :: a,b,c,d,c_f,omega,delta
|
double precision :: a,b,c,d,c_f,omega,delta
|
||||||
double precision :: rho_13,rho_inv_13,rho_83,rho_113,rho_inv_113,denom
|
double precision :: rho_13,rho_inv_13,rho_83,rho_113,rho_inv_113,denom
|
||||||
double precision :: thr,huge_num,rho_inv
|
double precision :: thr,huge_num,rho_inv
|
||||||
@ -47,8 +44,6 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
double precision :: tmp1,tmp2,tmp3,tmp4
|
double precision :: tmp1,tmp2,tmp3,tmp4
|
||||||
double precision :: big1,big2,big3
|
double precision :: big1,big2,big3
|
||||||
|
|
||||||
! Output variables
|
|
||||||
|
|
||||||
|
|
||||||
! Constants of the LYP correlation functional
|
! Constants of the LYP correlation functional
|
||||||
|
|
||||||
@ -57,15 +52,25 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
c = 0.2533d0
|
c = 0.2533d0
|
||||||
d = 0.349d0
|
d = 0.349d0
|
||||||
|
|
||||||
thr = 1d-10
|
ec_lyp_88 = 0.d0
|
||||||
|
|
||||||
|
thr = 1d-15
|
||||||
huge_num = 1.d0/thr
|
huge_num = 1.d0/thr
|
||||||
|
if(dabs(rho_a).lt.thr)then
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if(dabs(rho_b).lt.thr)then
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
if(rho.lt.0.d0)then
|
if(rho.lt.0.d0)then
|
||||||
print*,'pb !! rho.lt.0.d0'
|
print*,'pb !! rho.lt.0.d0'
|
||||||
stop
|
stop
|
||||||
endif
|
endif
|
||||||
rho_13 = rho**(1d0/3d0)
|
|
||||||
rho_113 = rho**(11d0/3d0)
|
rho_13 = rho**(1.d0/3.d0)
|
||||||
|
rho_113 = rho**(11.d0/3.d0)
|
||||||
|
|
||||||
if(dabs(rho_13) < thr) then
|
if(dabs(rho_13) < thr) then
|
||||||
rho_inv_13 = huge_num
|
rho_inv_13 = huge_num
|
||||||
@ -76,13 +81,13 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
if (dabs(rho_113) < thr) then
|
if (dabs(rho_113) < thr) then
|
||||||
rho_inv_113 = huge_num
|
rho_inv_113 = huge_num
|
||||||
else
|
else
|
||||||
rho_inv_113 = 1d0/rho_113
|
rho_inv_113 = 1.d0/rho_113
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if (dabs(rho) < thr) then
|
if (dabs(rho) < thr) then
|
||||||
rho_inv = huge_num
|
rho_inv = huge_num
|
||||||
else
|
else
|
||||||
rho_inv = 1d0/rho
|
rho_inv = 1.d0/rho
|
||||||
endif
|
endif
|
||||||
|
|
||||||
! Useful quantities to predefine
|
! Useful quantities to predefine
|
||||||
@ -90,21 +95,21 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
denom = 1d0/(1d0 + d*rho_inv_13)
|
denom = 1d0/(1d0 + d*rho_inv_13)
|
||||||
omega = rho_inv_113*exp(-c*rho_inv_13)*denom
|
omega = rho_inv_113*exp(-c*rho_inv_13)*denom
|
||||||
delta = c*rho_inv_13 + d*rho_inv_13*denom
|
delta = c*rho_inv_13 + d*rho_inv_13*denom
|
||||||
c_f = 0.3d0*(3d0*pi*pi)**(2d0/3d0)
|
c_f = 0.3d0*(3.d0*pi*pi)**(2.d0/3.d0)
|
||||||
|
|
||||||
rho_2 = rho *rho
|
rho_2 = rho *rho
|
||||||
rho_a_2 = rho_a*rho_a
|
rho_a_2 = rho_a*rho_a
|
||||||
rho_b_2 = rho_b*rho_b
|
rho_b_2 = rho_b*rho_b
|
||||||
|
|
||||||
cst_2_113 = 2d0**(11d0/3d0)
|
cst_2_113 = 2.d0**(11.d0/3.d0)
|
||||||
cst_8_3 = 8d0/3d0
|
cst_8_3 = 8.d0/3.d0
|
||||||
|
|
||||||
! first term in the equation (2) of Preuss CPL, 1989
|
! first term in the equation (2) of Preuss CPL, 1989
|
||||||
|
|
||||||
big1 = 4d0*denom*rho_a*rho_b*rho_inv
|
big1 = 4.d0*denom*rho_a*rho_b*rho_inv
|
||||||
|
|
||||||
tmp1 = cst_2_113*c_f*(rho_a**cst_8_3 + rho_b**cst_8_3)
|
tmp1 = cst_2_113*c_f*(rho_a**cst_8_3 + rho_b**cst_8_3)
|
||||||
tmp2 = (47d0/18d0 - 7d0/18d0*delta)*grad_rho_2
|
tmp2 = (47.d0/18.d0 - 7.d0/18.d0*delta)*grad_rho_2
|
||||||
tmp3 = - (5d0/2d0 - 1.d0/18d0*delta)*(grad_rho_a_2 + grad_rho_b_2)
|
tmp3 = - (5d0/2d0 - 1.d0/18d0*delta)*(grad_rho_a_2 + grad_rho_b_2)
|
||||||
tmp4 = - (delta - 11d0)/9d0*(rho_a*rho_inv*grad_rho_a_2 + rho_b*rho_inv*grad_rho_b_2)
|
tmp4 = - (delta - 11d0)/9d0*(rho_a*rho_inv*grad_rho_a_2 + rho_b*rho_inv*grad_rho_b_2)
|
||||||
big2 = rho_a*rho_b*(tmp1 + tmp2 + tmp3 + tmp4)
|
big2 = rho_a*rho_b*(tmp1 + tmp2 + tmp3 + tmp4)
|
||||||
@ -114,7 +119,6 @@ double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,gr
|
|||||||
tmp3 = grad_rho_a_2*(2d0/3d0*rho_2 - rho_b_2)
|
tmp3 = grad_rho_a_2*(2d0/3d0*rho_2 - rho_b_2)
|
||||||
big3 = tmp1 + tmp2 + tmp3
|
big3 = tmp1 + tmp2 + tmp3
|
||||||
|
|
||||||
|
|
||||||
ec_lyp_88 = -a*big1 -a*b*omega*big2 -a*b*omega*big3
|
ec_lyp_88 = -a*big1 -a*b*omega*big2 -a*b*omega*big3
|
||||||
|
|
||||||
end
|
end
|
||||||
|
100
src/dft_utils_one_e/ec_scan.irp.f
Normal file
100
src/dft_utils_one_e/ec_scan.irp.f
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
double precision function ec_scan(rho_a,rho_b,tau,grad_rho_2)
|
||||||
|
include 'constants.include.F'
|
||||||
|
implicit none
|
||||||
|
double precision, intent(in) :: rho_a,rho_b,tau,grad_rho_2
|
||||||
|
double precision :: cst_13,cst_23,cst_43,cst_53,rho_inv,cst_18,cst_3pi2
|
||||||
|
double precision :: thr,nup,ndo,xi,s,spin_d,drho,drho2,rho,inv_1alph,e_c_lsda1,h0
|
||||||
|
double precision :: rs,t_w,t_unif,ds_xi,alpha,fc_alpha,step_f,cst_1alph,beta_inf
|
||||||
|
double precision :: c_1c,c_2c,d_c,e_c_ldsa1,h1,phi,t,beta_rs,gama,a,w_1,g_at2,phi_3,e_c_1
|
||||||
|
double precision :: b_1c,b_2c,b_3c,dx_xi,gc_xi,e_c_lsda0,w_0,g_inf,cx_xi,x_inf,f0,e_c_0
|
||||||
|
thr = 1.d-12
|
||||||
|
nup = max(rho_a,thr)
|
||||||
|
ndo = max(rho_b,thr)
|
||||||
|
rho = nup + ndo
|
||||||
|
ec_scan = 0.d0
|
||||||
|
if((rho).lt.thr)return
|
||||||
|
! constants ...
|
||||||
|
rho_inv = 1.d0/rho
|
||||||
|
cst_13 = 1.d0/3.d0
|
||||||
|
cst_23 = 2.d0 * cst_13
|
||||||
|
cst_43 = 4.d0 * cst_13
|
||||||
|
cst_53 = 5.d0 * cst_13
|
||||||
|
cst_18 = 1.d0/8.d0
|
||||||
|
cst_3pi2 = 3.d0 * pi*pi
|
||||||
|
drho2 = max(grad_rho_2,thr)
|
||||||
|
drho = dsqrt(drho2)
|
||||||
|
if((nup-ndo).gt.0.d0)then
|
||||||
|
spin_d = max(nup-ndo,thr)
|
||||||
|
else
|
||||||
|
spin_d = min(nup-ndo,-thr)
|
||||||
|
endif
|
||||||
|
c_1c = 0.64d0
|
||||||
|
c_2c = 1.5d0
|
||||||
|
d_c = 0.7d0
|
||||||
|
b_1c = 0.0285764d0
|
||||||
|
b_2c = 0.0889d0
|
||||||
|
b_3c = 0.125541d0
|
||||||
|
gama = 0.031091d0
|
||||||
|
! correlation energy lsda1
|
||||||
|
call ec_only_lda_sr(0.d0,nup,ndo,e_c_lsda1)
|
||||||
|
|
||||||
|
xi = spin_d/rho
|
||||||
|
rs = (cst_43 * pi * rho)**(-cst_13)
|
||||||
|
s = drho/( 2.d0 * cst_3pi2**(cst_13) * rho**cst_43 )
|
||||||
|
t_w = drho2 * cst_18 * rho_inv
|
||||||
|
ds_xi = 0.5d0 * ( (1.d0+xi)**cst_53 + (1.d0 - xi)**cst_53)
|
||||||
|
t_unif = 0.3d0 * (cst_3pi2)**cst_23 * rho**cst_53*ds_xi
|
||||||
|
t_unif = max(t_unif,thr)
|
||||||
|
alpha = (tau - t_w)/t_unif
|
||||||
|
cst_1alph= 1.d0 - alpha
|
||||||
|
if(cst_1alph.gt.0.d0)then
|
||||||
|
cst_1alph= max(cst_1alph,thr)
|
||||||
|
else
|
||||||
|
cst_1alph= min(cst_1alph,-thr)
|
||||||
|
endif
|
||||||
|
inv_1alph= 1.d0/cst_1alph
|
||||||
|
phi = 0.5d0 * ( (1.d0+xi)**cst_23 + (1.d0 - xi)**cst_23)
|
||||||
|
phi_3 = phi*phi*phi
|
||||||
|
t = (cst_3pi2/16.d0)**cst_13 * s / (phi * rs**0.5d0)
|
||||||
|
w_1 = dexp(-e_c_lsda1/(gama * phi_3)) - 1.d0
|
||||||
|
a = beta_rs(rs) /(gama * w_1)
|
||||||
|
g_at2 = 1.d0/(1.d0 + 4.d0 * a*t*t)**0.25d0
|
||||||
|
h1 = gama * phi_3 * dlog(1.d0 + w_1 * (1.d0 - g_at2))
|
||||||
|
! interpolation function
|
||||||
|
fc_alpha = dexp(-c_1c * alpha * inv_1alph) * step_f(cst_1alph) - d_c * dexp(c_2c * inv_1alph) * step_f(-cst_1alph)
|
||||||
|
! first part of the correlation energy
|
||||||
|
e_c_1 = e_c_lsda1 + h1
|
||||||
|
|
||||||
|
dx_xi = 0.5d0 * ( (1.d0+xi)**cst_43 + (1.d0 - xi)**cst_43)
|
||||||
|
gc_xi = (1.d0 - 2.3631d0 * (dx_xi - 1.d0) ) * (1.d0 - xi**12.d0)
|
||||||
|
e_c_lsda0= - b_1c / (1.d0 + b_2c * rs**0.5d0 + b_3c * rs)
|
||||||
|
w_0 = dexp(-e_c_lsda0/b_1c) - 1.d0
|
||||||
|
beta_inf = 0.066725d0 * 0.1d0 / 0.1778d0
|
||||||
|
cx_xi = -3.d0/(4.d0*pi) * (9.d0 * pi/4.d0)**cst_13 * dx_xi
|
||||||
|
|
||||||
|
x_inf = 0.128026d0
|
||||||
|
f0 = -0.9d0
|
||||||
|
g_inf = 1.d0/(1.d0 + 4.d0 * x_inf * s*s)**0.25d0
|
||||||
|
|
||||||
|
h0 = b_1c * dlog(1.d0 + w_0 * (1.d0 - g_inf))
|
||||||
|
e_c_0 = (e_c_lsda0 + h0) * gc_xi
|
||||||
|
|
||||||
|
ec_scan = e_c_1 + fc_alpha * (e_c_0 - e_c_1)
|
||||||
|
end
|
||||||
|
|
||||||
|
double precision function step_f(x)
|
||||||
|
implicit none
|
||||||
|
double precision, intent(in) :: x
|
||||||
|
if(x.lt.0.d0)then
|
||||||
|
step_f = 0.d0
|
||||||
|
else
|
||||||
|
step_f = 1.d0
|
||||||
|
endif
|
||||||
|
end
|
||||||
|
|
||||||
|
double precision function beta_rs(rs)
|
||||||
|
implicit none
|
||||||
|
double precision, intent(in) ::rs
|
||||||
|
beta_rs(rs) = 0.066725d0 * (1.d0 + 0.1d0 * rs)/(1.d0 + 0.1778d0 * rs)
|
||||||
|
|
||||||
|
end
|
@ -1,18 +1,27 @@
|
|||||||
program rotate_mos
|
program rotate_mos
|
||||||
implicit none
|
implicit none
|
||||||
integer :: iorb,jorb
|
BEGIN_DOC
|
||||||
read(5,*)iorb,jorb
|
! Rotates molecular orbitals i and j by combining them as
|
||||||
double precision, allocatable :: mo_coef_tmp(:,:)
|
! $1/\sqrt{2} ( \phi_i + \phi_j )$ and
|
||||||
allocate(mo_coef_tmp(ao_num,mo_num))
|
! $1/\sqrt{2} ( \phi_i - \phi_j )$.
|
||||||
mo_coef_tmp = mo_coef
|
END_DOC
|
||||||
integer :: i,j
|
integer :: iorb,jorb
|
||||||
double precision :: dsqrt2_inv
|
integer :: i,j
|
||||||
dsqrt2_inv = 1.d0/dsqrt(2.d0)
|
double precision :: dsqrt2_inv
|
||||||
do i = 1, ao_num
|
double precision, allocatable :: mo_coef_tmp(:,:)
|
||||||
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
|
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,32 +1,38 @@
|
|||||||
program sort_by_fock_energies
|
program sort_by_fock_energies
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! programs that save the current mos ordered by Diagonal element of the Fock operator.
|
! 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.
|
! Warning : the Fock operator, and therefore its matrix elements, depends on the occupancy.
|
||||||
END_DOC
|
END_DOC
|
||||||
implicit none
|
implicit none
|
||||||
integer :: i,j,k
|
integer :: i,j,k
|
||||||
integer, allocatable :: iorder(:)
|
integer, allocatable :: iorder(:)
|
||||||
double precision, allocatable :: fock_energies_tmp(:), new_mo_coef(:,:)
|
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)
|
|
||||||
do j = 1, ao_num
|
|
||||||
new_mo_coef(j,i) = mo_coef(j,k)
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
mo_coef = new_mo_coef
|
|
||||||
touch mo_coef
|
|
||||||
call save_mos
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
do j = 1, ao_num
|
||||||
|
new_mo_coef(j,i) = mo_coef(j,k)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
mo_coef = new_mo_coef
|
||||||
|
touch mo_coef
|
||||||
|
call save_mos
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
program swap_mos
|
program swap_mos
|
||||||
implicit none
|
implicit none
|
||||||
integer :: i,j, i1, i2
|
BEGIN_DOC
|
||||||
double precision :: x
|
! Swaps the indices of two molecular orbitals
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j, i1, i2
|
||||||
|
double precision :: x
|
||||||
print *, 'MOs to swap?'
|
print *, 'MOs to swap?'
|
||||||
read(*,*) i1, i2
|
read(*,*) i1, i2
|
||||||
do i=1,ao_num
|
do i=1,ao_num
|
||||||
@ -10,5 +13,5 @@ program swap_mos
|
|||||||
mo_coef(i,i2) = x
|
mo_coef(i,i2) = x
|
||||||
enddo
|
enddo
|
||||||
call save_mos
|
call save_mos
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -301,7 +301,6 @@ function new_zmq_push_socket(thread)
|
|||||||
END_DOC
|
END_DOC
|
||||||
integer, intent(in) :: thread
|
integer, intent(in) :: thread
|
||||||
integer :: rc
|
integer :: rc
|
||||||
character*(8), external :: zmq_port
|
|
||||||
integer(ZMQ_PTR) :: new_zmq_push_socket
|
integer(ZMQ_PTR) :: new_zmq_push_socket
|
||||||
|
|
||||||
call omp_set_lock(zmq_lock)
|
call omp_set_lock(zmq_lock)
|
||||||
@ -425,7 +424,6 @@ subroutine end_zmq_pair_socket(zmq_socket_pair)
|
|||||||
END_DOC
|
END_DOC
|
||||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_pair
|
integer(ZMQ_PTR), intent(in) :: zmq_socket_pair
|
||||||
integer :: rc
|
integer :: rc
|
||||||
character*(8), external :: zmq_port
|
|
||||||
|
|
||||||
call omp_set_lock(zmq_lock)
|
call omp_set_lock(zmq_lock)
|
||||||
rc = f77_zmq_close(zmq_socket_pair)
|
rc = f77_zmq_close(zmq_socket_pair)
|
||||||
@ -445,7 +443,6 @@ subroutine end_zmq_pull_socket(zmq_socket_pull)
|
|||||||
END_DOC
|
END_DOC
|
||||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_pull
|
integer(ZMQ_PTR), intent(in) :: zmq_socket_pull
|
||||||
integer :: rc
|
integer :: rc
|
||||||
character*(8), external :: zmq_port
|
|
||||||
|
|
||||||
! rc = f77_zmq_setsockopt(zmq_socket_pull,ZMQ_LINGER,0,4)
|
! rc = f77_zmq_setsockopt(zmq_socket_pull,ZMQ_LINGER,0,4)
|
||||||
! if (rc /= 0) then
|
! if (rc /= 0) then
|
||||||
@ -472,7 +469,6 @@ subroutine end_zmq_push_socket(zmq_socket_push,thread)
|
|||||||
integer, intent(in) :: thread
|
integer, intent(in) :: thread
|
||||||
integer(ZMQ_PTR), intent(in) :: zmq_socket_push
|
integer(ZMQ_PTR), intent(in) :: zmq_socket_push
|
||||||
integer :: rc
|
integer :: rc
|
||||||
character*(8), external :: zmq_port
|
|
||||||
|
|
||||||
rc = f77_zmq_setsockopt(zmq_socket_push,ZMQ_LINGER,300000,4)
|
rc = f77_zmq_setsockopt(zmq_socket_push,ZMQ_LINGER,300000,4)
|
||||||
if (rc /= 0) then
|
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
|
! Terminate the socket from the application to qp_run
|
||||||
END_DOC
|
END_DOC
|
||||||
integer(ZMQ_PTR), intent(in) :: zmq_to_qp_run_socket
|
integer(ZMQ_PTR), intent(in) :: zmq_to_qp_run_socket
|
||||||
character*(8), external :: zmq_port
|
|
||||||
integer :: rc
|
integer :: rc
|
||||||
|
|
||||||
rc = f77_zmq_setsockopt(zmq_to_qp_run_socket,ZMQ_LINGER,300000,4)
|
rc = f77_zmq_setsockopt(zmq_to_qp_run_socket,ZMQ_LINGER,300000,4)
|
||||||
|
Loading…
Reference in New Issue
Block a user