2019-03-07 16:29:06 +01:00
|
|
|
.. _module_bitmask:
|
|
|
|
|
|
|
|
.. program:: bitmask
|
|
|
|
|
|
|
|
.. default-role:: option
|
|
|
|
|
|
|
|
==============
|
|
|
|
bitmask module
|
|
|
|
==============
|
|
|
|
|
|
|
|
The central part of this module is the :file:`bitmasks_module.f90` file. It contains
|
|
|
|
the constants that will be used to define on which kind of integer the bitmasks
|
|
|
|
will be defined.
|
|
|
|
|
|
|
|
In the program, to represent a determinant as a pair of bitstrings,
|
|
|
|
the determinant should be defined as
|
|
|
|
|
|
|
|
.. code-block:: fortran
|
|
|
|
|
|
|
|
use bitmasks
|
|
|
|
integer(bit_kind) :: determinant(N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
:file:`bitmasks_routines.irp.f` contains helper routines to manipulate bitmask, like
|
|
|
|
transforming a bit string to a list of integers for example.
|
|
|
|
|
|
|
|
|
|
|
|
`bit_kind_shift`, `bit_kind_size` and `bit_kind` are supposed to be consistent::
|
|
|
|
|
|
|
|
2**bit_kind_shift = bit_kind_size
|
|
|
|
bit_kind = bit_kind_size / 8
|
|
|
|
|
|
|
|
|
|
|
|
For an example of how to use the bitmaks, see the file :file:`example.irp.f`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Providers
|
|
|
|
---------
|
|
|
|
|
|
|
|
.. c:var:: act_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: cas_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: cas_bitmask (N_int,2,N_cas_bitmask)
|
|
|
|
|
|
|
|
|
|
|
|
Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference)
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`ezfio_filename`
|
|
|
|
* :c:data:`full_ijkl_bitmask`
|
|
|
|
* :c:data:`generators_bitmask_restart`
|
|
|
|
* :c:data:`hf_bitmask`
|
|
|
|
* :c:data:`mpi_master`
|
|
|
|
* :c:data:`n_cas_bitmask`
|
|
|
|
* :c:data:`n_generators_bitmask`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`closed_shell_ref_bitmask`
|
|
|
|
* :c:data:`psi_cas`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: closed_shell_ref_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: closed_shell_ref_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`cas_bitmask`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
* :c:data:`ref_bitmask`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: core_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: core_inact_act_bitmask_4
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: core_inact_act_bitmask_4 (N_int,4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_int`
|
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: core_inact_virt_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: inact_virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: core_inact_virt_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
Reunion of the inactive and virtual bitmasks
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: del_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: dim_list_act_orb
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: dim_list_core_orb
|
|
|
|
integer :: dim_list_inact_orb
|
|
|
|
integer :: dim_list_virt_orb
|
|
|
|
integer :: dim_list_act_orb
|
|
|
|
integer :: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
dimensions for the allocation of list_inact, list_virt, list_core and list_act
|
|
|
|
it is at least 1
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: dim_list_core_orb
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: dim_list_core_orb
|
|
|
|
integer :: dim_list_inact_orb
|
|
|
|
integer :: dim_list_virt_orb
|
|
|
|
integer :: dim_list_act_orb
|
|
|
|
integer :: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
dimensions for the allocation of list_inact, list_virt, list_core and list_act
|
|
|
|
it is at least 1
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: dim_list_core_orb
|
|
|
|
integer :: dim_list_inact_orb
|
|
|
|
integer :: dim_list_virt_orb
|
|
|
|
integer :: dim_list_act_orb
|
|
|
|
integer :: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
dimensions for the allocation of list_inact, list_virt, list_core and list_act
|
|
|
|
it is at least 1
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: dim_list_inact_orb
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: dim_list_core_orb
|
|
|
|
integer :: dim_list_inact_orb
|
|
|
|
integer :: dim_list_virt_orb
|
|
|
|
integer :: dim_list_act_orb
|
|
|
|
integer :: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
dimensions for the allocation of list_inact, list_virt, list_core and list_act
|
|
|
|
it is at least 1
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: dim_list_virt_orb
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: dim_list_core_orb
|
|
|
|
integer :: dim_list_inact_orb
|
|
|
|
integer :: dim_list_virt_orb
|
|
|
|
integer :: dim_list_act_orb
|
|
|
|
integer :: dim_list_del_orb
|
|
|
|
|
|
|
|
|
|
|
|
dimensions for the allocation of list_inact, list_virt, list_core and list_act
|
|
|
|
it is at least 1
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: full_ijkl_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: full_ijkl_bitmask (N_int)
|
|
|
|
|
|
|
|
|
|
|
|
Bitmask to include all possible MOs
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`cas_bitmask`
|
|
|
|
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
|
|
|
* :c:data:`fock_wee_closed_shell`
|
|
|
|
* :c:data:`full_ijkl_bitmask_4`
|
|
|
|
* :c:data:`generators_bitmask`
|
|
|
|
* :c:data:`generators_bitmask_restart`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: full_ijkl_bitmask_4
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: full_ijkl_bitmask_4 (N_int,4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`full_ijkl_bitmask`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`mo_two_e_integrals_erf_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: generators_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: generators_bitmask (N_int,2,6,N_generators_bitmask)
|
|
|
|
|
|
|
|
|
|
|
|
Bitmasks for generator determinants.
|
|
|
|
(N_int, alpha/beta, hole/particle, generator).
|
|
|
|
|
|
|
|
3rd index is :
|
|
|
|
|
|
|
|
* 1 : hole for single exc
|
|
|
|
|
|
|
|
* 2 : particle for single exc
|
|
|
|
|
|
|
|
* 3 : hole for 1st exc of double
|
|
|
|
|
|
|
|
* 4 : particle for 1st exc of double
|
|
|
|
|
|
|
|
* 5 : hole for 2nd exc of double
|
|
|
|
|
|
|
|
* 6 : particle for 2nd exc of double
|
|
|
|
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`ezfio_filename`
|
|
|
|
* :c:data:`full_ijkl_bitmask`
|
|
|
|
* :c:data:`mpi_master`
|
|
|
|
* :c:data:`n_generators_bitmask`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: generators_bitmask_restart
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: generators_bitmask_restart (N_int,2,6,N_generators_bitmask_restart)
|
|
|
|
|
|
|
|
|
|
|
|
Bitmasks for generator determinants.
|
|
|
|
(N_int, alpha/beta, hole/particle, generator).
|
|
|
|
|
|
|
|
3rd index is :
|
|
|
|
|
|
|
|
* 1 : hole for single exc
|
|
|
|
|
|
|
|
* 2 : particle for single exc
|
|
|
|
|
|
|
|
* 3 : hole for 1st exc of double
|
|
|
|
|
|
|
|
* 4 : particle for 1st exc of double
|
|
|
|
|
|
|
|
* 5 : hole for 2nd exc of double
|
|
|
|
|
|
|
|
* 6 : particle for 2nd exc of double
|
|
|
|
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`ezfio_filename`
|
|
|
|
* :c:data:`full_ijkl_bitmask`
|
|
|
|
* :c:data:`mpi_master`
|
|
|
|
* :c:data:`n_generators_bitmask`
|
|
|
|
* :c:data:`n_generators_bitmask_restart`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`cas_bitmask`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: hf_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: hf_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
Hartree Fock bit mask
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`elec_alpha_num`
|
|
|
|
* :c:data:`elec_beta_num`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`cas_bitmask`
|
|
|
|
* :c:data:`degree_max_generators`
|
|
|
|
* :c:data:`double_exc_bitmask`
|
|
|
|
* :c:data:`max_degree_exc`
|
|
|
|
* :c:data:`psi_cas`
|
|
|
|
* :c:data:`psi_det`
|
|
|
|
* :c:data:`ref_bitmask`
|
|
|
|
* :c:data:`single_exc_bitmask`
|
|
|
|
* :c:data:`unpaired_alpha_electrons`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: i_bitmask_gen
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer :: i_bitmask_gen
|
|
|
|
|
|
|
|
|
|
|
|
Current bitmask for the generators
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: inact_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: inact_virt_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer(bit_kind), allocatable :: inact_virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: core_inact_virt_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
Reunion of the inactive and virtual bitmasks
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`list_inact`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: index_holes_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/modify_bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: index_holes_bitmask (3)
|
|
|
|
|
|
|
|
|
|
|
|
Index of the holes in the generators_bitmasks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: index_particl_bitmask
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/modify_bitmasks.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: index_particl_bitmask (3)
|
|
|
|
|
|
|
|
|
|
|
|
Index of the holes in the generators_bitmasks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: list_act
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: list_act_reverse
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|
|
|
* :c:data:`core_fock_operator`
|
|
|
|
* :c:data:`core_fock_operator_erf`
|
|
|
|
* :c:data:`eigenvectors_fock_matrix_mo`
|
|
|
|
* :c:data:`fock_matrix_mo`
|
|
|
|
* :c:data:`inact_virt_bitmask`
|
|
|
|
* :c:data:`list_core_inact_act`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`list_inact_act`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`mo_two_e_integrals_in_map`
|
|
|
|
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
|
|
|
* :c:data:`reunion_of_bitmask`
|
|
|
|
* :c:data:`reunion_of_cas_inact_bitmask`
|
2019-05-28 10:23:50 +02:00
|
|
|
* :c:data:`reunion_of_core_inact_act_bitmask`
|
2019-03-07 16:29:06 +01:00
|
|
|
* :c:data:`reunion_of_core_inact_bitmask`
|
|
|
|
* :c:data:`virt_bitmask_4`
|
|
|
|
|
|
|
|
|
|
|
|
.. c:var:: list_core
|
|
|
|
|
|
|
|
|
|
|
|
File : :file:`bitmask/core_inact_act_virt.irp.f`
|
|
|
|
|
|
|
|
.. code:: fortran
|
|
|
|
|
|
|
|
integer, allocatable :: list_inact (dim_list_inact_orb)
|
|
|
|
integer, allocatable :: list_virt (dim_list_virt_orb)
|
|
|
|
integer, allocatable :: list_inact_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_virt_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_del (mo_num)
|
|
|
|
integer, allocatable :: list_core (dim_list_core_orb)
|
|
|
|
integer, allocatable :: list_core_reverse (mo_num)
|
|
|
|
integer, allocatable :: list_act (dim_list_act_orb)
|
|
|
|
integer, allocatable :: list_act_reverse (mo_num)
|
|
|
|
integer(bit_kind), allocatable :: core_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: inact_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: act_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: virt_bitmask (N_int,2)
|
|
|
|
integer(bit_kind), allocatable :: del_bitmask (N_int,2)
|
|
|
|
|
|
|
|
|
|
|
|
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
n_inact_orb : Number of inactive orbitals
|
|
|
|
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
n_virt_orb : Number of virtual orbitals
|
|
|
|
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
|
|
|
in post CAS methods
|
|
|
|
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
|
|
|
in post CAS methods
|
|
|
|
list_inact_reverse : reverse list of inactive orbitals
|
|
|
|
list_inact_reverse(i) = 0 ::> not an inactive
|
|
|
|
list_inact_reverse(i) = k ::> IS the kth inactive
|
|
|
|
list_virt_reverse : reverse list of virtual orbitals
|
|
|
|
list_virt_reverse(i) = 0 ::> not an virtual
|
|
|
|
list_virt_reverse(i) = k ::> IS the kth virtual
|
|
|
|
list_act(i) = index of the ith active orbital
|
|
|
|
|
|
|
|
list_act_reverse : reverse list of active orbitals
|
|
|
|
list_act_reverse(i) = 0 ::> not an active
|
|
|
|
list_act_reverse(i) = k ::> IS the kth active orbital
|
|
|
|
|
|
|
|
Needs:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`dim_list_core_orb`
|
|
|
|
* :c:data:`mo_class`
|
|
|
|
* :c:data:`mo_num`
|
|
|
|
* :c:data:`n_core_orb`
|
|
|
|
* :c:data:`n_int`
|
|
|
|
|
|
|
|
Needed by:
|
|
|
|
|
|
|
|
.. hlist::
|
|
|
|
:columns: 3
|
|
|
|
|
|
|
|
* :c:data:`core_energy`
|
|
|
|
* :c:data:`core_energy_erf`
|
|