10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-07-05 10:56:04 +02:00
QuantumPackage/src/bitmask
Anthony Scemama cebc19a601
Merge Master (#69)
* Changed native into SSE4.2 in gfortran.cfg

* Fixed rm opam_installer

* Fix configure

* Improving scaling of pt2 with network

* Router/dealer in qp_tunnel

* Reduced size of qp2.png

* Exclude temp files in tar

* Introduce NO_CACHE in configure for daily test

* Faster determinants in OCaml

* We always give max 10k dets in qp_edit. Read-only if more

* Fixed save_natorb

* Fixing bug in qp_edit

* Comments

* Biblio (#61)

* Biblio (#62)

* Update biblio

* Update paper

* Journal missing in research.bib

* Added paper

* Fixed Pierre Francois

* Checking number of electrons in MOs

* Biblio (#64)

* Update biblio

* Update paper

* Journal missing in research.bib

* Added paper

* Fixed Pierre Francois

* 2 papers

* Fixed 6-31G and quickstart (#65)

* Fixed 6-31 basis sets

* Bug in quickstart

* Biblio (#66)

* Bugfix (#67)

* Fixing opam installation

* Fixed 6-31 basis sets

* Bug in quickstart

* Use irpf90 v1.7.6

* Fix IRPF90 Path
2019-10-21 16:45:00 +02:00
..
bitmask_cas_routines.irp.f Merge Master (#69) 2019-10-21 16:45:00 +02:00
bitmasks_module.f90 Initial commit 2019-01-25 11:39:31 +01:00
bitmasks_routines.irp.f getting there with active orbitals 2019-06-28 20:45:07 +02:00
bitmasks.ezfio_config Initial commit 2019-01-25 11:39:31 +01:00
bitmasks.irp.f Cleaning in bitmasks 2019-07-02 13:13:40 +02:00
core_inact_act_virt.irp.f two rdm seems to work with buffer, ready for openmp 2019-07-04 17:34:56 +02:00
example.irp.f Initial commit 2019-01-25 11:39:31 +01:00
find_hole.irp.f Initial commit 2019-01-25 11:39:31 +01:00
modify_bitmasks.irp.f Initial commit 2019-01-25 11:39:31 +01:00
mpi.irp.f Initial commit 2019-01-25 11:39:31 +01:00
NEED Initial commit 2019-01-25 11:39:31 +01:00
README.rst Initial commit 2019-01-25 11:39:31 +01:00

==============
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`.