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

README + configure

This commit is contained in:
Anthony Scemama 2018-12-28 19:19:14 +01:00
parent 56fd098580
commit 540c02c4aa
42 changed files with 65 additions and 3355 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

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

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

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