mirror of
https://github.com/LCPQ/quantum_package
synced 2024-12-25 05:43:47 +01:00
A lot of cleaning
This commit is contained in:
parent
5b6067ea2f
commit
ff37982d15
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@ bin/
|
||||
lib/
|
||||
config/qp_create_ninja.pickle
|
||||
src/*/.gitignore
|
||||
ezfio_interface.irp.f
|
||||
|
176
ocaml/qp_export.ml
Normal file
176
ocaml/qp_export.ml
Normal file
@ -0,0 +1,176 @@
|
||||
open Core
|
||||
open Qptypes
|
||||
|
||||
let get_data () =
|
||||
let mos =
|
||||
Input.Mo_basis.read ()
|
||||
in
|
||||
let molecule =
|
||||
let e =
|
||||
match Input.Electrons.read () with
|
||||
| Some x -> x
|
||||
| None -> failwith "No electrons"
|
||||
in
|
||||
{ Molecule.nuclei =
|
||||
begin
|
||||
match Input.Nuclei_by_hand.read () with
|
||||
| None -> failwith "No nuclei"
|
||||
| Some l -> Input.Nuclei_by_hand.to_atom_list l
|
||||
end ;
|
||||
Molecule.elec_alpha = e.Input.Electrons.elec_alpha_num ;
|
||||
Molecule.elec_beta = e.Input.Electrons.elec_beta_num ;
|
||||
}
|
||||
in
|
||||
let charge =
|
||||
Molecule.get_charge molecule
|
||||
|> Charge.to_int
|
||||
and mult =
|
||||
Molecule.get_multiplicity molecule
|
||||
|> Multiplicity.to_int
|
||||
in
|
||||
let hf =
|
||||
if mult = 0 then "RHF" else "ROHF"
|
||||
in
|
||||
let guess =
|
||||
if mos = None then `Huckel else `Read
|
||||
in
|
||||
(mos, molecule, charge, mult, hf, guess)
|
||||
|
||||
|
||||
|
||||
|
||||
let run_g09 () =
|
||||
let (mos, molecule, charge, mult, hf, guess) =
|
||||
get_data ()
|
||||
in
|
||||
let guess =
|
||||
match guess with
|
||||
| `Read -> "cards"
|
||||
| `Huckel -> "huckel"
|
||||
in
|
||||
let result = [
|
||||
Printf.sprintf "# %s/Gen guess=%s" hf guess;
|
||||
"" ;
|
||||
Molecule.name molecule ;
|
||||
"" ;
|
||||
Printf.sprintf "%d %d" charge mult ;
|
||||
Printf.sprintf "%s" (
|
||||
match String.split ~on:'\n' @@ Molecule.to_xyz molecule with
|
||||
| _ :: _ :: rest -> String.concat ~sep:"\n" rest
|
||||
| _ -> assert false
|
||||
);
|
||||
"";
|
||||
begin
|
||||
match Input.Ao_basis.read () with
|
||||
| Some x -> Input.Ao_basis.to_basis x
|
||||
| None -> failwith "No basis"
|
||||
end
|
||||
|> Basis.to_string ~fmt:Gto.Gaussian ~ele_array:(List.map ~f:(fun x -> x.Atom.element)
|
||||
molecule.Molecule.nuclei |> Array.of_list) ;
|
||||
"";
|
||||
begin
|
||||
match mos with
|
||||
| None -> ""
|
||||
| Some mos' ->
|
||||
begin
|
||||
Printf.sprintf "(E20.12)\n%s\n 0"
|
||||
(
|
||||
Array.map mos'.Input.Mo_basis.mo_coef ~f:(fun x ->
|
||||
Array.map x ~f:(fun y -> Printf.sprintf "%20.12E" (MO_coef.to_float y))
|
||||
|> Array.to_list
|
||||
|> String.concat ~sep:"\n")
|
||||
|> Array.mapi ~f:(fun i -> Printf.sprintf "%5d\n%s" (i+1))
|
||||
|> Array.to_list
|
||||
|> String.concat ~sep:"\n"
|
||||
)
|
||||
end
|
||||
end;
|
||||
"" ; "" ;
|
||||
"" ; "" ;
|
||||
]
|
||||
in
|
||||
List.iter ~f:(fun x -> print_endline x) result
|
||||
|
||||
|
||||
|
||||
|
||||
let run_gamess () =
|
||||
failwith "Not yet implemented"
|
||||
(* TODO
|
||||
let (mos, molecule, charge, mult, hf, guess) =
|
||||
get_data ()
|
||||
in
|
||||
let guess =
|
||||
match guess with
|
||||
| `Read -> "MOREAD"
|
||||
| `Huckel -> "HUCKEL"
|
||||
in
|
||||
and coord =
|
||||
Printf.sprintf "%s" (
|
||||
match String.split ~on:'\n' @@ Molecule.to_xyz molecule with
|
||||
| _ :: _ :: rest -> String.concat ~sep:"\n" rest
|
||||
| _ -> assert false
|
||||
);
|
||||
and basis =
|
||||
begin
|
||||
match !read_data.basis with
|
||||
| None |> failwith "No basis set defined in command line"
|
||||
| Some b |> b
|
||||
end
|
||||
and typ = !read_data.typ
|
||||
and vecfile =
|
||||
begin
|
||||
match !read_data.filename with
|
||||
| None |> ""
|
||||
| Some filename |> filename
|
||||
end
|
||||
and nstate = !read_data.nstate
|
||||
and guess = !read_data.guess
|
||||
in
|
||||
|
||||
let system =
|
||||
Gamess.{ mult ; charge ; basis ; coord }
|
||||
in
|
||||
Gamess.create_input ~vecfile ~system ~guess ~nstate typ
|
||||
|> print_endline
|
||||
*)
|
||||
|
||||
|
||||
let spec =
|
||||
let open Command.Spec in
|
||||
empty
|
||||
+> flag "-gamess" no_arg ~doc:"GAMESS(US) input"
|
||||
+> flag "-g09" no_arg ~doc:"Gaussian 09 input"
|
||||
+> anon ("ezfio_file" %: string)
|
||||
|
||||
let command =
|
||||
Command.basic_spec
|
||||
~summary: "Quantum Package command"
|
||||
~readme:(fun () ->
|
||||
"
|
||||
Exports the computed data for other programs.
|
||||
")
|
||||
spec
|
||||
(fun gamess g09 ezfio_file () ->
|
||||
let count_flags l =
|
||||
List.fold_left ~f:(fun a x ->
|
||||
if x then a+1 else a) ~init:0 l
|
||||
in
|
||||
let () =
|
||||
match count_flags [ g09 ; gamess ] with
|
||||
| 0 -> raise (Invalid_argument "No file format specified")
|
||||
| 1 -> ()
|
||||
| _ -> raise (Invalid_argument "Too many file formats specified")
|
||||
in
|
||||
Ezfio.set_file ezfio_file;
|
||||
if g09 then
|
||||
run_g09 ()
|
||||
else if gamess then
|
||||
run_gamess ()
|
||||
)
|
||||
|
||||
|
||||
let () =
|
||||
Command.run command;
|
||||
exit 0
|
||||
|
@ -1 +0,0 @@
|
||||
Determinants DavidsonUndressed
|
@ -1,44 +0,0 @@
|
||||
==============
|
||||
FCIdump Module
|
||||
==============
|
||||
|
||||
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
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
`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
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`fcidump <http://github.com/LCPQ/quantum_package/tree/master/plugins/FCIdump/fcidump.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
19
plugins/Molden/.gitignore
vendored
19
plugins/Molden/.gitignore
vendored
@ -1,19 +0,0 @@
|
||||
# Automatically created by $QP_ROOT/scripts/module/module_handler.py
|
||||
.ninja_deps
|
||||
.ninja_log
|
||||
AO_Basis
|
||||
Electrons
|
||||
Ezfio_files
|
||||
IRPF90_man
|
||||
IRPF90_temp
|
||||
MO_Basis
|
||||
MPI
|
||||
Makefile
|
||||
Makefile.depend
|
||||
Nuclei
|
||||
Utils
|
||||
ezfio_interface.irp.f
|
||||
irpf90.make
|
||||
irpf90_entities
|
||||
print_mo
|
||||
tags
|
@ -1 +0,0 @@
|
||||
MO_Basis Utils
|
@ -1,76 +0,0 @@
|
||||
=============
|
||||
Molden Module
|
||||
=============
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
`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
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
|
||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
|
||||
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`print_mos <http://github.com/LCPQ/quantum_package/tree/master/plugins/Molden/print_mo.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`write_ao_basis <http://github.com/LCPQ/quantum_package/tree/master/plugins/Molden/print_mo.irp.f#L63>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`write_geometry <http://github.com/LCPQ/quantum_package/tree/master/plugins/Molden/print_mo.irp.f#L45>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`write_intro_gamess <http://github.com/LCPQ/quantum_package/tree/master/plugins/Molden/print_mo.irp.f#L26>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`write_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/plugins/Molden/print_mo.irp.f#L112>`_
|
||||
Undocumented
|
||||
|
12
plugins/eginer/Determinant_tools/README.rst
Normal file
12
plugins/eginer/Determinant_tools/README.rst
Normal file
@ -0,0 +1,12 @@
|
||||
=================
|
||||
Determinant_tools
|
||||
=================
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
1
plugins/eginer/multistate/NEED
Normal file
1
plugins/eginer/multistate/NEED
Normal file
@ -0,0 +1 @@
|
||||
DavidsonUndressed
|
@ -1,6 +1,6 @@
|
||||
=========
|
||||
dress_zmq
|
||||
=========
|
||||
==========
|
||||
multistate
|
||||
==========
|
||||
|
||||
Needed Modules
|
||||
==============
|
38
plugins/eginer/multistate/multistate.main.irp.f
Normal file
38
plugins/eginer/multistate/multistate.main.irp.f
Normal file
@ -0,0 +1,38 @@
|
||||
program multistate
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! TODO
|
||||
END_DOC
|
||||
print *, ' _/ '
|
||||
print *, ' -:\_?, _Jm####La '
|
||||
print *, 'J"(:" > _]#AZ#Z#UUZ##, '
|
||||
print *, '_,::./ %(|i%12XmX1*1XL _?, '
|
||||
print *, ' \..\ _\(vmWQwodY+ia%lnL _",/ ( '
|
||||
print *, ' .:< ]J=mQD?WXn<uQWmmvd, -.-:=!'
|
||||
print *, ' "{Z jC]QW|=3Zv)Bi3BmXv3 = _7'
|
||||
print *, ' ]h[Z6)WQ;)jZs]C;|$BZv+, : ./ '
|
||||
print *, ' -#sJX%$Wmm#ev]hinW#Xi:` c ; '
|
||||
print *, ' #X#X23###1}vI$WWmX1>|,)nr" '
|
||||
print *, ' 4XZ#Xov1v}=)vnXAX1nnv;1n" '
|
||||
print *, ' ]XX#ZXoovvvivnnnlvvo2*i7 '
|
||||
print *, ' "23Z#1S2oo2XXSnnnoSo2>v" '
|
||||
print *, ' miX#L -~`""!!1}oSoe|i7 '
|
||||
print *, ' 4cn#m, v221=|v[ '
|
||||
print *, ' ]hI3Zma,;..__wXSe=+vo '
|
||||
print *, ' ]Zov*XSUXXZXZXSe||vo2 '
|
||||
print *, ' ]Z#><iiii|i||||==vn2( '
|
||||
print *, ' ]Z#i<ii||+|=||=:{no2[ '
|
||||
print *, ' ]ZUsiiiiivi|=||=vo22[ '
|
||||
print *, ' ]XZvlliiIi|i=|+|vooo '
|
||||
print *, ' =v1llli||||=|||||lii( '
|
||||
print *, ' ]iillii||||||||=>=|< '
|
||||
print *, ' -ziiiii||||||+||==+> '
|
||||
print *, ' -%|+++||=|=+|=|==/ '
|
||||
print *, ' -a>====+|====-:- '
|
||||
print *, ' "~,- -- /- '
|
||||
print *, ' -. )> '
|
||||
print *, ' .~ +- '
|
||||
print *, ' . .... : . '
|
||||
print *, ' -------~ '
|
||||
print *, ''
|
||||
end
|
@ -81,6 +81,7 @@ def real_join(*args):
|
||||
# _
|
||||
# |_ ._ _. ._ o _. |_ | _ _
|
||||
# |_ | | \/ \/ (_| | | (_| |_) | (/_ _>
|
||||
#
|
||||
def ninja_create_env_variable(pwd_config_file):
|
||||
"""
|
||||
Return some ninja variable with the env variable expanded
|
||||
@ -335,6 +336,7 @@ def ninja_symlink_build(path_module, l_symlink):
|
||||
# _ o _|_ o _ ._ _ ._ _
|
||||
# o (_| | |_ | (_| | | (_) | (/_
|
||||
# _| _|
|
||||
#
|
||||
def ninja_gitignore_rule():
|
||||
"""
|
||||
Return the command to create the gitignore
|
||||
@ -368,6 +370,7 @@ def ninja_gitignore_build(path_module, d_binaries, l_symlink):
|
||||
# o ._ ._ _|_ (_| / \ ._ _ _. | _
|
||||
# | | |_) | | \_/ o | | | (_| |< (/_
|
||||
# |
|
||||
#
|
||||
def get_l_file_for_module(path_module):
|
||||
'''
|
||||
return the list of irp.f in a module
|
||||
@ -514,41 +517,6 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp):
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_readme_rule():
|
||||
"""
|
||||
Rule for creation the readme.
|
||||
For not dealted the readme when ninja -t clean and the generator option
|
||||
"""
|
||||
l_string = ["rule build_readme",
|
||||
" command = qp_update_readme.py $module_abs --root_module $module_root",
|
||||
" description = update_README $module_rel",
|
||||
" generator = 1", ""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_readme_build(path_module, d_irp, dict_root_path):
|
||||
"""
|
||||
Rule for creation the readme
|
||||
"""
|
||||
path_readme = join(path_module.abs, "README.rst")
|
||||
root_module = dict_root_path[module]
|
||||
|
||||
tags = join(root_module.abs, "tags")
|
||||
str_depend = " ".join(d_irp[path_module]["l_depend"])
|
||||
|
||||
tree = join(path_module.abs, "tree_dependency.png")
|
||||
|
||||
l_string = ["build {0}: build_readme {1} {2} {3}".format(path_readme,
|
||||
tags,
|
||||
str_depend,
|
||||
tree),
|
||||
" module_root = {0}".format(root_module.abs),
|
||||
" module_abs = {0}".format(path_module.abs),
|
||||
" module_rel = {0}".format(path_module.rel), ""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
# _
|
||||
# |_) o ._ _. ._
|
||||
@ -685,47 +653,10 @@ def ninja_module_build(path_module, d_binaries):
|
||||
l_abs_bin = [binary.abs for binary in d_binaries[path_module]]
|
||||
|
||||
path_readme = os.path.join(path_module.abs, "README.rst")
|
||||
path_png = os.path.join(path_module.abs, "tree_dependency.png")
|
||||
|
||||
l_string = ["build module_{0}: phony {1} {2} {3}".format(path_module.rel,
|
||||
l_string = ["build module_{0}: phony {1} {2}".format(path_module.rel,
|
||||
" ".join(l_abs_bin),
|
||||
path_readme,
|
||||
path_png), ""]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
# ___
|
||||
# | ._ _ _ _| _ ._ _ ._ _| _ ._ _ o _ _
|
||||
# | | (/_ (/_ (_| (/_ |_) (/_ | | (_| (/_ | | (_ | (/_ _>
|
||||
# |
|
||||
def ninja_dot_tree_rule():
|
||||
"""
|
||||
Rule for creating the binaries
|
||||
"""
|
||||
# ~#~#~ #
|
||||
# c m d #
|
||||
# ~#~#~ #
|
||||
|
||||
l_cmd = ["cd $module_abs", "module_handler.py create_png"]
|
||||
|
||||
l_string = [
|
||||
"rule build_dot_tree", " command = {0}".format(" ; ".join(l_cmd)),
|
||||
" generator = 1",
|
||||
" description = Generating Png representation of the Tree Dependencies of $module_rel",
|
||||
""
|
||||
]
|
||||
|
||||
return l_string
|
||||
|
||||
|
||||
def ninja_dot_tree_build(path_module, l_module):
|
||||
|
||||
path_tree = join(path_module.abs, "tree_dependency.png")
|
||||
l_dep = [join(path.abs, "NEEDED_CHILDREN_MODULES") for path in l_module]
|
||||
l_string = ["build {0}: build_dot_tree {1}".format(path_tree, " ".join(l_dep)),
|
||||
" module_abs = {0}".format(path_module.abs),
|
||||
" module_rel = {0}".format(path_module.rel), ""]
|
||||
path_readme), ""]
|
||||
|
||||
return l_string
|
||||
|
||||
@ -847,7 +778,6 @@ if __name__ == "__main__":
|
||||
l_string += ninja_symlink_rule()
|
||||
|
||||
l_string += ninja_irpf90_make_rule()
|
||||
l_string += ninja_readme_rule()
|
||||
l_string += ninja_gitignore_rule()
|
||||
|
||||
l_string += ninja_binaries_rule()
|
||||
@ -855,8 +785,6 @@ if __name__ == "__main__":
|
||||
l_string += ninja_ezfio_config_rule()
|
||||
l_string += ninja_ezfio_rule()
|
||||
|
||||
l_string += ninja_dot_tree_rule()
|
||||
|
||||
# _
|
||||
# |_) o | _| _ _ ._ _ ._ _. |
|
||||
# |_) |_| | | (_| (_| (/_ | | (/_ | (_| |
|
||||
@ -892,22 +820,9 @@ if __name__ == "__main__":
|
||||
# M o d u l e _ t o _ i r p #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
|
||||
if arguments["--production"]:
|
||||
d_binaries = get_dict_binaries(l_all_module, mode="development")
|
||||
l_module = d_binaries.keys()
|
||||
|
||||
d_binaries = get_dict_binaries(l_all_module, mode="production")
|
||||
l_module = d_binaries.keys()
|
||||
|
||||
elif arguments["--development"]:
|
||||
|
||||
d_binaries = get_dict_binaries(l_all_module, mode="development")
|
||||
l_module = d_binaries.keys()
|
||||
|
||||
for module in l_all_module:
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# d o t _ t r e e & r e a d m e #
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
l_string += ninja_dot_tree_build(module, l_all_module)
|
||||
l_string += ninja_readme_build(module, d_irp, dict_root_path)
|
||||
|
||||
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
|
||||
# C h e c k _ c o h e r e n c y #
|
||||
@ -936,6 +851,9 @@ if __name__ == "__main__":
|
||||
|
||||
for module_to_compile in l_module:
|
||||
|
||||
if module_to_compile.rel == "dummy":
|
||||
continue
|
||||
|
||||
# ~#~#~#~#~#~#~#~ #
|
||||
# S y m l i n k #
|
||||
# ~#~#~#~#~#~#~#~ #
|
||||
@ -953,14 +871,13 @@ if __name__ == "__main__":
|
||||
l_string += ninja_binaries_build(module_to_compile, l_children,
|
||||
d_binaries)
|
||||
|
||||
if arguments["--development"]:
|
||||
|
||||
l_string += ninja_module_build(module_to_compile, d_binaries)
|
||||
l_string += ninja_module_build(module_to_compile, d_binaries)
|
||||
|
||||
l_string += ninja_gitignore_build(module_to_compile, d_binaries,
|
||||
l_symlink)
|
||||
l_string += ninja_gitignore_build(module_to_compile, d_binaries,
|
||||
l_symlink)
|
||||
|
||||
save_subninja_file(module_to_compile)
|
||||
save_subninja_file(module_to_compile)
|
||||
|
||||
# ~#~#~#~#~ #
|
||||
# S a v e s #
|
||||
|
@ -26,6 +26,7 @@ BEGIN_PROVIDER [ %(type)s, %(name)s %(size)s ]
|
||||
%(test_null_size)s
|
||||
call ezfio_has_%(ezfio_dir)s_%(ezfio_name)s(has)
|
||||
if (has) then
|
||||
write(6,'(A)') '.. >>>>> [ IO READ: %(name)s ] <<<<< ..'
|
||||
call ezfio_get_%(ezfio_dir)s_%(ezfio_name)s(%(name)s)
|
||||
else
|
||||
print *, '%(ezfio_dir)s/%(ezfio_name)s not found in EZFIO file'
|
||||
@ -89,9 +90,6 @@ END_PROVIDER
|
||||
name = self.name
|
||||
l_write = ["",
|
||||
" call write_time(%(output)s)",
|
||||
" if (mpi_master) then",
|
||||
" write(%(output)s, *) 'Read %(name)s'",
|
||||
" endif",
|
||||
""]
|
||||
|
||||
self.write = "\n".join(l_write) % locals()
|
||||
|
@ -10,11 +10,10 @@ Usage:
|
||||
module_handler.py create_git_ignore [<module_name>...]
|
||||
|
||||
Options:
|
||||
print_descendant Print the genealogy of the NEEDED_CHILDREN_MODULES
|
||||
aka (children, subchildren, etc)
|
||||
print_descendant Print the genealogy of the needed modules
|
||||
create_png Create a png of the file
|
||||
NEEDED_CHILDREN_MODULES The path of NEEDED_CHILDREN_MODULES
|
||||
by default try to open the file in the current path
|
||||
NEED The path of NEED file.
|
||||
by default try to open the file in the current path
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
@ -30,13 +29,11 @@ except ImportError:
|
||||
|
||||
|
||||
def is_module(path_module_rel):
|
||||
return os.path.isfile(os.path.join(QP_SRC, path_module_rel,
|
||||
"NEEDED_CHILDREN_MODULES"))
|
||||
return os.path.isfile(os.path.join(QP_SRC, path_module_rel, "NEED"))
|
||||
|
||||
|
||||
def is_plugin(path_module_rel):
|
||||
return os.path.isfile(os.path.join(QP_PLUGINS, path_module_rel,
|
||||
"NEEDED_CHILDREN_MODULES"))
|
||||
return os.path.isfile(os.path.join(QP_PLUGINS, path_module_rel, "NEED"))
|
||||
|
||||
|
||||
def is_exe(fpath):
|
||||
@ -44,7 +41,7 @@ def is_exe(fpath):
|
||||
|
||||
|
||||
def get_dict_child(l_root_abs=None):
|
||||
"""Loop over MODULE in QP_ROOT/src, open all the NEEDED_CHILDREN_MODULES
|
||||
"""Loop over MODULE in QP_ROOT/src, open all the NEED
|
||||
and create a dict[MODULE] = [sub module needed, ...]
|
||||
"""
|
||||
d_ref = dict()
|
||||
@ -57,7 +54,7 @@ def get_dict_child(l_root_abs=None):
|
||||
|
||||
module_abs = os.path.join(root_abs, module_rel)
|
||||
try:
|
||||
path_file = os.path.join(module_abs, "NEEDED_CHILDREN_MODULES")
|
||||
path_file = os.path.join(module_abs, "NEED")
|
||||
|
||||
with open(path_file, "r") as f:
|
||||
l_children = f.read().split()
|
||||
@ -131,7 +128,7 @@ class ModuleHandler():
|
||||
d[module_name] = get_l_module_descendant(d_child,
|
||||
d_child[module_name])
|
||||
except KeyError:
|
||||
print "Check NEEDED_CHILDREN_MODULES for {0}".format(
|
||||
print "Check NEED for {0}".format(
|
||||
module_name)
|
||||
sys.exit(1)
|
||||
|
||||
@ -238,7 +235,7 @@ if __name__ == '__main__':
|
||||
for module in l_module:
|
||||
if not is_module(module):
|
||||
print "{0} is not a valide module. Abort".format(module)
|
||||
print "No NEEDED_CHILDREN_MODULES in it"
|
||||
print "No NEED in it"
|
||||
sys.exit(1)
|
||||
|
||||
m = ModuleHandler()
|
||||
|
@ -20,7 +20,6 @@ try:
|
||||
from docopt import docopt
|
||||
from module_handler import ModuleHandler, get_dict_child
|
||||
from module_handler import get_l_module_descendant
|
||||
from qp_update_readme import D_KEY
|
||||
from qp_path import QP_SRC, QP_PLUGINS, QP_ROOT
|
||||
except ImportError:
|
||||
print "Please check if you have sourced the ${QP_ROOT}/quantum_package.rc"
|
||||
@ -40,7 +39,7 @@ def save_new_module(path, l_child):
|
||||
print "The module ({0}) already exists...".format(path)
|
||||
sys.exit(1)
|
||||
|
||||
with open(os.path.join(path, "NEEDED_CHILDREN_MODULES"), "w") as f:
|
||||
with open(os.path.join(path, "NEED"), "w") as f:
|
||||
f.write(" ".join(l_child))
|
||||
f.write("\n")
|
||||
|
||||
@ -54,49 +53,15 @@ def save_new_module(path, l_child):
|
||||
|
||||
with open(os.path.join(path, "README.rst"), "w") as f:
|
||||
f.write(header + "\n")
|
||||
f.write(D_KEY["needed_module"])
|
||||
f.write(D_KEY["documentation"])
|
||||
|
||||
with open(os.path.join(path, "%s.main.irp.f"%(module_name) ), "w") as f:
|
||||
with open(os.path.join(path, "%s.irp.f"%(module_name) ), "w") as f:
|
||||
f.write("program {0}".format(module_name) )
|
||||
f.write("""
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! TODO
|
||||
END_DOC
|
||||
print *, ' _/ '
|
||||
print *, ' -:\_?, _Jm####La '
|
||||
print *, 'J"(:" > _]#AZ#Z#UUZ##, '
|
||||
print *, '_,::./ %(|i%12XmX1*1XL _?, '
|
||||
print *, ' \..\ _\(vmWQwodY+ia%lnL _",/ ( '
|
||||
print *, ' .:< ]J=mQD?WXn<uQWmmvd, -.-:=!\'
|
||||
print *, ' "{Z jC]QW|=3Zv)Bi3BmXv3 = _7'
|
||||
print *, ' ]h[Z6)WQ;)jZs]C;|$BZv+, : ./ '
|
||||
print *, ' -#sJX%$Wmm#ev]hinW#Xi:` c ; '
|
||||
print *, ' #X#X23###1}vI$WWmX1>|,)nr" '
|
||||
print *, ' 4XZ#Xov1v}=)vnXAX1nnv;1n" '
|
||||
print *, ' ]XX#ZXoovvvivnnnlvvo2*i7 '
|
||||
print *, ' "23Z#1S2oo2XXSnnnoSo2>v" '
|
||||
print *, ' miX#L -~`""!!1}oSoe|i7 '
|
||||
print *, ' 4cn#m, v221=|v[ '
|
||||
print *, ' ]hI3Zma,;..__wXSe=+vo '
|
||||
print *, ' ]Zov*XSUXXZXZXSe||vo2 '
|
||||
print *, ' ]Z#><iiii|i||||==vn2( '
|
||||
print *, ' ]Z#i<ii||+|=||=:{no2[ '
|
||||
print *, ' ]ZUsiiiiivi|=||=vo22[ '
|
||||
print *, ' ]XZvlliiIi|i=|+|vooo '
|
||||
print *, ' =v1llli||||=|||||lii( '
|
||||
print *, ' ]iillii||||||||=>=|< '
|
||||
print *, ' -ziiiii||||||+||==+> '
|
||||
print *, ' -%|+++||=|=+|=|==/ '
|
||||
print *, ' -a>====+|====-:- '
|
||||
print *, ' "~,- -- /- '
|
||||
print *, ' -. )> '
|
||||
print *, ' .~ +- '
|
||||
print *, ' . .... : . '
|
||||
print *, ' -------~ '
|
||||
print *, ''
|
||||
end
|
||||
print *, 'Hello world'
|
||||
""")
|
||||
|
||||
def main(arguments):
|
||||
|
@ -30,231 +30,3 @@ Assumptions
|
||||
* The AO coefficients in the EZFIO files are not necessarily normalized and are normalized after reading
|
||||
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`ao_cartesian <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L65>`_
|
||||
If true, use AOs in Cartesian coordinates (6d,10f,...)
|
||||
|
||||
|
||||
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L25>`_
|
||||
Primitive coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs.
|
||||
|
||||
|
||||
`ao_coef_normalization_factor <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L23>`_
|
||||
Coefficients including the AO normalization
|
||||
|
||||
|
||||
`ao_coef_normalization_libint_factor <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L59>`_
|
||||
Coefficients including the AO normalization
|
||||
|
||||
|
||||
`ao_coef_normalized <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L22>`_
|
||||
Coefficients including the AO normalization
|
||||
|
||||
|
||||
`ao_coef_normalized_ordered <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L92>`_
|
||||
Sorted primitives to accelerate 4 index MO transformation
|
||||
|
||||
|
||||
`ao_coef_normalized_ordered_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L118>`_
|
||||
Transposed ao_coef_normalized_ordered
|
||||
|
||||
|
||||
`ao_expo <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L143>`_
|
||||
Exponents for each primitive of each AO
|
||||
|
||||
|
||||
`ao_expo_ordered <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L93>`_
|
||||
Sorted primitives to accelerate 4 index MO transformation
|
||||
|
||||
|
||||
`ao_expo_ordered_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L132>`_
|
||||
Transposed ao_expo_ordered
|
||||
|
||||
|
||||
`ao_l <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L146>`_
|
||||
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/AO_Basis/aos.irp.f#L148>`_
|
||||
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/AO_Basis/aos.irp.f#L282>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`ao_l_max <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L147>`_
|
||||
ao_l = l value of the AO: a+b+c in x^a y^b z^c
|
||||
|
||||
|
||||
`ao_md5 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L6>`_
|
||||
MD5 key, specific of the AO basis
|
||||
|
||||
|
||||
`ao_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L123>`_
|
||||
Index of the nucleus on which the AO is centered
|
||||
|
||||
|
||||
`ao_num <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L84>`_
|
||||
number of AOs
|
||||
|
||||
|
||||
`ao_num_align <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L1>`_
|
||||
Number of atomic orbitals align
|
||||
|
||||
|
||||
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/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/AO_Basis/ao_overlap.irp.f#L75>`_
|
||||
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/AO_Basis/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/AO_Basis/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/AO_Basis/ao_overlap.irp.f#L4>`_
|
||||
Overlap between atomic basis functions:
|
||||
:math:`\int \chi_i(r) \chi_j(r) dr)`
|
||||
|
||||
|
||||
`ao_power <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L45>`_
|
||||
Powers of x, y and z for each AO
|
||||
|
||||
|
||||
`ao_power_index <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L171>`_
|
||||
Unique index given to a triplet of powers:
|
||||
.br
|
||||
1/2 (l-n_x)*(l-n_x+1) + n_z + 1
|
||||
|
||||
|
||||
`ao_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ezfio_interface.irp.f#L103>`_
|
||||
Number of primitives per atomic orbital
|
||||
|
||||
|
||||
`ao_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L12>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`ao_prim_num_max_align <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L161>`_
|
||||
Number of primitives per atomic orbital aligned
|
||||
|
||||
|
||||
`ao_value <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos_value.irp.f#L1>`_
|
||||
return the value of the ith ao at point r
|
||||
|
||||
|
||||
`cart_to_sphe_0 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L7>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=0
|
||||
|
||||
|
||||
`cart_to_sphe_1 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L18>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=1
|
||||
|
||||
|
||||
`cart_to_sphe_2 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L31>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=2
|
||||
|
||||
|
||||
`cart_to_sphe_3 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L49>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=3
|
||||
|
||||
|
||||
`cart_to_sphe_4 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L75>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=4
|
||||
|
||||
|
||||
`cart_to_sphe_5 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L113>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=5
|
||||
|
||||
|
||||
`cart_to_sphe_6 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L169>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=6
|
||||
|
||||
|
||||
`cart_to_sphe_7 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L249>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=7
|
||||
|
||||
|
||||
`cart_to_sphe_8 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L361>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=8
|
||||
|
||||
|
||||
`cart_to_sphe_9 <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/spherical_to_cartesian.irp.f#L512>`_
|
||||
Spherical -> Cartesian Transformation matrix for l=9
|
||||
|
||||
|
||||
`give_all_aos_at_r <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos_value.irp.f#L34>`_
|
||||
gives the values of aos at a given point r
|
||||
|
||||
|
||||
`l_to_charater <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L185>`_
|
||||
character corresponding to the "L" value of an AO orbital
|
||||
|
||||
|
||||
`n_aos_max <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L202>`_
|
||||
Number of AOs per atom
|
||||
|
||||
|
||||
`n_pt_max_i_x <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/dimensions_integrals.irp.f#L2>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`n_pt_max_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/dimensions_integrals.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`nucl_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L215>`_
|
||||
List of AOs attached on each atom
|
||||
|
||||
|
||||
`nucl_list_shell_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L233>`_
|
||||
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/AO_Basis/aos.irp.f#L201>`_
|
||||
Number of AOs per atom
|
||||
|
||||
|
||||
`nucl_num_shell_aos <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/aos.irp.f#L234>`_
|
||||
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
|
||||
|
||||
|
@ -4,11 +4,3 @@ AO_one_e_integrals
|
||||
|
||||
All the one-electron integrals in AO basis are here.
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
@ -33,461 +33,3 @@ Assumptions
|
||||
|
||||
|
||||
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `MO_Basis <http://github.com/LCPQ/quantum_package/tree/master/src/MO_Basis>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`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
|
||||
|
||||
|
||||
`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
|
||||
|
||||
|
||||
`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
|
||||
|
||||
|
||||
`cas_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L307>`_
|
||||
Bitmasks for CAS reference determinants. (N_int, alpha/beta, CAS reference)
|
||||
|
||||
|
||||
`closed_shell_ref_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L631>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`core_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L558>`_
|
||||
Core + deleted orbitals bitmask
|
||||
|
||||
|
||||
`core_inact_act_bitmask_4 <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L46>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`core_inact_virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L526>`_
|
||||
Reunion of the inactive and virtual bitmasks
|
||||
|
||||
|
||||
`debug_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L120>`_
|
||||
Subroutine to print the content of a determinant in '+-' notation and
|
||||
hexadecimal representation.
|
||||
|
||||
|
||||
`debug_spindet <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L155>`_
|
||||
Subroutine to print the content of a determinant in '+-' notation and
|
||||
hexadecimal representation.
|
||||
|
||||
|
||||
`full_ijkl_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L18>`_
|
||||
Bitmask to include all possible MOs
|
||||
|
||||
|
||||
`full_ijkl_bitmask_4 <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L35>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L220>`_
|
||||
Bitmasks for generator determinants.
|
||||
(N_int, alpha/beta, hole/particle, generator).
|
||||
.br
|
||||
3rd index is :
|
||||
.br
|
||||
* 1 : hole for single exc
|
||||
.br
|
||||
* 2 : particle for single exc
|
||||
.br
|
||||
* 3 : hole for 1st exc of double
|
||||
.br
|
||||
* 4 : particle for 1st exc of double
|
||||
.br
|
||||
* 5 : hole for 2nd exc of double
|
||||
.br
|
||||
* 6 : particle for 2nd exc of double
|
||||
.br
|
||||
|
||||
|
||||
`generators_bitmask_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L161>`_
|
||||
Bitmasks for generator determinants.
|
||||
(N_int, alpha/beta, hole/particle, generator).
|
||||
.br
|
||||
3rd index is :
|
||||
.br
|
||||
* 1 : hole for single exc
|
||||
.br
|
||||
* 2 : particle for single exc
|
||||
.br
|
||||
* 3 : hole for 1st exc of double
|
||||
.br
|
||||
* 4 : particle for 1st exc of double
|
||||
.br
|
||||
* 5 : hole for 2nd exc of double
|
||||
.br
|
||||
* 6 : particle for 2nd exc of double
|
||||
.br
|
||||
|
||||
|
||||
`hf_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L71>`_
|
||||
Hartree Fock bit mask
|
||||
|
||||
|
||||
`i_bitmask_gen <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L575>`_
|
||||
Current bitmask for the generators
|
||||
|
||||
|
||||
`inact_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L348>`_
|
||||
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
n_inact_orb : Number of inactive orbitals
|
||||
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
n_virt_orb : Number of virtual orbitals
|
||||
|
||||
|
||||
`inact_virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L525>`_
|
||||
Reunion of the inactive and virtual bitmasks
|
||||
|
||||
|
||||
`index_holes_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L260>`_
|
||||
Index of the holes in the generators_bitmasks
|
||||
|
||||
|
||||
`index_particl_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L271>`_
|
||||
Index of the holes in the generators_bitmasks
|
||||
|
||||
|
||||
`initialize_bitmask_to_restart_ones <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L3>`_
|
||||
Initialization of the generators_bitmask to the restart bitmask
|
||||
|
||||
|
||||
`is_a_1h <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L499>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_1h1p <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L466>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_1h2p <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L477>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_1p <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L510>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_2h <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L532>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_2h1p <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L488>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_2p <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L521>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_a_two_holes_two_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L212>`_
|
||||
logical function that returns True if the determinant 'key_in'
|
||||
belongs to the 2h-2p excitation class of the DDCI space
|
||||
this is calculated using the CAS_bitmask that defines the active
|
||||
orbital space, the inact_bitmasl that defines the inactive oribital space
|
||||
and the virt_bitmask that defines the virtual orbital space
|
||||
|
||||
|
||||
`is_i_in_virtual <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L543>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_the_hole_in_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/find_hole.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`is_the_particl_in_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/find_hole.irp.f#L29>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`list_act <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L609>`_
|
||||
list_act(i) = index of the ith active orbital
|
||||
.br
|
||||
list_act_reverse : reverse list of active orbitals
|
||||
list_act_reverse(i) = 0 ::> not an active
|
||||
list_act_reverse(i) = k ::> IS the kth active orbital
|
||||
|
||||
|
||||
`list_act_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L610>`_
|
||||
list_act(i) = index of the ith active orbital
|
||||
.br
|
||||
list_act_reverse : reverse list of active orbitals
|
||||
list_act_reverse(i) = 0 ::> not an active
|
||||
list_act_reverse(i) = k ::> IS the kth active orbital
|
||||
|
||||
|
||||
`list_core <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L540>`_
|
||||
List of the core orbitals that are never excited in post CAS method
|
||||
|
||||
|
||||
`list_core_inact <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L440>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`list_core_inact_act <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L495>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`list_core_inact_act_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L496>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`list_core_inact_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L441>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`list_core_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L541>`_
|
||||
List of the core orbitals that are never excited in post CAS method
|
||||
|
||||
|
||||
`list_inact <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L399>`_
|
||||
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
list_inact_reverse : reverse list of inactive orbitals
|
||||
list_inact_reverse(i) = 0 ::> not an inactive
|
||||
list_inact_reverse(i) = k ::> IS the kth inactive
|
||||
list_virt_reverse : reverse list of virtual orbitals
|
||||
list_virt_reverse(i) = 0 ::> not an virtual
|
||||
list_virt_reverse(i) = k ::> IS the kth virtual
|
||||
|
||||
|
||||
`list_inact_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L401>`_
|
||||
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
list_inact_reverse : reverse list of inactive orbitals
|
||||
list_inact_reverse(i) = 0 ::> not an inactive
|
||||
list_inact_reverse(i) = k ::> IS the kth inactive
|
||||
list_virt_reverse : reverse list of virtual orbitals
|
||||
list_virt_reverse(i) = 0 ::> not an virtual
|
||||
list_virt_reverse(i) = k ::> IS the kth virtual
|
||||
|
||||
|
||||
`list_to_bitstring <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L29>`_
|
||||
Returns the physical string "string(N_int,2)" from the array of
|
||||
occupations "list(N_int*bit_kind_size,2)
|
||||
|
||||
|
||||
`list_virt <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L400>`_
|
||||
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
list_inact_reverse : reverse list of inactive orbitals
|
||||
list_inact_reverse(i) = 0 ::> not an inactive
|
||||
list_inact_reverse(i) = k ::> IS the kth inactive
|
||||
list_virt_reverse : reverse list of virtual orbitals
|
||||
list_virt_reverse(i) = 0 ::> not an virtual
|
||||
list_virt_reverse(i) = k ::> IS the kth virtual
|
||||
|
||||
|
||||
`list_virt_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L402>`_
|
||||
list_inact : List of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
list_virt : List of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
list_inact_reverse : reverse list of inactive orbitals
|
||||
list_inact_reverse(i) = 0 ::> not an inactive
|
||||
list_inact_reverse(i) = k ::> IS the kth inactive
|
||||
list_virt_reverse : reverse list of virtual orbitals
|
||||
list_virt_reverse(i) = 0 ::> not an virtual
|
||||
list_virt_reverse(i) = k ::> IS the kth virtual
|
||||
|
||||
|
||||
`modify_bitmasks_for_hole <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L25>`_
|
||||
modify the generators_bitmask in order that one can only excite
|
||||
the electrons occupying i_hole
|
||||
|
||||
|
||||
`modify_bitmasks_for_hole_in_out <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L60>`_
|
||||
modify the generators_bitmask in order that one can only excite
|
||||
the electrons occupying i_hole
|
||||
|
||||
|
||||
`modify_bitmasks_for_particl <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L83>`_
|
||||
modify the generators_bitmask in order that one can only excite
|
||||
the electrons to the orbital i_part
|
||||
|
||||
|
||||
`n_act_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L596>`_
|
||||
number of active orbitals
|
||||
|
||||
|
||||
`n_cas_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L277>`_
|
||||
Number of bitmasks for CAS
|
||||
|
||||
|
||||
`n_core_inact_act_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L481>`_
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
|
||||
|
||||
`n_core_inact_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L458>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`n_core_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L559>`_
|
||||
Core + deleted orbitals bitmask
|
||||
|
||||
|
||||
`n_core_orb_allocate <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L654>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`n_generators_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L97>`_
|
||||
Number of bitmasks for generators
|
||||
|
||||
|
||||
`n_generators_bitmask_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L128>`_
|
||||
Number of bitmasks for generators
|
||||
|
||||
|
||||
`n_inact_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L350>`_
|
||||
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
n_inact_orb : Number of inactive orbitals
|
||||
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
n_virt_orb : Number of virtual orbitals
|
||||
|
||||
|
||||
`n_inact_orb_allocate <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L659>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`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
|
||||
|
||||
|
||||
`n_virt_orb <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L351>`_
|
||||
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
n_inact_orb : Number of inactive orbitals
|
||||
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
n_virt_orb : Number of virtual orbitals
|
||||
|
||||
|
||||
`n_virt_orb_allocate <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L664>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`number_of_holes <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L2>`_
|
||||
Function that returns the number of holes in the inact space
|
||||
|
||||
|
||||
`number_of_holes_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L408>`_
|
||||
function that returns the number of holes in the inact space
|
||||
|
||||
|
||||
`number_of_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L107>`_
|
||||
function that returns the number of particles in the virtual space
|
||||
|
||||
|
||||
`number_of_particles_verbose <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmask_cas_routines.irp.f#L438>`_
|
||||
function that returns the number of particles in the inact space
|
||||
|
||||
|
||||
`print_det <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L138>`_
|
||||
Subroutine to print the content of a determinant using the '+-' notation
|
||||
|
||||
|
||||
`print_generators_bitmasks_holes <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L169>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`print_generators_bitmasks_holes_for_one_generator <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L213>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`print_generators_bitmasks_particles <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L191>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`print_generators_bitmasks_particles_for_one_generator <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L236>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`print_spindet <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks_routines.irp.f#L171>`_
|
||||
Subroutine to print the content of a determinant using the '+-' notation
|
||||
|
||||
|
||||
`ref_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L89>`_
|
||||
Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask
|
||||
|
||||
|
||||
`reunion_of_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L512>`_
|
||||
Reunion of the inactive, active and virtual bitmasks
|
||||
|
||||
|
||||
`reunion_of_cas_inact_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L641>`_
|
||||
Reunion of the inactive, active and virtual bitmasks
|
||||
|
||||
|
||||
`reunion_of_core_inact_act_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L480>`_
|
||||
Reunion of the core, inactive and active bitmasks
|
||||
|
||||
|
||||
`reunion_of_core_inact_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L467>`_
|
||||
Reunion of the core and inactive and virtual bitmasks
|
||||
|
||||
|
||||
`set_bitmask_hole_as_input <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L144>`_
|
||||
set the generators_bitmask for the holes
|
||||
as the input_bimask
|
||||
|
||||
|
||||
`set_bitmask_particl_as_input <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/modify_bitmasks.irp.f#L119>`_
|
||||
set the generators_bitmask for the particles
|
||||
as the input_bimask
|
||||
|
||||
|
||||
`unpaired_alpha_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L584>`_
|
||||
Bitmask reprenting the unpaired alpha electrons in the HF_bitmask
|
||||
|
||||
|
||||
`virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L349>`_
|
||||
inact_bitmask : Bitmask of the inactive orbitals which are supposed to be doubly excited
|
||||
in post CAS methods
|
||||
n_inact_orb : Number of inactive orbitals
|
||||
virt_bitmask : Bitmaks of vritual orbitals which are supposed to be recieve electrons
|
||||
in post CAS methods
|
||||
n_virt_orb : Number of virtual orbitals
|
||||
|
||||
|
||||
`virt_bitmask_4 <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L57>`_
|
||||
Undocumented
|
||||
|
||||
|
@ -7,85 +7,3 @@ Assumptions
|
||||
* The molecular orbitals are assumed orthonormal
|
||||
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
`cis <http://github.com/LCPQ/quantum_package/tree/master/src/CIS/super_ci.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`h_apply_cis <http://github.com/LCPQ/quantum_package/tree/master/src/CIS/H_apply.irp.f_shell_8#L414>`_
|
||||
Calls H_apply on the HF determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
`h_apply_cis_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CIS/H_apply.irp.f_shell_8#L1>`_
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
`h_apply_cis_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CIS/H_apply.irp.f_shell_8#L269>`_
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
`super_ci <http://github.com/LCPQ/quantum_package/tree/master/src/CIS/super_ci.irp.f#L9>`_
|
||||
Undocumented
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
|
||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`cis <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/super_ci.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`h_apply_cis <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L414>`_
|
||||
Calls H_apply on the HF determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
`h_apply_cis_diexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L1>`_
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
`h_apply_cis_monoexc <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/H_apply.irp.f_shell_8#L269>`_
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
`super_ci <http://github.com/LCPQ/quantum_package/tree/master/plugins/CIS/super_ci.irp.f#L9>`_
|
||||
Undocumented
|
||||
|
||||
|
@ -9,77 +9,4 @@ This is a test directory which builds a CISD by setting the follwoing rules:
|
||||
|
||||
These rules are set in the ``H_apply.irp.f`` file.
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
`h_apply_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_8#L414>`_
|
||||
Calls H_apply on the HF determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
`h_apply_cisd_diexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_8#L1>`_
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
`h_apply_cisd_monoexc <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/H_apply.irp.f_shell_8#L269>`_
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/plugins/Selectors_full>`_
|
||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/plugins/SingleRefMethod>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
h_apply_cisd
|
||||
Calls H_apply on the HF determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
|
||||
h_apply_cisd_diexc
|
||||
Undocumented
|
||||
|
||||
|
||||
h_apply_cisd_diexcorg
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
||||
h_apply_cisd_diexcp
|
||||
Undocumented
|
||||
|
||||
|
||||
h_apply_cisd_monoexc
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
|
@ -7,325 +7,3 @@ be defined and the DavidsonDressed module should be used. If no dressing is requ
|
||||
the Davidson module should be used, and it has a default null dressing vector.
|
||||
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`ci_eigenvectors <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_CI.irp.f#L23>`_
|
||||
Eigenvectors/values of the CI matrix
|
||||
|
||||
|
||||
`ci_eigenvectors_s2 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_CI.irp.f#L24>`_
|
||||
Eigenvectors/values of the CI matrix
|
||||
|
||||
|
||||
`ci_electronic_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_CI.irp.f#L22>`_
|
||||
Eigenvectors/values of the CI matrix
|
||||
|
||||
|
||||
`ci_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_CI.irp.f#L2>`_
|
||||
N_states lowest eigenvalues of the CI matrix
|
||||
|
||||
|
||||
`davidson_collector <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L235>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_converged <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/parameters.irp.f#L9>`_
|
||||
True if the Davidson algorithm is converged
|
||||
|
||||
|
||||
`davidson_criterion <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/parameters.irp.f#L1>`_
|
||||
Can be : [ energy | residual | both | wall_time | cpu_time | iterations ]
|
||||
|
||||
|
||||
`davidson_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L1>`_
|
||||
Davidson diagonalization.
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
iunit : Unit number for the I/O
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
`davidson_diag_hjj <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L273>`_
|
||||
Davidson diagonalization with specific diagonal elements of the H matrix
|
||||
.br
|
||||
H_jj : specific diagonal H matrix elements to diagonalize de Davidson
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
N_st_diag : Number of states in which H is diagonalized
|
||||
.br
|
||||
iunit : Unit for the I/O
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
`davidson_diag_hjj_sjj <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization_hs2.irp.f#L52>`_
|
||||
Davidson diagonalization with specific diagonal elements of the H matrix
|
||||
.br
|
||||
H_jj : specific diagonal H matrix elements to diagonalize de Davidson
|
||||
.br
|
||||
S2_out : Output : s^2
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
N_st_diag : Number of states in which H is diagonalized. Assumed > sze
|
||||
.br
|
||||
iunit : Unit for the I/O
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
`davidson_diag_hs2 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization_hs2.irp.f#L1>`_
|
||||
Davidson diagonalization.
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
iunit : Unit number for the I/O
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
|
||||
`davidson_pull_results <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L192>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_push_results <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L149>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_run_slave <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L22>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_slave <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_slave.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_slave_inproc <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L5>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_slave_tcp <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L13>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_slave_work <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L55>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`davidson_sze_max <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L6>`_
|
||||
Number of micro-iterations before re-contracting
|
||||
|
||||
|
||||
`det_inf <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L52>`_
|
||||
Ordering function for determinants
|
||||
|
||||
|
||||
`diag_and_save <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_restart_and_save_one_state.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`diagonalize_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalize_CI.irp.f#L154>`_
|
||||
Replace the coefficients of the CI states by the coefficients of the
|
||||
eigenstates of the CI matrix
|
||||
|
||||
|
||||
`disk_based_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L101>`_
|
||||
If true, disk space is used to store the vectors
|
||||
|
||||
|
||||
`distributed_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L44>`_
|
||||
If true, use the distributed algorithm
|
||||
|
||||
|
||||
`find_reference <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/find_reference.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`first_guess <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/guess_lowest_state.irp.f#L1>`_
|
||||
Select all the determinants with the lowest energy as a starting point.
|
||||
|
||||
|
||||
`h_s2_u_0_nstates <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0_old.irp.f#L231>`_
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
.br
|
||||
n : number of determinants
|
||||
.br
|
||||
H_jj : array of <j|H|j>
|
||||
.br
|
||||
S2_jj : array of <j|S^2|j>
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f#L11>`_
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
.br
|
||||
Assumes that the determinants are in psi_det
|
||||
.br
|
||||
istart, iend, ishift, istep are used in ZMQ parallelization.
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f#L65>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work_1 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f_template_454#L3>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work_2 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f_template_454#L357>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work_3 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f_template_454#L711>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work_4 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f_template_454#L1065>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_openmp_work_n_int <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f_template_454#L1419>`_
|
||||
Computes v_t = H|u_t> and s_t = S^2 |u_t>
|
||||
.br
|
||||
Default should be 1,N_det,0,1
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_test <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0_old.irp.f#L460>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`h_s2_u_0_nstates_zmq <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L275>`_
|
||||
Computes v_0 = H|u_0> and s_0 = S^2 |u_0>
|
||||
.br
|
||||
n : number of determinants
|
||||
.br
|
||||
H_jj : array of <j|H|j>
|
||||
.br
|
||||
S2_jj : array of <j|S^2|j>
|
||||
|
||||
|
||||
`h_u_0_nstates <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0_old.irp.f#L2>`_
|
||||
Computes v_0 = H|u_0>
|
||||
.br
|
||||
n : number of determinants
|
||||
.br
|
||||
H_jj : array of <j|H|j>
|
||||
.br
|
||||
|
||||
|
||||
`n_states_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L82>`_
|
||||
Number of states to consider during the Davdison diagonalization
|
||||
|
||||
|
||||
`nthreads_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_parallel.irp.f#L418>`_
|
||||
Number of threads for Davdison
|
||||
|
||||
|
||||
`print_h_matrix_restart <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/print_H_matrix_restart.irp.f#L1>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`provide_everything <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/davidson_slave.irp.f#L29>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`psi_energy <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/u0Hu0.irp.f#L1>`_
|
||||
Energy of the current wave function
|
||||
|
||||
|
||||
`routine <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/print_H_matrix_restart.irp.f#L9>`_
|
||||
Undocumented
|
||||
|
||||
|
||||
`sort_dets_ab <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L219>`_
|
||||
Uncodumented : TODO
|
||||
|
||||
|
||||
`sort_dets_ab_v <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L149>`_
|
||||
Uncodumented : TODO
|
||||
|
||||
|
||||
`sort_dets_ba_v <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L120>`_
|
||||
Uncodumented : TODO
|
||||
|
||||
|
||||
`state_following <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L25>`_
|
||||
If true, the states are re-ordered to match the input states
|
||||
|
||||
|
||||
`tamiser <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization.irp.f#L77>`_
|
||||
Uncodumented : TODO
|
||||
|
||||
|
||||
`threshold_davidson <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/ezfio_interface.irp.f#L63>`_
|
||||
Thresholds of Davidson's algorithm
|
||||
|
||||
|
||||
`u_0_h_u_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Davidson/diagonalization_hs2.irp.f#L447>`_
|
||||
Computes e_0 = <u_0|H|u_0>/<u_0|u_0>
|
||||
.br
|
||||
n : number of determinants
|
||||
.br
|
||||
|
||||
|
@ -4,11 +4,3 @@ DavidsonDressed
|
||||
|
||||
Davidson with single-column dressing
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
@ -4,11 +4,3 @@ DavidsonUndressed
|
||||
|
||||
Module for main files with undressed Davidson
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
@ -1,124 +0,0 @@
|
||||
program selection_slave
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Helper program to compute the PT2 in distributed mode.
|
||||
END_DOC
|
||||
|
||||
call omp_set_nested(.false.)
|
||||
read_wf = .False.
|
||||
distributed_davidson = .False.
|
||||
SOFT_TOUCH read_wf distributed_davidson
|
||||
call provide_everything
|
||||
call switch_qp_run_to_master
|
||||
call run_wf
|
||||
end
|
||||
|
||||
subroutine provide_everything
|
||||
PROVIDE H_apply_buffer_allocated mo_bielec_integrals_in_map psi_det_sorted_bit n_states zmq_context N_states_diag
|
||||
PROVIDE mo_tot_num N_int ci_energy mpi_master zmq_state zmq_context
|
||||
PROVIDE psi_det psi_coef state_average_weight
|
||||
PROVIDE N_det
|
||||
end
|
||||
|
||||
subroutine run_wf
|
||||
use f77_zmq
|
||||
|
||||
implicit none
|
||||
IRP_IF MPI
|
||||
include 'mpif.h'
|
||||
IRP_ENDIF
|
||||
|
||||
integer(ZMQ_PTR), external :: new_zmq_to_qp_run_socket
|
||||
integer(ZMQ_PTR) :: zmq_to_qp_run_socket
|
||||
double precision :: energy(N_states)
|
||||
character*(64) :: states(3)
|
||||
character*(64) :: old_state
|
||||
integer :: rc, i, ierr
|
||||
double precision :: t0, t1
|
||||
|
||||
integer, external :: zmq_get_dvector, zmq_get_N_det_generators
|
||||
integer, external :: zmq_get8_dvector
|
||||
integer, external :: zmq_get_ivector
|
||||
integer, external :: zmq_get_psi, zmq_get_N_det_selectors, zmq_get_psi_bilinear
|
||||
integer, external :: zmq_get_psi_notouch
|
||||
integer, external :: zmq_get_N_states_diag
|
||||
|
||||
zmq_context = f77_zmq_ctx_new ()
|
||||
states(1) = 'davidson'
|
||||
old_state = 'Waiting'
|
||||
|
||||
zmq_to_qp_run_socket = new_zmq_to_qp_run_socket()
|
||||
|
||||
PROVIDE psi_det psi_coef state_average_weight mpi_master
|
||||
PROVIDE zmq_state N_det
|
||||
PROVIDE N_states N_states_diag psi_energy
|
||||
|
||||
IRP_IF MPI
|
||||
call MPI_BARRIER(MPI_COMM_WORLD, ierr)
|
||||
IRP_ENDIF
|
||||
do
|
||||
|
||||
if (mpi_master) then
|
||||
call wait_for_states(states,zmq_state,size(states))
|
||||
if (zmq_state(1:64) == old_state(1:64)) then
|
||||
call sleep(1)
|
||||
cycle
|
||||
else
|
||||
old_state(1:64) = zmq_state(1:64)
|
||||
endif
|
||||
print *, trim(zmq_state)
|
||||
endif
|
||||
|
||||
IRP_IF MPI_DEBUG
|
||||
print *, irp_here, mpi_rank
|
||||
call MPI_BARRIER(MPI_COMM_WORLD, ierr)
|
||||
IRP_ENDIF
|
||||
IRP_IF MPI
|
||||
call MPI_BCAST (zmq_state, 128, MPI_CHARACTER, 0, MPI_COMM_WORLD, ierr)
|
||||
if (ierr /= MPI_SUCCESS) then
|
||||
print *, irp_here, 'error in broadcast of zmq_state'
|
||||
endif
|
||||
IRP_ENDIF
|
||||
|
||||
if(zmq_state(1:7) == 'Stopped') then
|
||||
exit
|
||||
endif
|
||||
|
||||
|
||||
if (zmq_state(1:8) == 'davidson') then
|
||||
|
||||
! Davidson
|
||||
! --------
|
||||
|
||||
call wall_time(t0)
|
||||
if (zmq_get_N_states_diag(zmq_to_qp_run_socket,1) == -1) cycle
|
||||
if (zmq_get_psi(zmq_to_qp_run_socket,1) == -1) cycle
|
||||
if (zmq_get_dvector(zmq_to_qp_run_socket,1,'energy',energy,N_states_diag) == -1) cycle
|
||||
|
||||
call wall_time(t1)
|
||||
if (mpi_master) then
|
||||
call write_double(6,(t1-t0),'Broadcast time')
|
||||
endif
|
||||
|
||||
call omp_set_nested(.True.)
|
||||
call davidson_slave_tcp(0)
|
||||
call omp_set_nested(.False.)
|
||||
print *, 'Davidson done'
|
||||
IRP_IF MPI
|
||||
call MPI_BARRIER(MPI_COMM_WORLD, ierr)
|
||||
if (ierr /= MPI_SUCCESS) then
|
||||
print *, irp_here, 'error in barrier'
|
||||
endif
|
||||
IRP_ENDIF
|
||||
print *, 'All Davidson done'
|
||||
|
||||
endif
|
||||
|
||||
end do
|
||||
IRP_IF MPI
|
||||
call MPI_finalize(ierr)
|
||||
IRP_ENDIF
|
||||
end
|
||||
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
program print_energy
|
||||
implicit none
|
||||
read_wf = .true.
|
||||
touch read_wf
|
||||
provide mo_bielec_integrals_in_map psi_coef psi_det psi_bilinear_matrix_transp_values
|
||||
double precision :: time1, time0
|
||||
call wall_time(time0)
|
||||
call routine
|
||||
call wall_time(time1)
|
||||
print *, 'Wall time :' , time1 - time0
|
||||
end
|
||||
|
||||
subroutine routine
|
||||
implicit none
|
||||
integer :: i,j
|
||||
double precision :: accu,hij
|
||||
|
||||
print*, 'psi_energy = ',psi_energy + nuclear_repulsion
|
||||
accu = 0.d0
|
||||
! do i = 1,N_det
|
||||
! do j = 1,N_det
|
||||
! call i_H_j(psi_det(1,1,j),psi_det(1,1,i),N_int,hij)
|
||||
! accu += psi_coef(i,1) * psi_coef(j,1) * hij
|
||||
! enddo
|
||||
! enddo
|
||||
! print*, 'accu = ',accu + nuclear_repulsion
|
||||
end
|
File diff suppressed because it is too large
Load Diff
@ -1,91 +0,0 @@
|
||||
program s2_eig_restart
|
||||
implicit none
|
||||
read_wf = .True.
|
||||
if (s2_eig) then
|
||||
call routine_s2
|
||||
else
|
||||
call routine
|
||||
endif
|
||||
end
|
||||
|
||||
subroutine routine
|
||||
implicit none
|
||||
integer :: ndet_max
|
||||
print*, 'Max number of determinants ?'
|
||||
read(5,*)ndet_max
|
||||
integer(bit_kind), allocatable :: psi_det_tmp(:,:,:)
|
||||
double precision, allocatable :: psi_coef_tmp(:,:)
|
||||
allocate(psi_det_tmp(N_int,2,ndet_max),psi_coef_tmp(ndet_max, N_states))
|
||||
|
||||
integer :: i,j
|
||||
double precision :: accu(N_states)
|
||||
accu = 0.d0
|
||||
do i = 1, ndet_max
|
||||
do j = 1, N_int
|
||||
psi_det_tmp(j,1,i) = psi_det_sorted(j,1,i)
|
||||
psi_det_tmp(j,2,i) = psi_det_sorted(j,2,i)
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
psi_coef_tmp(i,j) = psi_coef_sorted(i,j)
|
||||
accu(j) += psi_coef_tmp(i,j) **2
|
||||
enddo
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
accu(j) = 1.d0/dsqrt(accu(j))
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
do i = 1, ndet_max
|
||||
psi_coef_tmp(i,j) = psi_coef_tmp(i,j) * accu(j)
|
||||
enddo
|
||||
enddo
|
||||
|
||||
call save_wavefunction_general(ndet_max,N_states,psi_det_tmp,size(psi_coef_tmp,1),psi_coef_tmp)
|
||||
|
||||
end
|
||||
|
||||
subroutine routine_s2
|
||||
implicit none
|
||||
integer :: ndet_max
|
||||
double precision :: wmin
|
||||
integer(bit_kind), allocatable :: psi_det_tmp(:,:,:)
|
||||
double precision, allocatable :: psi_coef_tmp(:,:)
|
||||
integer :: i,j,k
|
||||
double precision :: accu(N_states)
|
||||
|
||||
print*, 'Min weight of the occupation pattern ?'
|
||||
read(5,*) wmin
|
||||
|
||||
ndet_max = 0
|
||||
do i=1,N_det
|
||||
if (maxval(weight_occ_pattern( det_to_occ_pattern(i),:)) < wmin) cycle
|
||||
ndet_max = ndet_max+1
|
||||
enddo
|
||||
|
||||
allocate(psi_det_tmp(N_int,2,ndet_max),psi_coef_tmp(ndet_max, N_states))
|
||||
|
||||
accu = 0.d0
|
||||
k=0
|
||||
do i = 1, N_det
|
||||
if (maxval(weight_occ_pattern( det_to_occ_pattern(i),:)) < wmin) cycle
|
||||
k = k+1
|
||||
do j = 1, N_int
|
||||
psi_det_tmp(j,1,k) = psi_det(j,1,i)
|
||||
psi_det_tmp(j,2,k) = psi_det(j,2,i)
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
psi_coef_tmp(k,j) = psi_coef(i,j)
|
||||
accu(j) += psi_coef_tmp(k,j) **2
|
||||
enddo
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
accu(j) = 1.d0/dsqrt(accu(j))
|
||||
enddo
|
||||
do j = 1, N_states
|
||||
do i = 1, ndet_max
|
||||
psi_coef_tmp(i,j) = psi_coef_tmp(i,j) * accu(j)
|
||||
enddo
|
||||
enddo
|
||||
|
||||
call save_wavefunction_general(ndet_max,N_states,psi_det_tmp,size(psi_coef_tmp,1),psi_coef_tmp)
|
||||
|
||||
end
|
18
src/Dressing/EZFIO.cfg.example
Normal file
18
src/Dressing/EZFIO.cfg.example
Normal file
@ -0,0 +1,18 @@
|
||||
[thresh_dressed_ci]
|
||||
type: Threshold
|
||||
doc: Threshold on the convergence of the dressed CI energy
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 1.e-5
|
||||
|
||||
[n_it_max_dressed_ci]
|
||||
type: Strictly_positive_int
|
||||
doc: Maximum number of dressed CI iterations
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 10
|
||||
|
||||
[dress_relative_error]
|
||||
type: Normalized_float
|
||||
doc: Stop stochastic PT2 when the relative error is smaller than PT2_relative_error
|
||||
interface: ezfio,provider,ocaml
|
||||
default: 0.001
|
||||
|
4
src/Dressing/README.rst
Normal file
4
src/Dressing/README.rst
Normal file
@ -0,0 +1,4 @@
|
||||
=========
|
||||
dress_zmq
|
||||
=========
|
||||
|
@ -18,44 +18,3 @@ Assumptions
|
||||
* ``elec_alpha_num`` >= ``elec_beta_num``
|
||||
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||
|
||||
Needed Modules
|
||||
==============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
.. image:: tree_dependency.png
|
||||
|
||||
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`elec_alpha_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/ezfio_interface.irp.f#L25>`_
|
||||
Numbers of electrons alpha ("up")
|
||||
|
||||
|
||||
`elec_beta_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/ezfio_interface.irp.f#L6>`_
|
||||
Numbers of electrons beta ("down")
|
||||
|
||||
|
||||
`elec_num <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/electrons.irp.f#L1>`_
|
||||
Numbers of alpha ("up") , beta ("down") and total electrons
|
||||
|
||||
|
||||
`elec_num_tab <http://github.com/LCPQ/quantum_package/tree/master/src/Electrons/electrons.irp.f#L2>`_
|
||||
Numbers of alpha ("up") , beta ("down") and total electrons
|
||||
|
||||
|
@ -5,280 +5,4 @@ Ezfio_files Module
|
||||
This modules essentially contains the name of the EZFIO directory in the
|
||||
``ezfio_filename`` variable. This is read as the first argument of the
|
||||
command-line, or as the ``QP_INPUT`` environment variable.
|
||||
Documentation
|
||||
=============
|
||||
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
`ezfio_filename <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/ezfio.irp.f#L1>`_
|
||||
Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment
|
||||
variable if it is set, or as the 1st argument of the command line.
|
||||
|
||||
|
||||
`getunitandopen <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/get_unit_and_open.irp.f#L1>`_
|
||||
:f:
|
||||
file name
|
||||
.br
|
||||
:mode:
|
||||
'R' : READ, UNFORMATTED
|
||||
'W' : WRITE, UNFORMATTED
|
||||
'r' : READ, FORMATTED
|
||||
'w' : WRITE, FORMATTED
|
||||
'a' : APPEND, FORMATTED
|
||||
'x' : READ/WRITE, FORMATTED
|
||||
.br
|
||||
|
||||
|
||||
`output_ao_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L1>`_
|
||||
Output file for AO_Basis
|
||||
|
||||
|
||||
`output_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L21>`_
|
||||
Output file for Bitmask
|
||||
|
||||
|
||||
`output_cas_sd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L41>`_
|
||||
Output file for CAS_SD
|
||||
|
||||
|
||||
`output_cis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L61>`_
|
||||
Output file for CIS
|
||||
|
||||
|
||||
`output_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L81>`_
|
||||
Output file for CISD
|
||||
|
||||
|
||||
`output_cisd_selected <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L101>`_
|
||||
Output file for CISD_selected
|
||||
|
||||
|
||||
`output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L2>`_
|
||||
Initial CPU and wall times when printing in the output files
|
||||
|
||||
|
||||
`output_determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L121>`_
|
||||
Output file for Determinants
|
||||
|
||||
|
||||
`output_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L141>`_
|
||||
Output file for Electrons
|
||||
|
||||
|
||||
`output_ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L161>`_
|
||||
Output file for Ezfio_files
|
||||
|
||||
|
||||
`output_full_ci <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L181>`_
|
||||
Output file for Full_CI
|
||||
|
||||
|
||||
`output_generators_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L201>`_
|
||||
Output file for Generators_CAS
|
||||
|
||||
|
||||
`output_generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L221>`_
|
||||
Output file for Generators_full
|
||||
|
||||
|
||||
`output_hartree_fock <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L241>`_
|
||||
Output file for Hartree_Fock
|
||||
|
||||
|
||||
`output_integrals_bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L261>`_
|
||||
Output file for Integrals_Bielec
|
||||
|
||||
|
||||
`output_integrals_monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L281>`_
|
||||
Output file for Integrals_Monoelec
|
||||
|
||||
|
||||
`output_mo_basis <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L301>`_
|
||||
Output file for MO_Basis
|
||||
|
||||
|
||||
`output_moguess <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L321>`_
|
||||
Output file for MOGuess
|
||||
|
||||
|
||||
`output_mrcc_cassd <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L341>`_
|
||||
Output file for MRCC_CASSD
|
||||
|
||||
|
||||
`output_mrcc_utils_new <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L361>`_
|
||||
Output file for MRCC_Utils_new
|
||||
|
||||
|
||||
`output_nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L381>`_
|
||||
Output file for Nuclei
|
||||
|
||||
|
||||
`output_perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L401>`_
|
||||
Output file for Perturbation
|
||||
|
||||
|
||||
`output_properties <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L421>`_
|
||||
Output file for Properties
|
||||
|
||||
|
||||
`output_pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L441>`_
|
||||
Output file for Pseudo
|
||||
|
||||
|
||||
`output_psiref_cas <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L461>`_
|
||||
Output file for Psiref_CAS
|
||||
|
||||
|
||||
`output_psiref_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L481>`_
|
||||
Output file for Psiref_Utils
|
||||
|
||||
|
||||
`output_qmcchem <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L501>`_
|
||||
Output file for QmcChem
|
||||
|
||||
|
||||
`output_selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L521>`_
|
||||
Output file for Selectors_full
|
||||
|
||||
|
||||
`output_singlerefmethod <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L541>`_
|
||||
Output file for SingleRefMethod
|
||||
|
||||
|
||||
`output_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f_shell_40#L561>`_
|
||||
Output file for Utils
|
||||
|
||||
|
||||
`output_wall_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/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/Ezfio_files/output.irp.f#L88>`_
|
||||
Write an logical value in output
|
||||
|
||||
|
||||
`write_double <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L58>`_
|
||||
Write a double precision value in output
|
||||
|
||||
|
||||
`write_int <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L73>`_
|
||||
Write an integer value in output
|
||||
|
||||
|
||||
`write_time <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L42>`_
|
||||
Write a time stamp in the output for chronological reconstruction
|
||||
|
||||
|
||||
Documentation
|
||||
=============
|
||||
.. Do not edit this section It was auto-generated
|
||||
.. by the `update_README.py` script.
|
||||
|
||||
|
||||
`ezfio_filename <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/ezfio.irp.f#L1>`_
|
||||
Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment
|
||||
variable if it is set, or as the 1st argument of the command line.
|
||||
|
||||
|
||||
`ezfio_work_dir <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/ezfio.irp.f#L34>`_
|
||||
EZFIO/work/
|
||||
|
||||
|
||||
`getunitandopen <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/get_unit_and_open.irp.f#L1>`_
|
||||
:f:
|
||||
file name
|
||||
.br
|
||||
:mode:
|
||||
'R' : READ, UNFORMATTED
|
||||
'W' : WRITE, UNFORMATTED
|
||||
'r' : READ, FORMATTED
|
||||
'w' : WRITE, FORMATTED
|
||||
'a' : APPEND, FORMATTED
|
||||
'x' : READ/WRITE, FORMATTED
|
||||
.br
|
||||
|
||||
|
||||
output_ao_basis
|
||||
Output file for AO_Basis
|
||||
|
||||
|
||||
output_bitmask
|
||||
Output file for Bitmask
|
||||
|
||||
|
||||
`output_cpu_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L2>`_
|
||||
Initial CPU and wall times when printing in the output files
|
||||
|
||||
|
||||
output_davidson
|
||||
Output file for Davidson
|
||||
|
||||
|
||||
output_determinants
|
||||
Output file for Determinants
|
||||
|
||||
|
||||
output_electrons
|
||||
Output file for Electrons
|
||||
|
||||
|
||||
output_ezfio_files
|
||||
Output file for Ezfio_files
|
||||
|
||||
|
||||
output_hartree_fock
|
||||
Output file for Hartree_Fock
|
||||
|
||||
|
||||
output_integrals_bielec
|
||||
Output file for Integrals_Bielec
|
||||
|
||||
|
||||
output_integrals_monoelec
|
||||
Output file for Integrals_Monoelec
|
||||
|
||||
|
||||
output_mo_basis
|
||||
Output file for MO_Basis
|
||||
|
||||
|
||||
output_moguess
|
||||
Output file for MOGuess
|
||||
|
||||
|
||||
output_nuclei
|
||||
Output file for Nuclei
|
||||
|
||||
|
||||
output_pseudo
|
||||
Output file for Pseudo
|
||||
|
||||
|
||||
output_utils
|
||||
Output file for Utils
|
||||
|
||||
|
||||
`output_wall_time_0 <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L1>`_
|
||||
Initial CPU and wall times when printing in the output files
|
||||
|
||||
|
||||
output_zmq
|
||||
Output file for ZMQ
|
||||
|
||||
|
||||
`write_bool <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L88>`_
|
||||
Write an logical value in output
|
||||
|
||||
|
||||
`write_double <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L58>`_
|
||||
Write a double precision value in output
|
||||
|
||||
|
||||
`write_int <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L73>`_
|
||||
Write an integer value in output
|
||||
|
||||
|
||||
`write_time <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files/output.irp.f#L42>`_
|
||||
Write a time stamp in the output for chronological reconstruction
|
||||
|
||||
|
@ -2,37 +2,12 @@
|
||||
type: double precision
|
||||
doc: Calculated Selected FCI energy
|
||||
interface: ezfio
|
||||
size: (determinants.n_states)
|
||||
|
||||
[energy_pt2]
|
||||
type: double precision
|
||||
doc: Calculated FCI energy + PT2
|
||||
interface: ezfio
|
||||
size: (determinants.n_states)
|
||||
|
||||
[iterative_save]
|
||||
type: integer
|
||||
doc: Save data at each iteration : 1(Append) | 2(Overwrite) | 3(NoSave)
|
||||
interface: ezfio,ocaml
|
||||
default: 2
|
||||
|
||||
[n_iter]
|
||||
interface: ezfio
|
||||
doc: number of iterations
|
||||
type:integer
|
||||
|
||||
[n_det_iter]
|
||||
interface: ezfio
|
||||
doc: number of determinants at iteration
|
||||
type: integer
|
||||
size: (full_ci_zmq.n_iter)
|
||||
|
||||
[energy_iter]
|
||||
interface: ezfio
|
||||
doc: The energy without a pt2 correction for n_det
|
||||
type: double precision
|
||||
size: (determinants.n_states,full_ci_zmq.n_iter)
|
||||
|
||||
[pt2_iter]
|
||||
interface: ezfio
|
||||
doc: The pt2 correction for n_det
|
||||
type: double precision
|
||||
size: (determinants.n_states,full_ci_zmq.n_iter)
|
||||
|
@ -12,7 +12,6 @@ program fci_zmq
|
||||
logical :: has
|
||||
double precision :: relative_error
|
||||
integer :: N_states_p
|
||||
character*(512) :: fmt
|
||||
|
||||
relative_error=PT2_relative_error
|
||||
|
||||
@ -86,66 +85,12 @@ program fci_zmq
|
||||
|
||||
N_states_p = min(N_det,N_states)
|
||||
|
||||
print *, ''
|
||||
print '(A,I12)', 'Summary at N_det = ', N_det
|
||||
print '(A)', '-----------------------------------'
|
||||
print *, ''
|
||||
call ezfio_set_fci_energy_pt2(CI_energy+pt2)
|
||||
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
||||
print *, ''
|
||||
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
write(fmt,*) '(12X,', N_states_p, '(6X,A7,1X,I6,10X))'
|
||||
write(*,fmt) ('State',k, k=1,N_states_p)
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
write(fmt,*) '(A12,', N_states_p, '(1X,F14.8,15X))'
|
||||
write(*,fmt) '# E ', CI_energy(1:N_states_p)
|
||||
if (N_states_p > 1) then
|
||||
write(*,fmt) '# Excit. (au)', CI_energy(1:N_states_p)-CI_energy(1)
|
||||
write(*,fmt) '# Excit. (eV)', (CI_energy(1:N_states_p)-CI_energy(1))*27.211396641308d0
|
||||
endif
|
||||
write(fmt,*) '(A12,', 2*N_states_p, '(1X,F14.8))'
|
||||
write(*,fmt) '# PT2'//pt2_string, (pt2(k), error(k), k=1,N_states_p)
|
||||
write(*,'(A)') '#'
|
||||
write(*,fmt) '# E+PT2 ', (CI_energy(k)+pt2(k),error(k), k=1,N_states_p)
|
||||
if (N_states_p > 1) then
|
||||
write(*,fmt) '# Excit. (au)', ( (CI_energy(k)+pt2(k)-CI_energy(1)-pt2(1)), &
|
||||
dsqrt(error(k)*error(k)+error(1)*error(1)), k=1,N_states_p)
|
||||
write(*,fmt) '# Excit. (eV)', ( (CI_energy(k)+pt2(k)-CI_energy(1)-pt2(1))*27.211396641308d0, &
|
||||
dsqrt(error(k)*error(k)+error(1)*error(1))*27.211396641308d0, k=1,N_states_p)
|
||||
endif
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
print *, ''
|
||||
|
||||
print *, 'N_det = ', N_det
|
||||
print *, 'N_states = ', N_states
|
||||
print*, 'correlation_ratio = ', correlation_energy_ratio
|
||||
|
||||
do k=1, N_states_p
|
||||
print*,'State ',k
|
||||
print *, 'PT2 = ', pt2(k)
|
||||
print *, 'E = ', CI_energy(k)
|
||||
print *, 'E+PT2'//pt2_string//' = ', CI_energy(k)+pt2(k), ' +/- ', error(k)
|
||||
enddo
|
||||
|
||||
print *, '-----'
|
||||
if(N_states.gt.1)then
|
||||
print *, 'Variational Energy difference (au | eV)'
|
||||
do i=2, N_states_p
|
||||
print*,'Delta E = ', (CI_energy(i) - CI_energy(1)), &
|
||||
(CI_energy(i) - CI_energy(1)) * 27.211396641308d0
|
||||
enddo
|
||||
print *, '-----'
|
||||
print*, 'Variational + perturbative Energy difference (au | eV)'
|
||||
do i=2, N_states_p
|
||||
print*,'Delta E = ', (CI_energy(i)+ pt2(i) - (CI_energy(1) + pt2(1))), &
|
||||
(CI_energy(i)+ pt2(i) - (CI_energy(1) + pt2(1))) * 27.211396641308d0
|
||||
enddo
|
||||
endif
|
||||
call ezfio_set_full_ci_zmq_energy_pt2(CI_energy(1)+pt2(1))
|
||||
call dump_fci_iterations_value(N_det,CI_energy,pt2)
|
||||
call print_summary(CI_energy,pt2,error)
|
||||
call save_iterations(CI_energy,pt2,N_det)
|
||||
call print_extrapolated_energy(CI_energy,pt2)
|
||||
N_iter += 1
|
||||
|
||||
n_det_before = N_det
|
||||
if (s2_eig) then
|
||||
@ -168,7 +113,7 @@ program fci_zmq
|
||||
end if
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
call ezfio_set_full_ci_zmq_energy(CI_energy(1))
|
||||
call ezfio_set_fci_energy(CI_energy)
|
||||
enddo
|
||||
endif
|
||||
|
||||
@ -176,8 +121,8 @@ program fci_zmq
|
||||
threshold_davidson = threshold_davidson_in
|
||||
call diagonalize_CI
|
||||
call save_wavefunction
|
||||
call ezfio_set_full_ci_zmq_energy(CI_energy(1))
|
||||
call ezfio_set_full_ci_zmq_energy_pt2(CI_energy(1)+pt2(1))
|
||||
call ezfio_set_fci_energy(CI_energy)
|
||||
call ezfio_set_fci_energy_pt2(CI_energy+pt2)
|
||||
endif
|
||||
|
||||
if (do_pt2) then
|
||||
@ -189,52 +134,16 @@ program fci_zmq
|
||||
threshold_selectors = threshold_selectors_save
|
||||
threshold_generators = threshold_generators_save
|
||||
SOFT_TOUCH threshold_selectors threshold_generators
|
||||
call ezfio_set_full_ci_zmq_energy(CI_energy(1))
|
||||
call ezfio_set_full_ci_zmq_energy_pt2(CI_energy(1)+pt2(1))
|
||||
call ezfio_set_fci_energy(CI_energy)
|
||||
call ezfio_set_fci_energy_pt2(CI_energy+pt2)
|
||||
endif
|
||||
print *, 'N_det = ', N_det
|
||||
print *, 'N_states = ', N_states
|
||||
print*, 'correlation_ratio = ', correlation_energy_ratio
|
||||
|
||||
|
||||
call dump_fci_iterations_value(N_det,CI_energy,pt2)
|
||||
|
||||
print *, ''
|
||||
print '(A,I12)', 'Summary at N_det = ', N_det
|
||||
print '(A)', '-----------------------------------'
|
||||
print *, ''
|
||||
call save_iterations(CI_energy,pt2,N_det)
|
||||
call write_double(6,correlation_energy_ratio, 'Correlation ratio')
|
||||
print *, ''
|
||||
|
||||
|
||||
N_states_p = min(N_det,N_states)
|
||||
print *, ''
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
write(fmt,*) '(12X,', N_states_p, '(6X,A7,1X,I6,10X))'
|
||||
write(*,fmt) ('State',k, k=1,N_states_p)
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
write(fmt,*) '(A12,', N_states_p, '(1X,F14.8,15X))'
|
||||
write(*,fmt) '# E ', CI_energy(1:N_states_p)
|
||||
if (N_states_p > 1) then
|
||||
write(*,fmt) '# Excit. (au)', CI_energy(1:N_states_p)-CI_energy(1)
|
||||
write(*,fmt) '# Excit. (eV)', (CI_energy(1:N_states_p)-CI_energy(1))*27.211396641308d0
|
||||
endif
|
||||
write(fmt,*) '(A12,', 2*N_states_p, '(1X,F14.8))'
|
||||
write(*,fmt) '# PT2'//pt2_string, (pt2(k), error(k), k=1,N_states_p)
|
||||
write(*,'(A)') '#'
|
||||
write(*,fmt) '# E+PT2 ', (CI_energy(k)+pt2(k),error(k), k=1,N_states_p)
|
||||
if (N_states_p > 1) then
|
||||
write(*,fmt) '# Excit. (au)', ( (CI_energy(k)+pt2(k)-CI_energy(1)-pt2(1)), &
|
||||
dsqrt(error(k)*error(k)+error(1)*error(1)), k=1,N_states_p)
|
||||
write(*,fmt) '# Excit. (eV)', ( (CI_energy(k)+pt2(k)-CI_energy(1)-pt2(1))*27.211396641308d0, &
|
||||
dsqrt(error(k)*error(k)+error(1)*error(1))*27.211396641308d0, k=1,N_states_p)
|
||||
endif
|
||||
write(fmt,*) '(''# ============'',', N_states_p, '(1X,''=============================''))'
|
||||
write(*,fmt)
|
||||
print *, ''
|
||||
|
||||
|
||||
call print_summary(CI_energy,pt2,error)
|
||||
|
||||
end
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user