mirror of
https://github.com/LCPQ/quantum_package
synced 2024-10-05 15:56:09 +02:00
commit
70de4546b8
5
.gitattributes
vendored
Normal file
5
.gitattributes
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
*.irp.f linguist-language=IRPF90
|
||||||
|
*.f linguist-language=Fortran
|
||||||
|
*.ml linguist-language=Ocaml
|
||||||
|
*.sh linguist-language=Bash
|
||||||
|
*.py linguist-language=Python
|
@ -6,8 +6,9 @@
|
|||||||
* m4
|
* m4
|
||||||
* GNU make
|
* GNU make
|
||||||
* Fortran compiler (ifort or gfortran are tested)
|
* Fortran compiler (ifort or gfortran are tested)
|
||||||
* Python >= 2.7
|
* Python >= 2.6
|
||||||
* Bash
|
* Bash
|
||||||
|
* Patch (for opam)
|
||||||
|
|
||||||
|
|
||||||
## Standard installation
|
## Standard installation
|
||||||
|
@ -32,16 +32,17 @@ full_ci
|
|||||||
do_pt2_end True
|
do_pt2_end True
|
||||||
var_pt2_ratio 0.75
|
var_pt2_ratio 0.75
|
||||||
|
|
||||||
|
cas_sd
|
||||||
|
n_det_max_cas_sd 100000
|
||||||
|
pt2_max 1.e-4
|
||||||
|
do_pt2_end True
|
||||||
|
var_pt2_ratio 0.75
|
||||||
|
|
||||||
all_singles
|
all_singles
|
||||||
n_det_max_fci 50000
|
n_det_max_fci 50000
|
||||||
pt2_max 1.e-8
|
pt2_max 1.e-8
|
||||||
do_pt2_end False
|
do_pt2_end False
|
||||||
|
|
||||||
cassd
|
|
||||||
n_det_max_cassd 10000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
do_pt2_end True
|
|
||||||
|
|
||||||
hartree_fock
|
hartree_fock
|
||||||
n_it_scf_max 200
|
n_it_scf_max 200
|
||||||
thresh_scf 1.e-10
|
thresh_scf 1.e-10
|
@ -4,6 +4,6 @@ determinants
|
|||||||
n_det_max_jacobi 1000
|
n_det_max_jacobi 1000
|
||||||
threshold_generators 0.99
|
threshold_generators 0.99
|
||||||
threshold_selectors 0.999
|
threshold_selectors 0.999
|
||||||
read_wf False
|
read_wf false
|
||||||
s2_eig False
|
s2_eig false
|
||||||
only_single_double_dm False
|
only_single_double_dm false
|
||||||
|
@ -25,9 +25,12 @@ default: $(ALL_TESTS) $(ALL_EXE) .gitignore
|
|||||||
|
|
||||||
.gitignore: $(MLFILES)
|
.gitignore: $(MLFILES)
|
||||||
@for i in .gitignore ezfio.ml Qptypes.ml qptypes_generator.byte _build $(ALL_EXE) $(ALL_TESTS) \
|
@for i in .gitignore ezfio.ml Qptypes.ml qptypes_generator.byte _build $(ALL_EXE) $(ALL_TESTS) \
|
||||||
$(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) ; do \
|
$(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) \
|
||||||
|
$(shell grep Input Input_auto_generated.ml | awk '{print $$2 ".ml"}') \
|
||||||
|
Input_auto_generated.ml;\
|
||||||
|
do \
|
||||||
echo $$i ; \
|
echo $$i ; \
|
||||||
done >> .gitignore
|
done > .gitignore
|
||||||
|
|
||||||
executables: $(QPACKAGE_ROOT)/data/executables
|
executables: $(QPACKAGE_ROOT)/data/executables
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ let get_ezfio_default_in_file ~directory ~data ~filename =
|
|||||||
match (String.lsplit2 ~on:' ' (String.strip line)) with
|
match (String.lsplit2 ~on:' ' (String.strip line)) with
|
||||||
| Some (l,r) ->
|
| Some (l,r) ->
|
||||||
if (l = data) then
|
if (l = data) then
|
||||||
String.lowercase (String.strip r)
|
String.strip r
|
||||||
else
|
else
|
||||||
find_data rest
|
find_data rest
|
||||||
| None -> raise Not_found
|
| None -> raise Not_found
|
||||||
|
@ -20,6 +20,10 @@ let run exe ezfio_file =
|
|||||||
Printf.printf "===============\nQuantum Package\n===============\n\n";
|
Printf.printf "===============\nQuantum Package\n===============\n\n";
|
||||||
Printf.printf "Date : %s\n\n%!" (Time.to_string time_start);
|
Printf.printf "Date : %s\n\n%!" (Time.to_string time_start);
|
||||||
|
|
||||||
|
match (Sys.command ("qp_edit -c "^ezfio_file)) with
|
||||||
|
| 0 -> ()
|
||||||
|
| i -> failwith "Error: Input inconsistent\n";
|
||||||
|
;
|
||||||
let exe =
|
let exe =
|
||||||
match (List.find ~f:(fun (x,_) -> x = exe) executables) with
|
match (List.find ~f:(fun (x,_) -> x = exe) executables) with
|
||||||
| None -> assert false
|
| None -> assert false
|
||||||
|
@ -150,15 +150,12 @@ end = struct
|
|||||||
|
|
||||||
let to_string = function
|
let to_string = function
|
||||||
| Huckel -> \"Huckel\"
|
| Huckel -> \"Huckel\"
|
||||||
| HCore -> \"HCore\"
|
| HCore -> \"Hcore\"
|
||||||
|
|
||||||
let of_string s =
|
let of_string s =
|
||||||
let s =
|
|
||||||
String.lowercase s
|
|
||||||
in
|
|
||||||
match s with
|
match s with
|
||||||
| \"huckel\" -> Huckel
|
| \"Huckel\" -> Huckel
|
||||||
| \"hcore\" -> HCore
|
| \"Hcore\" -> HCore
|
||||||
| _ -> failwith (\"Wrong Guess type : \"^s)
|
| _ -> failwith (\"Wrong Guess type : \"^s)
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -179,13 +176,10 @@ end = struct
|
|||||||
| Write -> \"Write\"
|
| Write -> \"Write\"
|
||||||
| None -> \"None\"
|
| None -> \"None\"
|
||||||
let of_string s =
|
let of_string s =
|
||||||
let s =
|
|
||||||
String.lowercase s
|
|
||||||
in
|
|
||||||
match s with
|
match s with
|
||||||
| \"read\" -> Read
|
| \"Read\" -> Read
|
||||||
| \"write\" -> Write
|
| \"Write\" -> Write
|
||||||
| \"none\" -> None
|
| \"None\" -> None
|
||||||
| _ -> failwith (\"Wrong IO type : \"^s)
|
| _ -> failwith (\"Wrong IO type : \"^s)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,177 +0,0 @@
|
|||||||
open Qptypes;;
|
|
||||||
|
|
||||||
let test_ao () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Ao_basis.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Ao_basis.to_string b);
|
|
||||||
print_endline (Input.Ao_basis.to_rst b |> Rst_string.to_string);
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_bielec_intergals () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Bielec_integrals.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
let output = Input.Bielec_integrals.to_string b
|
|
||||||
in
|
|
||||||
print_endline output;
|
|
||||||
let rst = Input.Bielec_integrals.to_rst b in
|
|
||||||
let b2 = match Input.Bielec_integrals.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "rst failed";
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_bitmasks () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Bitmasks.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Bitmasks.to_string b);
|
|
||||||
;;
|
|
||||||
|
|
||||||
|
|
||||||
let test_dets () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Determinants.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Determinants.to_rst b |> Rst_string.to_string ) ;
|
|
||||||
print_endline (Input.Determinants.sexp_of_t b |> Sexplib.Sexp.to_string ) ;
|
|
||||||
let rst = Input.Determinants.to_rst b in
|
|
||||||
let b2 = match Input.Determinants.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
if (b2 = b) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "Failed"
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_cisd_sc2 () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Cisd_sc2_selected.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Cisd_sc2_selected.to_string b);
|
|
||||||
let rst = Input.Cisd_sc2_selected.to_rst b in
|
|
||||||
let b2 = match Input.Cisd_sc2_selected.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "rst failed";
|
|
||||||
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_electrons () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Electrons.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Electrons.to_string b);
|
|
||||||
let rst = Input.Electrons.to_rst b in
|
|
||||||
let b2 = match Input.Electrons.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "Failed in rst"
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_fci () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Full_ci.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Full_ci.to_string b);
|
|
||||||
let rst = Input.Full_ci.to_rst b in
|
|
||||||
let b2 = match Input.Full_ci.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Full_ci.to_string b);
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "Failed in rst"
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_hf () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Hartree_fock.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Hartree_fock.to_string b);
|
|
||||||
let rst = Input.Hartree_fock.to_rst b in
|
|
||||||
let b2 = match Input.Hartree_fock.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Hartree_fock.to_string b);
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "Failed in rst"
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_mo () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Mo_basis.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Mo_basis.to_string b);
|
|
||||||
;;
|
|
||||||
|
|
||||||
let test_nucl () =
|
|
||||||
Ezfio.set_file "F2.ezfio" ;
|
|
||||||
let b = match Input.Nuclei.read () with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
let rst = Input.Nuclei.to_rst b in
|
|
||||||
let b2 = match Input.Nuclei.of_rst rst with
|
|
||||||
| Some x -> x
|
|
||||||
| None -> assert false
|
|
||||||
in
|
|
||||||
print_endline (Input.Nuclei.to_string b);
|
|
||||||
if (b = b2) then
|
|
||||||
print_endline "OK"
|
|
||||||
else
|
|
||||||
print_endline "Failed in rst"
|
|
||||||
;;
|
|
||||||
|
|
||||||
(*
|
|
||||||
test_ao ();;
|
|
||||||
test_bitmasks ();
|
|
||||||
test_cis ();
|
|
||||||
test_cisd_sc2 ();
|
|
||||||
test_dets ();
|
|
||||||
test_hf ();;
|
|
||||||
test_mo ();;
|
|
||||||
test_nucl ();
|
|
||||||
test_bielec_intergals ();;
|
|
||||||
test_electrons();
|
|
||||||
*)
|
|
||||||
test_dets ();
|
|
||||||
|
|
@ -30,6 +30,7 @@ Build failed for module $MODULE
|
|||||||
"
|
"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
${QPACKAGE_ROOT}/scripts/create_gitignore.sh
|
||||||
cd ${OLDPWD}
|
cd ${OLDPWD}
|
||||||
done
|
done
|
||||||
${QPACKAGE_ROOT}/scripts/create_executables_list.sh
|
${QPACKAGE_ROOT}/scripts/create_executables_list.sh
|
||||||
|
@ -35,4 +35,4 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
find . -type l | sed "s@./@@" >> .gitignore
|
find . -type l | sed "s@./@@" >> .gitignore
|
||||||
|
find . -type f -executable -print | sed "s@./@@" >> .gitignore
|
@ -12,6 +12,8 @@ fi
|
|||||||
source ${QPACKAGE_ROOT}/scripts/qp_include.sh
|
source ${QPACKAGE_ROOT}/scripts/qp_include.sh
|
||||||
|
|
||||||
check_current_dir_is_module
|
check_current_dir_is_module
|
||||||
|
MODULE=$(basename $PWD)
|
||||||
|
|
||||||
|
|
||||||
README="True"
|
README="True"
|
||||||
if [[ -f README.rst ]]
|
if [[ -f README.rst ]]
|
||||||
|
@ -12,8 +12,8 @@ By default all the option are executed.
|
|||||||
Options:
|
Options:
|
||||||
-h --help
|
-h --help
|
||||||
--path The path of the `EZFIO.cfg`, by default will look in the ${pwd}
|
--path The path of the `EZFIO.cfg`, by default will look in the ${pwd}
|
||||||
--irpf90 Create the `ezfio_interface.ipf90`
|
--irpf90 Create the `ezfio_interface.irpf90`
|
||||||
who containt all the provider needed
|
which contains all the providers needed
|
||||||
(aka all with the `interface: input` parameter)
|
(aka all with the `interface: input` parameter)
|
||||||
in `${pwd}`
|
in `${pwd}`
|
||||||
--ezfio_config Create the `${module_lower}_ezfio_interface_config` in
|
--ezfio_config Create the `${module_lower}_ezfio_interface_config` in
|
||||||
@ -28,7 +28,7 @@ Options:
|
|||||||
Format specification :
|
Format specification :
|
||||||
[provider_name] | the name of the provider in irp.f90
|
[provider_name] | the name of the provider in irp.f90
|
||||||
doc:{str} | Is the doc
|
doc:{str} | Is the doc
|
||||||
Type:{str} | Is a fancy_type support by the ocaml
|
Type:{str} | Is a fancy_type supported by the ocaml
|
||||||
ezfio_name:{str} | Will be the name of the file for the ezfio
|
ezfio_name:{str} | Will be the name of the file for the ezfio
|
||||||
(optional by default is the name of the provider)
|
(optional by default is the name of the provider)
|
||||||
interface:{str} | The provider is a imput or a output
|
interface:{str} | The provider is a imput or a output
|
||||||
@ -67,13 +67,13 @@ Type = namedtuple('Type', 'fancy ocaml fortran')
|
|||||||
|
|
||||||
def is_bool(str_):
|
def is_bool(str_):
|
||||||
"""
|
"""
|
||||||
Take a string, if is a bool return the convert into
|
Take a string, if is a bool return the conversion into
|
||||||
fortran and ocaml one.
|
fortran and ocaml.
|
||||||
"""
|
"""
|
||||||
if str_.lower() in ['true', '.true.']:
|
if "true" in str_.lower():
|
||||||
return Type(None, "True", ".True.")
|
return Type(None, "true", ".True.")
|
||||||
elif str_.lower() in ['false', '.False.']:
|
elif "false" in str_.lower():
|
||||||
return Type(None, "False", ".False")
|
return Type(None, "false", ".False")
|
||||||
else:
|
else:
|
||||||
raise TypeError
|
raise TypeError
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ def is_bool(str_):
|
|||||||
def get_type_dict():
|
def get_type_dict():
|
||||||
"""
|
"""
|
||||||
This function makes the correspondance between the type of value read in
|
This function makes the correspondance between the type of value read in
|
||||||
ezfio.cfg into the f90 and Ocam Type
|
ezfio.cfg into the f90 and Ocaml Type
|
||||||
return fancy_type[fancy_type] = namedtuple('Type', 'ocaml fortran')
|
return fancy_type[fancy_type] = namedtuple('Type', 'ocaml fortran')
|
||||||
For example fancy_type['Ndet'].fortran = interger
|
For example fancy_type['Ndet'].fortran = interger
|
||||||
.ocaml = int
|
.ocaml = int
|
||||||
@ -154,7 +154,7 @@ def get_type_dict():
|
|||||||
# q p _ t y p e s _ g e n e r a t e #
|
# q p _ t y p e s _ g e n e r a t e #
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
# Read the fancy_type, the ocaml. and convert the ocam to the fortran
|
# Read the fancy_type, the ocaml. and convert the ocaml to the fortran
|
||||||
for i in l_gen + l_un:
|
for i in l_gen + l_un:
|
||||||
str_fancy_type = i.split()[1].strip()
|
str_fancy_type = i.split()[1].strip()
|
||||||
str_ocaml_type = i.split()[3]
|
str_ocaml_type = i.split()[3]
|
||||||
@ -507,6 +507,9 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower):
|
|||||||
l_type.append(v["type"])
|
l_type.append(v["type"])
|
||||||
l_doc.append(v["doc"])
|
l_doc.append(v["doc"])
|
||||||
|
|
||||||
|
if not l_ezfio_name:
|
||||||
|
raise ValueError
|
||||||
|
|
||||||
e_glob = EZFIO_ocaml(l_ezfio_name=l_ezfio_name,
|
e_glob = EZFIO_ocaml(l_ezfio_name=l_ezfio_name,
|
||||||
l_type=l_type,
|
l_type=l_type,
|
||||||
l_doc=l_doc)
|
l_doc=l_doc)
|
||||||
@ -602,6 +605,49 @@ def save_ocaml_input(module_lower, str_ocaml_input):
|
|||||||
f.write(str_ocaml_input)
|
f.write(str_ocaml_input)
|
||||||
|
|
||||||
|
|
||||||
|
def get_l_module_lower():
|
||||||
|
"""
|
||||||
|
Get all module who have EZFIO.cfg with input data
|
||||||
|
(NB `search` in all the ligne and `match` only in one)
|
||||||
|
"""
|
||||||
|
|
||||||
|
# ~#~#~#~ #
|
||||||
|
# I n i t #
|
||||||
|
# ~#~#~#~ #
|
||||||
|
|
||||||
|
mypath = "{0}/src".format(os.environ['QPACKAGE_ROOT'])
|
||||||
|
|
||||||
|
# ~#~#~#~#~#~#~#~ #
|
||||||
|
# L _ f o l d e r #
|
||||||
|
# ~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
|
from os import listdir
|
||||||
|
from os.path import isdir, join, exists
|
||||||
|
|
||||||
|
l_folder = [f for f in listdir(mypath) if isdir(join(mypath, f))]
|
||||||
|
|
||||||
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
# L _ m o d u l e _ l o w e r #
|
||||||
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
|
|
||||||
|
l_module_lower = []
|
||||||
|
import re
|
||||||
|
p = re.compile(ur'interface:\s+input')
|
||||||
|
|
||||||
|
for f in l_folder:
|
||||||
|
path = "{0}/{1}/EZFIO.cfg".format(mypath, f)
|
||||||
|
if exists(path):
|
||||||
|
with open(path, 'r') as file_:
|
||||||
|
if p.search(file_.read()):
|
||||||
|
l_module_lower.append(f.lower())
|
||||||
|
|
||||||
|
# ~#~#~#~#~#~ #
|
||||||
|
# R e t u r n #
|
||||||
|
# ~#~#~#~#~#~ #
|
||||||
|
|
||||||
|
return l_module_lower
|
||||||
|
|
||||||
|
|
||||||
def create_ocaml_input_global():
|
def create_ocaml_input_global():
|
||||||
"""
|
"""
|
||||||
Check for all the EZFIO.cfg get the module lower
|
Check for all the EZFIO.cfg get the module lower
|
||||||
@ -612,15 +658,7 @@ def create_ocaml_input_global():
|
|||||||
# I n i t #
|
# I n i t #
|
||||||
# ~#~#~#~# #
|
# ~#~#~#~# #
|
||||||
|
|
||||||
from os import listdir
|
l_module_lower = get_l_module_lower()
|
||||||
from os.path import isdir, join, exists
|
|
||||||
|
|
||||||
mypath = "{0}/src".format(os.environ['QPACKAGE_ROOT'])
|
|
||||||
|
|
||||||
onlyfodler = [f for f in listdir(mypath) if isdir(join(mypath, f))]
|
|
||||||
|
|
||||||
l_module_lower = [f.lower() for f in onlyfodler
|
|
||||||
if exists("{0}/{1}/EZFIO.cfg".format(mypath, f))]
|
|
||||||
|
|
||||||
# ~#~#~#~#~#~#~#~# #
|
# ~#~#~#~#~#~#~#~# #
|
||||||
# C r e a t i o n #
|
# C r e a t i o n #
|
||||||
@ -761,8 +799,12 @@ if __name__ == "__main__":
|
|||||||
# O c a m l #
|
# O c a m l #
|
||||||
# ~#~#~#~#~#~#
|
# ~#~#~#~#~#~#
|
||||||
if do_all or arguments["--ocaml"]:
|
if do_all or arguments["--ocaml"]:
|
||||||
str_ocaml_input = create_ocaml_input(dict_ezfio_cfg, module_lower)
|
try:
|
||||||
save_ocaml_input(module_lower, str_ocaml_input)
|
str_ocaml_input = create_ocaml_input(dict_ezfio_cfg, module_lower)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
save_ocaml_input(module_lower, str_ocaml_input)
|
||||||
|
|
||||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||||
# e z f i o _ d e f a u l t #
|
# e z f i o _ d e f a u l t #
|
||||||
|
@ -90,19 +90,14 @@ END_PROVIDER
|
|||||||
self.default = t
|
self.default = t
|
||||||
|
|
||||||
def get_default(self):
|
def get_default(self):
|
||||||
|
filename = '/'.join( [os.environ['QPACKAGE_ROOT'], 'data',
|
||||||
|
'ezfio_defaults',
|
||||||
|
'WILL_BE_DELETED.ezfio_default'] )
|
||||||
|
|
||||||
from os import listdir
|
file = open(filename,'r')
|
||||||
from os.path import isfile, join
|
lines = file.readlines()
|
||||||
|
file.close()
|
||||||
mypath = '/'.join( [os.environ['QPACKAGE_ROOT'], 'data', 'ezfio_defaults','/'])
|
k=-1
|
||||||
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
|
|
||||||
|
|
||||||
lines= []
|
|
||||||
for filename in onlyfiles:
|
|
||||||
file = open(mypath+filename,'r')
|
|
||||||
lines.extend(file.readlines()[:])
|
|
||||||
file.close()
|
|
||||||
|
|
||||||
# Search directory
|
# Search directory
|
||||||
for k,line in enumerate(lines):
|
for k,line in enumerate(lines):
|
||||||
if line[0] != ' ':
|
if line[0] != ' ':
|
||||||
@ -120,16 +115,21 @@ END_PROVIDER
|
|||||||
break
|
break
|
||||||
v = buffer[1]
|
v = buffer[1]
|
||||||
name = self.name
|
name = self.name
|
||||||
|
true = True
|
||||||
|
false= False
|
||||||
try:
|
try:
|
||||||
|
true = True
|
||||||
|
false = False
|
||||||
v_eval = eval(v)
|
v_eval = eval(v)
|
||||||
|
except:
|
||||||
|
v = "call ezfio_get_%(v)s(%(name)s)"%locals()
|
||||||
|
else:
|
||||||
if type(v_eval) == bool:
|
if type(v_eval) == bool:
|
||||||
v = '.%s.'%(v)
|
v = '.%s.'%(v)
|
||||||
elif type(v_eval) == float:
|
elif type(v_eval) == float:
|
||||||
v = v.replace('e','d')
|
v = v.replace('e','d')
|
||||||
v = v.replace('E','D')
|
v = v.replace('E','D')
|
||||||
v = "%(name)s = %(v)s"%locals()
|
v = "%(name)s = %(v)s"%locals()
|
||||||
except:
|
|
||||||
v = "call ezfio_get_%(v)s(%(name)s)"%locals()
|
|
||||||
self.default = v
|
self.default = v
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class H_apply(object):
|
|||||||
!$OMP N_elec_in_key_hole_2,ia_ja_pairs) &
|
!$OMP N_elec_in_key_hole_2,ia_ja_pairs) &
|
||||||
!$OMP SHARED(key_in,N_int,elec_num_tab,mo_tot_num, &
|
!$OMP SHARED(key_in,N_int,elec_num_tab,mo_tot_num, &
|
||||||
!$OMP hole_1, particl_1, hole_2, particl_2, &
|
!$OMP hole_1, particl_1, hole_2, particl_2, &
|
||||||
!$OMP elec_alpha_num,i_generator)"""
|
!$OMP elec_alpha_num,i_generator) FIRSTPRIVATE(iproc)"""
|
||||||
s["omp_end_parallel"] = "!$OMP END PARALLEL"
|
s["omp_end_parallel"] = "!$OMP END PARALLEL"
|
||||||
s["omp_master"] = "!$OMP MASTER"
|
s["omp_master"] = "!$OMP MASTER"
|
||||||
s["omp_end_master"] = "!$OMP END MASTER"
|
s["omp_end_master"] = "!$OMP END MASTER"
|
||||||
|
@ -53,16 +53,68 @@ def write_ezfioFile(res,filename):
|
|||||||
basis = res.uncontracted_basis
|
basis = res.uncontracted_basis
|
||||||
geom = res.geometry
|
geom = res.geometry
|
||||||
|
|
||||||
|
res.clean_contractions()
|
||||||
|
# AO Basis
|
||||||
|
import string
|
||||||
|
at = []
|
||||||
|
num_prim = []
|
||||||
|
magnetic_number = []
|
||||||
|
angular_number = []
|
||||||
|
power_x = []
|
||||||
|
power_y = []
|
||||||
|
power_z = []
|
||||||
|
coefficient = []
|
||||||
|
exponent = []
|
||||||
|
res.convert_to_cartesian()
|
||||||
|
for b in res.basis:
|
||||||
|
c = b.center
|
||||||
|
for i,atom in enumerate(res.geometry):
|
||||||
|
if atom.coord == c:
|
||||||
|
at.append(i+1)
|
||||||
|
num_prim.append(len(b.prim))
|
||||||
|
s = b.sym
|
||||||
|
power_x.append( string.count(s,"x") )
|
||||||
|
power_y.append( string.count(s,"y") )
|
||||||
|
power_z.append( string.count(s,"z") )
|
||||||
|
coefficient.append( b.coef )
|
||||||
|
exponent.append( [ p.expo for p in b.prim ] )
|
||||||
|
ezfio.set_ao_basis_ao_num(len(res.basis))
|
||||||
|
ezfio.set_ao_basis_ao_nucl(at)
|
||||||
|
ezfio.set_ao_basis_ao_prim_num(num_prim)
|
||||||
|
ezfio.set_ao_basis_ao_power(power_x+power_y+power_z)
|
||||||
|
prim_num_max = ezfio.get_ao_basis_ao_prim_num_max()
|
||||||
|
len_res_basis = len(res.basis)
|
||||||
|
for i in range(len(res.basis)):
|
||||||
|
coefficient[i] += [ 0. for j in range(len(coefficient[i]),prim_num_max) ]
|
||||||
|
exponent[i] += [ 0. for j in range(len(exponent[i]),prim_num_max) ]
|
||||||
|
coefficient = reduce(lambda x, y: x+y, coefficient, [])
|
||||||
|
exponent = reduce(lambda x, y: x+y, exponent, [])
|
||||||
|
coef = []
|
||||||
|
expo = []
|
||||||
|
for i in range(prim_num_max):
|
||||||
|
for j in range(i,len(coefficient),prim_num_max):
|
||||||
|
coef.append ( coefficient[j] )
|
||||||
|
expo.append ( exponent[j] )
|
||||||
|
ezfio.set_ao_basis_ao_coef(coef)
|
||||||
|
ezfio.set_ao_basis_ao_expo(expo)
|
||||||
|
ezfio.set_ao_basis_ao_basis("Read by resultsFile")
|
||||||
|
|
||||||
|
|
||||||
# MO
|
# MO
|
||||||
MoTag = res.determinants_mo_type
|
MoTag = res.determinants_mo_type
|
||||||
ezfio.set_mo_basis_mo_label('Orthonormalized')
|
ezfio.set_mo_basis_mo_label('Orthonormalized')
|
||||||
MO_type = MoTag
|
MO_type = MoTag
|
||||||
allMOs = res.uncontracted_mo_sets[MO_type]
|
allMOs = res.mo_sets[MO_type]
|
||||||
|
|
||||||
|
|
||||||
closed = [ (allMOs[i].eigenvalue,i) for i in res.closed_mos ]
|
try:
|
||||||
active = [ (allMOs[i].eigenvalue,i) for i in res.active_mos ]
|
closed = [ (allMOs[i].eigenvalue,i) for i in res.closed_mos ]
|
||||||
virtual =[ (allMOs[i].eigenvalue,i) for i in res.virtual_mos ]
|
active = [ (allMOs[i].eigenvalue,i) for i in res.active_mos ]
|
||||||
|
virtual =[ (allMOs[i].eigenvalue,i) for i in res.virtual_mos ]
|
||||||
|
except:
|
||||||
|
closed = []
|
||||||
|
virtual = []
|
||||||
|
active = [ (allMOs[i].eigenvalue,i) for i in range(len(allMOs)) ]
|
||||||
|
|
||||||
# closed.sort()
|
# closed.sort()
|
||||||
# active.sort()
|
# active.sort()
|
||||||
@ -111,117 +163,6 @@ def write_ezfioFile(res,filename):
|
|||||||
while len(MoMatrix) < len(MOs[0].vector)**2:
|
while len(MoMatrix) < len(MOs[0].vector)**2:
|
||||||
MoMatrix.append(0.)
|
MoMatrix.append(0.)
|
||||||
|
|
||||||
ezfio.set_mo_basis_mo_tot_num(mo_tot_num)
|
|
||||||
ezfio.set_mo_basis_mo_occ(OccNum)
|
|
||||||
|
|
||||||
|
|
||||||
res.clean_contractions()
|
|
||||||
# AO Basis
|
|
||||||
import string
|
|
||||||
at = []
|
|
||||||
num_prim = []
|
|
||||||
magnetic_number = []
|
|
||||||
angular_number = []
|
|
||||||
power_x = []
|
|
||||||
power_y = []
|
|
||||||
power_z = []
|
|
||||||
coefficient = []
|
|
||||||
exponent = []
|
|
||||||
res.convert_to_cartesian()
|
|
||||||
for b in res.basis:
|
|
||||||
c = b.center
|
|
||||||
for i,atom in enumerate(res.geometry):
|
|
||||||
if atom.coord == c:
|
|
||||||
at.append(i+1)
|
|
||||||
num_prim.append(len(b.prim))
|
|
||||||
s = b.sym
|
|
||||||
power_x.append( string.count(s,"x") )
|
|
||||||
power_y.append( string.count(s,"y") )
|
|
||||||
power_z.append( string.count(s,"z") )
|
|
||||||
coefficient.append( b.coef )
|
|
||||||
exponent.append( [ p.expo for p in b.prim ] )
|
|
||||||
ezfio.set_ao_basis_ao_num(len(res.basis))
|
|
||||||
ezfio.set_ao_basis_ao_nucl(at)
|
|
||||||
ezfio.set_ao_basis_ao_prim_num(num_prim)
|
|
||||||
ezfio.set_ao_basis_ao_power(power_x+power_y+power_z)
|
|
||||||
prim_num_max = ezfio.get_ao_basis_ao_prim_num_max()
|
|
||||||
len_res_basis = len(res.basis)
|
|
||||||
for i in range(len(res.basis)):
|
|
||||||
coefficient[i] += [ 0. for j in range(len(coefficient[i]),prim_num_max) ]
|
|
||||||
exponent[i] += [ 0. for j in range(len(exponent[i]),prim_num_max) ]
|
|
||||||
coefficient = reduce(lambda x, y: x+y, coefficient, [])
|
|
||||||
exponent = reduce(lambda x, y: x+y, exponent, [])
|
|
||||||
coef = []
|
|
||||||
expo = []
|
|
||||||
for i in range(prim_num_max):
|
|
||||||
for j in range(i,len(coefficient),prim_num_max):
|
|
||||||
coef.append ( coefficient[j] )
|
|
||||||
expo.append ( exponent[j] )
|
|
||||||
ezfio.set_ao_basis_ao_coef(coef)
|
|
||||||
ezfio.set_ao_basis_ao_expo(expo)
|
|
||||||
ezfio.set_ao_basis_ao_basis("Read by resultsFile")
|
|
||||||
|
|
||||||
# Apply threshold to determinants
|
|
||||||
if len(res.determinants) == 1:
|
|
||||||
sorted_determinants = [ (-1.,1.,res.determinants[0]) ]
|
|
||||||
else:
|
|
||||||
sorted_determinants = []
|
|
||||||
for i,j in zip(res.det_coefficients[0],res.determinants):
|
|
||||||
sorted_determinants.append((-abs(i),i,j))
|
|
||||||
sorted_determinants.sort()
|
|
||||||
norm = 0.0
|
|
||||||
for length, (a,b,c) in enumerate(sorted_determinants):
|
|
||||||
if -a < det_threshold:
|
|
||||||
length -=1
|
|
||||||
break
|
|
||||||
norm += a**2
|
|
||||||
norm = sqrt(norm)
|
|
||||||
length += 1
|
|
||||||
for i in xrange(length):
|
|
||||||
a = sorted_determinants[i]
|
|
||||||
sorted_determinants[i] = (a[0],a[1]/norm,a[2])
|
|
||||||
sorted_determinants = sorted_determinants[:length]
|
|
||||||
|
|
||||||
# MOs
|
|
||||||
mo_tot_num = len(res.mo_sets[MoTag])
|
|
||||||
closed_mos = res.closed_mos
|
|
||||||
active_mos = res.active_mos
|
|
||||||
virtual_mos = res.virtual_mos
|
|
||||||
to_remove = []
|
|
||||||
to_add = []
|
|
||||||
for i in active_mos:
|
|
||||||
found = False
|
|
||||||
for (a,b,c) in sorted_determinants:
|
|
||||||
if i in c['alpha']+c['beta']:
|
|
||||||
found = True
|
|
||||||
break
|
|
||||||
if not found:
|
|
||||||
to_remove.append(i)
|
|
||||||
to_add.append(i)
|
|
||||||
virtual_mos = to_add + virtual_mos
|
|
||||||
for i in active_mos:
|
|
||||||
always = True
|
|
||||||
for (a,b,c) in sorted_determinants:
|
|
||||||
if not (i in c['alpha'] and i in c['beta']):
|
|
||||||
always = False
|
|
||||||
break
|
|
||||||
if always:
|
|
||||||
to_remove.append(i)
|
|
||||||
closed_mos.append(i)
|
|
||||||
for i in to_remove:
|
|
||||||
active_mos.remove(i)
|
|
||||||
|
|
||||||
|
|
||||||
MOindices = closed_mos + active_mos + virtual_mos
|
|
||||||
while len(MOindices) < mo_tot_num:
|
|
||||||
MOindices.append(len(MOindices))
|
|
||||||
MOmap = list(MOindices)
|
|
||||||
for i in range(len(MOindices)):
|
|
||||||
MOmap[i] = MOindices.index(i)
|
|
||||||
|
|
||||||
|
|
||||||
ezfio.set_mo_basis_mo_tot_num(mo_tot_num)
|
|
||||||
|
|
||||||
mo = []
|
mo = []
|
||||||
for i in MOindices:
|
for i in MOindices:
|
||||||
mo.append(res.mo_sets[MoTag][i])
|
mo.append(res.mo_sets[MoTag][i])
|
||||||
@ -234,35 +175,11 @@ def write_ezfioFile(res,filename):
|
|||||||
while len(mo) < mo_tot_num:
|
while len(mo) < mo_tot_num:
|
||||||
mo.append(newmo)
|
mo.append(newmo)
|
||||||
Energies = [ m.eigenvalue for m in mo ]
|
Energies = [ m.eigenvalue for m in mo ]
|
||||||
|
|
||||||
if res.occ_num is not None:
|
ezfio.set_mo_basis_mo_tot_num(mo_tot_num)
|
||||||
OccNum = []
|
ezfio.set_mo_basis_mo_occ(OccNum)
|
||||||
for i in MOindices:
|
|
||||||
OccNum.append(res.occ_num[MoTag][i])
|
|
||||||
|
|
||||||
while len(OccNum) < mo_tot_num:
|
|
||||||
OccNum.append(0.)
|
|
||||||
ezfio.set_mo_basis_mo_occ(OccNum)
|
|
||||||
|
|
||||||
cls = [ "v" for i in mo ]
|
|
||||||
for i in closed_mos:
|
|
||||||
cls[MOmap[i]] = 'c'
|
|
||||||
for i in active_mos:
|
|
||||||
cls[MOmap[i]] = 'a'
|
|
||||||
|
|
||||||
sym0 = [ i.sym for i in res.mo_sets[MoTag] ]
|
|
||||||
sym = [ i.sym for i in res.mo_sets[MoTag] ]
|
|
||||||
for i in xrange(len(sym)):
|
|
||||||
sym[MOmap[i]] = sym0[i]
|
|
||||||
|
|
||||||
MoMatrix = []
|
|
||||||
for m in mo:
|
|
||||||
for coef in m.vector:
|
|
||||||
MoMatrix.append(coef)
|
|
||||||
while len(MoMatrix) < len(mo[0].vector)**2:
|
|
||||||
MoMatrix.append(0.)
|
|
||||||
ezfio.set_mo_basis_mo_coef(MoMatrix)
|
ezfio.set_mo_basis_mo_coef(MoMatrix)
|
||||||
del MoMatrix
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
"""Updates the README.rst file as the include directive is disabled on GitHub."""
|
"""Updates the README.rst file as the include directive is disabled on GitHub."""
|
||||||
__date__ = "Thu Apr 3 23:06:18 CEST 2014"
|
__date__ = "Thu Apr 3 23:06:18 CEST 2014"
|
||||||
__author__ = "Anthony Scemama <scemama@irsamc.ups-tlse.fr>"
|
__author__ = "Anthony Scemama <scemama@irsamc.ups-tlse.fr>"
|
||||||
|
|
||||||
|
|
||||||
README="README.rst"
|
README = "README.rst"
|
||||||
Assum_key="Assumptions\n===========\n"
|
Assum_key = "Assumptions\n===========\n"
|
||||||
Needed_key="Needed Modules\n==============\n"
|
Needed_key = "Needed Modules\n==============\n"
|
||||||
Doc_key="Documentation\n=============\n"
|
Doc_key = "Documentation\n=============\n"
|
||||||
Sentinel="@@$%&@@"
|
Sentinel = "@@$%&@@"
|
||||||
URL="http://github.com/LCPQ/quantum_package/tree/master/src/"
|
URL = "http://github.com/LCPQ/quantum_package/tree/master/src/"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
@ -22,30 +22,30 @@ header = """
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# subprocess.check_output("git status".split())
|
# subprocess.check_output("git status".split())
|
||||||
# has_git = True
|
has_git = True
|
||||||
pass
|
|
||||||
except OSError:
|
except OSError:
|
||||||
has_git = False
|
has_git = False
|
||||||
|
|
||||||
|
|
||||||
def fetch_splitted_data():
|
def fetch_splitted_data():
|
||||||
"""Read the README.rst file and split it in strings:
|
"""Read the README.rst file and split it in strings:
|
||||||
* The description
|
* The description
|
||||||
* The assumptions
|
* The assumptions
|
||||||
* The documentation
|
* The documentation
|
||||||
* The needed modules
|
* The needed modules
|
||||||
The result is given as a list of strings
|
The result is given as a list of strings
|
||||||
"""
|
"""
|
||||||
|
|
||||||
file = open(README,'r')
|
file = open(README, 'r')
|
||||||
data = file.read()
|
data = file.read()
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
# Place sentinels
|
# Place sentinels
|
||||||
data = data.replace(Assum_key,Sentinel+Assum_key)
|
data = data.replace(Assum_key, Sentinel + Assum_key)
|
||||||
data = data.replace(Doc_key,Sentinel+Doc_key)
|
data = data.replace(Doc_key, Sentinel + Doc_key)
|
||||||
data = data.replace(Needed_key,Sentinel+Needed_key)
|
data = data.replace(Needed_key, Sentinel + Needed_key)
|
||||||
|
|
||||||
# Now Split data using the sentinels
|
# Now Split data using the sentinels
|
||||||
result = data.split(Sentinel)
|
result = data.split(Sentinel)
|
||||||
|
|
||||||
@ -56,9 +56,9 @@ def update_assumptions(data):
|
|||||||
"""Read the ASSUMPTIONS.rst file, and replace the data with it."""
|
"""Read the ASSUMPTIONS.rst file, and replace the data with it."""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
file = open('ASSUMPTIONS.rst','r')
|
file = open('ASSUMPTIONS.rst', 'r')
|
||||||
except IOError:
|
except IOError:
|
||||||
file = open('ASSUMPTIONS.rst','w')
|
file = open('ASSUMPTIONS.rst', 'w')
|
||||||
assumptions = ""
|
assumptions = ""
|
||||||
else:
|
else:
|
||||||
assumptions = file.read()
|
assumptions = file.read()
|
||||||
@ -74,7 +74,7 @@ def update_assumptions(data):
|
|||||||
data[i] = assumptions
|
data[i] = assumptions
|
||||||
|
|
||||||
if not has_assumptions:
|
if not has_assumptions:
|
||||||
data.insert(1,assumptions)
|
data.insert(1, assumptions)
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
@ -83,12 +83,12 @@ def update_needed(data):
|
|||||||
"""Read the NEEDED_MODULES file, and replace the data with it.
|
"""Read the NEEDED_MODULES file, and replace the data with it.
|
||||||
Create the links to the GitHub pages."""
|
Create the links to the GitHub pages."""
|
||||||
|
|
||||||
file = open('NEEDED_MODULES','r')
|
file = open('NEEDED_MODULES', 'r')
|
||||||
modules = file.read()
|
modules = file.read()
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
if modules.strip() != "":
|
if modules.strip() != "":
|
||||||
modules = [ '* `%s <%s%s>`_'%(x,URL,x) for x in modules.split() ]
|
modules = ['* `%s <%s%s>`_' % (x, URL, x) for x in modules.split()]
|
||||||
modules = "\n".join(modules)
|
modules = "\n".join(modules)
|
||||||
modules = Needed_key + header + modules + '\n\n'
|
modules = Needed_key + header + modules + '\n\n'
|
||||||
|
|
||||||
@ -105,112 +105,114 @@ def update_needed(data):
|
|||||||
|
|
||||||
|
|
||||||
def update_documentation(data):
|
def update_documentation(data):
|
||||||
"""Reads the BEGIN_DOC ... END_DOC blocks and builds the documentation"""
|
"""Reads the BEGIN_DOC ... END_DOC blocks and builds the documentation"""
|
||||||
|
|
||||||
# If the file does not exist, don't do anything
|
# If the file does not exist, don't do anything
|
||||||
try:
|
try:
|
||||||
file = open('tags','r')
|
file = open('tags', 'r')
|
||||||
except:
|
except:
|
||||||
return
|
return
|
||||||
tags = file.readlines()
|
tags = file.readlines()
|
||||||
file.close()
|
|
||||||
|
|
||||||
def extract_doc(item):
|
|
||||||
"""Extracts the documentation contained in IRPF90_man file"""
|
|
||||||
file = open("IRPF90_man/%s.l"%(item),'r')
|
|
||||||
lines = file.readlines()
|
|
||||||
file.close()
|
file.close()
|
||||||
result = []
|
|
||||||
inside = False
|
|
||||||
for line in lines:
|
|
||||||
if not inside:
|
|
||||||
inside = line.startswith(".SH Description")
|
|
||||||
else:
|
|
||||||
if line.startswith(".SH"):
|
|
||||||
break
|
|
||||||
result.append(" "+line.strip())
|
|
||||||
|
|
||||||
if result == []:
|
def extract_doc(item):
|
||||||
result = [" Undocumented"]
|
"""Extracts the documentation contained in IRPF90_man file"""
|
||||||
return "\n".join(result)+'\n'
|
file = open("IRPF90_man/%s.l" % (item), 'r')
|
||||||
|
lines = file.readlines()
|
||||||
|
file.close()
|
||||||
|
result = []
|
||||||
items = []
|
inside = False
|
||||||
dirname = os.path.basename(os.getcwd())
|
for line in lines:
|
||||||
command = "git ls-tree --full-tree --name-only HEAD:src/%s"
|
if not inside:
|
||||||
command = command%(dirname)
|
inside = line.startswith(".SH Description")
|
||||||
try:
|
else:
|
||||||
if dirname != 'src':
|
if line.startswith(".SH"):
|
||||||
p = subprocess.Popen(command.split(),stdout=subprocess.PIPE)
|
break
|
||||||
tracked_files = p.stdout.read()
|
result.append(" " + line.strip())
|
||||||
else:
|
|
||||||
tracked_files = ""
|
|
||||||
tracked_files = tracked_files.splitlines()
|
|
||||||
except:
|
|
||||||
tracked_files = []
|
|
||||||
for filename in tracked_files:
|
|
||||||
if filename.endswith('.irp.f'):
|
|
||||||
# Search for providers, subroutines and functions in each file using
|
|
||||||
# the tags file
|
|
||||||
search = "\t"+filename+"\t"
|
|
||||||
tmp = filter(lambda line: search in line, tags)
|
|
||||||
|
|
||||||
# Search for the documentation in the IRPF90_man directory
|
if result == []:
|
||||||
for item in tmp :
|
result = [" Undocumented"]
|
||||||
item, _, line = item.strip().split('\t')
|
return "\n".join(result) + '\n'
|
||||||
doc = extract_doc(item)
|
|
||||||
items.append( (item, filename, doc, line) )
|
|
||||||
|
|
||||||
dirname = os.path.basename(os.getcwd())
|
items = []
|
||||||
# Write the documentation in the README
|
dirname = os.path.basename(os.getcwd())
|
||||||
template = "`%(item)s <%(url)s%(dirname)s/%(filename)s#L%(line)s>`_\n%(doc)s\n"
|
command = "git ls-tree --full-tree --name-only HEAD:src/%s"
|
||||||
|
command = command % (dirname)
|
||||||
|
try:
|
||||||
|
if dirname != 'src':
|
||||||
|
p = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
|
||||||
|
tracked_files = p.stdout.read()
|
||||||
|
else:
|
||||||
|
tracked_files = ""
|
||||||
|
tracked_files = tracked_files.splitlines()
|
||||||
|
except:
|
||||||
|
tracked_files = []
|
||||||
|
for filename in tracked_files:
|
||||||
|
if filename.endswith('.irp.f'):
|
||||||
|
# Search for providers, subroutines and functions in each file using
|
||||||
|
# the tags file
|
||||||
|
search = "\t" + filename + "\t"
|
||||||
|
tmp = filter(lambda line: search in line, tags)
|
||||||
|
|
||||||
documentation = Doc_key + header
|
# Search for the documentation in the IRPF90_man directory
|
||||||
url = URL
|
for item in tmp:
|
||||||
for item, filename, doc, line in items:
|
item, _, line = item.strip().split('\t')
|
||||||
documentation += template%locals()
|
doc = extract_doc(item)
|
||||||
documentation += '\n\n'
|
items.append((item, filename, doc, line))
|
||||||
|
|
||||||
has_doc = False
|
dirname = os.path.basename(os.getcwd())
|
||||||
for i in range(len(data)):
|
# Write the documentation in the README
|
||||||
if data[i].startswith(Doc_key):
|
template = "`%(item)s <%(url)s%(dirname)s/%(filename)s#L%(line)s>`_\n%(doc)s\n"
|
||||||
has_doc = True
|
|
||||||
data[i] = documentation
|
|
||||||
|
|
||||||
if not has_doc:
|
documentation = Doc_key + header
|
||||||
data.append(documentation)
|
url = URL
|
||||||
|
for item, filename, doc, line in items:
|
||||||
|
documentation += template % locals()
|
||||||
|
documentation += '\n\n'
|
||||||
|
|
||||||
return data
|
has_doc = False
|
||||||
|
for i in range(len(data)):
|
||||||
|
if data[i].startswith(Doc_key):
|
||||||
|
has_doc = True
|
||||||
|
data[i] = documentation
|
||||||
|
|
||||||
|
if not has_doc:
|
||||||
|
data.append(documentation)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
|
||||||
def git_add():
|
def git_add():
|
||||||
"""Executes:
|
"""Executes:
|
||||||
git add README.rst
|
git add README.rst
|
||||||
if git is present on the machine."""
|
throw an error if git is not precent"""
|
||||||
command = "git add "+README
|
|
||||||
os.system(command+" &> /dev/null")
|
import subprocess
|
||||||
|
|
||||||
|
try:
|
||||||
|
# pipe output to /dev/null for silence
|
||||||
|
null = open("/dev/null", "w")
|
||||||
|
subprocess.Popen("git add README.rst", stdout=null, stderr=null)
|
||||||
|
null.close()
|
||||||
|
|
||||||
|
except OSError:
|
||||||
|
raise
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
if not has_git:
|
|
||||||
return
|
|
||||||
data = fetch_splitted_data()
|
data = fetch_splitted_data()
|
||||||
data = update_assumptions(data)
|
data = update_assumptions(data)
|
||||||
data = update_documentation(data)
|
data = update_documentation(data)
|
||||||
data = update_needed(data)
|
data = update_needed(data)
|
||||||
output = ''.join(data)
|
output = ''.join(data)
|
||||||
|
|
||||||
file = open(README,'w')
|
|
||||||
file.write(output)
|
|
||||||
file.close()
|
|
||||||
|
|
||||||
git_add()
|
with open(README, 'w') as f:
|
||||||
|
f.write(output)
|
||||||
|
|
||||||
|
try:
|
||||||
|
git_add()
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
try:
|
main()
|
||||||
main()
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
@ -50,16 +50,6 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo "${BLUE}===== Installing EZFIO ===== ${BLACK}"
|
|
||||||
${QPACKAGE_ROOT}/scripts/install_ezfio.sh | tee install_ezfio.log
|
|
||||||
|
|
||||||
if [[ ! -d ${QPACKAGE_ROOT}/EZFIO ]]
|
|
||||||
then
|
|
||||||
echo $RED "Error in EZFIO installation" $BLACK
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo "${BLUE}===== Installing Zlib ===== ${BLACK}"
|
echo "${BLUE}===== Installing Zlib ===== ${BLACK}"
|
||||||
${QPACKAGE_ROOT}/scripts/install_zlib.sh | tee install_zlib.log
|
${QPACKAGE_ROOT}/scripts/install_zlib.sh | tee install_zlib.log
|
||||||
|
|
||||||
|
@ -50,21 +50,65 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L1>`_
|
||||||
|
Overlap between atomic basis functions:
|
||||||
|
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
||||||
|
|
||||||
|
`ao_overlap_abs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L65>`_
|
||||||
|
Overlap between absolute value of atomic basis functions:
|
||||||
|
:math:`\int |\chi_i(r)| |\chi_j(r)| dr)`
|
||||||
|
|
||||||
|
`ao_overlap_x <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L2>`_
|
||||||
|
Overlap between atomic basis functions:
|
||||||
|
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
||||||
|
|
||||||
|
`ao_overlap_y <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L3>`_
|
||||||
|
Overlap between atomic basis functions:
|
||||||
|
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
||||||
|
|
||||||
|
`ao_overlap_z <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/ao_overlap.irp.f#L4>`_
|
||||||
|
Overlap between atomic basis functions:
|
||||||
|
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
||||||
|
|
||||||
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L21>`_
|
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L21>`_
|
||||||
Coefficients, exponents and powers of x,y and z
|
Coefficients, exponents and powers of x,y and z
|
||||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
|
||||||
|
|
||||||
`ao_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L96>`_
|
`ao_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L157>`_
|
||||||
Transposed ao_coef and ao_expo
|
Transposed ao_coef and ao_expo
|
||||||
|
|
||||||
|
`ao_coef_unnormalized <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L116>`_
|
||||||
|
Coefficients, exponents and powers of x,y and z as in the EZFIO file
|
||||||
|
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||||
|
ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||||
|
|
||||||
`ao_expo <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L20>`_
|
`ao_expo <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L20>`_
|
||||||
Coefficients, exponents and powers of x,y and z
|
Coefficients, exponents and powers of x,y and z
|
||||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
|
||||||
|
|
||||||
`ao_expo_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L97>`_
|
`ao_expo_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L158>`_
|
||||||
Transposed ao_coef and ao_expo
|
Transposed ao_coef and ao_expo
|
||||||
|
|
||||||
`ao_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L146>`_
|
`ao_expo_unsorted <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L117>`_
|
||||||
|
Coefficients, exponents and powers of x,y and z as in the EZFIO file
|
||||||
|
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||||
|
ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||||
|
|
||||||
|
`ao_l <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L118>`_
|
||||||
|
Coefficients, exponents and powers of x,y and z as in the EZFIO file
|
||||||
|
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||||
|
ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||||
|
|
||||||
|
`ao_l_char <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L119>`_
|
||||||
|
Coefficients, exponents and powers of x,y and z as in the EZFIO file
|
||||||
|
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||||
|
ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||||
|
|
||||||
|
`ao_l_char_space <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L309>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`ao_md5 <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L400>`_
|
||||||
|
MD5 key characteristic of the AO basis
|
||||||
|
|
||||||
|
`ao_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L207>`_
|
||||||
Index of the nuclei on which the ao is centered
|
Index of the nuclei on which the ao is centered
|
||||||
|
|
||||||
`ao_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L1>`_
|
`ao_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L1>`_
|
||||||
@ -75,16 +119,37 @@ Documentation
|
|||||||
|
|
||||||
`ao_power <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L19>`_
|
`ao_power <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L19>`_
|
||||||
Coefficients, exponents and powers of x,y and z
|
Coefficients, exponents and powers of x,y and z
|
||||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
|
||||||
|
|
||||||
`ao_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L114>`_
|
`ao_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L175>`_
|
||||||
Number of primitives per atomic orbital
|
Number of primitives per atomic orbital
|
||||||
|
|
||||||
`ao_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L136>`_
|
`ao_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L197>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`ao_prim_num_max_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L137>`_
|
`ao_prim_num_max_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L198>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
`l_to_charater <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L216>`_
|
||||||
|
character corresponding to the "L" value of an AO orbital
|
||||||
|
|
||||||
|
`n_aos_max <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L229>`_
|
||||||
|
Number of AOs per atom
|
||||||
|
|
||||||
|
`nucl_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L242>`_
|
||||||
|
List of AOs attached on each atom
|
||||||
|
|
||||||
|
`nucl_list_shell_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L260>`_
|
||||||
|
Index of the shell type Aos and of the corresponding Aos
|
||||||
|
Per convention, for P,D,F and G AOs, we take the index
|
||||||
|
of the AO with the the corresponding power in the "X" axis
|
||||||
|
|
||||||
|
`nucl_n_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L228>`_
|
||||||
|
Number of AOs per atom
|
||||||
|
|
||||||
|
`nucl_num_shell_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L261>`_
|
||||||
|
Index of the shell type Aos and of the corresponding Aos
|
||||||
|
Per convention, for P,D,F and G AOs, we take the index
|
||||||
|
of the AO with the the corresponding power in the "X" axis
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,26 +7,26 @@ ezfio_name: direct
|
|||||||
|
|
||||||
[disk_access_mo_integrals]
|
[disk_access_mo_integrals]
|
||||||
type: Disk_access
|
type: Disk_access
|
||||||
doc: Write, Read, None for MO integrals from disk (EZFIO folder)
|
doc: Read/Write MO integrals from/to disk [ Write | Read | None ]
|
||||||
interface: input
|
interface: input
|
||||||
default: None
|
default: None
|
||||||
|
|
||||||
[disk_access_ao_integrals]
|
[disk_access_ao_integrals]
|
||||||
type: Disk_access
|
type: Disk_access
|
||||||
doc: Write or Read or None for AO integrals from disk (EZFIO folder)
|
doc: Read/Write AO integrals from/to disk [ Write | Read | None ]
|
||||||
interface: input
|
interface: input
|
||||||
default: None
|
default: None
|
||||||
|
|
||||||
[ao_integrals_threshold]
|
[ao_integrals_threshold]
|
||||||
type: Threshold
|
type: Threshold
|
||||||
doc: If <pq|rs> < ao_integrals_threshold then <pq|rs> is null
|
doc: If |<pq|rs>| < ao_integrals_threshold then <pq|rs> is zero
|
||||||
interface: input
|
interface: input
|
||||||
default: 1.e-15
|
default: 1.e-15
|
||||||
ezfio_name: threshold_ao
|
ezfio_name: threshold_ao
|
||||||
|
|
||||||
[mo_integrals_threshold]
|
[mo_integrals_threshold]
|
||||||
type: Threshold
|
type: Threshold
|
||||||
doc: If <ij|kl> < ao_integrals_threshold then <pq|rs> is null
|
doc: If |<ij|kl>| < ao_integrals_threshold then <pq|rs> is zero
|
||||||
interface: input
|
interface: input
|
||||||
default: 1.e-15
|
default: 1.e-15
|
||||||
ezfio_name: threshold_mo
|
ezfio_name: threshold_mo
|
||||||
|
@ -32,152 +32,193 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L1>`_
|
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1>`_
|
||||||
integral of the AO basis <ik|jl> or (ij|kl)
|
integral of the AO basis <ik|jl> or (ij|kl)
|
||||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||||
|
|
||||||
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L350>`_
|
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L490>`_
|
||||||
Needed to compuet Schwartz inequalities
|
Needed to compute Schwartz inequalities
|
||||||
|
|
||||||
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L188>`_
|
`ao_bielec_integral_schwartz_accel <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L107>`_
|
||||||
|
integral of the AO basis <ik|jl> or (ij|kl)
|
||||||
|
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||||
|
|
||||||
|
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L322>`_
|
||||||
Map of Atomic integrals
|
Map of Atomic integrals
|
||||||
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
||||||
|
|
||||||
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L147>`_
|
`ao_l4 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L279>`_
|
||||||
|
Computes the product of l values of i,j,k,and l
|
||||||
|
|
||||||
|
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L290>`_
|
||||||
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
||||||
|
|
||||||
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L511>`_
|
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L653>`_
|
||||||
ATOMIC PRIMTIVE bielectronic integral between the 4 primitives ::
|
ATOMIC PRIMTIVE bielectronic integral between the 4 primitives ::
|
||||||
primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2)
|
primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2)
|
||||||
primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2)
|
primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2)
|
||||||
primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2)
|
primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2)
|
||||||
primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2)
|
primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2)
|
||||||
|
|
||||||
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L376>`_
|
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L515>`_
|
||||||
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
||||||
|
|
||||||
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L656>`_
|
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L851>`_
|
||||||
subroutine that returns the explicit polynom in term of the "t"
|
subroutine that returns the explicit polynom in term of the "t"
|
||||||
variable of the following polynomw :
|
variable of the following polynomw :
|
||||||
I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)
|
I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)
|
||||||
|
|
||||||
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L600>`_
|
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L772>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L719>`_
|
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L914>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L839>`_
|
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1034>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L893>`_
|
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1088>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L753>`_
|
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L948>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L623>`_
|
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L807>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L955>`_
|
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1150>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L555>`_
|
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L698>`_
|
||||||
calculate the integral of the polynom ::
|
calculate the integral of the polynom ::
|
||||||
I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q)
|
I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q)
|
||||||
between ( 0 ; 1)
|
between ( 0 ; 1)
|
||||||
|
|
||||||
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L642>`_
|
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L837>`_
|
||||||
Returns the upper boundary of the degree of the polynom involved in the
|
Returns the upper boundary of the degree of the polynomial involved in the
|
||||||
bielctronic integral :
|
bielctronic integral :
|
||||||
Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z)
|
Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z)
|
||||||
|
|
||||||
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L20>`_
|
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L29>`_
|
||||||
Gauss-Legendre
|
Gauss-Legendre
|
||||||
|
|
||||||
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L1>`_
|
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L10>`_
|
||||||
t_w(i,1,k) = w(i)
|
t_w(i,1,k) = w(i)
|
||||||
t_w(i,2,k) = t(i)
|
t_w(i,2,k) = t(i)
|
||||||
|
|
||||||
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L2>`_
|
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L11>`_
|
||||||
t_w(i,1,k) = w(i)
|
t_w(i,1,k) = w(i)
|
||||||
t_w(i,2,k) = t(i)
|
t_w(i,2,k) = t(i)
|
||||||
|
|
||||||
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L6>`_
|
`n_pt_max_integrals_16 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L1>`_
|
||||||
|
Aligned n_pt_max_integrals
|
||||||
|
|
||||||
|
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L6>`_
|
||||||
AO integrals
|
AO integrals
|
||||||
|
|
||||||
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L17>`_
|
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L19>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L128>`_
|
`bielec_integrals_index_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L36>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L223>`_
|
||||||
Frees the memory of the AO map
|
Frees the memory of the AO map
|
||||||
|
|
||||||
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L285>`_
|
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L399>`_
|
||||||
Frees the memory of the MO map
|
Frees the memory of the MO map
|
||||||
|
|
||||||
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L33>`_
|
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L113>`_
|
||||||
Gets one AO bi-electronic integral from the AO map
|
Gets one AO bi-electronic integral from the AO map
|
||||||
|
|
||||||
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L51>`_
|
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L137>`_
|
||||||
Gets multiple AO bi-electronic integral from the AO map .
|
Gets multiple AO bi-electronic integral from the AO map .
|
||||||
All i are retrieved for j,k,l fixed.
|
All i are retrieved for j,k,l fixed.
|
||||||
|
|
||||||
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L84>`_
|
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L172>`_
|
||||||
Gets multiple AO bi-electronic integral from the AO map .
|
Gets multiple AO bi-electronic integral from the AO map .
|
||||||
All non-zero i are retrieved for j,k,l fixed.
|
All non-zero i are retrieved for j,k,l fixed.
|
||||||
|
|
||||||
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L120>`_
|
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L214>`_
|
||||||
Returns the number of elements in the AO map
|
Returns the number of elements in the AO map
|
||||||
|
|
||||||
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L184>`_
|
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L281>`_
|
||||||
Returns one integral <ij|kl> in the MO basis
|
Returns one integral <ij|kl> in the MO basis
|
||||||
|
|
||||||
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L213>`_
|
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L310>`_
|
||||||
Returns multiple integrals <ij|kl> in the MO basis, all
|
Returns multiple integrals <ij|kl> in the MO basis, all
|
||||||
i for j,k,l fixed.
|
i for j,k,l fixed.
|
||||||
|
|
||||||
`get_mo_bielec_integrals_existing_ik <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L235>`_
|
`get_mo_bielec_integrals_existing_ik <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L341>`_
|
||||||
Returns multiple integrals <ij|kl> in the MO basis, all
|
Returns multiple integrals <ij|kl> in the MO basis, all
|
||||||
|
i(1)j(1) 1/r12 k(2)l(2)
|
||||||
i for j,k,l fixed.
|
i for j,k,l fixed.
|
||||||
|
|
||||||
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L277>`_
|
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L391>`_
|
||||||
Return the number of elements in the MO map
|
Return the number of elements in the MO map
|
||||||
|
|
||||||
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L153>`_
|
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L250>`_
|
||||||
Create new entry into AO map
|
Create new entry into AO map
|
||||||
|
|
||||||
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L168>`_
|
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L265>`_
|
||||||
Create new entry into MO map, or accumulate in an existing entry
|
Create new entry into MO map, or accumulate in an existing entry
|
||||||
|
|
||||||
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L201>`_
|
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L298>`_
|
||||||
Returns one integral <ij|kl> in the MO basis
|
Returns one integral <ij|kl> in the MO basis
|
||||||
|
|
||||||
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L142>`_
|
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L237>`_
|
||||||
MO integrals
|
MO integrals
|
||||||
|
|
||||||
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L40>`_
|
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L42>`_
|
||||||
Adds integrals to tha MO map according to some bitmask
|
Adds integrals to tha MO map according to some bitmask
|
||||||
|
|
||||||
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L314>`_
|
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L464>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = J_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L316>`_
|
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L466>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = J_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L315>`_
|
`mo_bielec_integral_jj_anti_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L326>`_
|
||||||
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
|
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L465>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = J_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L21>`_
|
`mo_bielec_integral_jj_exchange_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L325>`_
|
||||||
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
|
`mo_bielec_integral_jj_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L324>`_
|
||||||
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
|
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L22>`_
|
||||||
If True, the map of MO bielectronic integrals is provided
|
If True, the map of MO bielectronic integrals is provided
|
||||||
|
|
||||||
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L1>`_
|
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L1>`_
|
||||||
Computes an unique index for i,j,k,l integrals
|
Computes an unique index for i,j,k,l integrals
|
||||||
|
|
||||||
|
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L1>`_
|
||||||
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
|
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L2>`_
|
||||||
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
|
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L3>`_
|
||||||
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
|
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L4>`_
|
||||||
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -368,11 +368,11 @@ subroutine get_mo_bielec_integrals_existing_ik(j,l,sze,out_array,map)
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
logical :: integral_is_in_map
|
logical :: integral_is_in_map
|
||||||
if (cache_key_kind == 8) then
|
if (key_kind == 8) then
|
||||||
call i8radix_sort(hash,iorder,kk,-1)
|
call i8radix_sort(hash,iorder,kk,-1)
|
||||||
else if (cache_key_kind == 4) then
|
else if (key_kind == 4) then
|
||||||
call iradix_sort(hash,iorder,kk,-1)
|
call iradix_sort(hash,iorder,kk,-1)
|
||||||
else if (cache_key_kind == 2) then
|
else if (key_kind == 2) then
|
||||||
call i2radix_sort(hash,iorder,kk,-1)
|
call i2radix_sort(hash,iorder,kk,-1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -54,6 +54,24 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`is_a_two_holes_two_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L206>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`number_of_holes <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`number_of_holes_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L394>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`number_of_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L103>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`number_of_particles_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L422>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`cas_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L173>`_
|
||||||
|
Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference)
|
||||||
|
|
||||||
`cis_ijkl_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L32>`_
|
`cis_ijkl_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L32>`_
|
||||||
Bitmask to include all possible single excitations from Hartree-Fock
|
Bitmask to include all possible single excitations from Hartree-Fock
|
||||||
|
|
||||||
@ -61,23 +79,35 @@ Documentation
|
|||||||
Bitmask to include all possible MOs
|
Bitmask to include all possible MOs
|
||||||
|
|
||||||
`generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L100>`_
|
`generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L100>`_
|
||||||
Bitmasks for generator determinants. (N_int, alpha/beta, hole/particle, generator).
|
Bitmasks for generator determinants.
|
||||||
|
(N_int, alpha/beta, hole/particle, generator).
|
||||||
|
.br
|
||||||
3rd index is :
|
3rd index is :
|
||||||
|
.br
|
||||||
* 1 : hole for single exc
|
* 1 : hole for single exc
|
||||||
* 1 : particle for single exc
|
.br
|
||||||
|
* 2 : particle for single exc
|
||||||
|
.br
|
||||||
* 3 : hole for 1st exc of double
|
* 3 : hole for 1st exc of double
|
||||||
|
.br
|
||||||
* 4 : particle for 1st exc of double
|
* 4 : particle for 1st exc of double
|
||||||
* 5 : hole for 2dn exc of double
|
.br
|
||||||
* 6 : particle for 2dn exc of double
|
* 5 : hole for 2nd exc of double
|
||||||
|
.br
|
||||||
|
* 6 : particle for 2nd exc of double
|
||||||
|
.br
|
||||||
|
|
||||||
`hf_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L44>`_
|
`hf_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L44>`_
|
||||||
Hartree Fock bit mask
|
Hartree Fock bit mask
|
||||||
|
|
||||||
`i_bitmask_gen <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L186>`_
|
`i_bitmask_gen <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L211>`_
|
||||||
Current bitmask for the generators
|
Current bitmask for the generators
|
||||||
|
|
||||||
`i_bitmask_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L194>`_
|
`inact_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L193>`_
|
||||||
Current bitmask for the reference
|
Bitmasks for the inactive orbitals that are excited in post CAS method
|
||||||
|
|
||||||
|
`n_cas_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L143>`_
|
||||||
|
Number of bitmasks for CAS
|
||||||
|
|
||||||
`n_generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L70>`_
|
`n_generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L70>`_
|
||||||
Number of bitmasks for generators
|
Number of bitmasks for generators
|
||||||
@ -85,36 +115,31 @@ Documentation
|
|||||||
`n_int <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L3>`_
|
`n_int <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L3>`_
|
||||||
Number of 64-bit integers needed to represent determinants as binary strings
|
Number of 64-bit integers needed to represent determinants as binary strings
|
||||||
|
|
||||||
`n_reference_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L134>`_
|
|
||||||
Number of bitmasks for reference
|
|
||||||
|
|
||||||
`ref_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L62>`_
|
`ref_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L62>`_
|
||||||
Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask
|
Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask
|
||||||
|
|
||||||
`reference_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L164>`_
|
`virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L194>`_
|
||||||
Bitmasks for reference determinants. (N_int, alpha/beta, hole/particle, reference)
|
Bitmasks for the inactive orbitals that are excited in post CAS method
|
||||||
|
|
||||||
`bitstring_to_hexa <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L95>`_
|
`bitstring_to_hexa <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L98>`_
|
||||||
Transform a bit string to a string in hexadecimal format for printing
|
Transform a bit string to a string in hexadecimal format for printing
|
||||||
|
|
||||||
`bitstring_to_list <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L1>`_
|
`bitstring_to_list <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L1>`_
|
||||||
Gives the inidices(+1) of the bits set to 1 in the bit string
|
Gives the inidices(+1) of the bits set to 1 in the bit string
|
||||||
|
|
||||||
`bitstring_to_str <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L62>`_
|
`bitstring_to_str <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L65>`_
|
||||||
Transform a bit string to a string for printing
|
Transform a bit string to a string for printing
|
||||||
|
|
||||||
`debug_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L117>`_
|
`debug_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L120>`_
|
||||||
Undocumented
|
Subroutine to print the content of a determinant in '+-' notation and
|
||||||
|
hexadecimal representation.
|
||||||
|
|
||||||
`list_to_bitstring <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L29>`_
|
`list_to_bitstring <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L29>`_
|
||||||
return the physical string "string(N_int,2)" from the array of occupations "list(N_int*bit_kind_size,2)
|
Returns the physical string "string(N_int,2)" from the array of
|
||||||
list
|
occupations "list(N_int*bit_kind_size,2)
|
||||||
<== ipos ==>
|
|
||||||
|
|
`print_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L138>`_
|
||||||
v
|
Subroutine to print the content of a determinant using the '+-' notation
|
||||||
string :|------------------------|-------------------------|------------------------|
|
|
||||||
<==== bit_kind_size ====> <==== bit_kind_size ====> <==== bit_kind_size ====>
|
|
||||||
{ iint } { iint } { iint }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -123,7 +123,6 @@ BEGIN_PROVIDER [ integer(bit_kind), generators_bitmask, (N_int,2,6,N_generators_
|
|||||||
|
|
||||||
call ezfio_has_bitmasks_generators(exists)
|
call ezfio_has_bitmasks_generators(exists)
|
||||||
if (exists) then
|
if (exists) then
|
||||||
print*,'EXIST !!'
|
|
||||||
call ezfio_get_bitmasks_generators(generators_bitmask)
|
call ezfio_get_bitmasks_generators(generators_bitmask)
|
||||||
else
|
else
|
||||||
integer :: k, ispin
|
integer :: k, ispin
|
||||||
@ -181,7 +180,6 @@ BEGIN_PROVIDER [ integer(bit_kind), cas_bitmask, (N_int,2,N_cas_bitmask) ]
|
|||||||
PROVIDE ezfio_filename
|
PROVIDE ezfio_filename
|
||||||
|
|
||||||
call ezfio_has_bitmasks_cas(exists)
|
call ezfio_has_bitmasks_cas(exists)
|
||||||
print*,'exists = ',exists
|
|
||||||
if (exists) then
|
if (exists) then
|
||||||
call ezfio_get_bitmasks_cas(cas_bitmask)
|
call ezfio_get_bitmasks_cas(cas_bitmask)
|
||||||
else
|
else
|
||||||
|
36
src/CAS_SD/EZFIO.cfg
Normal file
36
src/CAS_SD/EZFIO.cfg
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
[N_det_max_cas_sd]
|
||||||
|
type: Det_number_max
|
||||||
|
doc: Max number of determinants in the wave function
|
||||||
|
interface: input
|
||||||
|
default: 10000
|
||||||
|
|
||||||
|
[do_pt2_end]
|
||||||
|
type: logical
|
||||||
|
doc: If true, compute the PT2 at the end of the selection
|
||||||
|
interface: input
|
||||||
|
default: True
|
||||||
|
|
||||||
|
[PT2_max]
|
||||||
|
type: PT2_energy
|
||||||
|
doc: The selection process stops when the largest PT2 (for all the state is lower
|
||||||
|
than pt2_max in absolute value
|
||||||
|
interface: input
|
||||||
|
default: 0.0001
|
||||||
|
|
||||||
|
[var_pt2_ratio]
|
||||||
|
type: Normalized_float
|
||||||
|
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
||||||
|
is equal to var_pt2_ratio
|
||||||
|
interface: input
|
||||||
|
default: 0.75
|
||||||
|
|
||||||
|
[energy]
|
||||||
|
type: double precision
|
||||||
|
doc: "Calculated CAS-SD energy"
|
||||||
|
interface: output
|
||||||
|
|
||||||
|
[energy_pt2]
|
||||||
|
type: double precision
|
||||||
|
doc: "Calculated selected CAS-SD energy with PT2 correction"
|
||||||
|
interface: output
|
||||||
|
|
@ -2,11 +2,14 @@ use bitmasks
|
|||||||
BEGIN_SHELL [ /usr/bin/env python ]
|
BEGIN_SHELL [ /usr/bin/env python ]
|
||||||
from generate_h_apply import *
|
from generate_h_apply import *
|
||||||
|
|
||||||
s = H_apply("FCI")
|
s = H_apply("CAS_SD")
|
||||||
|
print s
|
||||||
|
|
||||||
|
s = H_apply("CAS_SD_selected")
|
||||||
s.set_selection_pt2("epstein_nesbet_2x2")
|
s.set_selection_pt2("epstein_nesbet_2x2")
|
||||||
print s
|
print s
|
||||||
|
|
||||||
s = H_apply("FCI_PT2")
|
s = H_apply("CAS_SD_PT2")
|
||||||
s.set_perturbation("epstein_nesbet_2x2")
|
s.set_perturbation("epstein_nesbet_2x2")
|
||||||
print s
|
print s
|
||||||
|
|
44
src/CAS_SD/README.rst
Normal file
44
src/CAS_SD/README.rst
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
======================
|
||||||
|
CAS_SD_selected Module
|
||||||
|
======================
|
||||||
|
|
||||||
|
Selected CAS + SD module.
|
||||||
|
|
||||||
|
1) Set the different MO classes using the ``qp_set_mo_class`` command
|
||||||
|
2) Run the selected CAS+SD program
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/CAS_SD/cas_sd_selected.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
||||||
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
@ -11,12 +11,12 @@ program full_ci
|
|||||||
|
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > n_det_max_cas_sd) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = n_det_max_cas_sd
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -28,17 +28,17 @@ program full_ci
|
|||||||
print *, '-----'
|
print *, '-----'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_CAS_SD(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
PROVIDE psi_coef
|
PROVIDE psi_coef
|
||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > n_det_max_cas_sd) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = n_det_max_cas_sd
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
@ -60,7 +60,7 @@ program full_ci
|
|||||||
integer :: exc_max, degree_min
|
integer :: exc_max, degree_min
|
||||||
exc_max = 0
|
exc_max = 0
|
||||||
print *, 'CAS determinants : ', N_det_generators
|
print *, 'CAS determinants : ', N_det_generators
|
||||||
do i=1,N_det_generators
|
do i=1,min(N_det_generators,10)
|
||||||
do k=i,N_det_generators
|
do k=i,N_det_generators
|
||||||
call get_excitation_degree(psi_det_generators(1,1,k),psi_det_generators(1,1,i),degree,N_int)
|
call get_excitation_degree(psi_det_generators(1,1,k),psi_det_generators(1,1,i),degree,N_int)
|
||||||
exc_max = max(exc_max,degree)
|
exc_max = max(exc_max,degree)
|
87
src/CAS_SD/cas_sd_selected.irp.f
Normal file
87
src/CAS_SD/cas_sd_selected.irp.f
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
program full_ci
|
||||||
|
implicit none
|
||||||
|
integer :: i,k
|
||||||
|
|
||||||
|
|
||||||
|
double precision, allocatable :: pt2(:), norm_pert(:), H_pert_diag(:)
|
||||||
|
integer :: N_st, degree
|
||||||
|
N_st = N_states
|
||||||
|
allocate (pt2(N_st), norm_pert(N_st),H_pert_diag(N_st))
|
||||||
|
character*(64) :: perturbation
|
||||||
|
PROVIDE N_det_cas
|
||||||
|
|
||||||
|
pt2 = 1.d0
|
||||||
|
diag_algorithm = "Lapack"
|
||||||
|
if (N_det > n_det_max_cas_sd) then
|
||||||
|
call diagonalize_CI
|
||||||
|
call save_wavefunction
|
||||||
|
psi_det = psi_det_sorted
|
||||||
|
psi_coef = psi_coef_sorted
|
||||||
|
N_det = n_det_max_cas_sd
|
||||||
|
soft_touch N_det psi_det psi_coef
|
||||||
|
call diagonalize_CI
|
||||||
|
call save_wavefunction
|
||||||
|
print *, 'N_det = ', N_det
|
||||||
|
print *, 'N_states = ', N_states
|
||||||
|
print *, 'PT2 = ', pt2
|
||||||
|
print *, 'E = ', CI_energy
|
||||||
|
print *, 'E+PT2 = ', CI_energy+pt2
|
||||||
|
print *, '-----'
|
||||||
|
endif
|
||||||
|
|
||||||
|
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
|
call H_apply_CAS_SD_selected(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
|
PROVIDE psi_coef
|
||||||
|
PROVIDE psi_det
|
||||||
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
|
if (N_det > n_det_max_cas_sd) then
|
||||||
|
psi_det = psi_det_sorted
|
||||||
|
psi_coef = psi_coef_sorted
|
||||||
|
N_det = n_det_max_cas_sd
|
||||||
|
soft_touch N_det psi_det psi_coef
|
||||||
|
endif
|
||||||
|
call diagonalize_CI
|
||||||
|
call save_wavefunction
|
||||||
|
print *, 'N_det = ', N_det
|
||||||
|
print *, 'N_states = ', N_states
|
||||||
|
print *, 'PT2 = ', pt2
|
||||||
|
print *, 'E = ', CI_energy
|
||||||
|
print *, 'E+PT2 = ', CI_energy+pt2
|
||||||
|
print *, '-----'
|
||||||
|
call ezfio_set_full_ci_energy(CI_energy)
|
||||||
|
if (abort_all) then
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
|
||||||
|
! Check that it is a CAS-SD
|
||||||
|
logical :: in_cas
|
||||||
|
integer :: exc_max, degree_min
|
||||||
|
exc_max = 0
|
||||||
|
print *, 'CAS determinants : ', N_det_cas
|
||||||
|
do i=1,min(N_det_cas,10)
|
||||||
|
do k=i,N_det_cas
|
||||||
|
call get_excitation_degree(psi_cas(1,1,k),psi_cas(1,1,i),degree,N_int)
|
||||||
|
exc_max = max(exc_max,degree)
|
||||||
|
enddo
|
||||||
|
call debug_det(psi_cas(1,1,i),N_int)
|
||||||
|
print *, ''
|
||||||
|
enddo
|
||||||
|
print *, 'Max excitation degree in the CAS :', exc_max
|
||||||
|
do i=1,N_det
|
||||||
|
in_cas = .False.
|
||||||
|
degree_min = 1000
|
||||||
|
do k=1,N_det_cas
|
||||||
|
call get_excitation_degree(psi_cas(1,1,k),psi_det(1,1,i),degree,N_int)
|
||||||
|
degree_min = min(degree_min,degree)
|
||||||
|
enddo
|
||||||
|
if (degree_min > 2) then
|
||||||
|
print *, 'Error : This is not a CAS-SD : '
|
||||||
|
print *, 'Excited determinant:', degree_min
|
||||||
|
call debug_det(psi_det(1,1,k),N_int)
|
||||||
|
stop
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
end
|
@ -1,5 +0,0 @@
|
|||||||
======================
|
|
||||||
CAS_SD_selected Module
|
|
||||||
======================
|
|
||||||
|
|
||||||
Selected CAS + SD module
|
|
@ -1,32 +0,0 @@
|
|||||||
BEGIN_SHELL [ /usr/bin/python ]
|
|
||||||
from ezfio_with_default import EZFIO_Provider
|
|
||||||
T = EZFIO_Provider()
|
|
||||||
T.set_type ( "integer" )
|
|
||||||
T.set_name ( "N_det_max_fci" )
|
|
||||||
T.set_doc ( "Max number of determinants in the wave function" )
|
|
||||||
T.set_ezfio_dir ( "full_ci" )
|
|
||||||
T.set_ezfio_name( "N_det_max_fci" )
|
|
||||||
T.set_output ( "output_full_ci" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "logical" )
|
|
||||||
T.set_name ( "do_pt2_end" )
|
|
||||||
T.set_doc ( "If true, compute the PT2 at the end of the selection" )
|
|
||||||
T.set_ezfio_name( "do_pt2_end" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "double precision" )
|
|
||||||
T.set_name ( "pt2_max" )
|
|
||||||
T.set_doc ( """The selection process stops when the largest PT2 (for all the states)
|
|
||||||
is lower than pt2_max in absolute value""" )
|
|
||||||
T.set_ezfio_name( "pt2_max" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "double precision" )
|
|
||||||
T.set_name ( "var_pt2_ratio" )
|
|
||||||
T.set_doc ( """The selection process stops when the energy ratio variational/(variational+PT2)
|
|
||||||
is equal to var_pt2_ratio""" )
|
|
||||||
T.set_ezfio_name( "var_pt2_ratio" )
|
|
||||||
print T
|
|
||||||
END_SHELL
|
|
||||||
|
|
@ -16,19 +16,20 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
|
@ -20,20 +20,21 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
||||||
* `SC2 <http://github.com/LCPQ/quantum_package/tree/master/src/SC2>`_
|
|
||||||
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
@ -23,19 +23,21 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
|
||||||
|
|
||||||
|
@ -32,17 +32,18 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
|
||||||
|
|
||||||
|
@ -16,19 +16,20 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
|
@ -13,6 +13,7 @@ program cisd
|
|||||||
print *, 'E_corr = ',CI_electronic_energy(i) - ref_bitmask_energy
|
print *, 'E_corr = ',CI_electronic_energy(i) - ref_bitmask_energy
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
call save_wavefunction
|
||||||
! call CISD_SC2(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int)
|
! call CISD_SC2(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int)
|
||||||
! do i = 1, N_states
|
! do i = 1, N_states
|
||||||
! print*,'eigvalues(i) = ',eigvalues(i)
|
! print*,'eigvalues(i) = ',eigvalues(i)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[N_det_max_cisd_sc2]
|
[N_det_max_cisd_sc2]
|
||||||
type: Det_number_max
|
type: Det_number_max
|
||||||
doc: Get n_det_max_cisd_sc2 from EZFIO file
|
doc: Max number of determinants
|
||||||
interface: input
|
interface: input
|
||||||
default: 10000
|
default: 10000
|
||||||
|
|
||||||
@ -8,12 +8,12 @@ default: 10000
|
|||||||
type: logical
|
type: logical
|
||||||
doc: If true, compute the PT2 at the end of the selection
|
doc: If true, compute the PT2 at the end of the selection
|
||||||
interface: input
|
interface: input
|
||||||
default: true
|
default: True
|
||||||
|
|
||||||
[PT2_max]
|
[PT2_max]
|
||||||
type: PT2_energy
|
type: PT2_energy
|
||||||
doc: The selection process stops when the largest PT2 (for all the state) is lower
|
doc: The selection process stops when the largest PT2 (for all the states) is lower
|
||||||
than pt2_max in absolute value
|
than abs(pt2_max)
|
||||||
interface: input
|
interface: input
|
||||||
default: 0.0001
|
default: 0.0001
|
||||||
|
|
||||||
|
@ -8,6 +8,9 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`cisd_sc2_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_SC2_selected/cisd_sc2_selection.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Needed Modules
|
Needed Modules
|
||||||
@ -17,20 +20,21 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
||||||
* `SC2 <http://github.com/LCPQ/quantum_package/tree/master/src/SC2>`_
|
|
||||||
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
@ -14,6 +14,12 @@ Documentation
|
|||||||
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
|
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
`n_det_max_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L1>`_
|
||||||
|
Get n_det_max_cisd from EZFIO file
|
||||||
|
|
||||||
|
`pt2_max <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L18>`_
|
||||||
|
Get pt2_max from EZFIO file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Needed Modules
|
Needed Modules
|
||||||
@ -23,19 +29,21 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
|
||||||
|
|
||||||
|
@ -2,3 +2,38 @@
|
|||||||
DDCI_selected Module
|
DDCI_selected Module
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/DDCI_selected/ddci.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
||||||
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_generator, iproc $parameters )
|
subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_generator, iproc_in $parameters )
|
||||||
use omp_lib
|
use omp_lib
|
||||||
use bitmasks
|
use bitmasks
|
||||||
implicit none
|
implicit none
|
||||||
@ -14,7 +14,7 @@ subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_gene
|
|||||||
integer(bit_kind),allocatable :: keys_out(:,:,:)
|
integer(bit_kind),allocatable :: keys_out(:,:,:)
|
||||||
integer(bit_kind), intent(in) :: hole_1(N_int,2), particl_1(N_int,2)
|
integer(bit_kind), intent(in) :: hole_1(N_int,2), particl_1(N_int,2)
|
||||||
integer(bit_kind), intent(in) :: hole_2(N_int,2), particl_2(N_int,2)
|
integer(bit_kind), intent(in) :: hole_2(N_int,2), particl_2(N_int,2)
|
||||||
integer, intent(in) :: iproc
|
integer, intent(in) :: iproc_in
|
||||||
integer(bit_kind), allocatable :: hole_save(:,:)
|
integer(bit_kind), allocatable :: hole_save(:,:)
|
||||||
integer(bit_kind), allocatable :: key(:,:),hole(:,:), particle(:,:)
|
integer(bit_kind), allocatable :: key(:,:),hole(:,:), particle(:,:)
|
||||||
integer(bit_kind), allocatable :: hole_tmp(:,:), particle_tmp(:,:)
|
integer(bit_kind), allocatable :: hole_tmp(:,:), particle_tmp(:,:)
|
||||||
@ -30,6 +30,7 @@ subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_gene
|
|||||||
integer, allocatable :: ia_ja_pairs(:,:,:)
|
integer, allocatable :: ia_ja_pairs(:,:,:)
|
||||||
integer, allocatable :: ib_jb_pairs(:,:)
|
integer, allocatable :: ib_jb_pairs(:,:)
|
||||||
double precision :: diag_H_mat_elem
|
double precision :: diag_H_mat_elem
|
||||||
|
integer :: iproc
|
||||||
integer(omp_lock_kind), save :: lck, ifirst=0
|
integer(omp_lock_kind), save :: lck, ifirst=0
|
||||||
if (ifirst == 0) then
|
if (ifirst == 0) then
|
||||||
!$ call omp_init_lock(lck)
|
!$ call omp_init_lock(lck)
|
||||||
@ -38,12 +39,13 @@ subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_gene
|
|||||||
|
|
||||||
logical :: check_double_excitation
|
logical :: check_double_excitation
|
||||||
check_double_excitation = .True.
|
check_double_excitation = .True.
|
||||||
|
iproc = iproc_in
|
||||||
|
|
||||||
|
|
||||||
$initialization
|
$initialization
|
||||||
|
|
||||||
$omp_parallel
|
$omp_parallel
|
||||||
|
!$ iproc = omp_get_thread_num()
|
||||||
allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), &
|
allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), &
|
||||||
key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),&
|
key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),&
|
||||||
particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), &
|
particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), &
|
||||||
@ -248,7 +250,7 @@ subroutine $subroutine_diexc(key_in, hole_1,particl_1, hole_2, particl_2, i_gene
|
|||||||
$finalization
|
$finalization
|
||||||
end
|
end
|
||||||
|
|
||||||
subroutine $subroutine_monoexc(key_in, hole_1,particl_1,i_generator,iproc $parameters )
|
subroutine $subroutine_monoexc(key_in, hole_1,particl_1,i_generator,iproc_in $parameters )
|
||||||
use omp_lib
|
use omp_lib
|
||||||
use bitmasks
|
use bitmasks
|
||||||
implicit none
|
implicit none
|
||||||
@ -262,7 +264,7 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,i_generator,iproc $param
|
|||||||
integer ,intent(in) :: i_generator
|
integer ,intent(in) :: i_generator
|
||||||
integer(bit_kind),intent(in) :: key_in(N_int,2)
|
integer(bit_kind),intent(in) :: key_in(N_int,2)
|
||||||
integer(bit_kind),intent(in) :: hole_1(N_int,2), particl_1(N_int,2)
|
integer(bit_kind),intent(in) :: hole_1(N_int,2), particl_1(N_int,2)
|
||||||
integer, intent(in) :: iproc
|
integer, intent(in) :: iproc_in
|
||||||
integer(bit_kind),allocatable :: keys_out(:,:,:)
|
integer(bit_kind),allocatable :: keys_out(:,:,:)
|
||||||
integer(bit_kind),allocatable :: hole_save(:,:)
|
integer(bit_kind),allocatable :: hole_save(:,:)
|
||||||
integer(bit_kind),allocatable :: key(:,:),hole(:,:), particle(:,:)
|
integer(bit_kind),allocatable :: key(:,:),hole(:,:), particle(:,:)
|
||||||
@ -281,8 +283,11 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,i_generator,iproc $param
|
|||||||
logical, allocatable :: array_pairs(:,:)
|
logical, allocatable :: array_pairs(:,:)
|
||||||
double precision :: diag_H_mat_elem
|
double precision :: diag_H_mat_elem
|
||||||
integer(omp_lock_kind), save :: lck, ifirst=0
|
integer(omp_lock_kind), save :: lck, ifirst=0
|
||||||
|
integer :: iproc
|
||||||
|
|
||||||
logical :: check_double_excitation
|
logical :: check_double_excitation
|
||||||
|
iproc = iproc_in
|
||||||
|
|
||||||
check_double_excitation = .True.
|
check_double_excitation = .True.
|
||||||
$check_double_excitation
|
$check_double_excitation
|
||||||
|
|
||||||
@ -295,6 +300,7 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,i_generator,iproc $param
|
|||||||
$initialization
|
$initialization
|
||||||
|
|
||||||
$omp_parallel
|
$omp_parallel
|
||||||
|
!$ iproc = omp_get_thread_num()
|
||||||
allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), &
|
allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), &
|
||||||
key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),&
|
key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),&
|
||||||
particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), &
|
particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), &
|
||||||
@ -396,7 +402,8 @@ subroutine $subroutine($params_main)
|
|||||||
integer :: iproc
|
integer :: iproc
|
||||||
|
|
||||||
$initialization
|
$initialization
|
||||||
PROVIDE H_apply_buffer_allocated mo_bielec_integrals_in_map
|
PROVIDE H_apply_buffer_allocated mo_bielec_integrals_in_map psi_det_generators psi_coef_generators
|
||||||
|
|
||||||
|
|
||||||
nmax = mod( N_det_generators,nproc )
|
nmax = mod( N_det_generators,nproc )
|
||||||
|
|
||||||
@ -406,6 +413,7 @@ subroutine $subroutine($params_main)
|
|||||||
|
|
||||||
call wall_time(wall_0)
|
call wall_time(wall_0)
|
||||||
|
|
||||||
|
iproc = 0
|
||||||
allocate( mask(N_int,2,6) )
|
allocate( mask(N_int,2,6) )
|
||||||
do i_generator=1,nmax
|
do i_generator=1,nmax
|
||||||
|
|
||||||
@ -443,12 +451,12 @@ subroutine $subroutine($params_main)
|
|||||||
call $subroutine_diexc(psi_det_generators(1,1,i_generator), &
|
call $subroutine_diexc(psi_det_generators(1,1,i_generator), &
|
||||||
mask(1,1,d_hole1), mask(1,1,d_part1), &
|
mask(1,1,d_hole1), mask(1,1,d_part1), &
|
||||||
mask(1,1,d_hole2), mask(1,1,d_part2), &
|
mask(1,1,d_hole2), mask(1,1,d_part2), &
|
||||||
i_generator, 0 $params_post)
|
i_generator, iproc $params_post)
|
||||||
endif
|
endif
|
||||||
if($do_mono_excitations)then
|
if($do_mono_excitations)then
|
||||||
call $subroutine_monoexc(psi_det_generators(1,1,i_generator), &
|
call $subroutine_monoexc(psi_det_generators(1,1,i_generator), &
|
||||||
mask(1,1,s_hole ), mask(1,1,s_part ), &
|
mask(1,1,s_hole ), mask(1,1,s_part ), &
|
||||||
i_generator, 0 $params_post)
|
i_generator, iproc $params_post)
|
||||||
endif
|
endif
|
||||||
call wall_time(wall_1)
|
call wall_time(wall_1)
|
||||||
$printout_always
|
$printout_always
|
||||||
@ -463,7 +471,6 @@ subroutine $subroutine($params_main)
|
|||||||
!$OMP PARALLEL DEFAULT(SHARED) &
|
!$OMP PARALLEL DEFAULT(SHARED) &
|
||||||
!$OMP PRIVATE(i_generator,wall_1,wall_0,ispin,k,mask,iproc)
|
!$OMP PRIVATE(i_generator,wall_1,wall_0,ispin,k,mask,iproc)
|
||||||
call wall_time(wall_0)
|
call wall_time(wall_0)
|
||||||
iproc = 0
|
|
||||||
!$ iproc = omp_get_thread_num()
|
!$ iproc = omp_get_thread_num()
|
||||||
allocate( mask(N_int,2,6) )
|
allocate( mask(N_int,2,6) )
|
||||||
!$OMP DO SCHEDULE(dynamic,1)
|
!$OMP DO SCHEDULE(dynamic,1)
|
||||||
|
@ -33,11 +33,10 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
@ -50,18 +49,23 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`copy_h_apply_buffer_to_wf <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L95>`_
|
`copy_h_apply_buffer_to_wf <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L100>`_
|
||||||
Copies the H_apply buffer to psi_coef. You need to touch psi_det, psi_coef and N_det
|
Copies the H_apply buffer to psi_coef. You need to touch psi_det, psi_coef and N_det
|
||||||
after calling this function.
|
after calling this function.
|
||||||
|
After calling this subroutine, N_det, psi_det and psi_coef need to be touched
|
||||||
|
|
||||||
`fill_h_apply_buffer_no_selection <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L181>`_
|
`fill_h_apply_buffer_no_selection <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L187>`_
|
||||||
Fill the H_apply buffer with determiants for CISD
|
Fill the H_apply buffer with determiants for CISD
|
||||||
|
|
||||||
`h_apply_buffer_allocated <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L14>`_
|
`h_apply_buffer_allocated <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L15>`_
|
||||||
Buffer of determinants/coefficients/perturbative energy for H_apply.
|
Buffer of determinants/coefficients/perturbative energy for H_apply.
|
||||||
Uninitialized. Filled by H_apply subroutines.
|
Uninitialized. Filled by H_apply subroutines.
|
||||||
|
|
||||||
`resize_h_apply_buffer <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L45>`_
|
`h_apply_buffer_lock <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L16>`_
|
||||||
|
Buffer of determinants/coefficients/perturbative energy for H_apply.
|
||||||
|
Uninitialized. Filled by H_apply subroutines.
|
||||||
|
|
||||||
|
`resize_h_apply_buffer <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/H_apply.irp.f#L48>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`cisd_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/SC2.irp.f#L1>`_
|
`cisd_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/SC2.irp.f#L1>`_
|
||||||
@ -80,26 +84,43 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
Initial guess vectors are not necessarily orthonormal
|
Initial guess vectors are not necessarily orthonormal
|
||||||
|
|
||||||
`repeat_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/SC2.irp.f#L220>`_
|
`connected_to_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L155>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`connected_to_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L95>`_
|
`connected_to_ref_by_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L253>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`det_is_not_or_may_be_in_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L191>`_
|
`det_is_not_or_may_be_in_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L359>`_
|
||||||
If true, det is not in ref
|
If true, det is not in ref
|
||||||
If false, det may be in ref
|
If false, det may be in ref
|
||||||
|
|
||||||
`is_in_wavefunction <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L1>`_
|
`det_search_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L1>`_
|
||||||
Undocumented
|
Return an integer*8 corresponding to a determinant index for searching
|
||||||
|
|
||||||
`key_pattern_not_in_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L225>`_
|
`get_index_in_psi_det_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L48>`_
|
||||||
|
Returns the index of the determinant in the ``psi_det_sorted_bit`` array
|
||||||
|
|
||||||
|
`is_in_wavefunction <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L34>`_
|
||||||
|
True if the determinant ``det`` is in the wave function
|
||||||
|
|
||||||
|
`key_pattern_not_in_ref <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L393>`_
|
||||||
Min and max values of the integers of the keys of the reference
|
Min and max values of the integers of the keys of the reference
|
||||||
|
|
||||||
`davidson_converged <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L383>`_
|
`occ_pattern_search_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/connected_to_ref.irp.f#L17>`_
|
||||||
|
Return an integer*8 corresponding to a determinant index for searching
|
||||||
|
|
||||||
|
`do_mono_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/create_excitations.irp.f#L1>`_
|
||||||
|
Apply the mono excitation operator : a^{dager}_(i_particle) a_(i_hole) of spin = ispin
|
||||||
|
on key_in
|
||||||
|
ispin = 1 == alpha
|
||||||
|
ispin = 2 == beta
|
||||||
|
i_ok = 1 == the excitation is possible
|
||||||
|
i_ok = -1 == the excitation is not possible
|
||||||
|
|
||||||
|
`davidson_converged <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L382>`_
|
||||||
True if the Davidson algorithm is converged
|
True if the Davidson algorithm is converged
|
||||||
|
|
||||||
`davidson_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L373>`_
|
`davidson_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L372>`_
|
||||||
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
||||||
|
|
||||||
`davidson_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L18>`_
|
`davidson_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L18>`_
|
||||||
@ -146,10 +167,10 @@ Documentation
|
|||||||
`davidson_sze_max <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L9>`_
|
`davidson_sze_max <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L9>`_
|
||||||
Max number of Davidson sizes
|
Max number of Davidson sizes
|
||||||
|
|
||||||
`davidson_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L374>`_
|
`davidson_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/davidson.irp.f#L373>`_
|
||||||
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
||||||
|
|
||||||
`one_body_dm_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L73>`_
|
`one_body_dm_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L164>`_
|
||||||
One-body density matrix
|
One-body density matrix
|
||||||
|
|
||||||
`one_body_dm_mo_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L1>`_
|
`one_body_dm_mo_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L1>`_
|
||||||
@ -158,63 +179,162 @@ Documentation
|
|||||||
`one_body_dm_mo_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L2>`_
|
`one_body_dm_mo_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L2>`_
|
||||||
Alpha and beta one-body density matrix for each state
|
Alpha and beta one-body density matrix for each state
|
||||||
|
|
||||||
`save_natural_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L97>`_
|
`one_body_single_double_dm_mo_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L80>`_
|
||||||
|
Alpha and beta one-body density matrix for each state
|
||||||
|
|
||||||
|
`one_body_single_double_dm_mo_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L81>`_
|
||||||
|
Alpha and beta one-body density matrix for each state
|
||||||
|
|
||||||
|
`one_body_spin_density_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L172>`_
|
||||||
|
rho(alpha) - rho(beta)
|
||||||
|
|
||||||
|
`save_natural_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L196>`_
|
||||||
Save natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
|
Save natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
|
||||||
|
|
||||||
`set_natural_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L81>`_
|
`set_natural_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L180>`_
|
||||||
Set natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
|
Set natural orbitals, obtained by diagonalization of the one-body density matrix in the MO basis
|
||||||
|
|
||||||
`state_average_weight <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L108>`_
|
`state_average_weight <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/density_matrix.irp.f#L207>`_
|
||||||
Weights in the state-average calculation of the density matrix
|
Weights in the state-average calculation of the density matrix
|
||||||
|
|
||||||
`det_search_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L295>`_
|
`det_svd <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/det_svd.irp.f#L1>`_
|
||||||
Return an integer*8 corresponding to a determinant index for searching
|
Computes the SVD of the Alpha x Beta determinant coefficient matrix
|
||||||
|
|
||||||
|
`create_wf_of_psi_svd_matrix <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L741>`_
|
||||||
|
Matrix of wf coefficients. Outer product of alpha and beta determinants
|
||||||
|
|
||||||
|
`filter_3_highest_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L552>`_
|
||||||
|
Returns a determinant with only the 3 highest electrons
|
||||||
|
|
||||||
|
`generate_all_alpha_beta_det_products <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L796>`_
|
||||||
|
Create a wave function from all possible alpha x beta determinants
|
||||||
|
|
||||||
|
`int_of_3_highest_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L517>`_
|
||||||
|
Returns an integer*8 as :
|
||||||
|
.br
|
||||||
|
|_<--- 21 bits ---><--- 21 bits ---><--- 21 bits --->|
|
||||||
|
.br
|
||||||
|
|0<--- i1 ---><--- i2 ---><--- i3 --->|
|
||||||
|
.br
|
||||||
|
It encodes the value of the indices of the 3 highest MOs
|
||||||
|
in descending order
|
||||||
|
.br
|
||||||
|
|
||||||
|
`max_degree_exc <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L32>`_
|
||||||
|
Maximum degree of excitation in the wf
|
||||||
|
|
||||||
`n_det <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L3>`_
|
`n_det <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L3>`_
|
||||||
Number of determinants in the wave function
|
Number of determinants in the wave function
|
||||||
|
|
||||||
`psi_average_norm_contrib <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L208>`_
|
`n_det_alpha_unique <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L348>`_
|
||||||
|
Unique alpha determinants
|
||||||
|
|
||||||
|
`n_det_beta_unique <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L385>`_
|
||||||
|
Unique beta determinants
|
||||||
|
|
||||||
|
`psi_average_norm_contrib <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L276>`_
|
||||||
Contribution of determinants to the state-averaged density
|
Contribution of determinants to the state-averaged density
|
||||||
|
|
||||||
`psi_average_norm_contrib_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L229>`_
|
`psi_average_norm_contrib_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L432>`_
|
||||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||||
|
|
||||||
`psi_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L153>`_
|
`psi_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L230>`_
|
||||||
The wave function coefficients. Initialized with Hartree-Fock if the EZFIO file
|
The wave function coefficients. Initialized with Hartree-Fock if the EZFIO file
|
||||||
is empty
|
is empty
|
||||||
|
|
||||||
`psi_coef_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L228>`_
|
`psi_coef_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L431>`_
|
||||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||||
|
|
||||||
`psi_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L259>`_
|
`psi_coef_sorted_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L579>`_
|
||||||
Determinants on which we apply <i|H|psi> for perturbation.
|
Determinants on which we apply <i|H|j>.
|
||||||
o They are sorted by determinants interpreted as integers. Useful
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
to accelerate the search of a determinant
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
`psi_det <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L53>`_
|
`psi_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L462>`_
|
||||||
|
Determinants on which we apply <i|H|psi> for perturbation.
|
||||||
|
They are sorted by determinants interpreted as integers. Useful
|
||||||
|
to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`psi_det <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L65>`_
|
||||||
The wave function determinants. Initialized with Hartree-Fock if the EZFIO file
|
The wave function determinants. Initialized with Hartree-Fock if the EZFIO file
|
||||||
is empty
|
is empty
|
||||||
|
|
||||||
`psi_det_size <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L35>`_
|
`psi_det_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L319>`_
|
||||||
|
List of alpha determinants of psi_det
|
||||||
|
|
||||||
|
`psi_det_alpha_unique <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L347>`_
|
||||||
|
Unique alpha determinants
|
||||||
|
|
||||||
|
`psi_det_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L333>`_
|
||||||
|
List of beta determinants of psi_det
|
||||||
|
|
||||||
|
`psi_det_beta_unique <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L384>`_
|
||||||
|
Unique beta determinants
|
||||||
|
|
||||||
|
`psi_det_size <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L47>`_
|
||||||
Size of the psi_det/psi_coef arrays
|
Size of the psi_det/psi_coef arrays
|
||||||
|
|
||||||
`psi_det_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L227>`_
|
`psi_det_sorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L430>`_
|
||||||
Wave function sorted by determinants contribution to the norm (state-averaged)
|
Wave function sorted by determinants contribution to the norm (state-averaged)
|
||||||
|
|
||||||
`psi_det_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L258>`_
|
`psi_det_sorted_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L578>`_
|
||||||
Determinants on which we apply <i|H|psi> for perturbation.
|
Determinants on which we apply <i|H|j>.
|
||||||
o They are sorted by determinants interpreted as integers. Useful
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
to accelerate the search of a determinant
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
`read_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L104>`_
|
`psi_det_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L461>`_
|
||||||
|
Determinants on which we apply <i|H|psi> for perturbation.
|
||||||
|
They are sorted by determinants interpreted as integers. Useful
|
||||||
|
to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`psi_det_sorted_next_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L580>`_
|
||||||
|
Determinants on which we apply <i|H|j>.
|
||||||
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
|
`psi_svd_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L826>`_
|
||||||
|
SVD wave function
|
||||||
|
|
||||||
|
`psi_svd_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L827>`_
|
||||||
|
SVD wave function
|
||||||
|
|
||||||
|
`psi_svd_coefs <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L828>`_
|
||||||
|
SVD wave function
|
||||||
|
|
||||||
|
`psi_svd_matrix <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L709>`_
|
||||||
|
Matrix of wf coefficients. Outer product of alpha and beta determinants
|
||||||
|
|
||||||
|
`read_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L880>`_
|
||||||
Reads the determinants from the EZFIO file
|
Reads the determinants from the EZFIO file
|
||||||
|
|
||||||
`save_wavefunction <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L310>`_
|
`save_wavefunction <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L927>`_
|
||||||
Save the wave function into the EZFIO file
|
Save the wave function into the EZFIO file
|
||||||
|
|
||||||
`save_wavefunction_general <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L319>`_
|
`save_wavefunction_general <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L946>`_
|
||||||
Save the wave function into the EZFIO file
|
Save the wave function into the EZFIO file
|
||||||
|
|
||||||
|
`save_wavefunction_unsorted <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L937>`_
|
||||||
|
Save the wave function into the EZFIO file
|
||||||
|
|
||||||
|
`sort_dets_by_3_highest_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L600>`_
|
||||||
|
Determinants on which we apply <i|H|j>.
|
||||||
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
|
`sort_dets_by_det_search_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L475>`_
|
||||||
|
Determinants are sorted are sorted according to their det_search_key.
|
||||||
|
Useful to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`spin_det_search_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants.irp.f#L303>`_
|
||||||
|
Return an integer*8 corresponding to a determinant index for searching
|
||||||
|
|
||||||
`double_exc_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants_bitmasks.irp.f#L40>`_
|
`double_exc_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/determinants_bitmasks.irp.f#L40>`_
|
||||||
double_exc_bitmask(:,1,i) is the bitmask for holes of excitation 1
|
double_exc_bitmask(:,1,i) is the bitmask for holes of excitation 1
|
||||||
double_exc_bitmask(:,2,i) is the bitmask for particles of excitation 1
|
double_exc_bitmask(:,2,i) is the bitmask for particles of excitation 1
|
||||||
@ -233,10 +353,13 @@ Documentation
|
|||||||
single_exc_bitmask(:,2,i) is the bitmask for particles
|
single_exc_bitmask(:,2,i) is the bitmask for particles
|
||||||
for a given couple of hole/particle excitations i.
|
for a given couple of hole/particle excitations i.
|
||||||
|
|
||||||
`ci_eigenvectors <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L36>`_
|
`ci_eigenvectors <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L37>`_
|
||||||
Eigenvectors/values of the CI matrix
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
`ci_electronic_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L35>`_
|
`ci_eigenvectors_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L38>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_electronic_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L36>`_
|
||||||
Eigenvectors/values of the CI matrix
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
`ci_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L18>`_
|
`ci_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L18>`_
|
||||||
@ -245,7 +368,7 @@ Documentation
|
|||||||
`diag_algorithm <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L1>`_
|
`diag_algorithm <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L1>`_
|
||||||
Diagonalization algorithm (Davidson or Lapack)
|
Diagonalization algorithm (Davidson or Lapack)
|
||||||
|
|
||||||
`diagonalize_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L73>`_
|
`diagonalize_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI.irp.f#L96>`_
|
||||||
Replace the coefficients of the CI states by the coefficients of the
|
Replace the coefficients of the CI states by the coefficients of the
|
||||||
eigenstates of the CI matrix
|
eigenstates of the CI matrix
|
||||||
|
|
||||||
@ -256,15 +379,31 @@ Documentation
|
|||||||
Eigenvectors/values of the CI matrix
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
`ci_sc2_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L1>`_
|
`ci_sc2_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L1>`_
|
||||||
N_states lowest eigenvalues of the CI matrix
|
N_states_diag lowest eigenvalues of the CI matrix
|
||||||
|
|
||||||
`diagonalize_ci_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L46>`_
|
`diagonalize_ci_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L46>`_
|
||||||
Replace the coefficients of the CI states by the coefficients of the
|
Replace the coefficients of the CI states_diag by the coefficients of the
|
||||||
eigenstates of the CI matrix
|
eigenstates of the CI matrix
|
||||||
|
|
||||||
`threshold_convergence_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L18>`_
|
`threshold_convergence_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_SC2.irp.f#L18>`_
|
||||||
convergence of the correlation energy of SC2 iterations
|
convergence of the correlation energy of SC2 iterations
|
||||||
|
|
||||||
|
`ci_eigenvectors_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_mono.irp.f#L2>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_eigenvectors_s2_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_mono.irp.f#L3>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_electronic_energy_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_mono.irp.f#L1>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`diagonalize_ci_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/diagonalize_CI_mono.irp.f#L59>`_
|
||||||
|
Replace the coefficients of the CI states by the coefficients of the
|
||||||
|
eigenstates of the CI matrix
|
||||||
|
|
||||||
|
`apply_mono <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/excitations_utils.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
`filter_connected <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L2>`_
|
`filter_connected <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L2>`_
|
||||||
Filters out the determinants that are not connected by H
|
Filters out the determinants that are not connected by H
|
||||||
.br
|
.br
|
||||||
@ -276,9 +415,16 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
idx(0) is the number of determinants that interact with key1
|
idx(0) is the number of determinants that interact with key1
|
||||||
|
|
||||||
`filter_connected_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L101>`_
|
`filter_connected_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L163>`_
|
||||||
Filters out the determinants that are not connected by H
|
Filters out the determinants that are not connected by H
|
||||||
|
returns the array idx which contains the index of the
|
||||||
|
determinants in the array key1 that interact
|
||||||
|
via the H operator with key2.
|
||||||
.br
|
.br
|
||||||
|
idx(0) is the number of determinants that interact with key1
|
||||||
|
key1 should come from psi_det_sorted_ab.
|
||||||
|
|
||||||
|
`filter_connected_i_h_psi0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L293>`_
|
||||||
returns the array idx which contains the index of the
|
returns the array idx which contains the index of the
|
||||||
.br
|
.br
|
||||||
determinants in the array key1 that interact
|
determinants in the array key1 that interact
|
||||||
@ -287,16 +433,7 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
idx(0) is the number of determinants that interact with key1
|
idx(0) is the number of determinants that interact with key1
|
||||||
|
|
||||||
`filter_connected_i_h_psi0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L233>`_
|
`filter_connected_i_h_psi0_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L392>`_
|
||||||
returns the array idx which contains the index of the
|
|
||||||
.br
|
|
||||||
determinants in the array key1 that interact
|
|
||||||
.br
|
|
||||||
via the H operator with key2.
|
|
||||||
.br
|
|
||||||
idx(0) is the number of determinants that interact with key1
|
|
||||||
|
|
||||||
`filter_connected_i_h_psi0_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L332>`_
|
|
||||||
standard filter_connected_i_H_psi but returns in addition
|
standard filter_connected_i_H_psi but returns in addition
|
||||||
.br
|
.br
|
||||||
the array of the index of the non connected determinants to key1
|
the array of the index of the non connected determinants to key1
|
||||||
@ -307,31 +444,156 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
to repeat the excitations
|
to repeat the excitations
|
||||||
|
|
||||||
|
`filter_connected_sorted_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/filter_connected.irp.f#L101>`_
|
||||||
|
Filters out the determinants that are not connected by H
|
||||||
|
returns the array idx which contains the index of the
|
||||||
|
determinants in the array key1 that interact
|
||||||
|
via the H operator with key2.
|
||||||
|
idx(0) is the number of determinants that interact with key1
|
||||||
|
.br
|
||||||
|
Determinants are taken from the psi_det_sorted_ab array
|
||||||
|
|
||||||
|
`put_gess <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/guess_triplet.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`det_to_occ_pattern <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L2>`_
|
||||||
|
Transform a determinant to an occupation pattern
|
||||||
|
|
||||||
|
`make_s2_eigenfunction <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L251>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`n_occ_pattern <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L143>`_
|
||||||
|
array of the occ_pattern present in the wf
|
||||||
|
psi_occ_pattern(:,1,j) = jth occ_pattern of the wave function : represent all the single occupation
|
||||||
|
psi_occ_pattern(:,2,j) = jth occ_pattern of the wave function : represent all the double occupation
|
||||||
|
|
||||||
|
`occ_pattern_to_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L42>`_
|
||||||
|
Generate all possible determinants for a give occ_pattern
|
||||||
|
|
||||||
|
`occ_pattern_to_dets_size <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L20>`_
|
||||||
|
Number of possible determinants for a given occ_pattern
|
||||||
|
|
||||||
|
`psi_occ_pattern <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L142>`_
|
||||||
|
array of the occ_pattern present in the wf
|
||||||
|
psi_occ_pattern(:,1,j) = jth occ_pattern of the wave function : represent all the single occupation
|
||||||
|
psi_occ_pattern(:,2,j) = jth occ_pattern of the wave function : represent all the double occupation
|
||||||
|
|
||||||
|
`rec_occ_pattern_to_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/occ_pattern.irp.f#L102>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`n_states_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/options.irp.f#L40>`_
|
||||||
|
Number of states to consider for the diagonalization
|
||||||
|
|
||||||
|
`pouet <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/program_beginer_determinants.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`routine <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/program_beginer_determinants.irp.f#L7>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`idx_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L5>`_
|
||||||
|
CAS wave function, defined from the application of the CAS bitmask on the
|
||||||
|
determinants. idx_cas gives the indice of the CAS determinant in psi_det.
|
||||||
|
|
||||||
|
`idx_non_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L62>`_
|
||||||
|
Set of determinants which are not part of the CAS, defined from the application
|
||||||
|
of the CAS bitmask on the determinants.
|
||||||
|
idx_non_cas gives the indice of the determinant in psi_det.
|
||||||
|
|
||||||
|
`n_det_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L6>`_
|
||||||
|
CAS wave function, defined from the application of the CAS bitmask on the
|
||||||
|
determinants. idx_cas gives the indice of the CAS determinant in psi_det.
|
||||||
|
|
||||||
|
`n_det_non_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L63>`_
|
||||||
|
Set of determinants which are not part of the CAS, defined from the application
|
||||||
|
of the CAS bitmask on the determinants.
|
||||||
|
idx_non_cas gives the indice of the determinant in psi_det.
|
||||||
|
|
||||||
|
`psi_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L3>`_
|
||||||
|
CAS wave function, defined from the application of the CAS bitmask on the
|
||||||
|
determinants. idx_cas gives the indice of the CAS determinant in psi_det.
|
||||||
|
|
||||||
|
`psi_cas_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L4>`_
|
||||||
|
CAS wave function, defined from the application of the CAS bitmask on the
|
||||||
|
determinants. idx_cas gives the indice of the CAS determinant in psi_det.
|
||||||
|
|
||||||
|
`psi_cas_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L47>`_
|
||||||
|
CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`psi_cas_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L46>`_
|
||||||
|
CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`psi_non_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L60>`_
|
||||||
|
Set of determinants which are not part of the CAS, defined from the application
|
||||||
|
of the CAS bitmask on the determinants.
|
||||||
|
idx_non_cas gives the indice of the determinant in psi_det.
|
||||||
|
|
||||||
|
`psi_non_cas_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L61>`_
|
||||||
|
Set of determinants which are not part of the CAS, defined from the application
|
||||||
|
of the CAS bitmask on the determinants.
|
||||||
|
idx_non_cas gives the indice of the determinant in psi_det.
|
||||||
|
|
||||||
|
`psi_non_cas_coef_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L100>`_
|
||||||
|
CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`psi_non_cas_sorted_bit <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/psi_cas.irp.f#L99>`_
|
||||||
|
CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
function.
|
||||||
|
|
||||||
|
`bi_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/ref_bitmask.irp.f#L5>`_
|
||||||
|
Energy of the reference bitmask used in Slater rules
|
||||||
|
|
||||||
|
`kinetic_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/ref_bitmask.irp.f#L3>`_
|
||||||
|
Energy of the reference bitmask used in Slater rules
|
||||||
|
|
||||||
|
`mono_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/ref_bitmask.irp.f#L2>`_
|
||||||
|
Energy of the reference bitmask used in Slater rules
|
||||||
|
|
||||||
|
`nucl_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/ref_bitmask.irp.f#L4>`_
|
||||||
|
Energy of the reference bitmask used in Slater rules
|
||||||
|
|
||||||
|
`ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/ref_bitmask.irp.f#L1>`_
|
||||||
|
Energy of the reference bitmask used in Slater rules
|
||||||
|
|
||||||
|
`expected_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L48>`_
|
||||||
|
Expected value of S2 : S*(S+1)
|
||||||
|
|
||||||
`get_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L1>`_
|
`get_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L1>`_
|
||||||
Returns <S^2>
|
Returns <S^2>
|
||||||
|
|
||||||
`get_s2_u0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L46>`_
|
`get_s2_u0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L82>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
`s2_values <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L67>`_
|
||||||
|
array of the averaged values of the S^2 operator on the various states
|
||||||
|
|
||||||
`s_z <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L36>`_
|
`s_z <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L36>`_
|
||||||
Undocumented
|
z component of the Spin
|
||||||
|
|
||||||
`s_z2_sz <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L37>`_
|
`s_z2_sz <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/s2.irp.f#L37>`_
|
||||||
|
z component of the Spin
|
||||||
|
|
||||||
|
`prog_save_casino <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_casino.irp.f#L266>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`save_casino <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_casino.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`save_dets_qmcchem <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_qmcchem.irp.f#L1>`_
|
`save_dets_qmcchem <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_qmcchem.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`save_for_qmc <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_qmcchem.irp.f#L37>`_
|
`save_for_qmc <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_for_qmcchem.irp.f#L48>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`save_natorb <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_natorb.irp.f#L1>`_
|
`save_natorb <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/save_natorb.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`a_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L721>`_
|
`a_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L962>`_
|
||||||
Needed for diag_H_mat_elem
|
Needed for diag_H_mat_elem
|
||||||
|
|
||||||
`ac_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L766>`_
|
`ac_operator <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1007>`_
|
||||||
Needed for diag_H_mat_elem
|
Needed for diag_H_mat_elem
|
||||||
|
|
||||||
`decode_exc <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L76>`_
|
`decode_exc <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L76>`_
|
||||||
@ -341,10 +603,10 @@ Documentation
|
|||||||
s1,s2 : Spins (1:alpha, 2:beta)
|
s1,s2 : Spins (1:alpha, 2:beta)
|
||||||
degree : Degree of excitation
|
degree : Degree of excitation
|
||||||
|
|
||||||
`det_connections <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L898>`_
|
`det_connections <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1139>`_
|
||||||
.br
|
Build connection proxy between determinants
|
||||||
|
|
||||||
`diag_h_mat_elem <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L659>`_
|
`diag_h_mat_elem <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L900>`_
|
||||||
Computes <i|H|i>
|
Computes <i|H|i>
|
||||||
|
|
||||||
`get_double_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L141>`_
|
`get_double_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L141>`_
|
||||||
@ -356,16 +618,16 @@ Documentation
|
|||||||
`get_excitation_degree <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1>`_
|
`get_excitation_degree <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1>`_
|
||||||
Returns the excitation degree between two determinants
|
Returns the excitation degree between two determinants
|
||||||
|
|
||||||
`get_excitation_degree_vector <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L575>`_
|
`get_excitation_degree_vector <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L816>`_
|
||||||
Applies get_excitation_degree to an array of determinants
|
Applies get_excitation_degree to an array of determinants
|
||||||
|
|
||||||
`get_mono_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L274>`_
|
`get_mono_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L274>`_
|
||||||
Returns the excitation operator between two singly excited determinants and the phase
|
Returns the excitation operator between two singly excited determinants and the phase
|
||||||
|
|
||||||
`get_occ_from_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L814>`_
|
`get_occ_from_key <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1055>`_
|
||||||
Returns a list of occupation numbers from a bitstring
|
Returns a list of occupation numbers from a bitstring
|
||||||
|
|
||||||
`h_u_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L830>`_
|
`h_u_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1071>`_
|
||||||
Computes v_0 = H|u_0>
|
Computes v_0 = H|u_0>
|
||||||
.br
|
.br
|
||||||
n : number of determinants
|
n : number of determinants
|
||||||
@ -375,10 +637,13 @@ Documentation
|
|||||||
`i_h_j <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L355>`_
|
`i_h_j <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L355>`_
|
||||||
Returns <i|H|j> where i and j are determinants
|
Returns <i|H|j> where i and j are determinants
|
||||||
|
|
||||||
`i_h_psi <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L491>`_
|
`i_h_j_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L492>`_
|
||||||
|
Returns <i|H|j> where i and j are determinants
|
||||||
|
|
||||||
|
`i_h_psi <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L631>`_
|
||||||
<key|H|psi> for the various Nstates
|
<key|H|psi> for the various Nstates
|
||||||
|
|
||||||
`i_h_psi_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L527>`_
|
`i_h_psi_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L713>`_
|
||||||
<key|H|psi> for the various Nstate
|
<key|H|psi> for the various Nstate
|
||||||
.br
|
.br
|
||||||
returns in addition
|
returns in addition
|
||||||
@ -391,11 +656,33 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
to repeat the excitations
|
to repeat the excitations
|
||||||
|
|
||||||
`n_con_int <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L890>`_
|
`i_h_psi_sc2_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L760>`_
|
||||||
|
<key|H|psi> for the various Nstate
|
||||||
|
.br
|
||||||
|
returns in addition
|
||||||
|
.br
|
||||||
|
the array of the index of the non connected determinants to key1
|
||||||
|
.br
|
||||||
|
in order to know what double excitation can be repeated on key1
|
||||||
|
.br
|
||||||
|
idx_repeat(0) is the number of determinants that can be used
|
||||||
|
.br
|
||||||
|
to repeat the excitations
|
||||||
|
|
||||||
|
`i_h_psi_sec_ord <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L666>`_
|
||||||
|
<key|H|psi> for the various Nstates
|
||||||
|
|
||||||
|
`n_con_int <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/slater_rules.irp.f#L1131>`_
|
||||||
Number of integers to represent the connections between determinants
|
Number of integers to represent the connections between determinants
|
||||||
|
|
||||||
|
`write_spindeterminants <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/spindeterminants.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/truncate_wf.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
`h_matrix_all_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/utils.irp.f#L1>`_
|
`h_matrix_all_dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets/utils.irp.f#L1>`_
|
||||||
H matrix on the basis of the slater deter;inants defined by psi_det
|
H matrix on the basis of the slater determinants defined by psi_det
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,9 +95,9 @@ integer function get_index_in_psi_det_sorted_bit(key,Nint)
|
|||||||
enddo
|
enddo
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
! if (i > N_det) then
|
if (i > N_det) then
|
||||||
! return
|
return
|
||||||
! endif
|
endif
|
||||||
|
|
||||||
!DIR$ FORCEINLINE
|
!DIR$ FORCEINLINE
|
||||||
do while (det_search_key(psi_det_sorted_bit(1,1,i),Nint) == det_ref)
|
do while (det_search_key(psi_det_sorted_bit(1,1,i),Nint) == det_ref)
|
||||||
@ -116,39 +116,39 @@ integer function get_index_in_psi_det_sorted_bit(key,Nint)
|
|||||||
enddo
|
enddo
|
||||||
if (is_in_wavefunction) then
|
if (is_in_wavefunction) then
|
||||||
get_index_in_psi_det_sorted_bit = i
|
get_index_in_psi_det_sorted_bit = i
|
||||||
exit
|
! exit
|
||||||
! return
|
return
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
i += 1
|
i += 1
|
||||||
if (i > N_det) then
|
if (i > N_det) then
|
||||||
exit
|
! exit
|
||||||
! return
|
return
|
||||||
endif
|
endif
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
! DEBUG is_in_wf
|
! DEBUG is_in_wf
|
||||||
if (is_in_wavefunction) then
|
! if (is_in_wavefunction) then
|
||||||
degree = 1
|
! degree = 1
|
||||||
do i=1,N_det
|
! do i=1,N_det
|
||||||
integer :: degree
|
! integer :: degree
|
||||||
call get_excitation_degree(key,psi_det(1,1,i),degree,N_int)
|
! call get_excitation_degree(key,psi_det(1,1,i),degree,N_int)
|
||||||
if (degree == 0) then
|
! if (degree == 0) then
|
||||||
exit
|
! exit
|
||||||
endif
|
! endif
|
||||||
enddo
|
! enddo
|
||||||
if (degree /=0) then
|
! if (degree /=0) then
|
||||||
stop 'pouet 1'
|
! stop 'pouet 1'
|
||||||
endif
|
! endif
|
||||||
else
|
! else
|
||||||
do i=1,N_det
|
! do i=1,N_det
|
||||||
call get_excitation_degree(key,psi_det(1,1,i),degree,N_int)
|
! call get_excitation_degree(key,psi_det(1,1,i),degree,N_int)
|
||||||
if (degree == 0) then
|
! if (degree == 0) then
|
||||||
stop 'pouet 2'
|
! stop 'pouet 2'
|
||||||
endif
|
! endif
|
||||||
enddo
|
! enddo
|
||||||
endif
|
! endif
|
||||||
! END DEBUG is_in_wf
|
! END DEBUG is_in_wf
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ program det_svd
|
|||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! Computes the SVD of the Alpha x Beta determinant coefficient matrix
|
! Computes the SVD of the Alpha x Beta determinant coefficient matrix
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i,j
|
integer :: i,j,k
|
||||||
|
|
||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
TOUCH read_wf
|
TOUCH read_wf
|
||||||
@ -40,17 +40,22 @@ program det_svd
|
|||||||
print *, 'N_det_alpha = ', N_det_alpha_unique
|
print *, 'N_det_alpha = ', N_det_alpha_unique
|
||||||
print *, 'N_det_beta = ', N_det_beta_unique
|
print *, 'N_det_beta = ', N_det_beta_unique
|
||||||
print *, ''
|
print *, ''
|
||||||
|
|
||||||
! do i=1,N_det_alpha_unique
|
|
||||||
! do j=1,N_det_beta_unique
|
|
||||||
! print *, i,j,psi_svd_matrix(i,j,:)
|
|
||||||
! enddo
|
|
||||||
! enddo
|
|
||||||
|
|
||||||
print *, ''
|
print *, ''
|
||||||
|
call diagonalize_ci
|
||||||
print *, 'Energy = ', ci_energy
|
print *, 'Energy = ', ci_energy
|
||||||
|
|
||||||
|
do i=1,N_det_alpha_unique
|
||||||
|
do j=1,N_det_beta_unique
|
||||||
|
do k=1,N_states
|
||||||
|
if (dabs(psi_svd_matrix(i,j,k)) < 1.d-15) then
|
||||||
|
psi_svd_matrix(i,j,k) = 0.d0
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
print *, ''
|
print *, ''
|
||||||
print *, psi_svd_coefs(1:20,1)
|
print *, psi_svd_coefs(1:20,1)
|
||||||
! call save_wavefunction
|
call save_wavefunction
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -467,33 +467,52 @@ END_PROVIDER
|
|||||||
! to accelerate the search of a random determinant in the wave
|
! to accelerate the search of a random determinant in the wave
|
||||||
! function.
|
! function.
|
||||||
END_DOC
|
END_DOC
|
||||||
|
|
||||||
|
call sort_dets_by_det_search_key(N_det, psi_det, psi_coef, &
|
||||||
|
psi_det_sorted_bit, psi_coef_sorted_bit)
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
subroutine sort_dets_by_det_search_key(Ndet, det_in, coef_in, det_out, coef_out)
|
||||||
|
use bitmasks
|
||||||
|
implicit none
|
||||||
|
integer, intent(in) :: Ndet
|
||||||
|
integer(bit_kind), intent(in) :: det_in (N_int,2,psi_det_size)
|
||||||
|
double precision , intent(in) :: coef_in(psi_det_size,N_states)
|
||||||
|
integer(bit_kind), intent(out) :: det_out (N_int,2,psi_det_size)
|
||||||
|
double precision , intent(out) :: coef_out(psi_det_size,N_states)
|
||||||
|
BEGIN_DOC
|
||||||
|
! Determinants are sorted are sorted according to their det_search_key.
|
||||||
|
! Useful to accelerate the search of a random determinant in the wave
|
||||||
|
! function.
|
||||||
|
END_DOC
|
||||||
integer :: i,j,k
|
integer :: i,j,k
|
||||||
integer, allocatable :: iorder(:)
|
integer, allocatable :: iorder(:)
|
||||||
integer*8, allocatable :: bit_tmp(:)
|
integer*8, allocatable :: bit_tmp(:)
|
||||||
integer*8, external :: det_search_key
|
integer*8, external :: det_search_key
|
||||||
|
|
||||||
allocate ( iorder(N_det), bit_tmp(N_det) )
|
allocate ( iorder(Ndet), bit_tmp(Ndet) )
|
||||||
|
|
||||||
do i=1,N_det
|
do i=1,Ndet
|
||||||
iorder(i) = i
|
iorder(i) = i
|
||||||
!$DIR FORCEINLINE
|
!$DIR FORCEINLINE
|
||||||
bit_tmp(i) = det_search_key(psi_det(1,1,i),N_int)
|
bit_tmp(i) = det_search_key(det_in(1,1,i),N_int)
|
||||||
enddo
|
enddo
|
||||||
call i8sort(bit_tmp,iorder,N_det)
|
call i8sort(bit_tmp,iorder,Ndet)
|
||||||
!DIR$ IVDEP
|
!DIR$ IVDEP
|
||||||
do i=1,N_det
|
do i=1,Ndet
|
||||||
do j=1,N_int
|
do j=1,N_int
|
||||||
psi_det_sorted_bit(j,1,i) = psi_det(j,1,iorder(i))
|
det_out(j,1,i) = det_in(j,1,iorder(i))
|
||||||
psi_det_sorted_bit(j,2,i) = psi_det(j,2,iorder(i))
|
det_out(j,2,i) = det_in(j,2,iorder(i))
|
||||||
enddo
|
enddo
|
||||||
do k=1,N_states
|
do k=1,N_states
|
||||||
psi_coef_sorted_bit(i,k) = psi_coef(iorder(i),k)
|
coef_out(i,k) = coef_in(iorder(i),k)
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
deallocate(iorder, bit_tmp)
|
deallocate(iorder, bit_tmp)
|
||||||
|
|
||||||
END_PROVIDER
|
end
|
||||||
|
|
||||||
|
|
||||||
subroutine int_of_3_highest_electrons( det_in, res, Nint )
|
subroutine int_of_3_highest_electrons( det_in, res, Nint )
|
||||||
implicit none
|
implicit none
|
||||||
|
114
src/Dets/psi_cas.irp.f
Normal file
114
src/Dets/psi_cas.irp.f
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
use bitmasks
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer(bit_kind), psi_cas, (N_int,2,psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, psi_cas_coef, (psi_det_size,n_states) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, idx_cas, (psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, N_det_cas ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! CAS wave function, defined from the application of the CAS bitmask on the
|
||||||
|
! determinants. idx_cas gives the indice of the CAS determinant in psi_det.
|
||||||
|
END_DOC
|
||||||
|
integer :: i, k, l
|
||||||
|
logical :: good
|
||||||
|
N_det_cas = 0
|
||||||
|
do i=1,N_det
|
||||||
|
do l=1,n_cas_bitmask
|
||||||
|
good = .True.
|
||||||
|
do k=1,N_int
|
||||||
|
good = good .and. ( &
|
||||||
|
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,i)) == &
|
||||||
|
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,1)) ) .and. ( &
|
||||||
|
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,i)) == &
|
||||||
|
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,1)) )
|
||||||
|
enddo
|
||||||
|
if (good) then
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
if (good) then
|
||||||
|
N_det_cas = N_det_cas+1
|
||||||
|
do k=1,N_int
|
||||||
|
psi_cas(k,1,N_det_cas) = psi_det(k,1,i)
|
||||||
|
psi_cas(k,2,N_det_cas) = psi_det(k,2,i)
|
||||||
|
enddo
|
||||||
|
idx_cas(N_det_cas) = i
|
||||||
|
do k=1,N_states
|
||||||
|
psi_cas_coef(N_det_cas,k) = psi_coef(i,k)
|
||||||
|
enddo
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
call write_int(output_dets,N_det_cas, 'Number of determinants in the CAS')
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer(bit_kind), psi_cas_sorted_bit, (N_int,2,psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, psi_cas_coef_sorted_bit, (psi_det_size,N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
! function.
|
||||||
|
END_DOC
|
||||||
|
call sort_dets_by_det_search_key(N_det_cas, psi_cas, psi_cas_coef, &
|
||||||
|
psi_cas_sorted_bit, psi_cas_coef_sorted_bit)
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer(bit_kind), psi_non_cas, (N_int,2,psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, psi_non_cas_coef, (psi_det_size,n_states) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, idx_non_cas, (psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, N_det_non_cas ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Set of determinants which are not part of the CAS, defined from the application
|
||||||
|
! of the CAS bitmask on the determinants.
|
||||||
|
! idx_non_cas gives the indice of the determinant in psi_det.
|
||||||
|
END_DOC
|
||||||
|
integer :: i_non_cas,j,k
|
||||||
|
integer :: degree
|
||||||
|
logical :: in_cas
|
||||||
|
i_non_cas =0
|
||||||
|
do k=1,N_det
|
||||||
|
in_cas = .False.
|
||||||
|
do j=1,N_det_cas
|
||||||
|
call get_excitation_degree(psi_cas(1,1,j), psi_det(1,1,k), degree, N_int)
|
||||||
|
if (degree == 0) then
|
||||||
|
in_cas = .True.
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
if (.not.in_cas) then
|
||||||
|
double precision :: hij
|
||||||
|
i_non_cas += 1
|
||||||
|
do j=1,N_int
|
||||||
|
psi_non_cas(j,1,i_non_cas) = psi_det(j,1,k)
|
||||||
|
psi_non_cas(j,2,i_non_cas) = psi_det(j,2,k)
|
||||||
|
enddo
|
||||||
|
do j=1,N_states
|
||||||
|
psi_non_cas_coef(i_non_cas,j) = psi_coef(k,j)
|
||||||
|
enddo
|
||||||
|
idx_non_cas(i_non_cas) = k
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
N_det_non_cas = i_non_cas
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer(bit_kind), psi_non_cas_sorted_bit, (N_int,2,psi_det_size) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, psi_non_cas_coef_sorted_bit, (psi_det_size,N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! CAS determinants sorted to accelerate the search of a random determinant in the wave
|
||||||
|
! function.
|
||||||
|
END_DOC
|
||||||
|
call sort_dets_by_det_search_key(N_det_cas, psi_non_cas, psi_non_cas_coef, &
|
||||||
|
psi_non_cas_sorted_bit, psi_non_cas_coef_sorted_bit)
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -42,8 +42,10 @@ subroutine save_dets_qmcchem
|
|||||||
enddo
|
enddo
|
||||||
close(31)
|
close(31)
|
||||||
call system('gzip -f '//trim(ezfio_filename)//'/mo_basis/mo_classif')
|
call system('gzip -f '//trim(ezfio_filename)//'/mo_basis/mo_classif')
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
program save_for_qmc
|
program save_for_qmc
|
||||||
call save_dets_qmcchem
|
call save_dets_qmcchem
|
||||||
|
call write_spindeterminants
|
||||||
end
|
end
|
||||||
|
@ -7,4 +7,8 @@ spindeterminants
|
|||||||
psi_det_alpha integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_alpha)
|
psi_det_alpha integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_alpha)
|
||||||
psi_det_beta integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_beta)
|
psi_det_beta integer*8 (spindeterminants_n_int*spindeterminants_bit_kind/8,spindeterminants_n_det_beta)
|
||||||
psi_coef_matrix double precision (spindeterminants_n_det_alpha,spindeterminants_n_det_beta,spindeterminants_n_states)
|
psi_coef_matrix double precision (spindeterminants_n_det_alpha,spindeterminants_n_det_beta,spindeterminants_n_states)
|
||||||
|
n_svd_coefs integer
|
||||||
|
psi_svd_alpha double precision (spindeterminants_n_det_alpha,spindeterminants_n_svd_coefs,spindeterminants_n_states)
|
||||||
|
psi_svd_beta double precision (spindeterminants_n_det_beta,spindeterminants_n_svd_coefs,spindeterminants_n_states)
|
||||||
|
psi_svd_coefs double precision (spindeterminants_n_svd_coefs,spindeterminants_n_states)
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ subroutine write_spindeterminants
|
|||||||
enddo
|
enddo
|
||||||
call ezfio_set_spindeterminants_psi_det_alpha(psi_det_alpha_unique)
|
call ezfio_set_spindeterminants_psi_det_alpha(psi_det_alpha_unique)
|
||||||
deallocate(tmpdet)
|
deallocate(tmpdet)
|
||||||
|
|
||||||
allocate(tmpdet(N_int2,N_det_beta_unique))
|
allocate(tmpdet(N_int2,N_det_beta_unique))
|
||||||
do i=1,N_det_beta_unique
|
do i=1,N_det_beta_unique
|
||||||
do k=1,N_int
|
do k=1,N_int
|
||||||
@ -38,7 +38,54 @@ subroutine write_spindeterminants
|
|||||||
enddo
|
enddo
|
||||||
call ezfio_set_spindeterminants_psi_det_beta(psi_det_beta_unique)
|
call ezfio_set_spindeterminants_psi_det_beta(psi_det_beta_unique)
|
||||||
deallocate(tmpdet)
|
deallocate(tmpdet)
|
||||||
|
|
||||||
call ezfio_set_spindeterminants_psi_coef_matrix(psi_svd_matrix)
|
call ezfio_set_spindeterminants_psi_coef_matrix(psi_svd_matrix)
|
||||||
|
|
||||||
|
integer :: n_svd_coefs
|
||||||
|
double precision :: norm, f
|
||||||
|
f = 1.d0/dble(N_states)
|
||||||
|
norm = 1.d0
|
||||||
|
do n_svd_coefs=1,N_det_alpha_unique
|
||||||
|
do k=1,N_states
|
||||||
|
norm -= psi_svd_coefs(n_svd_coefs,k)*psi_svd_coefs(n_svd_coefs,k)
|
||||||
|
enddo
|
||||||
|
if (norm < 1.d-6) then
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
n_svd_coefs -= 1
|
||||||
|
call ezfio_set_spindeterminants_n_svd_coefs(n_svd_coefs)
|
||||||
|
|
||||||
|
double precision, allocatable :: dtmp(:,:,:)
|
||||||
|
allocate(dtmp(N_det_alpha_unique,n_svd_coefs,N_states))
|
||||||
|
do k=1,N_states
|
||||||
|
do j=1,n_svd_coefs
|
||||||
|
do i=1,N_det_alpha_unique
|
||||||
|
dtmp(i,j,k) = psi_svd_alpha(i,j,k)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call ezfio_set_spindeterminants_psi_svd_alpha(dtmp)
|
||||||
|
deallocate(dtmp)
|
||||||
|
|
||||||
|
allocate(dtmp(N_det_beta_unique,n_svd_coefs,N_states))
|
||||||
|
do k=1,N_states
|
||||||
|
do j=1,n_svd_coefs
|
||||||
|
do i=1,N_det_beta_unique
|
||||||
|
dtmp(i,j,k) = psi_svd_beta(i,j,k)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call ezfio_set_spindeterminants_psi_svd_beta(dtmp)
|
||||||
|
deallocate(dtmp)
|
||||||
|
|
||||||
|
allocate(dtmp(n_svd_coefs,N_states,1))
|
||||||
|
do k=1,N_states
|
||||||
|
do j=1,n_svd_coefs
|
||||||
|
dtmp(j,k,1) = psi_svd_coefs(j,k)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call ezfio_set_spindeterminants_psi_svd_coefs(dtmp)
|
||||||
|
deallocate(dtmp)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -4,3 +4,32 @@ FCIdump Module
|
|||||||
|
|
||||||
Interface for the `NECI <https://github.com/ghb24/NECI_STABLE>`_ Full-CI QMC program.
|
Interface for the `NECI <https://github.com/ghb24/NECI_STABLE>`_ Full-CI QMC program.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`fcidump <http://github.com/LCPQ/quantum_package/tree/master/src/FCIdump/fcidump.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ default: 10000
|
|||||||
type: logical
|
type: logical
|
||||||
doc: If true, compute the PT2 at the end of the selection
|
doc: If true, compute the PT2 at the end of the selection
|
||||||
interface: input
|
interface: input
|
||||||
default: true
|
default: True
|
||||||
|
|
||||||
[PT2_max]
|
[PT2_max]
|
||||||
type: PT2_energy
|
type: PT2_energy
|
||||||
@ -32,11 +32,11 @@ default: 0.75
|
|||||||
|
|
||||||
[energy]
|
[energy]
|
||||||
type: double precision
|
type: double precision
|
||||||
doc: "Calculated Full CI energy"
|
doc: Calculated Selected FCI energy
|
||||||
interface: output
|
interface: output
|
||||||
|
|
||||||
[energy_pt2]
|
[energy_pt2]
|
||||||
type: double precision
|
type: double precision
|
||||||
doc: "Calculated Full CI energy"
|
doc: Calculated FCI energy + PT2
|
||||||
interface: output
|
interface: output
|
||||||
|
|
||||||
|
@ -10,7 +10,10 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/full_ci.irp.f#L1>`_
|
`full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/full_ci_no_skip.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`var_pt2_ratio_run <http://github.com/LCPQ/quantum_package/tree/master/src/Full_CI/var_pt2_ratio.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
@ -22,18 +25,20 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
|
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
|
||||||
|
|
||||||
|
@ -3,3 +3,55 @@ Generators_CAS Module
|
|||||||
=====================
|
=====================
|
||||||
|
|
||||||
The generator determinants are those filtered by the ``cas_bitmask`` mask.
|
The generator determinants are those filtered by the ``cas_bitmask`` mask.
|
||||||
|
Assumptions
|
||||||
|
===========
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
The active space is defined by the ``reference_bitmask``.
|
||||||
|
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L3>`_
|
||||||
|
Number of generator detetrminants
|
||||||
|
|
||||||
|
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L35>`_
|
||||||
|
For Single reference wave functions, the generator is the
|
||||||
|
Hartree-Fock determinant
|
||||||
|
|
||||||
|
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L34>`_
|
||||||
|
For Single reference wave functions, the generator is the
|
||||||
|
Hartree-Fock determinant
|
||||||
|
|
||||||
|
`select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L78>`_
|
||||||
|
Memo to skip useless selectors
|
||||||
|
|
||||||
|
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS/generators.irp.f#L70>`_
|
||||||
|
Size of the select_max array
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
@ -62,7 +62,6 @@ END_PROVIDER
|
|||||||
psi_det_generators(k,2,m) = psi_det(k,2,i)
|
psi_det_generators(k,2,m) = psi_det(k,2,i)
|
||||||
enddo
|
enddo
|
||||||
psi_coef_generators(m,:) = psi_coef(m,:)
|
psi_coef_generators(m,:) = psi_coef(m,:)
|
||||||
! call debug_det(psi_det_generators(1,1,m),N_int)
|
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
|
@ -11,20 +11,26 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L22>`_
|
`degree_max_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L55>`_
|
||||||
|
Max degree of excitation (respect to HF) of the generators
|
||||||
|
|
||||||
|
`n_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L15>`_
|
||||||
For Single reference wave functions, the number of generators is 1 : the
|
For Single reference wave functions, the number of generators is 1 : the
|
||||||
Hartree-Fock determinant
|
Hartree-Fock determinant
|
||||||
|
|
||||||
`psi_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L44>`_
|
`psi_coef_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L38>`_
|
||||||
For Single reference wave functions, the generator is the
|
For Single reference wave functions, the generator is the
|
||||||
Hartree-Fock determinant
|
Hartree-Fock determinant
|
||||||
|
|
||||||
`select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L60>`_
|
`psi_det_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L37>`_
|
||||||
|
For Single reference wave functions, the generator is the
|
||||||
|
Hartree-Fock determinant
|
||||||
|
|
||||||
|
`select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L78>`_
|
||||||
Memo to skip useless selectors
|
Memo to skip useless selectors
|
||||||
|
|
||||||
`threshold_generators <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L3>`_
|
`size_select_max <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full/generators.irp.f#L70>`_
|
||||||
Percentage of the norm of the state-averaged wave function to
|
Size of the select_max array
|
||||||
consider for the generators
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -35,12 +41,13 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
@ -11,11 +11,12 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
@ -36,16 +37,16 @@ Documentation
|
|||||||
`fock_matrix_alpha_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L83>`_
|
`fock_matrix_alpha_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L83>`_
|
||||||
Alpha Fock matrix in AO basis set
|
Alpha Fock matrix in AO basis set
|
||||||
|
|
||||||
`fock_matrix_alpha_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L194>`_
|
`fock_matrix_alpha_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L231>`_
|
||||||
Fock matrix on the MO basis
|
Fock matrix on the MO basis
|
||||||
|
|
||||||
`fock_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L242>`_
|
`fock_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L289>`_
|
||||||
Fock matrix in AO basis set
|
Fock matrix in AO basis set
|
||||||
|
|
||||||
`fock_matrix_beta_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L84>`_
|
`fock_matrix_beta_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L84>`_
|
||||||
Alpha Fock matrix in AO basis set
|
Alpha Fock matrix in AO basis set
|
||||||
|
|
||||||
`fock_matrix_beta_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L214>`_
|
`fock_matrix_beta_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L251>`_
|
||||||
Fock matrix on the MO basis
|
Fock matrix on the MO basis
|
||||||
|
|
||||||
`fock_matrix_diag_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L2>`_
|
`fock_matrix_diag_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L2>`_
|
||||||
@ -78,24 +79,30 @@ Documentation
|
|||||||
K = Fb - Fa
|
K = Fb - Fa
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L285>`_
|
`fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L332>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`hf_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L233>`_
|
`hf_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Fock_matrix.irp.f#L270>`_
|
||||||
Hartree-Fock energy
|
Hartree-Fock energy
|
||||||
|
|
||||||
`hf_density_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L27>`_
|
`hf_density_matrix_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L27>`_
|
||||||
Density matrix in the AO basis
|
S^-1 Density matrix in the AO basis S^-1
|
||||||
|
|
||||||
`hf_density_matrix_ao_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L1>`_
|
`hf_density_matrix_ao_alpha <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L1>`_
|
||||||
Alpha density matrix in the AO basis
|
S^-1 x Alpha density matrix in the AO basis x S^-1
|
||||||
|
|
||||||
`hf_density_matrix_ao_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L14>`_
|
`hf_density_matrix_ao_beta <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/HF_density_matrix_ao.irp.f#L14>`_
|
||||||
Beta density matrix in the AO basis
|
S^-1 Beta density matrix in the AO basis x S^-1
|
||||||
|
|
||||||
`run <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L7>`_
|
`guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/Huckel_guess.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
`create_guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L8>`_
|
||||||
|
Create an MO guess if no MOs are present in the EZFIO directory
|
||||||
|
|
||||||
|
`run <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L33>`_
|
||||||
|
Run SCF calculation
|
||||||
|
|
||||||
`scf <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L2>`_
|
`scf <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/SCF.irp.f#L2>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
@ -105,7 +112,7 @@ Documentation
|
|||||||
`diagonal_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L1>`_
|
`diagonal_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L1>`_
|
||||||
Diagonal Fock matrix in the MO basis
|
Diagonal Fock matrix in the MO basis
|
||||||
|
|
||||||
`diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L57>`_
|
`diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L67>`_
|
||||||
diagonal element of the fock matrix calculated as the sum over all the interactions
|
diagonal element of the fock matrix calculated as the sum over all the interactions
|
||||||
with all the electrons in the RHF determinant
|
with all the electrons in the RHF determinant
|
||||||
diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij
|
diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij
|
||||||
@ -113,20 +120,8 @@ Documentation
|
|||||||
`eigenvectors_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L2>`_
|
`eigenvectors_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L2>`_
|
||||||
Diagonal Fock matrix in the MO basis
|
Diagonal Fock matrix in the MO basis
|
||||||
|
|
||||||
`bi_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ref_bitmask.irp.f#L5>`_
|
`huckel_guess <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/huckel.irp.f#L1>`_
|
||||||
Energy of the reference bitmask used in Slater rules
|
Build the MOs using the extended Huckel model
|
||||||
|
|
||||||
`kinetic_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ref_bitmask.irp.f#L3>`_
|
|
||||||
Energy of the reference bitmask used in Slater rules
|
|
||||||
|
|
||||||
`mono_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ref_bitmask.irp.f#L2>`_
|
|
||||||
Energy of the reference bitmask used in Slater rules
|
|
||||||
|
|
||||||
`nucl_elec_ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ref_bitmask.irp.f#L4>`_
|
|
||||||
Energy of the reference bitmask used in Slater rules
|
|
||||||
|
|
||||||
`ref_bitmask_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/ref_bitmask.irp.f#L1>`_
|
|
||||||
Energy of the reference bitmask used in Slater rules
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,11 +23,11 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
@ -45,29 +45,58 @@ Documentation
|
|||||||
`mo_density_matrix_virtual <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/cholesky_mo.irp.f#L64>`_
|
`mo_density_matrix_virtual <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/cholesky_mo.irp.f#L64>`_
|
||||||
Density matrix in MO basis (virtual MOs)
|
Density matrix in MO basis (virtual MOs)
|
||||||
|
|
||||||
`mo_coef <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L22>`_
|
`mo_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mo_overlap.irp.f#L2>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`ao_to_mo <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L126>`_
|
||||||
|
Transform A from the AO basis to the MO basis
|
||||||
|
|
||||||
|
`mix_mo_jk <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L210>`_
|
||||||
|
subroutine that rotates the jth MO with the kth MO
|
||||||
|
to give two new MO's that are
|
||||||
|
'+' = 1/sqrt(2) (|j> + |k>)
|
||||||
|
'-' = 1/sqrt(2) (|j> - |k>)
|
||||||
|
by convention, the '+' MO is in the lower index (min(j,k))
|
||||||
|
by convention, the '-' MO is in the greater index (max(j,k))
|
||||||
|
|
||||||
|
`mo_coef <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L28>`_
|
||||||
Molecular orbital coefficients on AO basis set
|
Molecular orbital coefficients on AO basis set
|
||||||
mo_coef(i,j) = coefficient of the ith ao on the jth mo
|
mo_coef(i,j) = coefficient of the ith ao on the jth mo
|
||||||
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
||||||
|
|
||||||
`mo_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L60>`_
|
`mo_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L71>`_
|
||||||
Molecular orbital coefficients on AO basis set
|
Molecular orbital coefficients on AO basis set
|
||||||
|
|
||||||
`mo_label <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L23>`_
|
`mo_label <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L29>`_
|
||||||
Molecular orbital coefficients on AO basis set
|
Molecular orbital coefficients on AO basis set
|
||||||
mo_coef(i,j) = coefficient of the ith ao on the jth mo
|
mo_coef(i,j) = coefficient of the ith ao on the jth mo
|
||||||
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
||||||
|
|
||||||
`mo_occ <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L78>`_
|
`mo_occ <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L102>`_
|
||||||
MO occupation numbers
|
MO occupation numbers
|
||||||
|
|
||||||
|
`mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L152>`_
|
||||||
|
Transform A from the MO basis to the AO basis
|
||||||
|
|
||||||
|
`mo_to_ao_no_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L184>`_
|
||||||
|
Transform A from the MO basis to the S^-1 AO basis
|
||||||
|
|
||||||
`mo_tot_num <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L1>`_
|
`mo_tot_num <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L1>`_
|
||||||
Total number of molecular orbitals and the size of the keys corresponding
|
Total number of molecular orbitals and the size of the keys corresponding
|
||||||
|
|
||||||
`mo_tot_num_align <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L12>`_
|
`mo_tot_num_align <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L18>`_
|
||||||
Aligned variable for dimensioning of arrays
|
Aligned variable for dimensioning of arrays
|
||||||
|
|
||||||
`mo_as_eigvectors_of_mo_matrix <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L22>`_
|
`s_mo_coef <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/mos.irp.f#L89>`_
|
||||||
|
Product S.C where S is the overlap matrix in the AO basis and C the mo_coef matrix.
|
||||||
|
|
||||||
|
`mo_as_eigvectors_of_mo_matrix <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L24>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`mo_as_eigvectors_of_mo_matrix_sort_by_observable <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L62>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`mo_sort_by_observable <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L144>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`save_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L1>`_
|
`save_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MOs/utils.irp.f#L1>`_
|
||||||
|
@ -8,7 +8,7 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/MP2/mp2.irp.f#L1>`_
|
`mp2 <http://github.com/LCPQ/quantum_package/tree/master/src/MP2/mp2.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
@ -20,18 +20,20 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
4
src/MRCC/EZFIO.cfg
Normal file
4
src/MRCC/EZFIO.cfg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[energy]
|
||||||
|
type: double precision
|
||||||
|
doc: Calculated MRCC energy
|
||||||
|
interface: output
|
@ -2,13 +2,13 @@ use bitmasks
|
|||||||
BEGIN_SHELL [ /usr/bin/env python ]
|
BEGIN_SHELL [ /usr/bin/env python ]
|
||||||
from generate_h_apply import *
|
from generate_h_apply import *
|
||||||
|
|
||||||
s = H_apply("mrcc")
|
s = H_apply("mrcc_simple")
|
||||||
s.data["parameters"] = ", delta_ij_sd_, Ndet_sd"
|
s.data["parameters"] = ", delta_ij_sd_, Ndet_sd"
|
||||||
s.data["declarations"] += """
|
s.data["declarations"] += """
|
||||||
integer, intent(in) :: Ndet_sd
|
integer, intent(in) :: Ndet_sd
|
||||||
double precision, intent(in) :: delta_ij_sd_(Ndet_sd,Ndet_sd,*)
|
double precision, intent(in) :: delta_ij_sd_(Ndet_sd,Ndet_sd,*)
|
||||||
"""
|
"""
|
||||||
s.data["keys_work"] = "call mrcc_dress(delta_ij_sd_,Ndet_sd,i_generator,key_idx,keys_out,N_int,iproc)"
|
s.data["keys_work"] = "call mrcc_dress_simple(delta_ij_sd_,Ndet_sd,i_generator,key_idx,keys_out,N_int,iproc)"
|
||||||
s.data["params_post"] += ", delta_ij_sd_, Ndet_sd"
|
s.data["params_post"] += ", delta_ij_sd_, Ndet_sd"
|
||||||
s.data["params_main"] += "delta_ij_sd_, Ndet_sd"
|
s.data["params_main"] += "delta_ij_sd_, Ndet_sd"
|
||||||
s.data["decls_main"] += """
|
s.data["decls_main"] += """
|
||||||
@ -18,8 +18,14 @@ s.data["decls_main"] += """
|
|||||||
s.data["finalization"] = ""
|
s.data["finalization"] = ""
|
||||||
s.data["copy_buffer"] = ""
|
s.data["copy_buffer"] = ""
|
||||||
s.data["generate_psi_guess"] = ""
|
s.data["generate_psi_guess"] = ""
|
||||||
s.data["size_max"] = "256"
|
s.data["size_max"] = "3072"
|
||||||
|
print s
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
s.data["subroutine"] = "H_apply_mrcc"
|
||||||
|
s.data["keys_work"] = "call mrcc_dress(delta_ij_sd_,Ndet_sd,i_generator,key_idx,keys_out,N_int,iproc)"
|
||||||
print s
|
print s
|
||||||
|
|
||||||
END_SHELL
|
END_SHELL
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
AOs Bielec_integrals Bitmask CAS_SD_selected Dets Electrons Ezfio_files Generators_CAS Generators_full Hartree_Fock MOGuess MonoInts MOs Nuclei Output Perturbation Properties Selectors_full Utils
|
AOs Bielec_integrals Bitmask Dets Electrons Ezfio_files Generators_full Hartree_Fock MOGuess MonoInts MOs Nuclei Output Perturbation Properties Selectors_full Utils
|
||||||
|
|
||||||
|
@ -1,14 +1,91 @@
|
|||||||
-4.142795384334731
|
===========
|
||||||
|
MRCC Module
|
||||||
|
===========
|
||||||
|
|
||||||
4.695183071437694E-002
|
Needed Modules
|
||||||
Determinant 64
|
==============
|
||||||
---------------------------------------------
|
|
||||||
000000000000002E|000000000000002E
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|-+++-+----------------------------------------------------------|
|
.. NEEDED_MODULES file.
|
||||||
|-+++-+----------------------------------------------------------|
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
|
||||||
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
|
* `Properties <http://github.com/LCPQ/quantum_package/tree/master/src/Properties>`_
|
||||||
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`mrcc <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`run <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc.irp.f#L10>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`run_mrcc <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc.irp.f#L42>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`run_mrcc_test <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc.irp.f#L29>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`find_triples_and_quadruples <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_dress.irp.f#L202>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`mrcc_dress <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_dress.irp.f#L15>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`mrcc_dress_simple <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_dress.irp.f#L156>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`psi_cas_lock <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_dress.irp.f#L3>`_
|
||||||
|
Locks on CAS determinants to fill delta_ij
|
||||||
|
|
||||||
|
`ci_eigenvectors_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L79>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_eigenvectors_s2_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L80>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_electronic_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L78>`_
|
||||||
|
Eigenvectors/values of the CI matrix
|
||||||
|
|
||||||
|
`ci_energy_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L132>`_
|
||||||
|
N_states lowest eigenvalues of the dressed CI matrix
|
||||||
|
|
||||||
|
`delta_ij <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L43>`_
|
||||||
|
Dressing matrix in N_det basis
|
||||||
|
|
||||||
|
`delta_ij_non_cas <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L34>`_
|
||||||
|
Dressing matrix in SD basis
|
||||||
|
|
||||||
|
`diagonalize_ci_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L147>`_
|
||||||
|
Replace the coefficients of the CI states by the coefficients of the
|
||||||
|
eigenstates of the CI matrix
|
||||||
|
|
||||||
|
`dressing_type <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L26>`_
|
||||||
|
[ Simple | MRCC ]
|
||||||
|
|
||||||
|
`h_matrix_dressed <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L63>`_
|
||||||
|
Dressed H with Delta_ij
|
||||||
|
|
||||||
|
`lambda_mrcc <http://github.com/LCPQ/quantum_package/tree/master/src/MRCC/mrcc_utils.irp.f#L2>`_
|
||||||
|
cm/<Psi_0|H|D_m>
|
||||||
|
|
||||||
CAS-SD: -4.14214374069306
|
|
||||||
: -4.14230904320551
|
|
||||||
|
|
||||||
E0 = -11.5634986758976
|
|
||||||
|
|
||||||
|
@ -3,41 +3,65 @@ program mrcc
|
|||||||
read_wf = .True.
|
read_wf = .True.
|
||||||
TOUCH read_wf
|
TOUCH read_wf
|
||||||
call run
|
call run
|
||||||
|
call run_mrcc
|
||||||
|
! call run_mrcc_test
|
||||||
end
|
end
|
||||||
|
|
||||||
subroutine run
|
subroutine run
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
print *, N_det
|
integer :: i,j
|
||||||
print *, N_det_cas
|
|
||||||
print *, N_det_sd
|
|
||||||
|
|
||||||
! call update_generators
|
|
||||||
integer :: i
|
|
||||||
print *, 'CAS'
|
print *, 'CAS'
|
||||||
print *, '==='
|
print *, '==='
|
||||||
do i=1,N_det_cas
|
do i=1,N_det_cas
|
||||||
print *, psi_cas_coefs(i,:)
|
print *, psi_cas_coef(i,:)
|
||||||
call debug_det(psi_cas(1,1,i),N_int)
|
call debug_det(psi_cas(1,1,i),N_int)
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
! print *, 'SD'
|
! print *, 'SD'
|
||||||
! print *, '=='
|
! print *, '=='
|
||||||
! do i=1,N_det_sd
|
! do i=1,N_det_non_cas
|
||||||
! print *, psi_sd_coefs(i,:)
|
! print *, psi_non_cas_coef(i,:)
|
||||||
! call debug_det(psi_sd(1,1,i),N_int)
|
! call debug_det(psi_non_cas(1,1,i),N_int)
|
||||||
! enddo
|
|
||||||
!
|
|
||||||
print *, 'MRCC'
|
|
||||||
print *, '===='
|
|
||||||
print *, ci_energy(:)
|
|
||||||
print *, h_matrix_all_dets(3,3), delta_ij(3,3,1)
|
|
||||||
print *, h_matrix_all_dets(3,3), delta_ij(3,3,1)
|
|
||||||
print *, ci_energy_dressed(:)
|
|
||||||
! print *, 'max', maxval(delta_ij_sd)
|
|
||||||
! print *, 'min', minval(delta_ij_sd)
|
|
||||||
!
|
|
||||||
! do i=1,N_det
|
|
||||||
! print '(10(F10.6,X))', delta_ij(i,1:N_det,1)
|
|
||||||
! enddo
|
! enddo
|
||||||
|
call write_double(6,ci_energy(1),"Initial CI energy")
|
||||||
|
end
|
||||||
|
subroutine run_mrcc_test
|
||||||
|
implicit none
|
||||||
|
integer :: i,j
|
||||||
|
double precision :: pt2
|
||||||
|
pt2 = 0.d0
|
||||||
|
do j=1,N_det
|
||||||
|
do i=1,N_det
|
||||||
|
pt2 += psi_coef(i,1)*psi_coef(j,1) * delta_ij(i,j,1)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
print *, ci_energy(1)
|
||||||
|
print *, ci_energy(1)+pt2
|
||||||
|
end
|
||||||
|
subroutine run_mrcc
|
||||||
|
implicit none
|
||||||
|
integer :: i,j
|
||||||
|
|
||||||
|
double precision :: E_new, E_old, delta_e
|
||||||
|
integer :: iteration
|
||||||
|
E_new = 0.d0
|
||||||
|
delta_E = 1.d0
|
||||||
|
iteration = 0
|
||||||
|
do while (delta_E > 1.d-8)
|
||||||
|
iteration += 1
|
||||||
|
print *, '==========================='
|
||||||
|
print *, 'MRCC Iteration', iteration
|
||||||
|
print *, '==========================='
|
||||||
|
print *, ''
|
||||||
|
E_old = sum(ci_energy_dressed)
|
||||||
|
call write_double(6,ci_energy_dressed(1),"MRCC energy")
|
||||||
|
call diagonalize_ci_dressed
|
||||||
|
E_new = sum(ci_energy_dressed)
|
||||||
|
delta_E = dabs(E_new - E_old)
|
||||||
|
enddo
|
||||||
|
call write_double(6,ci_energy_dressed(1),"Final MRCC energy")
|
||||||
|
call ezfio_set_mrcc_energy(ci_energy_dressed(1))
|
||||||
|
! call save_wavefunction
|
||||||
|
|
||||||
end
|
end
|
||||||
|
@ -1,15 +1,169 @@
|
|||||||
subroutine mrcc_dress(delta_ij_sd_,Ndet_sd,i_generator,n_selected,det_buffer,Nint,iproc)
|
use omp_lib
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer(omp_lock_kind), psi_cas_lock, (psi_det_size) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Locks on CAS determinants to fill delta_ij
|
||||||
|
END_DOC
|
||||||
|
integer :: i
|
||||||
|
do i=1,psi_det_size
|
||||||
|
call omp_init_lock( psi_cas_lock(i) )
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
subroutine mrcc_dress(delta_ij_,Ndet,i_generator,n_selected,det_buffer,Nint,iproc)
|
||||||
use bitmasks
|
use bitmasks
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
integer, intent(in) :: i_generator,n_selected, Nint, iproc
|
integer, intent(in) :: i_generator,n_selected, Nint, iproc
|
||||||
integer, intent(in) :: Ndet_sd
|
integer, intent(in) :: Ndet
|
||||||
double precision, intent(inout) :: delta_ij_sd_(Ndet_sd,Ndet_sd,*)
|
double precision, intent(inout) :: delta_ij_(Ndet,Ndet,*)
|
||||||
|
|
||||||
|
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
||||||
|
integer :: i,j,k,l
|
||||||
|
integer :: degree_alpha(psi_det_size)
|
||||||
|
integer :: idx_alpha(0:psi_det_size)
|
||||||
|
logical :: good
|
||||||
|
|
||||||
|
integer(bit_kind) :: tq(Nint,2,n_selected)
|
||||||
|
integer :: N_tq, c_ref ,degree
|
||||||
|
integer :: connected_to_ref
|
||||||
|
|
||||||
|
double precision :: hIk, hla, hIl, dIk(N_states), dka(N_states), dIa(N_states)
|
||||||
|
double precision, allocatable :: dIa_hla(:,:)
|
||||||
|
double precision :: haj, phase, phase2
|
||||||
|
double precision :: f(N_states), ci_inv(N_states)
|
||||||
|
integer :: exc(0:2,2,2)
|
||||||
|
integer :: h1,h2,p1,p2,s1,s2
|
||||||
|
integer(bit_kind) :: tmp_det(Nint,2)
|
||||||
|
integer :: iint, ipos
|
||||||
|
integer :: i_state, k_sd, l_sd, i_I, i_alpha
|
||||||
|
|
||||||
|
call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq)
|
||||||
|
|
||||||
|
allocate (dIa_hla(N_states,Ndet))
|
||||||
|
|
||||||
|
! |I>
|
||||||
|
|
||||||
|
! |alpha>
|
||||||
|
do i_alpha=1,N_tq
|
||||||
|
call get_excitation_degree_vector(psi_non_cas,tq(1,1,i_alpha),degree_alpha,Nint,N_det_non_cas,idx_alpha)
|
||||||
|
|
||||||
|
! |I>
|
||||||
|
do i_I=1,N_det_cas
|
||||||
|
! Find triples and quadruple grand parents
|
||||||
|
call get_excitation_degree(tq(1,1,i_alpha),psi_cas(1,1,i_I),degree,Nint)
|
||||||
|
if (degree > 4) then
|
||||||
|
cycle
|
||||||
|
endif
|
||||||
|
|
||||||
|
do i_state=1,N_states
|
||||||
|
dIa(i_state) = 0.d0
|
||||||
|
enddo
|
||||||
|
|
||||||
|
! <I| <> |alpha>
|
||||||
|
do k_sd=1,idx_alpha(0)
|
||||||
|
call get_excitation_degree(psi_cas(1,1,i_I),psi_non_cas(1,1,idx_alpha(k_sd)),degree,Nint)
|
||||||
|
if (degree > 2) then
|
||||||
|
cycle
|
||||||
|
endif
|
||||||
|
! <I| /k\ |alpha>
|
||||||
|
! <I|H|k>
|
||||||
|
call i_h_j(psi_cas(1,1,i_I),psi_non_cas(1,1,idx_alpha(k_sd)),Nint,hIk)
|
||||||
|
do i_state=1,N_states
|
||||||
|
dIk(i_state) = hIk * lambda_mrcc(i_state,idx_alpha(k_sd))
|
||||||
|
enddo
|
||||||
|
! |l> = Exc(k -> alpha) |I>
|
||||||
|
call get_excitation(psi_non_cas(1,1,idx_alpha(k_sd)),tq(1,1,i_alpha),exc,degree,phase,Nint)
|
||||||
|
call decode_exc(exc,degree,h1,p1,h2,p2,s1,s2)
|
||||||
|
do k=1,N_int
|
||||||
|
tmp_det(k,1) = psi_cas(k,1,i_I)
|
||||||
|
tmp_det(k,2) = psi_cas(k,2,i_I)
|
||||||
|
enddo
|
||||||
|
! Hole (see list_to_bitstring)
|
||||||
|
iint = ishft(h1-1,-bit_kind_shift) + 1
|
||||||
|
ipos = h1-ishft((iint-1),bit_kind_shift)-1
|
||||||
|
tmp_det(iint,s1) = ibclr(tmp_det(iint,s1),ipos)
|
||||||
|
|
||||||
|
! Particle
|
||||||
|
iint = ishft(p1-1,-bit_kind_shift) + 1
|
||||||
|
ipos = p1-ishft((iint-1),bit_kind_shift)-1
|
||||||
|
tmp_det(iint,s1) = ibset(tmp_det(iint,s1),ipos)
|
||||||
|
if (degree_alpha(k_sd) == 2) then
|
||||||
|
! Hole (see list_to_bitstring)
|
||||||
|
iint = ishft(h2-1,-bit_kind_shift) + 1
|
||||||
|
ipos = h2-ishft((iint-1),bit_kind_shift)-1
|
||||||
|
tmp_det(iint,s2) = ibclr(tmp_det(iint,s2),ipos)
|
||||||
|
|
||||||
|
! Particle
|
||||||
|
iint = ishft(p2-1,-bit_kind_shift) + 1
|
||||||
|
ipos = p2-ishft((iint-1),bit_kind_shift)-1
|
||||||
|
tmp_det(iint,s2) = ibset(tmp_det(iint,s2),ipos)
|
||||||
|
endif
|
||||||
|
|
||||||
|
! <I| \l/ |alpha>
|
||||||
|
do i_state=1,N_states
|
||||||
|
dka(i_state) = 0.d0
|
||||||
|
enddo
|
||||||
|
do l_sd=k_sd+1,idx_alpha(0)
|
||||||
|
call get_excitation_degree(tmp_det,psi_non_cas(1,1,idx_alpha(l_sd)),degree,Nint)
|
||||||
|
if (degree == 0) then
|
||||||
|
call get_excitation(psi_cas(1,1,i_I),psi_non_cas(1,1,idx_alpha(l_sd)),exc,degree,phase2,Nint)
|
||||||
|
call i_h_j(psi_cas(1,1,i_I),psi_non_cas(1,1,idx_alpha(l_sd)),Nint,hIl)
|
||||||
|
do i_state=1,N_states
|
||||||
|
dka(i_state) = hIl * lambda_mrcc(i_state,idx_alpha(l_sd)) * phase * phase2
|
||||||
|
enddo
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
do i_state=1,N_states
|
||||||
|
dIa(i_state) = dIa(i_state) + dIk(i_state) * dka(i_state)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
do i_state=1,N_states
|
||||||
|
ci_inv(i_state) = 1.d0/psi_cas_coef(i_I,i_state)
|
||||||
|
enddo
|
||||||
|
do l_sd=1,idx_alpha(0)
|
||||||
|
k_sd = idx_alpha(l_sd)
|
||||||
|
call i_h_j(tq(1,1,i_alpha),psi_non_cas(1,1,idx_alpha(l_sd)),Nint,hla)
|
||||||
|
do i_state=1,N_states
|
||||||
|
dIa_hla(i_state,k_sd) = dIa(i_state) * hla
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call omp_set_lock( psi_cas_lock(i_I) )
|
||||||
|
do l_sd=1,idx_alpha(0)
|
||||||
|
k_sd = idx_alpha(l_sd)
|
||||||
|
do i_state=1,N_states
|
||||||
|
delta_ij_(idx_non_cas(k_sd),idx_cas(i_I),i_state) += dIa_hla(i_state,k_sd)
|
||||||
|
delta_ij_(idx_cas(i_I),idx_non_cas(k_sd),i_state) += dIa_hla(i_state,k_sd)
|
||||||
|
delta_ij_(idx_cas(i_I),idx_cas(i_I),i_state) -= dIa_hla(i_state,k_sd) * ci_inv(i_state) * psi_non_cas_coef(k_sd,i_state)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
call omp_unset_lock( psi_cas_lock(i_I) )
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
deallocate (dIa_hla)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
subroutine mrcc_dress_simple(delta_ij_non_cas_,Ndet_non_cas,i_generator,n_selected,det_buffer,Nint,iproc)
|
||||||
|
use bitmasks
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
integer, intent(in) :: i_generator,n_selected, Nint, iproc
|
||||||
|
integer, intent(in) :: Ndet_non_cas
|
||||||
|
double precision, intent(inout) :: delta_ij_non_cas_(Ndet_non_cas,Ndet_non_cas,*)
|
||||||
|
|
||||||
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
||||||
integer :: i,j,k,m
|
integer :: i,j,k,m
|
||||||
integer :: new_size
|
integer :: new_size
|
||||||
logical :: is_in_wavefunction
|
|
||||||
integer :: degree(psi_det_size)
|
integer :: degree(psi_det_size)
|
||||||
integer :: idx(0:psi_det_size)
|
integer :: idx(0:psi_det_size)
|
||||||
logical :: good
|
logical :: good
|
||||||
@ -18,6 +172,51 @@ subroutine mrcc_dress(delta_ij_sd_,Ndet_sd,i_generator,n_selected,det_buffer,Nin
|
|||||||
integer :: N_tq, c_ref
|
integer :: N_tq, c_ref
|
||||||
integer :: connected_to_ref
|
integer :: connected_to_ref
|
||||||
|
|
||||||
|
call find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq)
|
||||||
|
|
||||||
|
! Compute <k|H|a><a|H|j> / (E0 - Haa)
|
||||||
|
double precision :: hka, haa
|
||||||
|
double precision :: haj
|
||||||
|
double precision :: f(N_states)
|
||||||
|
|
||||||
|
do i=1,N_tq
|
||||||
|
call get_excitation_degree_vector(psi_non_cas,tq(1,1,i),degree,Nint,Ndet_non_cas,idx)
|
||||||
|
call i_h_j(tq(1,1,i),tq(1,1,i),Nint,haa)
|
||||||
|
do m=1,N_states
|
||||||
|
f(m) = 1.d0/(ci_electronic_energy(m)-haa)
|
||||||
|
enddo
|
||||||
|
do k=1,idx(0)
|
||||||
|
call i_h_j(tq(1,1,i),psi_non_cas(1,1,idx(k)),Nint,hka)
|
||||||
|
do j=k,idx(0)
|
||||||
|
call i_h_j(tq(1,1,i),psi_non_cas(1,1,idx(j)),Nint,haj)
|
||||||
|
do m=1,N_states
|
||||||
|
delta_ij_non_cas_(idx(k), idx(j),m) += haj*hka* f(m)
|
||||||
|
delta_ij_non_cas_(idx(j), idx(k),m) += haj*hka* f(m)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
subroutine find_triples_and_quadruples(i_generator,n_selected,det_buffer,Nint,tq,N_tq)
|
||||||
|
use bitmasks
|
||||||
|
implicit none
|
||||||
|
|
||||||
|
integer, intent(in) :: i_generator,n_selected, Nint
|
||||||
|
|
||||||
|
integer(bit_kind), intent(in) :: det_buffer(Nint,2,n_selected)
|
||||||
|
integer :: i,j,k,m
|
||||||
|
logical :: is_in_wavefunction
|
||||||
|
integer :: degree(psi_det_size)
|
||||||
|
integer :: idx(0:psi_det_size)
|
||||||
|
logical :: good
|
||||||
|
|
||||||
|
integer(bit_kind), intent(out) :: tq(Nint,2,n_selected)
|
||||||
|
integer, intent(out) :: N_tq
|
||||||
|
integer :: c_ref
|
||||||
|
integer :: connected_to_ref
|
||||||
|
|
||||||
N_tq = 0
|
N_tq = 0
|
||||||
do i=1,N_selected
|
do i=1,N_selected
|
||||||
c_ref = connected_to_ref(det_buffer(1,1,i),psi_det_generators,Nint, &
|
c_ref = connected_to_ref(det_buffer(1,1,i),psi_det_generators,Nint, &
|
||||||
@ -48,143 +247,11 @@ subroutine mrcc_dress(delta_ij_sd_,Ndet_sd,i_generator,n_selected,det_buffer,Nin
|
|||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
! Compute <k|H|a><a|H|j> / (E0 - Haa)
|
|
||||||
double precision :: hka, haa
|
|
||||||
double precision :: haj
|
|
||||||
double precision :: f(N_states)
|
|
||||||
|
|
||||||
do i=1,N_tq
|
|
||||||
call get_excitation_degree_vector(psi_sd,tq(1,1,i),degree,Nint,Ndet_sd,idx)
|
|
||||||
call i_h_j(tq(1,1,i),tq(1,1,i),Nint,haa)
|
|
||||||
do m=1,N_states
|
|
||||||
f(m) = 1.d0/(ci_electronic_energy(m)-haa)
|
|
||||||
enddo
|
|
||||||
do k=1,idx(0)
|
|
||||||
call i_h_j(tq(1,1,i),psi_sd(1,1,idx(k)),Nint,hka)
|
|
||||||
do j=k,idx(0)
|
|
||||||
call i_h_j(tq(1,1,i),psi_sd(1,1,idx(j)),Nint,haj)
|
|
||||||
do m=1,N_states
|
|
||||||
delta_ij_sd_(idx(k), idx(j),m) += haj*hka* f(m)
|
|
||||||
delta_ij_sd_(idx(j), idx(k),m) += haj*hka* f(m)
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
end
|
end
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, delta_ij_sd, (N_det_sd, N_det_sd,N_states) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Dressing matrix in SD basis
|
|
||||||
END_DOC
|
|
||||||
delta_ij_sd = 0.d0
|
|
||||||
call H_apply_mrcc(delta_ij_sd,N_det_sd)
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, delta_ij, (N_det,N_det,N_states) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Dressing matrix in N_det basis
|
|
||||||
END_DOC
|
|
||||||
integer :: i,j,m
|
|
||||||
delta_ij = 0.d0
|
|
||||||
do m=1,N_states
|
|
||||||
do j=1,N_det_sd
|
|
||||||
do i=1,N_det_sd
|
|
||||||
delta_ij(idx_sd(i),idx_sd(j),m) = delta_ij_sd(i,j,m)
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Dressed H with Delta_ij
|
|
||||||
END_DOC
|
|
||||||
integer :: i, j
|
|
||||||
do j=1,N_det
|
|
||||||
do i=1,N_det
|
|
||||||
h_matrix_dressed(i,j) = h_matrix_all_dets(i,j) + delta_ij(i,j,1)
|
|
||||||
if (i==j) then
|
|
||||||
print *, i, delta_ij(i,j,1), h_matrix_all_dets(i,j)
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, CI_electronic_energy_dressed, (N_states_diag) ]
|
|
||||||
&BEGIN_PROVIDER [ double precision, CI_eigenvectors_dressed, (N_det,N_states_diag) ]
|
|
||||||
&BEGIN_PROVIDER [ double precision, CI_eigenvectors_s2_dressed, (N_states_diag) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Eigenvectors/values of the CI matrix
|
|
||||||
END_DOC
|
|
||||||
integer :: i,j
|
|
||||||
|
|
||||||
do j=1,N_states_diag
|
|
||||||
do i=1,N_det
|
|
||||||
CI_eigenvectors_dressed(i,j) = psi_coef(i,j)
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
|
|
||||||
if (diag_algorithm == "Davidson") then
|
|
||||||
|
|
||||||
stop 'use Lapack'
|
|
||||||
! call davidson_diag(psi_det,CI_eigenvectors_dressed,CI_electronic_energy_dressed, &
|
|
||||||
! size(CI_eigenvectors_dressed,1),N_det,N_states_diag,N_int,output_Dets)
|
|
||||||
|
|
||||||
else if (diag_algorithm == "Lapack") then
|
|
||||||
|
|
||||||
double precision, allocatable :: eigenvectors(:,:), eigenvalues(:)
|
|
||||||
allocate (eigenvectors(size(H_matrix_dressed,1),N_det))
|
|
||||||
allocate (eigenvalues(N_det))
|
|
||||||
call lapack_diag(eigenvalues,eigenvectors, &
|
|
||||||
H_matrix_dressed,size(H_matrix_dressed,1),N_det)
|
|
||||||
CI_electronic_energy_dressed(:) = 0.d0
|
|
||||||
do i=1,N_det
|
|
||||||
CI_eigenvectors_dressed(i,1) = eigenvectors(i,1)
|
|
||||||
enddo
|
|
||||||
integer :: i_state
|
|
||||||
double precision :: s2
|
|
||||||
i_state = 0
|
|
||||||
do j=1,N_det
|
|
||||||
call get_s2_u0(psi_det,eigenvectors(1,j),N_det,N_det,s2)
|
|
||||||
if(dabs(s2-expected_s2).le.0.3d0)then
|
|
||||||
i_state += 1
|
|
||||||
do i=1,N_det
|
|
||||||
CI_eigenvectors_dressed(i,i_state) = eigenvectors(i,j)
|
|
||||||
enddo
|
|
||||||
CI_electronic_energy_dressed(i_state) = eigenvalues(j)
|
|
||||||
CI_eigenvectors_s2_dressed(i_state) = s2
|
|
||||||
endif
|
|
||||||
if (i_state.ge.N_states_diag) then
|
|
||||||
exit
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
deallocate(eigenvectors,eigenvalues)
|
|
||||||
endif
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, CI_energy_dressed, (N_states_diag) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! N_states lowest eigenvalues of the dressed CI matrix
|
|
||||||
END_DOC
|
|
||||||
|
|
||||||
integer :: j
|
|
||||||
character*(8) :: st
|
|
||||||
call write_time(output_Dets)
|
|
||||||
do j=1,N_states_diag
|
|
||||||
CI_energy_dressed(j) = CI_electronic_energy_dressed(j) + nuclear_repulsion
|
|
||||||
write(st,'(I4)') j
|
|
||||||
call write_double(output_Dets,CI_energy(j),'Energy of state '//trim(st))
|
|
||||||
call write_double(output_Dets,CI_eigenvectors_s2(j),'S^2 of state '//trim(st))
|
|
||||||
enddo
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
|
@ -1,150 +1,161 @@
|
|||||||
use bitmasks
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ integer(bit_kind), cas_bitmask, (N_int,2,N_cas_bitmask) ]
|
BEGIN_PROVIDER [ double precision, lambda_mrcc, (N_states,psi_det_size) ]
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference)
|
|
||||||
END_DOC
|
|
||||||
logical :: exists
|
|
||||||
integer :: i
|
|
||||||
PROVIDE ezfio_filename
|
|
||||||
|
|
||||||
call ezfio_has_bitmasks_cas(exists)
|
|
||||||
if (exists) then
|
|
||||||
call ezfio_get_bitmasks_cas(cas_bitmask)
|
|
||||||
else
|
|
||||||
do i=1,N_cas_bitmask
|
|
||||||
cas_bitmask(:,:,i) = iand(not(HF_bitmask(:,:)),full_ijkl_bitmask(:,:))
|
|
||||||
enddo
|
|
||||||
endif
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ integer, N_det_cas ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Number of generator detetrminants
|
|
||||||
END_DOC
|
|
||||||
integer :: i,k,l
|
|
||||||
logical :: good
|
|
||||||
call write_time(output_dets)
|
|
||||||
N_det_cas = 0
|
|
||||||
do i=1,N_det
|
|
||||||
do l=1,n_cas_bitmask
|
|
||||||
good = .True.
|
|
||||||
do k=1,N_int
|
|
||||||
good = good .and. ( &
|
|
||||||
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,i)) == &
|
|
||||||
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,1)) ) .and. ( &
|
|
||||||
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,i)) == &
|
|
||||||
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,1)) )
|
|
||||||
enddo
|
|
||||||
if (good) then
|
|
||||||
exit
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
if (good) then
|
|
||||||
N_det_cas += 1
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
N_det_cas = max(N_det_cas, 1)
|
|
||||||
call write_int(output_dets,N_det_cas, 'Number of determinants in the CAS')
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ integer(bit_kind), psi_cas, (N_int,2,N_det_cas) ]
|
|
||||||
&BEGIN_PROVIDER [ double precision, psi_cas_coefs, (N_det_cas,n_states) ]
|
|
||||||
&BEGIN_PROVIDER [ integer, idx_cas, (N_det_cas) ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! For Single reference wave functions, the generator is the
|
|
||||||
! Hartree-Fock determinant
|
|
||||||
END_DOC
|
|
||||||
integer :: i, k, l, m
|
|
||||||
logical :: good
|
|
||||||
m=0
|
|
||||||
do i=1,N_det
|
|
||||||
do l=1,n_cas_bitmask
|
|
||||||
good = .True.
|
|
||||||
do k=1,N_int
|
|
||||||
good = good .and. ( &
|
|
||||||
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,i)) == &
|
|
||||||
iand(not(cas_bitmask(k,1,l)), psi_det(k,1,1)) ) .and. ( &
|
|
||||||
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,i)) == &
|
|
||||||
iand(not(cas_bitmask(k,2,l)), psi_det(k,2,1)) )
|
|
||||||
enddo
|
|
||||||
if (good) then
|
|
||||||
exit
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
if (good) then
|
|
||||||
m = m+1
|
|
||||||
do k=1,N_int
|
|
||||||
psi_cas(k,1,m) = psi_det(k,1,i)
|
|
||||||
psi_cas(k,2,m) = psi_det(k,2,i)
|
|
||||||
enddo
|
|
||||||
idx_cas(m) = i
|
|
||||||
do k=1,N_states
|
|
||||||
psi_cas_coefs(m,k) = psi_coef(i,k)
|
|
||||||
enddo
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ integer(bit_kind), psi_sd, (N_int,2,N_det) ]
|
|
||||||
&BEGIN_PROVIDER [ double precision, psi_sd_coefs, (N_det,n_states) ]
|
|
||||||
&BEGIN_PROVIDER [ integer, idx_sd, (N_det) ]
|
|
||||||
&BEGIN_PROVIDER [ integer, N_det_sd]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! SD
|
|
||||||
END_DOC
|
|
||||||
integer :: i_sd,j,k
|
|
||||||
integer :: degree
|
|
||||||
logical :: in_cas
|
|
||||||
i_sd =0
|
|
||||||
do k=1,N_det
|
|
||||||
in_cas = .False.
|
|
||||||
do j=1,N_det_cas
|
|
||||||
call get_excitation_degree(psi_cas(1,1,j), psi_det(1,1,k), degree, N_int)
|
|
||||||
if (degree == 0) then
|
|
||||||
in_cas = .True.
|
|
||||||
exit
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
if (.not.in_cas) then
|
|
||||||
double precision :: hij
|
|
||||||
i_sd += 1
|
|
||||||
psi_sd(1:N_int,1:2,i_sd) = psi_det(1:N_int,1:2,k)
|
|
||||||
psi_sd_coefs(i_sd,1:N_states) = psi_coef(k,1:N_states)
|
|
||||||
idx_sd(i_sd) = k
|
|
||||||
endif
|
|
||||||
enddo
|
|
||||||
N_det_sd = i_sd
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, lambda_mrcc, (psi_det_size,n_states) ]
|
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! cm/<Psi_0|H|D_m>
|
! cm/<Psi_0|H|D_m>
|
||||||
END_DOC
|
END_DOC
|
||||||
integer :: i,k
|
integer :: i,k
|
||||||
double precision :: ihpsi(N_states)
|
double precision :: ihpsi(N_states)
|
||||||
do i=1,N_det_sd
|
do i=1,N_det_non_cas
|
||||||
call i_h_psi(psi_sd(1,1,i), psi_cas, psi_cas_coefs, N_int, N_det_cas, &
|
call i_h_psi(psi_non_cas(1,1,i), psi_cas, psi_cas_coef, N_int, N_det_cas, &
|
||||||
size(psi_cas_coefs,1), n_states, ihpsi)
|
size(psi_cas_coef,1), n_states, ihpsi)
|
||||||
double precision :: hij
|
double precision :: hij
|
||||||
do k=1,N_states
|
do k=1,N_states
|
||||||
if (dabs(ihpsi(k)) < 1.d-6) then
|
if (dabs(ihpsi(k)) > 1.d-5) then
|
||||||
lambda_mrcc(i,k) = 0.d0
|
lambda_mrcc(k,i) = psi_non_cas_coef(i,k)/ihpsi(k)
|
||||||
|
lambda_mrcc(k,i) = min( lambda_mrcc (k,i),0.d0 )
|
||||||
else
|
else
|
||||||
lambda_mrcc(i,k) = psi_sd_coefs(i,k)/ihpsi(k)
|
lambda_mrcc(k,i) = 0.d0
|
||||||
lambda_mrcc(i,k) = min( lambda_mrcc (i,k),0.d0 )
|
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ character*(32), dressing_type ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! [ Simple | MRCC ]
|
||||||
|
END_DOC
|
||||||
|
dressing_type = "MRCC"
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, delta_ij_non_cas, (N_det_non_cas, N_det_non_cas,N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Dressing matrix in SD basis
|
||||||
|
END_DOC
|
||||||
|
delta_ij_non_cas = 0.d0
|
||||||
|
call H_apply_mrcc_simple(delta_ij_non_cas,N_det_non_cas)
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, delta_ij, (N_det,N_det,N_states) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Dressing matrix in N_det basis
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j,m
|
||||||
|
delta_ij = 0.d0
|
||||||
|
if (dressing_type == "MRCC") then
|
||||||
|
call H_apply_mrcc(delta_ij,N_det)
|
||||||
|
else if (dressing_type == "Simple") then
|
||||||
|
do m=1,N_states
|
||||||
|
do j=1,N_det_non_cas
|
||||||
|
do i=1,N_det_non_cas
|
||||||
|
delta_ij(idx_non_cas(i),idx_non_cas(j),m) = delta_ij_non_cas(i,j,m)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
endif
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, h_matrix_dressed, (N_det,N_det) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Dressed H with Delta_ij
|
||||||
|
END_DOC
|
||||||
|
integer :: i, j
|
||||||
|
do j=1,N_det
|
||||||
|
do i=1,N_det
|
||||||
|
h_matrix_dressed(i,j) = h_matrix_all_dets(i,j) + delta_ij(i,j,1)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, CI_electronic_energy_dressed, (N_states_diag) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, CI_eigenvectors_dressed, (N_det,N_states_diag) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, CI_eigenvectors_s2_dressed, (N_states_diag) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Eigenvectors/values of the CI matrix
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j
|
||||||
|
|
||||||
|
do j=1,N_states_diag
|
||||||
|
do i=1,N_det
|
||||||
|
CI_eigenvectors_dressed(i,j) = psi_coef(i,j)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
if (diag_algorithm == "Davidson") then
|
||||||
|
|
||||||
|
stop 'use Lapack'
|
||||||
|
! call davidson_diag(psi_det,CI_eigenvectors_dressed,CI_electronic_energy_dressed, &
|
||||||
|
! size(CI_eigenvectors_dressed,1),N_det,N_states_diag,N_int,output_Dets)
|
||||||
|
|
||||||
|
else if (diag_algorithm == "Lapack") then
|
||||||
|
|
||||||
|
double precision, allocatable :: eigenvectors(:,:), eigenvalues(:)
|
||||||
|
allocate (eigenvectors(size(H_matrix_dressed,1),N_det))
|
||||||
|
allocate (eigenvalues(N_det))
|
||||||
|
call lapack_diag(eigenvalues,eigenvectors, &
|
||||||
|
H_matrix_dressed,size(H_matrix_dressed,1),N_det)
|
||||||
|
CI_electronic_energy_dressed(:) = 0.d0
|
||||||
|
do i=1,N_det
|
||||||
|
CI_eigenvectors_dressed(i,1) = eigenvectors(i,1)
|
||||||
|
enddo
|
||||||
|
integer :: i_state
|
||||||
|
double precision :: s2
|
||||||
|
i_state = 0
|
||||||
|
do j=1,N_det
|
||||||
|
call get_s2_u0(psi_det,eigenvectors(1,j),N_det,N_det,s2)
|
||||||
|
if(dabs(s2-expected_s2).le.0.3d0)then
|
||||||
|
i_state += 1
|
||||||
|
do i=1,N_det
|
||||||
|
CI_eigenvectors_dressed(i,i_state) = eigenvectors(i,j)
|
||||||
|
enddo
|
||||||
|
CI_electronic_energy_dressed(i_state) = eigenvalues(j)
|
||||||
|
CI_eigenvectors_s2_dressed(i_state) = s2
|
||||||
|
endif
|
||||||
|
if (i_state.ge.N_states_diag) then
|
||||||
|
exit
|
||||||
|
endif
|
||||||
|
enddo
|
||||||
|
deallocate(eigenvectors,eigenvalues)
|
||||||
|
endif
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, CI_energy_dressed, (N_states_diag) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! N_states lowest eigenvalues of the dressed CI matrix
|
||||||
|
END_DOC
|
||||||
|
|
||||||
|
integer :: j
|
||||||
|
character*(8) :: st
|
||||||
|
call write_time(output_Dets)
|
||||||
|
do j=1,N_states_diag
|
||||||
|
CI_energy_dressed(j) = CI_electronic_energy_dressed(j) + nuclear_repulsion
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
subroutine diagonalize_CI_dressed
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Replace the coefficients of the CI states by the coefficients of the
|
||||||
|
! eigenstates of the CI matrix
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j
|
||||||
|
do j=1,N_states_diag
|
||||||
|
do i=1,N_det
|
||||||
|
psi_coef(i,j) = CI_eigenvectors_dressed(i,j)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
SOFT_TOUCH psi_coef
|
||||||
|
|
||||||
|
end
|
||||||
|
@ -16,6 +16,10 @@ default: ezfio
|
|||||||
|
|
||||||
veryclean:
|
veryclean:
|
||||||
$(QPACKAGE_ROOT)/scripts/clean_modules.sh $(ALL_MODULES)
|
$(QPACKAGE_ROOT)/scripts/clean_modules.sh $(ALL_MODULES)
|
||||||
|
# Define the dict [type in EZFIO.cfg] = ocaml type , f90 type
|
||||||
|
# If you change the qptypes_generator.ml, you need to rm this
|
||||||
|
# For simplicity add this to the veryclean rule
|
||||||
|
rm $(QPACKAGE_ROOT)/scripts/ezfio_interface/fancy_type.p
|
||||||
|
|
||||||
$(ALL_MODULES): ezfio
|
$(ALL_MODULES): ezfio
|
||||||
$(QPACKAGE_ROOT)/scripts/build_modules.sh $@
|
$(QPACKAGE_ROOT)/scripts/build_modules.sh $@
|
||||||
|
@ -2,3 +2,40 @@
|
|||||||
Molden Module
|
Molden Module
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`print_mos <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`write_ao_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L63>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`write_geometry <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L45>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`write_intro_gamess <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L26>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`write_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Molden/print_mo.irp.f#L112>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
|
@ -18,30 +18,10 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`ao_mono_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L122>`_
|
`ao_mono_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L1>`_
|
||||||
array of the mono electronic hamiltonian on the AOs basis
|
array of the mono electronic hamiltonian on the AOs basis
|
||||||
: sum of the kinetic and nuclear electronic potential
|
: sum of the kinetic and nuclear electronic potential
|
||||||
|
|
||||||
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L1>`_
|
|
||||||
Overlap between atomic basis functions:
|
|
||||||
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
|
||||||
|
|
||||||
`ao_overlap_abs <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L65>`_
|
|
||||||
Overlap between absolute value of atomic basis functions:
|
|
||||||
:math:`\int |\chi_i(r)| |\chi_j(r)| dr)`
|
|
||||||
|
|
||||||
`ao_overlap_x <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L2>`_
|
|
||||||
Overlap between atomic basis functions:
|
|
||||||
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
|
||||||
|
|
||||||
`ao_overlap_y <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L3>`_
|
|
||||||
Overlap between atomic basis functions:
|
|
||||||
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
|
||||||
|
|
||||||
`ao_overlap_z <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/ao_mono_ints.irp.f#L4>`_
|
|
||||||
Overlap between atomic basis functions:
|
|
||||||
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
|
||||||
|
|
||||||
`check_ortho <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/check_orthonormality.irp.f#L1>`_
|
`check_ortho <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/check_orthonormality.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
@ -72,58 +52,63 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
{\tt ao_deriv2_x} = \langle \chi_i(x,y,z) \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle
|
{\tt ao_deriv2_x} = \langle \chi_i(x,y,z) \frac{\partial^2}{\partial x^2} |\chi_j (x,y,z) \rangle
|
||||||
|
|
||||||
`ao_kinetic_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/kin_ao_ints.irp.f#L126>`_
|
`ao_kinetic_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/kin_ao_ints.irp.f#L125>`_
|
||||||
array of the priminitve basis kinetic integrals
|
array of the priminitve basis kinetic integrals
|
||||||
\langle \chi_i |\hat{T}| \chi_j \rangle
|
\langle \chi_i |\hat{T}| \chi_j \rangle
|
||||||
|
|
||||||
`mo_kinetic_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/kin_mo_ints.irp.f#L1>`_
|
`mo_kinetic_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/kin_mo_ints.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`mo_mono_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/mo_mono_ints.irp.f#L35>`_
|
`mo_mono_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/mo_mono_ints.irp.f#L1>`_
|
||||||
array of the mono electronic hamiltonian on the MOs basis
|
array of the mono electronic hamiltonian on the MOs basis
|
||||||
: sum of the kinetic and nuclear electronic potential
|
: sum of the kinetic and nuclear electronic potential
|
||||||
|
|
||||||
`mo_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/mo_mono_ints.irp.f#L1>`_
|
|
||||||
Undocumented
|
|
||||||
|
|
||||||
`orthonormalize_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/orthonormalize.irp.f#L1>`_
|
`orthonormalize_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/orthonormalize.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`ao_nucl_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L1>`_
|
`ao_nucl_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L1>`_
|
||||||
interaction nuclear electron
|
interaction nuclear electron
|
||||||
|
|
||||||
`give_polynom_mult_center_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L161>`_
|
`ao_nucl_elec_integral_per_atom <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L67>`_
|
||||||
|
ao_nucl_elec_integral_per_atom(i,j,k) = -<AO(i)|1/|r-Rk|AO(j)>
|
||||||
|
where Rk is the geometry of the kth atom
|
||||||
|
|
||||||
|
`give_polynom_mult_center_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L214>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`i_x1_pol_mult_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L289>`_
|
`i_x1_pol_mult_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L342>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`i_x2_pol_mult_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L361>`_
|
`i_x2_pol_mult_mono_elec <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L413>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`int_gaus_pol <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L432>`_
|
`int_gaus_pol <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L484>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`nai_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L82>`_
|
`nai_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L135>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`v_e_n <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L413>`_
|
`v_e_n <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L465>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`v_phi <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L477>`_
|
`v_phi <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L529>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`v_r <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L461>`_
|
`v_r <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L513>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`v_theta <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L490>`_
|
`v_theta <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L542>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`wallis <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L506>`_
|
`wallis <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_ao_ints.irp.f#L558>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`mo_nucl_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_mo_ints.irp.f#L1>`_
|
`mo_nucl_elec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_mo_ints.irp.f#L1>`_
|
||||||
Undocumented
|
interaction nuclear electron on the MO basis
|
||||||
|
|
||||||
|
`mo_nucl_elec_integral_per_atom <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/pot_mo_ints.irp.f#L30>`_
|
||||||
|
mo_nucl_elec_integral_per_atom(i,j,k) = -<MO(i)|1/|r-Rk|MO(j)>
|
||||||
|
where Rk is the geometry of the kth atom
|
||||||
|
|
||||||
`save_ortho_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/save_ortho_mos.irp.f#L1>`_
|
`save_ortho_mos <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/save_ortho_mos.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
@ -173,7 +158,7 @@ Documentation
|
|||||||
array of the integrals of AO_i * y^2 AO_j
|
array of the integrals of AO_i * y^2 AO_j
|
||||||
array of the integrals of AO_i * z^2 AO_j
|
array of the integrals of AO_i * z^2 AO_j
|
||||||
|
|
||||||
`overlap_bourrin_deriv_x <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L359>`_
|
`overlap_bourrin_deriv_x <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L365>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`overlap_bourrin_dipole <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L318>`_
|
`overlap_bourrin_dipole <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L318>`_
|
||||||
@ -182,7 +167,7 @@ Documentation
|
|||||||
`overlap_bourrin_spread <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L265>`_
|
`overlap_bourrin_spread <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L265>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`overlap_bourrin_x <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L374>`_
|
`overlap_bourrin_x <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L380>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`overlap_bourrin_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L226>`_
|
`overlap_bourrin_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts/spread_dipole_ao.irp.f#L226>`_
|
||||||
|
@ -1 +1 @@
|
|||||||
AOs Bielec_integrals Bitmask CID CID_SC2_selected CID_selected CIS CISD CISD_selected CISD_SC2_selected Dets Electrons Ezfio_files Full_CI Generators_full Hartree_Fock MOGuess MonoInts MOs MP2 Nuclei Output Selectors_full Utils Molden FCIdump Generators_CAS CAS_SD_selected DDCI_selected MRCC
|
AOs Bielec_integrals Bitmask CID CID_SC2_selected CID_selected CIS CISD CISD_selected CISD_SC2_selected Dets Electrons Ezfio_files Full_CI Generators_full Hartree_Fock MOGuess MonoInts MOs MP2 Nuclei Output Selectors_full Utils Molden FCIdump Generators_CAS CAS_SD DDCI_selected MRCC
|
||||||
|
@ -22,6 +22,9 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`element_name <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L215>`_
|
||||||
|
Array of the name of element, sorted by nuclear charge (integer)
|
||||||
|
|
||||||
`nucl_charge <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L23>`_
|
`nucl_charge <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L23>`_
|
||||||
Nuclear charges
|
Nuclear charges
|
||||||
|
|
||||||
@ -65,8 +68,11 @@ Documentation
|
|||||||
`nucl_num_aligned <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L2>`_
|
`nucl_num_aligned <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L2>`_
|
||||||
Number of nuclei
|
Number of nuclei
|
||||||
|
|
||||||
`nuclear_repulsion <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L171>`_
|
`nuclear_repulsion <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L187>`_
|
||||||
Nuclear repulsion energy
|
Nuclear repulsion energy
|
||||||
|
|
||||||
|
`positive_charge_barycentre <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L171>`_
|
||||||
|
Centroid of the positive charges
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,5 +39,23 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L2>`_
|
||||||
|
Initial CPU and wall times when printing in the output files
|
||||||
|
|
||||||
|
`output_wall_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L1>`_
|
||||||
|
Initial CPU and wall times when printing in the output files
|
||||||
|
|
||||||
|
`write_bool <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L88>`_
|
||||||
|
Write an logical value in output
|
||||||
|
|
||||||
|
`write_double <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L58>`_
|
||||||
|
Write a double precision value in output
|
||||||
|
|
||||||
|
`write_int <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L73>`_
|
||||||
|
Write an integer value in output
|
||||||
|
|
||||||
|
`write_time <http://github.com/LCPQ/quantum_package/tree/master/src/Output/output.irp.f#L42>`_
|
||||||
|
Write a time stamp in the output for chronological reconstruction
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,18 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`coef_hf_selector <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L27>`_
|
`coef_hf_selector <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L28>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
|
`delta_e_per_selector <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L33>`_
|
||||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
.br
|
.br
|
||||||
for the all the double excitations in the selectors determinants
|
for the all the double excitations in the selectors determinants
|
||||||
@ -28,7 +39,29 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
n_double_selectors = number of double excitations in the selectors determinants
|
n_double_selectors = number of double excitations in the selectors determinants
|
||||||
|
|
||||||
`e_corr_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L28>`_
|
`e_corr_double_only <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L34>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
|
`e_corr_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L31>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
|
`e_corr_second_order <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L35>`_
|
||||||
energy of correlation per determinant respect to the Hartree Fock determinant
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
.br
|
.br
|
||||||
for the all the double excitations in the selectors determinants
|
for the all the double excitations in the selectors determinants
|
||||||
@ -48,6 +81,39 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
n_double_selectors = number of double excitations in the selectors determinants
|
n_double_selectors = number of double excitations in the selectors determinants
|
||||||
|
|
||||||
|
`i_h_hf_per_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L32>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
|
`inv_selectors_coef_hf <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L29>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
|
`inv_selectors_coef_hf_squared <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L30>`_
|
||||||
|
energy of correlation per determinant respect to the Hartree Fock determinant
|
||||||
|
.br
|
||||||
|
for the all the double excitations in the selectors determinants
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = <D_i|H|HF> * c(D_i)/c(HF) if |D_i> is a double excitation
|
||||||
|
.br
|
||||||
|
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||||
|
.br
|
||||||
|
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||||
|
|
||||||
`n_double_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L5>`_
|
`n_double_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/e_corr_selectors.irp.f#L5>`_
|
||||||
degree of excitation respect to Hartree Fock for the wave function
|
degree of excitation respect to Hartree Fock for the wave function
|
||||||
.br
|
.br
|
||||||
@ -57,23 +123,40 @@ Documentation
|
|||||||
.br
|
.br
|
||||||
n_double_selectors = number of double excitations in the selectors determinants
|
n_double_selectors = number of double excitations in the selectors determinants
|
||||||
|
|
||||||
`n_det_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L26>`_
|
`n_det_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L20>`_
|
||||||
For Single reference wave functions, the number of selectors is 1 : the
|
For Single reference wave functions, the number of selectors is 1 : the
|
||||||
Hartree-Fock determinant
|
Hartree-Fock determinant
|
||||||
|
|
||||||
`psi_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L48>`_
|
`psi_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L42>`_
|
||||||
Determinants on which we apply <i|H|psi> for perturbation.
|
Determinants on which we apply <i|H|psi> for perturbation.
|
||||||
|
|
||||||
`psi_selectors_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L49>`_
|
`psi_selectors_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L76>`_
|
||||||
|
Determinants on which we apply <i|H|j>.
|
||||||
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
|
`psi_selectors_coef <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L43>`_
|
||||||
Determinants on which we apply <i|H|psi> for perturbation.
|
Determinants on which we apply <i|H|psi> for perturbation.
|
||||||
|
|
||||||
`psi_selectors_size <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L21>`_
|
`psi_selectors_coef_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L77>`_
|
||||||
|
Determinants on which we apply <i|H|j>.
|
||||||
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
|
`psi_selectors_diag_h_mat <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L63>`_
|
||||||
|
Diagonal elements of the H matrix for each selectors
|
||||||
|
|
||||||
|
`psi_selectors_next_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L78>`_
|
||||||
|
Determinants on which we apply <i|H|j>.
|
||||||
|
They are sorted by the 3 highest electrons in the alpha part,
|
||||||
|
then by the 3 highest electrons in the beta part to accelerate
|
||||||
|
the research of connected determinants.
|
||||||
|
|
||||||
|
`psi_selectors_size <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L15>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`threshold_selectors <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full/selectors.irp.f#L3>`_
|
|
||||||
Percentage of the norm of the state-averaged wave function to
|
|
||||||
consider for the selectors
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Needed Modules
|
Needed Modules
|
||||||
@ -83,12 +166,13 @@ Needed Modules
|
|||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
* `BiInts <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts>`_
|
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
* `Dets <http://github.com/LCPQ/quantum_package/tree/master/src/Dets>`_
|
||||||
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
* `Electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons>`_
|
||||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
@ -451,3 +451,6 @@ subroutine set_zero_extra_diag(i1,i2,matrix,lda,m)
|
|||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,35 +10,104 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L168>`_
|
||||||
|
Apply the rotation found by find_rotation
|
||||||
|
|
||||||
|
`find_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L149>`_
|
||||||
|
Find A.C = B
|
||||||
|
|
||||||
|
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L95>`_
|
||||||
|
Find C = A^-1
|
||||||
|
|
||||||
|
`lapack_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L247>`_
|
||||||
|
Diagonalize matrix H
|
||||||
|
.br
|
||||||
|
H is untouched between input and ouptut
|
||||||
|
.br
|
||||||
|
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||||
|
.br
|
||||||
|
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||||
|
.br
|
||||||
|
|
||||||
|
`lapack_diag_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L310>`_
|
||||||
|
Diagonalize matrix H
|
||||||
|
.br
|
||||||
|
H is untouched between input and ouptut
|
||||||
|
.br
|
||||||
|
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||||
|
.br
|
||||||
|
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||||
|
.br
|
||||||
|
|
||||||
|
`lapack_diagd <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L180>`_
|
||||||
|
Diagonalize matrix H
|
||||||
|
.br
|
||||||
|
H is untouched between input and ouptut
|
||||||
|
.br
|
||||||
|
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||||
|
.br
|
||||||
|
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||||
|
.br
|
||||||
|
|
||||||
|
`lapack_partial_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L376>`_
|
||||||
|
Diagonalize matrix H
|
||||||
|
.br
|
||||||
|
H is untouched between input and ouptut
|
||||||
|
.br
|
||||||
|
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||||
|
.br
|
||||||
|
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||||
|
.br
|
||||||
|
|
||||||
|
`ortho_lowdin <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L1>`_
|
||||||
|
Compute C_new=C_old.S^-1/2 canonical orthogonalization.
|
||||||
|
.br
|
||||||
|
overlap : overlap matrix
|
||||||
|
.br
|
||||||
|
LDA : leftmost dimension of overlap array
|
||||||
|
.br
|
||||||
|
N : Overlap matrix is NxN (array is (LDA,N) )
|
||||||
|
.br
|
||||||
|
C : Coefficients of the vectors to orthogonalize. On exit,
|
||||||
|
orthogonal vectors
|
||||||
|
.br
|
||||||
|
LDC : leftmost dimension of C
|
||||||
|
.br
|
||||||
|
m : Coefficients matrix is MxN, ( array is (LDC,N) )
|
||||||
|
.br
|
||||||
|
|
||||||
|
`set_zero_extra_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L433>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
`abort_all <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L1>`_
|
`abort_all <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L1>`_
|
||||||
If True, all the calculation is aborted
|
If True, all the calculation is aborted
|
||||||
|
|
||||||
`abort_here <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L10>`_
|
`abort_here <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L11>`_
|
||||||
If True, all the calculation is aborted
|
If True, all the calculation is aborted
|
||||||
|
|
||||||
`catch_signal <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L33>`_
|
`catch_signal <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L30>`_
|
||||||
What to do on Ctrl-C. If two Ctrl-C are pressed within 1 sec, the calculation if aborted.
|
What to do on Ctrl-C. If two Ctrl-C are pressed within 1 sec, the calculation if aborted.
|
||||||
|
|
||||||
`trap_signals <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L18>`_
|
`trap_signals <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/abort.irp.f#L19>`_
|
||||||
What to do when a signal is caught. Here, trap Ctrl-C and call the control_C subroutine.
|
What to do when a signal is caught. Here, trap Ctrl-C and call the control_C subroutine.
|
||||||
|
|
||||||
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L243>`_
|
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L306>`_
|
||||||
Add two polynomials
|
Add two polynomials
|
||||||
D(t) =! D(t) +( B(t)+C(t))
|
D(t) =! D(t) +( B(t)+C(t))
|
||||||
|
|
||||||
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L271>`_
|
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L334>`_
|
||||||
Add a polynomial multiplied by a constant
|
Add a polynomial multiplied by a constant
|
||||||
D(t) =! D(t) +( cst * B(t))
|
D(t) =! D(t) +( cst * B(t))
|
||||||
|
|
||||||
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L345>`_
|
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L408>`_
|
||||||
function that calculates the following integral
|
function that calculates the following integral
|
||||||
\int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx
|
\int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx
|
||||||
|
|
||||||
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L121>`_
|
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L184>`_
|
||||||
Gaussian product in 1D.
|
Gaussian product in 1D.
|
||||||
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
||||||
|
|
||||||
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L163>`_
|
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L226>`_
|
||||||
Gaussian product in 1D.
|
Gaussian product in 1D.
|
||||||
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
||||||
|
|
||||||
@ -50,108 +119,148 @@ Documentation
|
|||||||
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
|
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
|
||||||
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
|
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
|
||||||
|
|
||||||
|
`give_explicit_poly_and_gaussian_double <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L122>`_
|
||||||
|
Transforms the product of
|
||||||
|
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3)
|
||||||
|
exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta) exp(-(r-Nucl_center)^2 gama
|
||||||
|
.br
|
||||||
|
into
|
||||||
|
fact_k * [ sum (l_x = 0,i_order(1)) P_new(l_x,1) * (x-P_center(1))^l_x ] exp (- p (x-P_center(1))^2 )
|
||||||
|
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
|
||||||
|
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
|
||||||
|
|
||||||
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L1>`_
|
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L1>`_
|
||||||
Transform the product of
|
Transform the product of
|
||||||
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
|
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
|
||||||
into
|
into
|
||||||
fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2)
|
fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2)
|
||||||
|
|
||||||
`hermite <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L477>`_
|
`hermite <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L540>`_
|
||||||
Hermite polynomial
|
Hermite polynomial
|
||||||
|
|
||||||
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L201>`_
|
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L264>`_
|
||||||
Multiply two polynomials
|
Multiply two polynomials
|
||||||
D(t) =! D(t) +( B(t)*C(t))
|
D(t) =! D(t) +( B(t)*C(t))
|
||||||
|
|
||||||
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L300>`_
|
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L363>`_
|
||||||
Recenter two polynomials
|
Recenter two polynomials
|
||||||
|
|
||||||
`rint <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L373>`_
|
`rint <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L436>`_
|
||||||
.. math::
|
.. math::
|
||||||
.br
|
.br
|
||||||
\int_0^1 dx \exp(-p x^2) x^n
|
\int_0^1 dx \exp(-p x^2) x^n
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L533>`_
|
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L596>`_
|
||||||
Standard version of rint
|
Standard version of rint
|
||||||
|
|
||||||
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L502>`_
|
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L565>`_
|
||||||
Version of rint for large values of n
|
Version of rint for large values of n
|
||||||
|
|
||||||
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L421>`_
|
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L484>`_
|
||||||
Needed for the calculation of two-electron integrals.
|
Needed for the calculation of two-electron integrals.
|
||||||
|
|
||||||
|
`overlap_a_b_c <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L35>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L1>`_
|
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L1>`_
|
||||||
.. math::
|
.. math::
|
||||||
.br
|
.br
|
||||||
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
|
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L37>`_
|
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L113>`_
|
||||||
.. math::
|
.. math::
|
||||||
.br
|
.br
|
||||||
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\
|
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\
|
||||||
S = S_x S_y S_z
|
S = S_x S_y S_z
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L99>`_
|
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L175>`_
|
||||||
.. math ::
|
.. math ::
|
||||||
.br
|
.br
|
||||||
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
|
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`align_double <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L70>`_
|
`progress_active <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L29>`_
|
||||||
|
Current status for displaying progress bars. Global variable.
|
||||||
|
|
||||||
|
`progress_bar <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L27>`_
|
||||||
|
Current status for displaying progress bars. Global variable.
|
||||||
|
|
||||||
|
`progress_timeout <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L28>`_
|
||||||
|
Current status for displaying progress bars. Global variable.
|
||||||
|
|
||||||
|
`progress_title <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L31>`_
|
||||||
|
Current status for displaying progress bars. Global variable.
|
||||||
|
|
||||||
|
`progress_value <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L30>`_
|
||||||
|
Current status for displaying progress bars. Global variable.
|
||||||
|
|
||||||
|
`run_progress <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L45>`_
|
||||||
|
Display a progress bar with documentation of what is happening
|
||||||
|
|
||||||
|
`start_progress <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L1>`_
|
||||||
|
Starts the progress bar
|
||||||
|
|
||||||
|
`stop_progress <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/progress.irp.f#L19>`_
|
||||||
|
Stop the progress bar
|
||||||
|
|
||||||
|
`align_double <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L48>`_
|
||||||
Compute 1st dimension such that it is aligned for vectorization.
|
Compute 1st dimension such that it is aligned for vectorization.
|
||||||
|
|
||||||
`all_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L1>`_
|
`approx_dble <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L341>`_
|
||||||
Dummy provider to provide all utils
|
|
||||||
|
|
||||||
`approx_dble <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L299>`_
|
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`binom <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L52>`_
|
`binom <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L31>`_
|
||||||
Binomial coefficients
|
Binomial coefficients
|
||||||
|
|
||||||
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L21>`_
|
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L1>`_
|
||||||
.. math ::
|
.. math ::
|
||||||
.br
|
.br
|
||||||
\frac{i!}{j!(i-j)!}
|
\frac{i!}{j!(i-j)!}
|
||||||
.br
|
.br
|
||||||
|
|
||||||
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L53>`_
|
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L32>`_
|
||||||
Binomial coefficients
|
Binomial coefficients
|
||||||
|
|
||||||
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L129>`_
|
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L137>`_
|
||||||
n!!
|
n!!
|
||||||
|
|
||||||
`fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L85>`_
|
`dble_logfact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L171>`_
|
||||||
|
n!!
|
||||||
|
|
||||||
|
`fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L63>`_
|
||||||
n!
|
n!
|
||||||
|
|
||||||
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L117>`_
|
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L125>`_
|
||||||
1/n!
|
1/n!
|
||||||
|
|
||||||
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L176>`_
|
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L218>`_
|
||||||
1/i
|
1/i
|
||||||
|
|
||||||
`normalize <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L275>`_
|
`logfact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L93>`_
|
||||||
|
n!
|
||||||
|
|
||||||
|
`normalize <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L317>`_
|
||||||
Normalizes vector u
|
Normalizes vector u
|
||||||
u is expected to be aligned in memory.
|
u is expected to be aligned in memory.
|
||||||
|
|
||||||
`nproc <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L202>`_
|
`nproc <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L244>`_
|
||||||
Number of current OpenMP threads
|
Number of current OpenMP threads
|
||||||
|
|
||||||
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L244>`_
|
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L286>`_
|
||||||
Compute <u|u>
|
Compute <u|u>
|
||||||
|
|
||||||
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L218>`_
|
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L260>`_
|
||||||
Compute <u|v>
|
Compute <u|v>
|
||||||
|
|
||||||
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L187>`_
|
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L229>`_
|
||||||
The equivalent of cpu_time, but for the wall time.
|
The equivalent of cpu_time, but for the wall time.
|
||||||
|
|
||||||
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L162>`_
|
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L204>`_
|
||||||
Write the last git commit in file iunit.
|
Write the last git commit in file iunit.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user