10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-09-27 03:51:01 +02:00

Merge pull request #42 from scemama/master

Merge
This commit is contained in:
Emmanuel Giner 2018-12-28 19:53:03 +01:00 committed by GitHub
commit bb22f343e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
114 changed files with 439 additions and 3503 deletions

6
configure vendored
View File

@ -374,6 +374,12 @@ echo " \ (oo)\_______ "
echo " (__)\ )\/\. "
echo " ||----w | "
echo " || || "
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo ""
echo "Now:"
echo ""
echo " source $QP_ROOT/quantum_package.rc"
echo ""

View File

@ -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)

View File

@ -5,7 +5,7 @@
.. default-role:: option
========
AO_Basis
ao_basis
========
This module describes the atomic orbitals basis set.

View File

@ -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.

View File

@ -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

View File

@ -5,7 +5,7 @@
.. default-role:: option
===
CIS
cis
===
This module contains a CIS program, built by setting the following rules:

View File

@ -5,7 +5,7 @@
.. default-role:: option
====
CISD
cisd
====
This module contains a CISD program, built by setting the following rules:

View File

@ -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).

View File

@ -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

View File

@ -4,9 +4,9 @@
.. default-role:: option
===============
DavidsonDressed
===============
================
davidson_dressed
================
Davidson with single-column dressing.

View File

@ -4,9 +4,9 @@
.. default-role:: option
=================
DavidsonUndressed
=================
==================
davidson_undressed
==================
Module for main files Davidson's algorithm with no dressing.

View File

@ -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.

View File

@ -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.

View File

@ -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|.

View File

@ -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

View File

@ -5,7 +5,7 @@
.. default-role:: option
===========
Ezfio_files
ezfio_files
===========
This modules essentially contains the name of the |EZFIO| directory in the

View File

@ -5,7 +5,7 @@
.. default-role:: option
===
FCI
fci
===
Selected Full Configuration Interaction.

View File

@ -5,7 +5,7 @@
.. default-role:: option
==============
Generators_CAS
generators_cas
==============
Module defining the generator determinants as those belonging to a |CAS|.

View File

@ -5,7 +5,7 @@
.. default-role:: option
===============
Generators_full
generators_full
===============
Module defining the generator determinants as all the determinants of the

View File

@ -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`

View File

@ -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.

View File

@ -4,9 +4,9 @@
.. default-role:: option
============
Kohn-Sham
============
=========
kohn_sham
=========
The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the

View File

@ -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

View File

@ -5,7 +5,7 @@
.. default-role:: option
========
MO_Basis
mo_basis
========
Molecular orbitals are expressed as

View File

@ -4,9 +4,9 @@
.. default-role:: option
=======
MOGuess
=======
========
mo_guess
========
Guess for |MOs|.

View File

@ -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

View File

@ -5,7 +5,7 @@
.. default-role:: option
===
MPI
mpi
===
Contains all the functions and providers for parallelization with |MPI|.

View File

@ -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.

View File

@ -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

View File

@ -5,7 +5,7 @@
.. default-role:: option
======
Nuclei
nuclei
======
This module contains data relative to the nuclei (coordinates, charge,

View File

@ -5,7 +5,7 @@
.. default-role:: option
============
Perturbation
perturbation
============

View File

@ -5,7 +5,7 @@
.. default-role:: option
======
Pseudo
pseudo
======
This module defines the |EZFIO| parameters of the effective core potentials.

View File

@ -5,7 +5,7 @@
.. default-role:: option
==========
Psiref_CAS
psiref_cas
==========
Reference wave function is defined as a |CAS| wave function.

View File

@ -5,7 +5,7 @@
.. default-role:: option
============
Psiref_Utils
psiref_utils
============

View 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

View File

@ -5,7 +5,7 @@
.. default-role:: option
===============
Selectors_CASSD
selectors_cassd
===============
Selectors for |CAS-SD| calculations. The selectors are defined as first the

View File

@ -5,7 +5,7 @@
.. default-role:: option
==============
Selectors_full
selectors_full
==============
All the determinants are possible selectors. Only the largest contributions are kept, where

View File

@ -5,7 +5,7 @@
.. default-role:: option
===============
Selectors_Utils
selectors_utils
===============
Helper functions for selectors.

View File

@ -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.

View File

@ -5,7 +5,7 @@
.. default-role:: option
=====
Slave
slave
=====
Slave processes for distributed parallelism.

View File

@ -5,7 +5,7 @@
.. default-role:: option
=====
Tools
tools
=====
Useful tools are grouped in this module.

View File

@ -5,7 +5,7 @@
.. default-role:: option
=====
Utils
utils
=====
Contains general purpose utilities (sorting, maps, etc).

View File

@ -5,7 +5,7 @@
.. default-role:: option
===
ZMQ
zmq
===
Definition of |ZeroMQ| sockets and messages.

View File

@ -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

View File

@ -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

View File

@ -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 ->

View File

@ -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

View File

@ -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

View File

@ -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("""

View File

@ -10,8 +10,9 @@ except:
print "source quantum_package.rc"
sys.exit(1)
else:
QP_SRC = os.path.join(QP_ROOT, "src")
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_OCAML = os.path.join(QP_ROOT, "ocaml")
QP_TESTS = os.path.join(QP_ROOT, "tests")
QP_DATA = os.path.join(QP_ROOT, "data")

View File

@ -1,5 +1,5 @@
========
AO_Basis
ao_basis
========
This module describes the atomic orbitals basis set.

View File

@ -1,5 +1,5 @@
==================
AO_one_e_integrals
ao_one_e_integrals
==================
All the one-electron integrals in the |AO| basis are here.

View File

@ -1,5 +1,5 @@
==============
Bitmask Module
bitmask module
==============
The central part of this module is the :file:`bitmasks_module.f90` file. It contains

View File

@ -1,5 +1,5 @@
===
CIS
cis
===
This module contains a CIS program, built by setting the following rules:

View File

@ -1,5 +1,5 @@
====
CISD
cisd
====
This module contains a CISD program, built by setting the following rules:

View File

@ -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

View File

@ -1,6 +1,6 @@
===============
DavidsonDressed
===============
================
davidson_dressed
================
Davidson with single-column dressing.

View File

@ -1,6 +1,6 @@
=================
DavidsonUndressed
=================
==================
davidson_undressed
==================
Module for main files Davidson's algorithm with no dressing.

View File

@ -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.

View File

@ -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|.

View File

@ -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

View 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
}

View 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
}

View File

@ -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
}

View File

@ -1,5 +1,5 @@
===========
Ezfio_files
ezfio_files
===========
This modules essentially contains the name of the |EZFIO| directory in the

View File

@ -1,5 +1,5 @@
===
FCI
fci
===
Selected Full Configuration Interaction.

View File

@ -1,5 +1,5 @@
==============
Generators_CAS
generators_cas
==============
Module defining the generator determinants as those belonging to a |CAS|.

View File

@ -1,5 +1,5 @@
===============
Generators_full
generators_full
===============
Module defining the generator determinants as all the determinants of the

View File

@ -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
}

View File

@ -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`

