mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-19 22:41:48 +02:00
commit
bb22f343e3
6
configure
vendored
6
configure
vendored
@ -374,6 +374,12 @@ echo " \ (oo)\_______ "
|
||||
echo " (__)\ )\/\. "
|
||||
echo " ||----w | "
|
||||
echo " || || "
|
||||
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
||||
echo ""
|
||||
echo "Now:"
|
||||
echo ""
|
||||
echo " source $QP_ROOT/quantum_package.rc"
|
||||
echo ""
|
||||
|
||||
|
||||
|
||||
|
@ -212,6 +212,8 @@ def main():
|
||||
|
||||
entities = {}
|
||||
for abs_module in os.listdir(SRC):
|
||||
if os.path.islink(os.path.join(SRC,abs_module)):
|
||||
continue
|
||||
abs_module = os.path.join(SRC,abs_module)
|
||||
if os.path.exists( os.path.join(abs_module, "README.rst") ):
|
||||
read_entities = generate_providers(abs_module)
|
||||
@ -221,6 +223,8 @@ def main():
|
||||
|
||||
for abs_module in os.listdir(SRC):
|
||||
abs_module = os.path.join(SRC,abs_module)
|
||||
if os.path.islink(os.path.join(SRC,abs_module)):
|
||||
continue
|
||||
if os.path.exists( os.path.join(abs_module, "README.rst") ):
|
||||
generate_modules(abs_module,entities)
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
========
|
||||
AO_Basis
|
||||
ao_basis
|
||||
========
|
||||
|
||||
This module describes the atomic orbitals basis set.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
==================
|
||||
AO_one_e_integrals
|
||||
ao_one_e_integrals
|
||||
==================
|
||||
|
||||
All the one-electron integrals in the |AO| basis are here.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
==============
|
||||
Bitmask Module
|
||||
bitmask module
|
||||
==============
|
||||
|
||||
The central part of this module is the :file:`bitmasks_module.f90` file. It contains
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===
|
||||
CIS
|
||||
cis
|
||||
===
|
||||
|
||||
This module contains a CIS program, built by setting the following rules:
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
====
|
||||
CISD
|
||||
cisd
|
||||
====
|
||||
|
||||
This module contains a CISD program, built by setting the following rules:
|
||||
|
@ -1,71 +0,0 @@
|
||||
.. _data_energy_and_density:
|
||||
|
||||
.. program:: data_energy_and_density
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Data energy and density
|
||||
============
|
||||
|
||||
|
||||
This module contains some global variables (such as densities and energies) which are stored in the EZFIO folder in a different place than determinants. This is used in practice to store density matrices which can be obtained from any methods, as long as they are stored in the same MO basis which is used for the calculations. In |RS-DFT| calculations, this can be done to perform damping on the density in order to speed up convergence.
|
||||
|
||||
|
||||
|
||||
EZFIO parameters
|
||||
----------------
|
||||
|
||||
.. option:: data_energy_var
|
||||
|
||||
Variational energy computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_energy_proj
|
||||
|
||||
Projected energy computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_body_alpha_dm_mo
|
||||
|
||||
Alpha one body density matrix on the MO basis computed with the wave function
|
||||
|
||||
|
||||
.. option:: data_one_body_beta_dm_mo
|
||||
|
||||
Beta one body density matrix on the MO basis computed with the wave function
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
.. c:function:: routine
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine routine
|
||||
|
||||
File: :file:`save_one_body_dm.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: save_one_body_dm
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine save_one_body_dm
|
||||
|
||||
File: :file:`save_one_body_dm.irp.f`
|
||||
|
||||
programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder data_energy_and_density.
|
||||
Then, the global variable data_one_body_alpha_dm_mo and data_one_body_beta_dm_mo will automatically read the density in a further calculation.
|
||||
This can be used to perform dampin on the density in RS-DFT calculation (see the density_for_dft module).
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
==============
|
||||
Davidson_Utils
|
||||
==============
|
||||
========
|
||||
davidson
|
||||
========
|
||||
|
||||
Abstract module for Davidson's diagonalization.
|
||||
It contains everything required for the Davidson algorithm, dressed or not. If
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
===============
|
||||
DavidsonDressed
|
||||
===============
|
||||
================
|
||||
davidson_dressed
|
||||
================
|
||||
|
||||
Davidson with single-column dressing.
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=================
|
||||
DavidsonUndressed
|
||||
=================
|
||||
==================
|
||||
davidson_undressed
|
||||
==================
|
||||
|
||||
Module for main files Davidson's algorithm with no dressing.
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Determinants
|
||||
determinants
|
||||
============
|
||||
|
||||
Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis.
|
||||
|
@ -1,19 +0,0 @@
|
||||
.. _dft_utils_one_body:
|
||||
|
||||
.. program:: dft_utils_one_body
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
===========
|
||||
RSDFT_Utils
|
||||
===========
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
@ -8,8 +8,8 @@
|
||||
dress_zmq
|
||||
=========
|
||||
|
||||
Module to facilitate the construction of modules using dressed Hamiltonians, parallelized
|
||||
with |ZeroMQ|.
|
||||
Module to facilitate the construction of modules using dressed
|
||||
Hamiltonians, parallelized with |ZeroMQ|.
|
||||
|
||||
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
.. default-role:: option
|
||||
|
||||
=========
|
||||
Electrons
|
||||
electrons
|
||||
=========
|
||||
|
||||
Describes the electrons. For the moment, only the number of alpha and beta electrons
|
||||
are provided by this module.
|
||||
Describes the electrons. For the moment, only the number of alpha
|
||||
and beta electrons are provided by this module.
|
||||
|
||||
|
||||
Assumptions
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===========
|
||||
Ezfio_files
|
||||
ezfio_files
|
||||
===========
|
||||
|
||||
This modules essentially contains the name of the |EZFIO| directory in the
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===
|
||||
FCI
|
||||
fci
|
||||
===
|
||||
|
||||
Selected Full Configuration Interaction.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
==============
|
||||
Generators_CAS
|
||||
generators_cas
|
||||
==============
|
||||
|
||||
Module defining the generator determinants as those belonging to a |CAS|.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===============
|
||||
Generators_full
|
||||
generators_full
|
||||
===============
|
||||
|
||||
Module defining the generator determinants as all the determinants of the
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Hartree-Fock
|
||||
hartree_fock
|
||||
============
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ It performs the following actions:
|
||||
The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f`
|
||||
For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options.
|
||||
The main are:
|
||||
|
||||
# :option:`scf_utils thresh_scf`
|
||||
# :option:`scf_utils level_shift`
|
||||
|
||||
|
@ -4,11 +4,12 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=============
|
||||
IterativeSave
|
||||
=============
|
||||
==========
|
||||
iterations
|
||||
==========
|
||||
|
||||
Module which saves the computed energies for an extrapolation to the |FCI| limit.
|
||||
Module which saves the computed energies for an extrapolation to
|
||||
the |FCI| limit.
|
||||
|
||||
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Kohn-Sham
|
||||
============
|
||||
=========
|
||||
kohn_sham
|
||||
=========
|
||||
|
||||
|
||||
The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=========================
|
||||
Range-separated Kohn-Sham
|
||||
=========================
|
||||
============
|
||||
kohn_sham_rs
|
||||
============
|
||||
|
||||
|
||||
The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
========
|
||||
MO_Basis
|
||||
mo_basis
|
||||
========
|
||||
|
||||
Molecular orbitals are expressed as
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=======
|
||||
MOGuess
|
||||
=======
|
||||
========
|
||||
mo_guess
|
||||
========
|
||||
|
||||
Guess for |MOs|.
|
||||
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
================
|
||||
Integrals_Bielec
|
||||
================
|
||||
==================
|
||||
mo_two_e_integrals
|
||||
==================
|
||||
|
||||
Here, all two-electron integrals (:math:`1/r_{12}`) are computed.
|
||||
As they have 4 indices and many are zero, they are stored in a map, as defined
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===
|
||||
MPI
|
||||
mpi
|
||||
===
|
||||
|
||||
Contains all the functions and providers for parallelization with |MPI|.
|
||||
|
@ -1,357 +0,0 @@
|
||||
.. _mrcc:
|
||||
|
||||
.. program:: mrcc
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
====
|
||||
MRCC
|
||||
====
|
||||
|
||||
Multi-Reference Coupled Cluster module:
|
||||
|
||||
#. A simple approach to the state-specific MR-CC using the intermediate Hamiltonian formalism
|
||||
Emmanuel Giner , Grégoire David , Anthony Scemama and Jean Paul Malrieu (2016), in: J. Chem. Phys., 144:6(064101)
|
||||
|
||||
#. Alternative definition of excitation amplitudes in multi-reference state-specific coupled cluster
|
||||
Yann Garniron , Emmanuel Giner , Jean Paul Malrieu and Anthony Scemama (2017), in: The Journal of Chemical Physics, 146:15(154107)
|
||||
|
||||
Using this module requires to have a selected |CAS-SD| wave function.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
EZFIO parameters
|
||||
----------------
|
||||
|
||||
.. option:: lambda_type
|
||||
|
||||
Type of amplitudes used. 0 is defined in ref 2, 1 is defined in ref 1.
|
||||
|
||||
Default: 0
|
||||
|
||||
.. option:: energy
|
||||
|
||||
|MRCC| energy
|
||||
|
||||
|
||||
.. option:: energy_pt2
|
||||
|
||||
Selected |MRCC| energy, with |PT2| contribution to estimate the complete |MRCC| energy
|
||||
|
||||
|
||||
.. option:: perturbative_triples
|
||||
|
||||
If `True`, compute the perturbative contribution of the Triples
|
||||
|
||||
Default: true
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: dia_hla_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: dia_sla_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: excs_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hij_cache_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: idx_buf
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: phases_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_ref_detsorted
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer(bit_kind), allocatable :: psi_ref_detsorted (N_int,2,N_det_ref)
|
||||
integer, allocatable :: psi_ref_detsorted_idx (N_det_ref)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_ref_detsorted_idx
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer(bit_kind), allocatable :: psi_ref_detsorted (N_int,2,N_det_ref)
|
||||
integer, allocatable :: psi_ref_detsorted_idx (N_det_ref)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: sij_cache_
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: sorted_mini
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: sij_cache_ (N_det,Nproc)
|
||||
double precision, allocatable :: dia_hla_ (N_states,N_det,Nproc)
|
||||
double precision, allocatable :: dia_sla_ (N_states,N_det,Nproc)
|
||||
integer(bit_kind), allocatable :: sorted_mini (N_int,2,N_det,Nproc)
|
||||
integer, allocatable :: excs_ (0:2,2,2,N_det,Nproc)
|
||||
integer, allocatable :: idx_buf (N_det,Nproc)
|
||||
double precision, allocatable :: phases_ (N_det,Nproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
temporay arrays for dress_with_alpha_buffer. Avoids reallocation.
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
.. c:function:: dress_with_alpha_buffer
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine dress_with_alpha_buffer(Nstates, Ndet,Nint,delta_ij_loc, i_gen, minilist, det_minilist, n_minilist, alpha, iproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
delta_ij_loc(:,:,1) : dressing column for H delta_ij_loc(:,:,2) : dressing column for S2 i_gen : generator index in psi_det_generators minilist : indices of determinants connected to alpha ( in psi_det ) n_minilist : size of minilist alpha : alpha determinant
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: dress_with_alpha_buffer_neu
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine dress_with_alpha_buffer_neu(Nstates,Ndet,Nint,delta_ij_loc, i_gen, minilist, det_minilist, n_minilist, alpha, iproc)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
delta_ij_loc(:,:,1) : dressing column for H delta_ij_loc(:,:,2) : dressing column for S2 i_gen : generator index in psi_det_generators minilist : indices of determinants connected to alpha ( in psi_det ) n_minilist : size of minilist alpha : alpha determinant
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: generator_start
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine generator_start(i_gen, iproc, interesting)
|
||||
|
||||
File: :file:`mrcc_routines.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: mrcc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine mrcc
|
||||
|
||||
File: :file:`mrcc.irp.f`
|
||||
|
||||
Multi-reference Coulped Cluster
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: provide_all
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine provide_all
|
||||
|
||||
File: :file:`mrcc_slave.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: run_pt2
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine run_pt2(N_st,energy)
|
||||
|
||||
File: :file:`mrcc.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: run_w
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine run_w
|
||||
|
||||
File: :file:`mrcc_slave.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: shifted_bk_slave
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine shifted_bk_slave
|
||||
|
||||
File: :file:`mrcc_slave.irp.f`
|
||||
|
||||
Helper program to compute the dressing in distributed mode.
|
||||
|
||||
|
@ -1,960 +0,0 @@
|
||||
.. _mrcc_utils:
|
||||
|
||||
.. program:: mrcc_utils
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
==========
|
||||
MRCC_Utils
|
||||
==========
|
||||
|
||||
Subroutines and providers required for |MRCC|.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: active_excitation_to_determinants_idx
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: active_excitation_to_determinants_idx (0:N_det_ref+1,n_exc_active_sze)
|
||||
double precision, allocatable :: active_excitation_to_determinants_val (N_states,N_det_ref+1,n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
Sparse matrix A containing the matrix to transform the active excitations to determinants : A | \Psi_0 > = | \Psi_SD >
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: active_excitation_to_determinants_val
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: active_excitation_to_determinants_idx (0:N_det_ref+1,n_exc_active_sze)
|
||||
double precision, allocatable :: active_excitation_to_determinants_val (N_states,N_det_ref+1,n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
Sparse matrix A containing the matrix to transform the active excitations to determinants : A | \Psi_0 > = | \Psi_SD >
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: active_hh_idx
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_exc_active
|
||||
integer, allocatable :: active_pp_idx (hh_nex)
|
||||
integer, allocatable :: active_hh_idx (hh_nex)
|
||||
logical, allocatable :: is_active_exc (hh_nex)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
is_active_exc : True if the excitation involves at least one active MO
|
||||
n_exc_active : Number of active excitations : Number of excitations without the inactive ones.
|
||||
active_hh_idx :
|
||||
active_pp_idx :
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: active_pp_idx
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_exc_active
|
||||
integer, allocatable :: active_pp_idx (hh_nex)
|
||||
integer, allocatable :: active_hh_idx (hh_nex)
|
||||
logical, allocatable :: is_active_exc (hh_nex)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
is_active_exc : True if the excitation involves at least one active MO
|
||||
n_exc_active : Number of active excitations : Number of excitations without the inactive ones.
|
||||
active_hh_idx :
|
||||
active_pp_idx :
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: dij
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: dij (N_det_ref,N_det_non_ref,N_states)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: dij_unique
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: dij_unique (hh_nex,N_states)
|
||||
double precision, allocatable :: rho_mrcc (N_det_non_ref,N_states)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: has_a_unique_parent
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical, allocatable :: has_a_unique_parent (N_det_non_ref)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
True if the determinant in the non-reference has a unique parent
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hh_exists
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: hh_exists (4,N_hh_exists)
|
||||
integer, allocatable :: pp_exists (4,N_pp_exists)
|
||||
integer, allocatable :: hh_shortcut (0:N_hh_exists + 1)
|
||||
integer :: hh_nex
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
hh_exists :
|
||||
pp_exists :
|
||||
hh_shortcut :
|
||||
hh_nex : Total number of excitation operators
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hh_nex
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: hh_exists (4,N_hh_exists)
|
||||
integer, allocatable :: pp_exists (4,N_pp_exists)
|
||||
integer, allocatable :: hh_shortcut (0:N_hh_exists + 1)
|
||||
integer :: hh_nex
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
hh_exists :
|
||||
pp_exists :
|
||||
hh_shortcut :
|
||||
hh_nex : Total number of excitation operators
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hh_shortcut
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: hh_exists (4,N_hh_exists)
|
||||
integer, allocatable :: pp_exists (4,N_pp_exists)
|
||||
integer, allocatable :: hh_shortcut (0:N_hh_exists + 1)
|
||||
integer :: hh_nex
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
hh_exists :
|
||||
pp_exists :
|
||||
hh_shortcut :
|
||||
hh_nex : Total number of excitation operators
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hij_mrcc
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: hij_mrcc (N_det_non_ref,N_det_ref)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
< ref | H | Non-ref > matrix
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: is_active_exc
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_exc_active
|
||||
integer, allocatable :: active_pp_idx (hh_nex)
|
||||
integer, allocatable :: active_hh_idx (hh_nex)
|
||||
logical, allocatable :: is_active_exc (hh_nex)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
is_active_exc : True if the excitation involves at least one active MO
|
||||
n_exc_active : Number of active excitations : Number of excitations without the inactive ones.
|
||||
active_hh_idx :
|
||||
active_pp_idx :
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: lambda_mrcc
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: lambda_mrcc (N_states,N_det_non_ref)
|
||||
integer, allocatable :: lambda_mrcc_pt2 (0:psi_det_size)
|
||||
integer, allocatable :: lambda_mrcc_kept (0:psi_det_size)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: lambda_mrcc_kept
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: lambda_mrcc (N_states,N_det_non_ref)
|
||||
integer, allocatable :: lambda_mrcc_pt2 (0:psi_det_size)
|
||||
integer, allocatable :: lambda_mrcc_kept (0:psi_det_size)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: lambda_mrcc_pt2
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: lambda_mrcc (N_states,N_det_non_ref)
|
||||
integer, allocatable :: lambda_mrcc_pt2 (0:psi_det_size)
|
||||
integer, allocatable :: lambda_mrcc_kept (0:psi_det_size)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
cm/<Psi_0|H|D_m> or perturbative 1/Delta_E(m)
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mrcc_ata_ind
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: mrcc_ata_ind (N_det_ref * n_exc_active_sze)
|
||||
double precision, allocatable :: mrcc_ata_val (N_states,N_det_ref * n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_col_shortcut (n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_n_col (n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
A is active_excitation_to_determinants in At.A
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mrcc_ata_val
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: mrcc_ata_ind (N_det_ref * n_exc_active_sze)
|
||||
double precision, allocatable :: mrcc_ata_val (N_states,N_det_ref * n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_col_shortcut (n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_n_col (n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
A is active_excitation_to_determinants in At.A
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mrcc_col_shortcut
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: mrcc_ata_ind (N_det_ref * n_exc_active_sze)
|
||||
double precision, allocatable :: mrcc_ata_val (N_states,N_det_ref * n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_col_shortcut (n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_n_col (n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
A is active_excitation_to_determinants in At.A
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mrcc_n_col
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: mrcc_ata_ind (N_det_ref * n_exc_active_sze)
|
||||
double precision, allocatable :: mrcc_ata_val (N_states,N_det_ref * n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_col_shortcut (n_exc_active_sze)
|
||||
integer, allocatable :: mrcc_n_col (n_exc_active_sze)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
A is active_excitation_to_determinants in At.A
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mrmode
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: mrmode
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_ex_exists
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_hh_exists
|
||||
integer :: n_pp_exists
|
||||
integer :: n_ex_exists
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_exc_active
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_exc_active
|
||||
integer, allocatable :: active_pp_idx (hh_nex)
|
||||
integer, allocatable :: active_hh_idx (hh_nex)
|
||||
logical, allocatable :: is_active_exc (hh_nex)
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
is_active_exc : True if the excitation involves at least one active MO
|
||||
n_exc_active : Number of active excitations : Number of excitations without the inactive ones.
|
||||
active_hh_idx :
|
||||
active_pp_idx :
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_exc_active_sze
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_exc_active_sze
|
||||
|
||||
File: :file:`amplitudes.irp.f`
|
||||
|
||||
Dimension of arrays to avoid zero-sized arrays
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_hh_exists
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_hh_exists
|
||||
integer :: n_pp_exists
|
||||
integer :: n_ex_exists
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_pp_exists
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_hh_exists
|
||||
integer :: n_pp_exists
|
||||
integer :: n_ex_exists
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: pp_exists
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer, allocatable :: hh_exists (4,N_hh_exists)
|
||||
integer, allocatable :: pp_exists (4,N_pp_exists)
|
||||
integer, allocatable :: hh_shortcut (0:N_hh_exists + 1)
|
||||
integer :: hh_nex
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
hh_exists :
|
||||
pp_exists :
|
||||
hh_shortcut :
|
||||
hh_nex : Total number of excitation operators
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_non_ref_sorted
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer(bit_kind), allocatable :: psi_non_ref_sorted (N_int,2,N_det_non_ref)
|
||||
integer, allocatable :: psi_non_ref_sorted_idx (N_det_non_ref)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_non_ref_sorted_idx
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer(bit_kind), allocatable :: psi_non_ref_sorted (N_int,2,N_det_non_ref)
|
||||
integer, allocatable :: psi_non_ref_sorted_idx (N_det_non_ref)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_ref_lock
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer(omp_lock_kind), allocatable :: psi_ref_lock (psi_det_size)
|
||||
|
||||
File: :file:`mrcc_dress.irp.f`
|
||||
|
||||
Locks on ref determinants to fill delta_ij
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: rho_mrcc
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision, allocatable :: dij_unique (hh_nex,N_states)
|
||||
double precision, allocatable :: rho_mrcc (N_det_non_ref,N_states)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
|
||||
|
||||
.. c:function:: apply_hole_local
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine apply_hole_local(det, exc, res, ok, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: apply_particle_local
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine apply_particle_local(det, exc, res, ok, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: dec_exc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine dec_exc(exc, h1, h2, p1, p2)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: exc_inf
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical function exc_inf(exc1, exc2)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: exccmp
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer function excCmp(exc1, exc2)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: exceq
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical function excEq(exc1, exc2)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: find_triples_and_quadruples
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq,miniList,N_miniList)
|
||||
|
||||
File: :file:`mrcc_dress.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: find_triples_and_quadruples_micro
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine find_triples_and_quadruples_micro(i_generator,n_selected,det_buffer,Nint,tq,N_tq,microlist,ptr_microlist,N_microlist,key_mask)
|
||||
|
||||
File: :file:`mrcc_dress.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_dij
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision function get_dij(det1, det2, s, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: get_dij_index
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision function get_dij_index(II, i, s, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc(delta_ij_, Nstates, Ndet_non_ref, Ndet_ref)
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_diexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in , delta_ij_, Nstates, Ndet_non_ref, Ndet_ref )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_diexcorg
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in , delta_ij_, Nstates, Ndet_non_ref, Ndet_ref )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_diexcp
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in , delta_ij_, Nstates, Ndet_non_ref, Ndet_ref )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_monoexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in , delta_ij_, Nstates, Ndet_non_ref, Ndet_ref )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_pt2
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_PT2(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_pt2_diexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_PT2_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_pt2_diexcorg
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_PT2_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_pt2_diexcp
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_PT2_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcc_pt2_monoexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcc_PT2_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcepa_pt2
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcepa_PT2(pt2, norm_pert, H_pert_diag, N_st)
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Calls H_apply on the HF determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcepa_pt2_diexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcepa_PT2_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcepa_pt2_diexcorg
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcepa_PT2_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcepa_pt2_diexcp
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcepa_PT2_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: h_apply_mrcepa_pt2_monoexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine H_apply_mrcepa_PT2_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in ,sum_e_2_pert_in,sum_norm_pert_in,sum_H_pert_diag_in,N_st,Nint )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_38`
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: is_generable
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical function is_generable(det1, det2, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: mrcc_dress
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine mrcc_dress(delta_ij_, Nstates, Ndet_non_ref, Ndet_ref,i_generator,n_selected,det_buffer,Nint,iproc,key_mask)
|
||||
|
||||
File: :file:`mrcc_dress.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: searchdet
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer function searchDet(dets, det, n, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: searchexc
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer function searchExc(excs, exc, n)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: sort_det
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine sort_det(key, idx, N_key, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: sort_exc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine sort_exc(key, N_key)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: tamise_exc
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine tamise_exc(key, no, n, N_key)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
Uncodumented : TODO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: unsortedsearchdet
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer function unsortedSearchDet(dets, det, n, Nint)
|
||||
|
||||
File: :file:`mrcc_utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
======
|
||||
Nuclei
|
||||
nuclei
|
||||
======
|
||||
|
||||
This module contains data relative to the nuclei (coordinates, charge,
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Perturbation
|
||||
perturbation
|
||||
============
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
======
|
||||
Pseudo
|
||||
pseudo
|
||||
======
|
||||
|
||||
This module defines the |EZFIO| parameters of the effective core potentials.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
==========
|
||||
Psiref_CAS
|
||||
psiref_cas
|
||||
==========
|
||||
|
||||
Reference wave function is defined as a |CAS| wave function.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
============
|
||||
Psiref_Utils
|
||||
psiref_utils
|
||||
============
|
||||
|
||||
|
||||
|
38
docs/source/modules/read_integral.rst
Normal file
38
docs/source/modules/read_integral.rst
Normal file
@ -0,0 +1,38 @@
|
||||
.. _read_integral:
|
||||
|
||||
.. program:: read_integral
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
=============
|
||||
read_integral
|
||||
=============
|
||||
|
||||
Warning: CAN NOT CHANGE THE NUMBER OF MO !
|
||||
Scripts to read integrals and metadata and generates fake ezfio
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
|
||||
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`print_integrals <http://github.com/LCPQ/quantum_package/tree/master/plugins/read_integral/read_integrals_mo.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`run <http://github.com/LCPQ/quantum_package/tree/master/plugins/read_integral/read_integrals_mo.irp.f#L8>`_
|
||||
Undocumented
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===============
|
||||
Selectors_CASSD
|
||||
selectors_cassd
|
||||
===============
|
||||
|
||||
Selectors for |CAS-SD| calculations. The selectors are defined as first the
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
==============
|
||||
Selectors_full
|
||||
selectors_full
|
||||
==============
|
||||
|
||||
All the determinants are possible selectors. Only the largest contributions are kept, where
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===============
|
||||
Selectors_Utils
|
||||
selectors_utils
|
||||
===============
|
||||
|
||||
Helper functions for selectors.
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
.. default-role:: option
|
||||
|
||||
===============
|
||||
SingleDetMethod
|
||||
===============
|
||||
=================
|
||||
single_ref_method
|
||||
=================
|
||||
|
||||
Include this module for single reference methods.
|
||||
Using this module, the only generator determinant is the Hartree-Fock determinant.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
=====
|
||||
Slave
|
||||
slave
|
||||
=====
|
||||
|
||||
Slave processes for distributed parallelism.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
=====
|
||||
Tools
|
||||
tools
|
||||
=====
|
||||
|
||||
Useful tools are grouped in this module.
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
=====
|
||||
Utils
|
||||
utils
|
||||
=====
|
||||
|
||||
Contains general purpose utilities (sorting, maps, etc).
|
||||
|
@ -5,7 +5,7 @@
|
||||
.. default-role:: option
|
||||
|
||||
===
|
||||
ZMQ
|
||||
zmq
|
||||
===
|
||||
|
||||
Definition of |ZeroMQ| sockets and messages.
|
||||
|
@ -23,7 +23,7 @@ in :file:`$QP_ROOT/plugins`.
|
||||
|
||||
The list of available uninstalled plugins can be seen using:
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: bash
|
||||
|
||||
qp_plugins list -u
|
||||
|
||||
@ -31,7 +31,7 @@ The list of available uninstalled plugins can be seen using:
|
||||
Now, the specific plugin :file:`ext_module` contained in the repository
|
||||
:file:`ext_repo` can be installed using:
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: bash
|
||||
|
||||
qp_plugins install ext_module
|
||||
|
||||
@ -42,7 +42,7 @@ and can be compiled as any module, running |Ninja|.
|
||||
|
||||
To remove the module, run
|
||||
|
||||
.. code-block::
|
||||
.. code-block:: bash
|
||||
|
||||
qp_plugins uninstall ext_module
|
||||
|
||||
|
@ -43,7 +43,7 @@ The file :file:`hcn.xyz` contains::
|
||||
N 0.0 0.0 -1.156
|
||||
|
||||
|
||||
This xyz file is now used with the :command:`qp_create_ezfio_from_xyz` command to
|
||||
This xyz file is now used with the :ref:`qp_create_ezfio_from_xyz` command to
|
||||
create an |EZFIO| database with the 6-31G basis set:
|
||||
|
||||
.. code:: bash
|
||||
|
@ -79,7 +79,7 @@ let dummy_centers ~threshold ~molecule ~nuclei =
|
||||
(** Returns the list of available basis sets *)
|
||||
let list_basis () =
|
||||
let basis_list =
|
||||
Qpackage.root ^ "/install/emsl/EMSL_api.py list_basis"
|
||||
"python2 "^ Qpackage.root ^ "/external/emsl/EMSL_api.py list_basis"
|
||||
|> Unix.open_process_in
|
||||
|> In_channel.input_lines
|
||||
|> List.map ~f:(fun x ->
|
||||
|
@ -1 +1 @@
|
||||
DavidsonDressed Perturbation Selectors_full Generators_full Psiref_CAS MRCC_Utils ZMQ
|
||||
davidson_dressed perturbation selectors_full generators_full psiref_cas mrcc_utils zmq
|
||||
|
@ -1 +1,2 @@
|
||||
AO_one_e_integrals MO_one_e_integrals Integrals_Bielec Hartree_Fock
|
||||
ao_one_e_integrals mo_one_e_integrals hartree_fock
|
||||
ao_two_e_integrals mo_two_e_integrals
|
||||
|
@ -39,7 +39,7 @@ try:
|
||||
from docopt import docopt
|
||||
from module_handler import ModuleHandler, get_dict_child
|
||||
from module_handler import get_l_module_descendant
|
||||
from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT
|
||||
from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT, QP_DATA
|
||||
except ImportError:
|
||||
print "Please check if you have sourced the ${QP_ROOT}/quantum_package.rc"
|
||||
print "(`source ${QP_ROOT}/quantum_package.rc`)"
|
||||
@ -73,6 +73,11 @@ def save_new_module(path, l_child):
|
||||
with open(os.path.join(path, "README.rst"), "w") as f:
|
||||
f.write(header + "\n")
|
||||
|
||||
with open(os.path.join(path, ".gitignore"), "w") as f:
|
||||
with open(os.path.join(QP_DATA, "module_gitignore"), "r") as g:
|
||||
data = g.read()
|
||||
f.write(data)
|
||||
|
||||
with open(os.path.join(path, "%s.irp.f"%(module_name) ), "w") as f:
|
||||
f.write("program {0}".format(module_name) )
|
||||
f.write("""
|
||||
|
@ -10,8 +10,9 @@ except:
|
||||
print "source quantum_package.rc"
|
||||
sys.exit(1)
|
||||
else:
|
||||
QP_EZFIO = os.environ["QP_EZFIO"]
|
||||
QP_SRC = os.path.join(QP_ROOT, "src")
|
||||
QP_PLUGINS = os.path.join(QP_ROOT, "plugins")
|
||||
QP_EZFIO = os.environ["QP_EZFIO"]
|
||||
QP_OCAML = os.path.join(QP_ROOT, "ocaml")
|
||||
QP_TESTS = os.path.join(QP_ROOT, "tests")
|
||||
QP_DATA = os.path.join(QP_ROOT, "data")
|
||||
|
@ -1,5 +1,5 @@
|
||||
========
|
||||
AO_Basis
|
||||
ao_basis
|
||||
========
|
||||
|
||||
This module describes the atomic orbitals basis set.
|
||||
|
@ -1,5 +1,5 @@
|
||||
==================
|
||||
AO_one_e_integrals
|
||||
ao_one_e_integrals
|
||||
==================
|
||||
|
||||
All the one-electron integrals in the |AO| basis are here.
|
||||
|
@ -1,5 +1,5 @@
|
||||
==============
|
||||
Bitmask Module
|
||||
bitmask module
|
||||
==============
|
||||
|
||||
The central part of this module is the :file:`bitmasks_module.f90` file. It contains
|
||||
|
@ -1,5 +1,5 @@
|
||||
===
|
||||
CIS
|
||||
cis
|
||||
===
|
||||
|
||||
This module contains a CIS program, built by setting the following rules:
|
||||
|
@ -1,5 +1,5 @@
|
||||
====
|
||||
CISD
|
||||
cisd
|
||||
====
|
||||
|
||||
This module contains a CISD program, built by setting the following rules:
|
||||
|
@ -1,6 +1,6 @@
|
||||
==============
|
||||
Davidson_Utils
|
||||
==============
|
||||
========
|
||||
davidson
|
||||
========
|
||||
|
||||
Abstract module for Davidson's diagonalization.
|
||||
It contains everything required for the Davidson algorithm, dressed or not. If
|
||||
|
@ -1,6 +1,6 @@
|
||||
===============
|
||||
DavidsonDressed
|
||||
===============
|
||||
================
|
||||
davidson_dressed
|
||||
================
|
||||
|
||||
Davidson with single-column dressing.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
=================
|
||||
DavidsonUndressed
|
||||
=================
|
||||
==================
|
||||
davidson_undressed
|
||||
==================
|
||||
|
||||
Module for main files Davidson's algorithm with no dressing.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
============
|
||||
Determinants
|
||||
determinants
|
||||
============
|
||||
|
||||
Contains everything for the computation of the Hamiltonian matrix elements in the basis of orthogonal Slater determinants built on a restricted spin-orbitals basis.
|
||||
|
@ -2,6 +2,6 @@
|
||||
dress_zmq
|
||||
=========
|
||||
|
||||
Module to facilitate the construction of modules using dressed Hamiltonians, parallelized
|
||||
with |ZeroMQ|.
|
||||
Module to facilitate the construction of modules using dressed
|
||||
Hamiltonians, parallelized with |ZeroMQ|.
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
=========
|
||||
Electrons
|
||||
electrons
|
||||
=========
|
||||
|
||||
Describes the electrons. For the moment, only the number of alpha and beta electrons
|
||||
are provided by this module.
|
||||
Describes the electrons. For the moment, only the number of alpha
|
||||
and beta electrons are provided by this module.
|
||||
|
||||
|
||||
Assumptions
|
||||
|
103
src/ezfio_files/00.create.bats
Normal file
103
src/ezfio_files/00.create.bats
Normal file
@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run {
|
||||
INPUT=$1
|
||||
EZ=${INPUT/.xyz/.ezfio}
|
||||
EZ=${EZ/.zmt/.ezfio}
|
||||
MULT=$2
|
||||
CHARGE=$3
|
||||
BASIS=$4
|
||||
if [[ -n $5 ]] ; then
|
||||
PSEUDO="-p $5"
|
||||
fi
|
||||
cp ${QP_ROOT}/tests/input/$INPUT .
|
||||
rm -rf $EZ
|
||||
qp_create_ezfio_from_xyz \
|
||||
$INPUT -b "$BASIS" -m $MULT -c $CHARGE $PSEUDO -o $EZ
|
||||
qp_edit -c $EZ
|
||||
echo "Write" > ${EZ}/ao_two_e_integrals/disk_access_ao_integrals
|
||||
}
|
||||
|
||||
|
||||
@test "qp_create c2h2.xyz" {
|
||||
run c2h2.xyz 1 0 vdz-bfd bfd
|
||||
}
|
||||
|
||||
@test "qp_create clo.xyz" {
|
||||
run clo.xyz 2 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create dhno.xyz" {
|
||||
run dhno.xyz 2 0 chipman-dzp
|
||||
}
|
||||
|
||||
@test "qp_create h3coh.xyz" {
|
||||
run h3coh.xyz 1 0 6-31g
|
||||
}
|
||||
|
||||
@test "qp_create hcn.xyz" {
|
||||
run hcn.xyz 1 0 aug-cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create n2.xyz" {
|
||||
run n2.xyz 1 0 cc-pvtz
|
||||
}
|
||||
|
||||
@test "qp_create sih2_3b1.xyz" {
|
||||
run sih2_3b1.xyz 1 0 6-31g
|
||||
}
|
||||
|
||||
@test "qp_create so.xyz" {
|
||||
run so.xyz 3 0 vdz-bfd bfd
|
||||
}
|
||||
|
||||
@test "qp_create ch4.xyz" {
|
||||
run ch4.xyz 1 0 aug-cc-pvtz
|
||||
}
|
||||
|
||||
@test "qp_create co2.xyz" {
|
||||
run co2.xyz 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create f2.zmt" {
|
||||
run f2.zmt 1 0 "Def2-TZVP"
|
||||
}
|
||||
|
||||
@test "qp_create hco.xyz" {
|
||||
run hco.xyz 2 0 "Ahlrichs VDZ"
|
||||
}
|
||||
|
||||
@test "qp_create nh3.xyz" {
|
||||
run nh3.xyz 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create sih3.xyz" {
|
||||
run sih3.xyz 2 0 vdz-bfd bfd
|
||||
}
|
||||
|
||||
@test "qp_create clf.xyz" {
|
||||
run clf.xyz 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create h2o2.zmt" {
|
||||
run h2o2.zmt 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create h2s.xyz" {
|
||||
run h2s.xyz 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create n2h4.zmt" {
|
||||
run n2h4.zmt 1 0 cc-pvdz
|
||||
}
|
||||
|
||||
@test "qp_create oh.xyz" {
|
||||
run oh.xyz 2 0 "Roos Augmented Double Zeta ANO"
|
||||
}
|
||||
|
||||
@test "qp_create so2.xyz" {
|
||||
run so2.xyz 1 0 vtz-bfd bfd
|
||||
}
|
||||
|
25
src/ezfio_files/01.convert.bats
Normal file
25
src/ezfio_files/01.convert.bats
Normal file
@ -0,0 +1,25 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run {
|
||||
INPUT=$1
|
||||
EZ=$2
|
||||
cp ${QP_ROOT}/tests/input/$INPUT .
|
||||
qp_convert_output_to_ezfio $INPUT -o $EZ
|
||||
qp_edit -c $EZ
|
||||
echo "Write" > ${EZ}/ao_two_e_integrals/disk_access_ao_integrals
|
||||
}
|
||||
|
||||
#=== Convert
|
||||
@test "gamess convert hbo.gms.out" {
|
||||
run hbo.gms.out hbo.ezfio
|
||||
}
|
||||
|
||||
@test "g09 convert h2o.log" {
|
||||
run h2o.log h2o.ezfio
|
||||
}
|
||||
|
||||
@test "gamess convert cu_nh3_4_2plus.gms.out" {
|
||||
run cu_nh3_4_2plus.gms.out cu_nh3_4_2plus.ezfio
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
#!/usr/bin/env bats
|
||||
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
#=== Convert
|
||||
@test "gamess convert HBO.out" {
|
||||
cp ${QP_ROOT}/tests/input/HBO.out .
|
||||
qp_convert_output_to_ezfio HBO.out
|
||||
qp_edit -c HBO.out.ezfio
|
||||
ezfio set_file HBO.out.ezfio
|
||||
qp_run scf HBO.out.ezfio
|
||||
# Check energy
|
||||
energy="$(ezfio get hartree_fock energy)"
|
||||
eq $energy -100.0185822590964 1.e-10
|
||||
}
|
||||
|
||||
@test "g09 convert H2O.log" {
|
||||
cp ${QP_ROOT}/tests/input/h2o.log .
|
||||
qp_convert_output_to_ezfio h2o.log
|
||||
qp_edit -c h2o.log.ezfio
|
||||
ezfio set_file h2o.log.ezfio
|
||||
qp_run scf h2o.log.ezfio
|
||||
# Check energy
|
||||
energy="$(ezfio get hartree_fock energy)"
|
||||
eq $energy -76.0270218704265 1E-10
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
===========
|
||||
Ezfio_files
|
||||
ezfio_files
|
||||
===========
|
||||
|
||||
This modules essentially contains the name of the |EZFIO| directory in the
|
||||
|
@ -1,5 +1,5 @@
|
||||
===
|
||||
FCI
|
||||
fci
|
||||
===
|
||||
|
||||
Selected Full Configuration Interaction.
|
||||
|
@ -1,5 +1,5 @@
|
||||
==============
|
||||
Generators_CAS
|
||||
generators_cas
|
||||
==============
|
||||
|
||||
Module defining the generator determinants as those belonging to a |CAS|.
|
||||
|
@ -1,5 +1,5 @@
|
||||
===============
|
||||
Generators_full
|
||||
generators_full
|
||||
===============
|
||||
|
||||
Module defining the generator determinants as all the determinants of the
|
||||
|
@ -2,61 +2,34 @@
|
||||
|
||||
source $QP_ROOT/tests/bats/common.bats.sh
|
||||
|
||||
function run_init() {
|
||||
cp "${QP_ROOT}/tests/input/$1" .
|
||||
rm -rf -- $3
|
||||
qp_create_ezfio_from_xyz $1 -o $3 $2
|
||||
qp_edit -c $3
|
||||
}
|
||||
|
||||
|
||||
function run_HF() {
|
||||
function run() {
|
||||
thresh=1.e-8
|
||||
test_exe scf || skip
|
||||
qp_edit -c $1
|
||||
ezfio set_file $1
|
||||
ezfio set scf_utils thresh_scf 1.e-10
|
||||
qp_run scf $1
|
||||
qp_set_frozen_core $1
|
||||
energy="$(ezfio get hartree_fock energy)"
|
||||
eq $energy $2 $thresh
|
||||
}
|
||||
|
||||
|
||||
|
||||
#=== DHNO
|
||||
@test "init DHNO chipman-dzp" {
|
||||
run_init dhno.xyz "-b chipman-dzp -m 2" dhno.ezfio
|
||||
@test "SCF HBO" {
|
||||
run hbo.ezfio -100.018582259096
|
||||
}
|
||||
|
||||
@test "SCF H2O" {
|
||||
run h2o.ezfio -0.760270218692179E+02
|
||||
}
|
||||
|
||||
@test "SCF H2O" {
|
||||
run cu_nh3_4_2plus.ezfio -1862.97590388214
|
||||
}
|
||||
|
||||
@test "SCF DHNO chipman-dzp" {
|
||||
run_HF dhno.ezfio -130.4278777822
|
||||
}
|
||||
|
||||
#=== HBO
|
||||
@test "init HBO STO-3G" {
|
||||
run_init HBO.xyz "-b STO-3G" hbo.ezfio
|
||||
}
|
||||
|
||||
@test "SCF HBO STO-3G" {
|
||||
run_HF hbo.ezfio -98.8251985678084
|
||||
run dhno.ezfio -130.4278777822
|
||||
}
|
||||
|
||||
|
||||
#=== H2O
|
||||
@test "init H2O cc-pVDZ" {
|
||||
run_init h2o.xyz "-b cc-pvdz" h2o.ezfio
|
||||
}
|
||||
|
||||
@test "SCF H2O cc-pVDZ" {
|
||||
run_HF h2o.ezfio -0.760270218692179E+02
|
||||
}
|
||||
|
||||
#=== H2O Pseudo
|
||||
@test "init H2O VDZ pseudo" {
|
||||
run_init h2o.xyz "-p bfd -b vdz-bfd" h2o_pseudo.ezfio
|
||||
}
|
||||
|
||||
@test "SCF H2O VDZ pseudo" {
|
||||
run_HF h2o_pseudo.ezfio -16.9483703905461
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
============
|
||||
Hartree-Fock
|
||||
hartree_fock
|
||||
============
|
||||
|
||||
|
||||
@ -17,6 +17,7 @@ It performs the following actions:
|
||||
The definition of the Fock matrix is in :file:`hartree_fock fock_matrix_hf.irp.f`
|
||||
For the keywords related to the |SCF| procedure, see the ``scf_utils`` directory where you will find all options.
|
||||
The main are:
|
||||
|
||||
# :option:`scf_utils thresh_scf`
|
||||
# :option:`scf_utils level_shift`
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
=============
|
||||
IterativeSave
|
||||
=============
|
||||
==========
|
||||
iterations
|
||||
==========
|
||||
|
||||
Module which saves the computed energies for an extrapolation to the |FCI| limit.
|
||||
Module which saves the computed energies for an extrapolation to
|
||||
the |FCI| limit.
|
||||
|
@ -1,6 +1,6 @@
|
||||
============
|
||||
Kohn-Sham
|
||||
============
|
||||
=========
|
||||
kohn_sham
|
||||
=========
|
||||
|
||||
|
||||
The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the
|
||||
|
@ -1,6 +1,6 @@
|
||||
=========================
|
||||
Range-separated Kohn-Sham
|
||||
=========================
|
||||
============
|
||||
kohn_sham_rs
|
||||
============
|
||||
|
||||
|
||||
The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the
|
||||
|
@ -1,5 +1,5 @@
|
||||
========
|
||||
MO_Basis
|
||||
mo_basis
|
||||
========
|
||||
|
||||
Molecular orbitals are expressed as
|
||||
|
@ -1,6 +1,6 @@
|
||||
=======
|
||||
MOGuess
|
||||
=======
|
||||
========
|
||||
mo_guess
|
||||
========
|
||||
|
||||
Guess for |MOs|.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
================
|
||||
Integrals_Bielec
|
||||
================
|
||||
==================
|
||||
mo_two_e_integrals
|
||||
==================
|
||||
|
||||
Here, all two-electron integrals (:math:`1/r_{12}`) are computed.
|
||||
As they have 4 indices and many are zero, they are stored in a map, as defined
|
||||
|
@ -1,5 +1,5 @@
|
||||
===
|
||||
MPI
|
||||
mpi
|
||||
===
|
||||
|
||||
Contains all the functions and providers for parallelization with |MPI|.
|
||||
|
@ -1,5 +1,5 @@
|
||||
======
|
||||
Nuclei
|
||||
nuclei
|
||||
======
|
||||
|
||||
This module contains data relative to the nuclei (coordinates, charge,
|
||||
|
@ -1,5 +1,5 @@
|
||||
============
|
||||
Perturbation
|
||||
perturbation
|
||||
============
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
======
|
||||
Pseudo
|
||||
pseudo
|
||||
======
|
||||
|
||||
This module defines the |EZFIO| parameters of the effective core potentials.
|
||||
|
@ -1,5 +1,5 @@
|
||||
==========
|
||||
Psiref_CAS
|
||||
psiref_cas
|
||||
==========
|
||||
|
||||
Reference wave function is defined as a |CAS| wave function.
|
||||
|
@ -1,5 +1,5 @@
|
||||
============
|
||||
Psiref_Utils
|
||||
psiref_utils
|
||||
============
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
===============
|
||||
Selectors_CASSD
|
||||
selectors_cassd
|
||||
===============
|
||||
|
||||
Selectors for |CAS-SD| calculations. The selectors are defined as first the
|
||||
|
@ -1,5 +1,5 @@
|
||||
==============
|
||||
Selectors_full
|
||||
selectors_full
|
||||
==============
|
||||
|
||||
All the determinants are possible selectors. Only the largest contributions are kept, where
|
||||
|
@ -1,5 +1,5 @@
|
||||
===============
|
||||
Selectors_Utils
|
||||
selectors_utils
|
||||
===============
|
||||
|
||||
Helper functions for selectors.
|
||||
|
@ -1,6 +1,6 @@
|
||||
===============
|
||||
SingleDetMethod
|
||||
===============
|
||||
=================
|
||||
single_ref_method
|
||||
=================
|
||||
|
||||
Include this module for single reference methods.
|
||||
Using this module, the only generator determinant is the Hartree-Fock determinant.
|
||||
|
@ -1,5 +1,5 @@
|
||||
=====
|
||||
Slave
|
||||
slave
|
||||
=====
|
||||
|
||||
Slave processes for distributed parallelism.
|
||||
|
@ -1,5 +1,5 @@
|
||||
=====
|
||||
Tools
|
||||
tools
|
||||
=====
|
||||
|
||||
Useful tools are grouped in this module.
|
||||
|
@ -1,5 +1,5 @@
|
||||
=====
|
||||
Utils
|
||||
utils
|
||||
=====
|
||||
|
||||
Contains general purpose utilities (sorting, maps, etc).
|
||||
|
@ -1,5 +1,5 @@
|
||||
===
|
||||
ZMQ
|
||||
zmq
|
||||
===
|
||||
|
||||
Definition of |ZeroMQ| sockets and messages.
|
||||
|
@ -1,5 +0,0 @@
|
||||
3
|
||||
HBO Geo: Experiment Mult: 1 symmetry: 14
|
||||
B 0.0 0.0 1.166
|
||||
H 0.0 0.0 0.0
|
||||
O 0.0 0.0 2.366
|
6
tests/input/c2h2.xyz
Normal file
6
tests/input/c2h2.xyz
Normal file
@ -0,0 +1,6 @@
|
||||
4
|
||||
C2H2 Geo: Experiment Mult: 1 symmetry: 14
|
||||
C 0.0 0.0 0.6013
|
||||
C 0.0 0.0 -0.6013
|
||||
H 0.0 0.0 1.6644
|
||||
H 0.0 0.0 -1.6644
|
7
tests/input/ch4.xyz
Normal file
7
tests/input/ch4.xyz
Normal file
@ -0,0 +1,7 @@
|
||||
5
|
||||
CH4 Geo: Experiment Mult: 1 symmetry: 10
|
||||
C 0.0 0.0 0.0
|
||||
H 0.6276 0.6276 0.6276
|
||||
H 0.6276 -0.6276 -0.6276
|
||||
H -0.6276 0.6276 -0.6276
|
||||
H -0.6276 -0.6276 0.6276
|
4
tests/input/clf.xyz
Normal file
4
tests/input/clf.xyz
Normal file
@ -0,0 +1,4 @@
|
||||
2
|
||||
ClF Geo: Experiment Mult: 1 symmetry: 26
|
||||
Cl 0.0 0.0 1.6283
|
||||
F 0.0 0.0 0.0
|
4
tests/input/clo.xyz
Normal file
4
tests/input/clo.xyz
Normal file
@ -0,0 +1,4 @@
|
||||
2
|
||||
ClO Geo: Experiment Mult: 2 symmetry: 25
|
||||
Cl 0.0 0.0 1.5696
|
||||
O 0.0 0.0 0.0
|
5
tests/input/co2.xyz
Normal file
5
tests/input/co2.xyz
Normal file
@ -0,0 +1,5 @@
|
||||
3
|
||||
CO2 Geo: Experiment Mult: 1 symmetry: 22
|
||||
C 0.0 0.0 0.0
|
||||
O 0.0 0.0 1.1621
|
||||
O 0.0 0.0 -1.1621
|
3
tests/input/f2.zmt
Normal file
3
tests/input/f2.zmt
Normal file
@ -0,0 +1,3 @@
|
||||
F
|
||||
F 1 1.4119
|
||||
|
@ -1,6 +0,0 @@
|
||||
3
|
||||
XYZ file: coordinates in Angstrom
|
||||
H 0.7510000000 0.1940000000 0.0000000000
|
||||
O 0.0000000000 -0.3880000000 0.0000000000
|
||||
H -0.7510000000 0.1940000000 0.0000000000
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user