bitmask module
The central part of this module is the 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
use bitmasks
integer(bit_kind) :: determinant(N_int,2)
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 example.irp.f
.
Providers
- act_bitmask
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- cas_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: cas_bitmask (N_int,2,N_cas_bitmask)
Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference)
Needs:
ezfio_filename
full_ijkl_bitmask
generators_bitmask_restart
hf_bitmask
mpi_master
n_cas_bitmask
n_generators_bitmask
n_int
Needed by:
closed_shell_ref_bitmask
psi_cas
reunion_of_bitmask
- closed_shell_ref_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: closed_shell_ref_bitmask (N_int,2)
Needs:
cas_bitmask
n_int
ref_bitmask
- core_bitmask
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- core_inact_act_bitmask_4
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: core_inact_act_bitmask_4 (N_int,4)
Needs:
n_int
reunion_of_core_inact_act_bitmask
Needed by:
mo_two_e_integrals_in_map
- core_inact_virt_bitmask
File :
bitmask/bitmasks.irp.f
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:
list_inact
n_int
- del_bitmask
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- dim_list_act_orb
File :
bitmask/core_inact_act_virt.irp.f
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:
n_core_orb
Needed by:
list_inact
- dim_list_core_orb
File :
bitmask/core_inact_act_virt.irp.f
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:
n_core_orb
Needed by:
list_inact
- dim_list_del_orb
File :
bitmask/core_inact_act_virt.irp.f
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:
n_core_orb
Needed by:
list_inact
- dim_list_inact_orb
File :
bitmask/core_inact_act_virt.irp.f
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:
n_core_orb
Needed by:
list_inact
- dim_list_virt_orb
File :
bitmask/core_inact_act_virt.irp.f
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:
n_core_orb
Needed by:
list_inact
- full_ijkl_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: full_ijkl_bitmask (N_int)
Bitmask to include all possible MOs
Needs:
mo_class
mo_num
n_int
Needed by:
cas_bitmask
fock_operator_closed_shell_ref_bitmask
fock_wee_closed_shell
full_ijkl_bitmask_4
generators_bitmask
generators_bitmask_restart
- full_ijkl_bitmask_4
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: full_ijkl_bitmask_4 (N_int,4)
Needs:
full_ijkl_bitmask
n_int
Needed by:
mo_two_e_integrals_erf_in_map
mo_two_e_integrals_in_map
- generators_bitmask
File :
bitmask/bitmasks.irp.f
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:
ezfio_filename
full_ijkl_bitmask
mpi_master
n_generators_bitmask
n_int
- generators_bitmask_restart
File :
bitmask/bitmasks.irp.f
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:
ezfio_filename
full_ijkl_bitmask
mpi_master
n_generators_bitmask
n_generators_bitmask_restart
n_int
Needed by:
cas_bitmask
- hf_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: hf_bitmask (N_int,2)
Hartree Fock bit mask
Needs:
elec_alpha_num
elec_beta_num
n_int
Needed by:
cas_bitmask
degree_max_generators
double_exc_bitmask
max_degree_exc
psi_cas
psi_det
ref_bitmask
single_exc_bitmask
unpaired_alpha_electrons
- i_bitmask_gen
File :
bitmask/bitmasks.irp.f
integer :: i_bitmask_gen
Current bitmask for the generators
- inact_bitmask
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- inact_virt_bitmask
File :
bitmask/bitmasks.irp.f
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:
list_inact
n_int
- index_holes_bitmask
File :
bitmask/modify_bitmasks.irp.f
integer, allocatable :: index_holes_bitmask (3)
Index of the holes in the generators_bitmasks
- index_particl_bitmask
File :
bitmask/modify_bitmasks.irp.f
integer, allocatable :: index_particl_bitmask (3)
Index of the holes in the generators_bitmasks
- list_act
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_act_reverse
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_core
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_core_inact_act
File :
bitmask/core_inact_act_virt.irp.f
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
Needs:
list_inact
n_core_inact_act_orb
n_core_orb
n_int
reunion_of_core_inact_act_bitmask
- list_core_inact_act_reverse
File :
bitmask/core_inact_act_virt.irp.f
integer, allocatable :: list_core_inact_act (n_core_inact_act_orb) integer, allocatable :: list_core_inact_act_reverse (n_core_inact_act_orb)
Needs:
list_inact
n_core_inact_act_orb
n_core_orb
n_int
reunion_of_core_inact_act_bitmask
- list_core_reverse
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_del
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_del_reverse
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_inact
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_inact_act
File :
bitmask/core_inact_act_virt.irp.f
integer, allocatable :: list_inact_act (n_inact_act_orb)
Needs:
list_inact
n_core_orb
n_inact_act_orb
- list_inact_reverse
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_virt
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- list_virt_reverse
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- mpi_bit_kind
File :
bitmask/mpi.irp.f
integer :: mpi_bit_kind
MPI bit kind type
- n_act_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_orb integer :: n_inact_orb integer :: n_act_orb integer :: n_virt_orb integer :: n_del_orb
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:
mo_class
mo_num
mpi_master
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
dim_list_core_orb
eigenvectors_fock_matrix_mo
fock_matrix_mo
list_core_inact_act
list_inact
list_inact_act
mo_two_e_integrals_vv_from_ao
n_core_inact_act_orb
n_core_orb_allocate
n_inact_act_orb
n_inact_orb_allocate
n_virt_orb_allocate
pt2_f
- n_cas_bitmask
File :
bitmask/bitmasks.irp.f
integer :: n_cas_bitmask
Number of bitmasks for CAS
Needs:
ezfio_filename
mpi_master
n_int
Needed by:
cas_bitmask
psi_cas
- n_core_inact_act_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_inact_act_orb
Needs:
n_core_orb
Needed by:
list_core_inact_act
- n_core_inact_orb
File :
bitmask/bitmasks.irp.f
integer :: n_core_inact_orb
Needs:
n_int
reunion_of_core_inact_bitmask
- n_core_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_orb integer :: n_inact_orb integer :: n_act_orb integer :: n_virt_orb integer :: n_del_orb
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:
mo_class
mo_num
mpi_master
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
dim_list_core_orb
eigenvectors_fock_matrix_mo
fock_matrix_mo
list_core_inact_act
list_inact
list_inact_act
mo_two_e_integrals_vv_from_ao
n_core_inact_act_orb
n_core_orb_allocate
n_inact_act_orb
n_inact_orb_allocate
n_virt_orb_allocate
pt2_f
- n_core_orb_allocate
File :
bitmask/bitmasks.irp.f
integer :: n_core_orb_allocate
Needs:
n_core_orb
- n_del_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_orb integer :: n_inact_orb integer :: n_act_orb integer :: n_virt_orb integer :: n_del_orb
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:
mo_class
mo_num
mpi_master
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
dim_list_core_orb
eigenvectors_fock_matrix_mo
fock_matrix_mo
list_core_inact_act
list_inact
list_inact_act
mo_two_e_integrals_vv_from_ao
n_core_inact_act_orb
n_core_orb_allocate
n_inact_act_orb
n_inact_orb_allocate
n_virt_orb_allocate
pt2_f
- n_generators_bitmask
File :
bitmask/bitmasks.irp.f
integer :: n_generators_bitmask
Number of bitmasks for generators
Needs:
ezfio_filename
mpi_master
n_int
Needed by:
cas_bitmask
generators_bitmask
generators_bitmask_restart
- n_generators_bitmask_restart
File :
bitmask/bitmasks.irp.f
integer :: n_generators_bitmask_restart
Number of bitmasks for generators
Needs:
ezfio_filename
mpi_master
n_int
Needed by:
generators_bitmask_restart
- n_inact_act_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_inact_act_orb
Needs:
n_core_orb
Needed by:
list_inact_act
- n_inact_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_orb integer :: n_inact_orb integer :: n_act_orb integer :: n_virt_orb integer :: n_del_orb
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:
mo_class
mo_num
mpi_master
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
dim_list_core_orb
eigenvectors_fock_matrix_mo
fock_matrix_mo
list_core_inact_act
list_inact
list_inact_act
mo_two_e_integrals_vv_from_ao
n_core_inact_act_orb
n_core_orb_allocate
n_inact_act_orb
n_inact_orb_allocate
n_virt_orb_allocate
pt2_f
- n_inact_orb_allocate
File :
bitmask/bitmasks.irp.f
integer :: n_inact_orb_allocate
Needs:
n_core_orb
- n_int
File :
bitmask/bitmasks.irp.f
integer :: n_int
Number of 64-bit integers needed to represent determinants as binary strings
Needs:
mo_num
mpi_master
Needed by:
cas_bitmask
ci_electronic_energy
closed_shell_ref_bitmask
coef_hf_selector
core_inact_act_bitmask_4
degree_max_generators
det_to_occ_pattern
diagonal_h_matrix_on_psi_det
double_exc_bitmask
exc_degree_per_selectors
fock_operator_closed_shell_ref_bitmask
fock_wee_closed_shell
full_ijkl_bitmask
full_ijkl_bitmask_4
generators_bitmask
generators_bitmask_restart
global_selection_buffer
h_apply_buffer_allocated
h_matrix_all_dets
h_matrix_cas
hf_bitmask
inact_virt_bitmask
list_core_inact_act
list_inact
max_degree_exc
mo_two_e_integrals_erf_in_map
mo_two_e_integrals_in_map
n_cas_bitmask
n_core_inact_orb
n_generators_bitmask
n_generators_bitmask_restart
one_e_dm_mo_alpha
psi_bilinear_matrix_values
psi_cas
psi_cas_sorted_bit
psi_det
psi_det_alpha
psi_det_alpha_unique
psi_det_beta
psi_det_beta_unique
psi_det_generators
psi_det_hii
psi_det_sorted
psi_det_sorted_bit
psi_det_sorted_gen
psi_energy
psi_energy_two_e
psi_non_cas
psi_non_cas_sorted_bit
psi_occ_pattern
psi_selectors
psi_selectors_diag_h_mat
ref_bitmask
ref_bitmask_energy
ref_closed_shell_bitmask
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
s2_matrix_all_dets
s2_values
single_exc_bitmask
singles_alpha_csc
singles_alpha_csc_idx
singles_beta_csc
singles_beta_csc_idx
unpaired_alpha_electrons
virt_bitmask_4
- n_virt_orb
File :
bitmask/core_inact_act_virt.irp.f
integer :: n_core_orb integer :: n_inact_orb integer :: n_act_orb integer :: n_virt_orb integer :: n_del_orb
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:
mo_class
mo_num
mpi_master
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
dim_list_core_orb
eigenvectors_fock_matrix_mo
fock_matrix_mo
list_core_inact_act
list_inact
list_inact_act
mo_two_e_integrals_vv_from_ao
n_core_inact_act_orb
n_core_orb_allocate
n_inact_act_orb
n_inact_orb_allocate
n_virt_orb_allocate
pt2_f
- n_virt_orb_allocate
File :
bitmask/bitmasks.irp.f
integer :: n_virt_orb_allocate
Needs:
n_core_orb
- ref_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: ref_bitmask (N_int,2)
Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask
Needs:
hf_bitmask
n_int
Needed by:
closed_shell_ref_bitmask
coef_hf_selector
diagonal_h_matrix_on_psi_det
exc_degree_per_selectors
psi_det_hii
psi_selectors_diag_h_mat
ref_bitmask_energy
ref_closed_shell_bitmask
- reunion_of_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: reunion_of_bitmask (N_int,2)
Reunion of the inactive, active and virtual bitmasks
Needs:
cas_bitmask
list_inact
n_int
- reunion_of_cas_inact_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: reunion_of_cas_inact_bitmask (N_int,2)
Reunion of the inactive, active and virtual bitmasks
Needs:
list_inact
n_int
- reunion_of_core_inact_act_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: reunion_of_core_inact_act_bitmask (N_int,2)
Reunion of the core, inactive and active bitmasks
Needs:
list_inact
n_int
reunion_of_core_inact_bitmask
Needed by:
core_inact_act_bitmask_4
list_core_inact_act
- reunion_of_core_inact_bitmask
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: reunion_of_core_inact_bitmask (N_int,2)
Reunion of the core and inactive and virtual bitmasks
Needs:
list_inact
n_int
Needed by:
n_core_inact_orb
reunion_of_core_inact_act_bitmask
- unpaired_alpha_electrons
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: unpaired_alpha_electrons (N_int)
Bitmask reprenting the unpaired alpha electrons in the HF_bitmask
Needs:
hf_bitmask
n_int
- virt_bitmask
File :
bitmask/core_inact_act_virt.irp.f
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:
dim_list_core_orb
mo_class
mo_num
n_core_orb
n_int
Needed by:
core_energy
core_energy_erf
core_fock_operator
core_fock_operator_erf
eigenvectors_fock_matrix_mo
fock_matrix_mo
inact_virt_bitmask
list_core_inact_act
list_inact_act
mo_two_e_integrals_in_map
mo_two_e_integrals_vv_from_ao
reunion_of_bitmask
reunion_of_cas_inact_bitmask
reunion_of_core_inact_act_bitmask
reunion_of_core_inact_bitmask
virt_bitmask_4
- virt_bitmask_4
File :
bitmask/bitmasks.irp.f
integer(bit_kind), allocatable :: virt_bitmask_4 (N_int,4)
Needs:
list_inact
n_int
Subroutines / functions
- bitstring_to_hexa:
File :
bitmask/bitmasks_routines.irp.f
subroutine bitstring_to_hexa( output, string, Nint )
Transform a bit string to a string in hexadecimal format for printing
Called by:
debug_det()
debug_spindet()
- bitstring_to_list:
File :
bitmask/bitmasks_routines.irp.f
subroutine bitstring_to_list( string, list, n_elements, Nint)
Gives the inidices(+1) of the bits set to 1 in the bit string
Called by:
add_integrals_to_map()
add_integrals_to_map_erf()
add_integrals_to_map_no_exit_34()
add_integrals_to_map_three_indices()
create_microlist()
example_bitmask()
getmobiles()
list_core_inact_act
ref_bitmask_energy
- bitstring_to_str:
File :
bitmask/bitmasks_routines.irp.f
subroutine bitstring_to_str( output, string, Nint )
Transform a bit string to a string for printing
Called by:
add_integrals_to_map()
add_integrals_to_map_erf()
add_integrals_to_map_three_indices()
example_bitmask()
print_det()
print_spindet()
- broadcast_chunks_bit_kind:
File :
bitmask/mpi.irp.f
subroutine broadcast_chunks_bit_kind(A, LDA)
Broadcast with chunks of ~2GB
- clear_bit_to_integer:
File :
bitmask/bitmasks_routines.irp.f
subroutine clear_bit_to_integer(i_physical,key,Nint)
set to 0 the bit number i_physical in the bitstring key
Called by:
example_bitmask()
ref_closed_shell_bitmask
- debug_det:
File :
bitmask/bitmasks_routines.irp.f
subroutine debug_det(string,Nint)
Subroutine to print the content of a determinant in ‘+-’ notation and hexadecimal representation.
Called by:
build_fock_tmp()
example_determinants()
get_excitation_degree_vector_single_or_exchange_verbose()
number_of_holes_verbose()
number_of_particles_verbose()
routine_example_psi_det()
Calls:
bitstring_to_hexa()
print_det()
- debug_spindet:
File :
bitmask/bitmasks_routines.irp.f
subroutine debug_spindet(string,Nint)
Subroutine to print the content of a determinant in ‘+-’ notation and hexadecimal representation.
Calls:
bitstring_to_hexa()
print_spindet()
- example_bitmask:
File :
bitmask/example.irp.f
subroutine example_bitmask
subroutine that illustrates the main features available in bitmask
Needs:
n_core_orb
list_inact
n_int
mo_num
Calls:
bitstring_to_list()
bitstring_to_str()
clear_bit_to_integer()
set_bit_to_integer()
- initialize_bitmask_to_restart_ones:
File :
bitmask/modify_bitmasks.irp.f
subroutine initialize_bitmask_to_restart_ones
Initialization of the generators_bitmask to the restart bitmask
Needs:
generators_bitmask_restart
n_generators_bitmask
generators_bitmask
n_int
- is_a_1h:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_1h(key_in)
Needs:
n_int
- is_a_1h1p:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_1h1p(key_in)
Needs:
n_int
- is_a_1h2p:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_1h2p(key_in)
Needs:
n_int
- is_a_1p:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_1p(key_in)
Needs:
n_int
- is_a_2h:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_2h(key_in)
Needs:
n_int
- is_a_2h1p:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_2h1p(key_in)
Needs:
n_int
- is_a_2p:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_2p(key_in)
Needs:
n_int
- is_a_two_holes_two_particles:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_a_two_holes_two_particles(key_in)
logical function that returns True if the determinant ‘key_in’ belongs to the 2h-2p excitation class of the DDCI space this is calculated using the CAS_bitmask that defines the active orbital space, the inact_bitmasl that defines the inactive oribital space and the virt_bitmask that defines the virtual orbital space
Needs:
cas_bitmask
reunion_of_core_inact_bitmask
list_inact
n_int
- is_i_in_virtual:
File :
bitmask/bitmask_cas_routines.irp.f
logical function is_i_in_virtual(i)
Needs:
list_inact
n_int
- is_the_hole_in_det:
File :
bitmask/find_hole.irp.f
logical function is_the_hole_in_det(key_in,ispin,i_hole)
Needs:
n_int
- is_the_particl_in_det:
File :
bitmask/find_hole.irp.f
logical function is_the_particl_in_det(key_in,ispin,i_particl)
Needs:
n_int
- list_to_bitstring:
File :
bitmask/bitmasks_routines.irp.f
subroutine list_to_bitstring( string, list, n_elements, Nint)
Returns the physical string “string(N_int,2)” from the array of occupations “list(N_int*bit_kind_size,2)
Called by:
hf_bitmask
list_inact
- modify_bitmasks_for_hole:
File :
bitmask/modify_bitmasks.irp.f
subroutine modify_bitmasks_for_hole(i_hole)
modify the generators_bitmask in order that one can only excite the electrons occupying i_hole
Needs:
n_generators_bitmask
generators_bitmask
n_int
index_holes_bitmask
- modify_bitmasks_for_hole_in_out:
File :
bitmask/modify_bitmasks.irp.f
subroutine modify_bitmasks_for_hole_in_out(i_hole)
modify the generators_bitmask in order that one can only excite the electrons occupying i_hole
Needs:
n_generators_bitmask
generators_bitmask
index_holes_bitmask
- modify_bitmasks_for_particl:
File :
bitmask/modify_bitmasks.irp.f
subroutine modify_bitmasks_for_particl(i_part)
modify the generators_bitmask in order that one can only excite the electrons to the orbital i_part
Needs:
index_particl_bitmask
n_generators_bitmask
generators_bitmask
n_int
- number_of_holes:
File :
bitmask/bitmask_cas_routines.irp.f
integer function number_of_holes(key_in)
Function that returns the number of holes in the inact space
Needs:
cas_bitmask
reunion_of_core_inact_bitmask
n_int
- number_of_holes_verbose:
File :
bitmask/bitmask_cas_routines.irp.f
integer function number_of_holes_verbose(key_in)
function that returns the number of holes in the inact space
Needs:
cas_bitmask
reunion_of_core_inact_bitmask
n_int
Calls:
debug_det()
- number_of_particles:
File :
bitmask/bitmask_cas_routines.irp.f
integer function number_of_particles(key_in)
function that returns the number of particles in the virtual space
Needs:
cas_bitmask
list_inact
n_int
- number_of_particles_verbose:
File :
bitmask/bitmask_cas_routines.irp.f
integer function number_of_particles_verbose(key_in)
function that returns the number of particles in the inact space
Needs:
cas_bitmask
list_inact
n_int
Calls:
debug_det()
- print_det:
File :
bitmask/bitmasks_routines.irp.f
subroutine print_det(string,Nint)
Subroutine to print the content of a determinant using the ‘+-’ notation
Called by:
debug_det()
example_determinants()
print_generators_bitmasks_holes()
print_generators_bitmasks_holes_for_one_generator()
print_generators_bitmasks_particles()
print_generators_bitmasks_particles_for_one_generator()
Calls:
bitstring_to_str()
- print_generators_bitmasks_holes:
File :
bitmask/modify_bitmasks.irp.f
subroutine print_generators_bitmasks_holes
Needs:
generators_bitmask
n_int
index_holes_bitmask
Calls:
print_det()
- print_generators_bitmasks_holes_for_one_generator:
File :
bitmask/modify_bitmasks.irp.f
subroutine print_generators_bitmasks_holes_for_one_generator(i_gen)
Needs:
generators_bitmask
n_int
index_holes_bitmask
Calls:
print_det()
- print_generators_bitmasks_particles:
File :
bitmask/modify_bitmasks.irp.f
subroutine print_generators_bitmasks_particles
Needs:
index_particl_bitmask
generators_bitmask
n_int
Calls:
print_det()
- print_generators_bitmasks_particles_for_one_generator:
File :
bitmask/modify_bitmasks.irp.f
subroutine print_generators_bitmasks_particles_for_one_generator(i_gen)
Needs:
index_particl_bitmask
generators_bitmask
n_int
Calls:
print_det()
- print_spindet:
File :
bitmask/bitmasks_routines.irp.f
subroutine print_spindet(string,Nint)
Subroutine to print the content of a determinant using the ‘+-’ notation
Called by:
debug_spindet()
Calls:
bitstring_to_str()
- set_bit_to_integer:
File :
bitmask/bitmasks_routines.irp.f
subroutine set_bit_to_integer(i_physical,key,Nint)
set to 1 the bit number i_physical in the bitstring key
Called by:
example_bitmask()
- set_bitmask_hole_as_input:
File :
bitmask/modify_bitmasks.irp.f
subroutine set_bitmask_hole_as_input(input_bimask)
set the generators_bitmask for the holes as the input_bimask
Needs:
n_generators_bitmask
generators_bitmask
n_int
index_holes_bitmask
Touches:
generators_bitmask
- set_bitmask_particl_as_input:
File :
bitmask/modify_bitmasks.irp.f
subroutine set_bitmask_particl_as_input(input_bimask)
set the generators_bitmask for the particles as the input_bimask
Needs:
index_particl_bitmask
n_generators_bitmask
generators_bitmask
n_int
Touches:
generators_bitmask