View File

@ -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.

View File

@ -1,6 +1,6 @@
============
Kohn-Sham
============
=========
kohn_sham
=========
The Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the

View File

@ -1,6 +1,6 @@
=========================
Range-separated Kohn-Sham
=========================
============
kohn_sham_rs
============
The Range-separated Kohn-Sham module performs *Restricted* Kohn-Sham calculations (the

View File

@ -1,5 +1,5 @@
========
MO_Basis
mo_basis
========
Molecular orbitals are expressed as

View File

@ -1,6 +1,6 @@
=======
MOGuess
=======
========
mo_guess
========
Guess for |MOs|.

View File

@ -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

View File

@ -1,5 +1,5 @@
===
MPI
mpi
===
Contains all the functions and providers for parallelization with |MPI|.

View File

@ -1,5 +1,5 @@
======
Nuclei
nuclei
======
This module contains data relative to the nuclei (coordinates, charge,

View File

@ -1,5 +1,5 @@
============
Perturbation
perturbation
============

View File

@ -1,5 +1,5 @@
======
Pseudo
pseudo
======
This module defines the |EZFIO| parameters of the effective core potentials.

View File

@ -1,5 +1,5 @@
==========
Psiref_CAS
psiref_cas
==========
Reference wave function is defined as a |CAS| wave function.

View File

@ -1,5 +1,5 @@
============
Psiref_Utils
psiref_utils
============

View File

@ -1,5 +1,5 @@
===============
Selectors_CASSD
selectors_cassd
===============
Selectors for |CAS-SD| calculations. The selectors are defined as first the

View File

@ -1,5 +1,5 @@
==============
Selectors_full
selectors_full
==============
All the determinants are possible selectors. Only the largest contributions are kept, where

View File

@ -1,5 +1,5 @@
===============
Selectors_Utils
selectors_utils
===============
Helper functions for selectors.

View File

@ -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.

View File

@ -1,5 +1,5 @@
=====
Slave
slave
=====
Slave processes for distributed parallelism.

View File

@ -1,5 +1,5 @@
=====
Tools
tools
=====
Useful tools are grouped in this module.

View File

@ -1,5 +1,5 @@
=====
Utils
utils
=====
Contains general purpose utilities (sorting, maps, etc).

View File

@ -1,5 +1,5 @@
===
ZMQ
zmq
===
Definition of |ZeroMQ| sockets and messages.

View File

@ -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
View 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
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,3 @@
F
F 1 1.4119

View File

@ -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