============== 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, when an integer ``X`` is used to represent a bit string (like a determinant for example), it should be defined as, for example: .. code-block:: fortran use bitmasks integer(bit_kind) :: X The ``bitmasks_routines.irp.f`` contains helper routines to manipulate bitmassk, like transforming a bit string to a list of integers for example. Assumptions =========== .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES_CHILDREN file by the `update_README.py` script. ``bit_kind_shift``, ``bit_kind_size`` and ``bit_kind`` are coherent: .. code_block:: fortran 2**bit_kind_shift = bit_kind_size bit_kind = bit_kind_size / 8 Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. .. image:: tree_dependency.png * `MO_Basis `_ Needed Modules ============== .. Do not edit this section It was auto-generated .. by the `update_README.py` script. .. image:: tree_dependency.png * `MO_Basis `_ Documentation ============= .. Do not edit this section It was auto-generated .. by the `update_README.py` script. `bitstring_to_hexa `_ Transform a bit string to a string in hexadecimal format for printing `bitstring_to_list `_ Gives the inidices(+1) of the bits set to 1 in the bit string `bitstring_to_str `_ Transform a bit string to a string for printing `cas_bitmask `_ Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference) `cis_ijkl_bitmask `_ Bitmask to include all possible single excitations from Hartree-Fock `core_bitmask `_ Reunion of the inactive, active and virtual bitmasks `debug_det `_ Subroutine to print the content of a determinant in '+-' notation and hexadecimal representation. `debug_spindet `_ Subroutine to print the content of a determinant in '+-' notation and hexadecimal representation. `full_ijkl_bitmask `_ Bitmask to include all possible MOs `generators_bitmask `_ Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator). .br 3rd index is : .br * 1 : hole for single exc .br * 2 : particle for single exc .br * 3 : hole for 1st exc of double .br * 4 : particle for 1st exc of double .br * 5 : hole for 2nd exc of double .br * 6 : particle for 2nd exc of double .br `generators_bitmask_restart `_ Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator). .br 3rd index is : .br * 1 : hole for single exc .br * 2 : particle for single exc .br * 3 : hole for 1st exc of double .br * 4 : particle for 1st exc of double .br * 5 : hole for 2nd exc of double .br * 6 : particle for 2nd exc of double .br `hf_bitmask `_ Hartree Fock bit mask `i_bitmask_gen `_ Current bitmask for the generators `inact_bitmask `_ Bitmasks for the inactive orbitals that are excited in post CAS method `inact_virt_bitmask `_ Reunion of the inactive and virtual bitmasks `is_a_two_holes_two_particles `_ Undocumented `list_inact `_ Undocumented `list_to_bitstring `_ Returns the physical string "string(N_int,2)" from the array of occupations "list(N_int*bit_kind_size,2) `list_virt `_ Undocumented `n_cas_bitmask `_ Number of bitmasks for CAS `n_generators_bitmask `_ Number of bitmasks for generators `n_inact_orb `_ Bitmasks for the inactive orbitals that are excited in post CAS method `n_int `_ Number of 64-bit integers needed to represent determinants as binary strings `n_virt_orb `_ Bitmasks for the inactive orbitals that are excited in post CAS method `number_of_holes `_ Undocumented `number_of_holes_verbose `_ Undocumented `number_of_particles `_ Undocumented `number_of_particles_verbose `_ Undocumented `print_det `_ Subroutine to print the content of a determinant using the '+-' notation `print_spindet `_ Subroutine to print the content of a determinant using the '+-' notation `ref_bitmask `_ Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask `reunion_of_bitmask `_ Reunion of the inactive, active and virtual bitmasks `unpaired_alpha_electrons `_ Bitmask reprenting the unpaired alpha electrons in the HF_bitmask `virt_bitmask `_ Bitmasks for the inactive orbitals that are excited in post CAS method