10
0
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:
Anthony Scemama 2018-10-19 16:33:58 +02:00
parent 5b6067ea2f
commit ff37982d15
187 changed files with 629 additions and 10480 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ bin/
lib/
config/qp_create_ninja.pickle
src/*/.gitignore
ezfio_interface.irp.f

176
ocaml/qp_export.ml Normal file
View 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

View File

@ -1 +0,0 @@
Determinants DavidsonUndressed

View File

@ -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

View File

@ -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

View File

@ -1 +0,0 @@
MO_Basis Utils

View File

@ -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

View 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.

View File

@ -0,0 +1 @@
DavidsonUndressed

View File

@ -1,6 +1,6 @@
=========
dress_zmq
=========
==========
multistate
==========
Needed Modules
==============

View 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

View File

@ -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="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,7 +871,6 @@ 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)

View File

@ -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()

View File

@ -10,10 +10,9 @@ 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
NEED The path of NEED file.
by default try to open the file in the current path
"""
import os
@ -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()

View File

@ -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):

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View 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
View File

@ -0,0 +1,4 @@
=========
dress_zmq
=========

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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