Merge pull request #65 from scemama/master
Cleaning and Davidson in MRCC
@ -7,6 +7,7 @@ python:
|
|||||||
before_script:
|
before_script:
|
||||||
- sudo apt-get update
|
- sudo apt-get update
|
||||||
- sudo apt-get install gfortran liblapack-dev
|
- sudo apt-get install gfortran liblapack-dev
|
||||||
|
- sudo apt-get install graphviz
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./setup_environment.sh --robot
|
- ./setup_environment.sh --robot
|
||||||
|
@ -10,6 +10,10 @@
|
|||||||
* Bash
|
* Bash
|
||||||
* Patch (for opam)
|
* Patch (for opam)
|
||||||
|
|
||||||
|
## Optional
|
||||||
|
|
||||||
|
* graphviz
|
||||||
|
|
||||||
|
|
||||||
## Standard installation
|
## Standard installation
|
||||||
|
|
||||||
|
@ -1,61 +0,0 @@
|
|||||||
bielec_integrals
|
|
||||||
read_ao_integrals false
|
|
||||||
read_mo_integrals false
|
|
||||||
write_ao_integrals false
|
|
||||||
write_mo_integrals false
|
|
||||||
threshold_ao 1.e-15
|
|
||||||
threshold_mo 1.e-15
|
|
||||||
direct false
|
|
||||||
|
|
||||||
cis_dressed
|
|
||||||
n_state_cis 10
|
|
||||||
n_core_cis 0
|
|
||||||
n_act_cis mo_basis_mo_tot_num
|
|
||||||
mp2_dressing false
|
|
||||||
standard_doubles true
|
|
||||||
en_2_2 false
|
|
||||||
|
|
||||||
determinants
|
|
||||||
n_states 1
|
|
||||||
n_states_diag determinants_n_states
|
|
||||||
n_det_max_jacobi 1000
|
|
||||||
threshold_generators 0.99
|
|
||||||
threshold_selectors 0.999
|
|
||||||
read_wf false
|
|
||||||
s2_eig false
|
|
||||||
only_single_double_dm false
|
|
||||||
|
|
||||||
full_ci
|
|
||||||
n_det_max_fci 10000
|
|
||||||
n_det_max_fci_property 50000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
do_pt2_end true
|
|
||||||
var_pt2_ratio 0.75
|
|
||||||
|
|
||||||
cas_sd
|
|
||||||
n_det_max_cas_sd 100000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
do_pt2_end true
|
|
||||||
var_pt2_ratio 0.75
|
|
||||||
|
|
||||||
all_singles
|
|
||||||
n_det_max_fci 50000
|
|
||||||
pt2_max 1.e-8
|
|
||||||
do_pt2_end false
|
|
||||||
|
|
||||||
hartree_fock
|
|
||||||
n_it_scf_max 200
|
|
||||||
thresh_scf 1.e-10
|
|
||||||
guess "Huckel"
|
|
||||||
|
|
||||||
cisd_selected
|
|
||||||
n_det_max_cisd 10000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
|
|
||||||
cisd_sc2_selected
|
|
||||||
n_det_max_cisd_sc2 10000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
do_pt2_end true
|
|
||||||
|
|
||||||
properties
|
|
||||||
z_one_point 3.9
|
|
@ -1,4 +0,0 @@
|
|||||||
cisd_selected
|
|
||||||
n_det_max_cisd 10000
|
|
||||||
pt2_max 1.e-4
|
|
||||||
|
|
@ -14,7 +14,7 @@ let spec =
|
|||||||
+> flag "m" (optional_with_default 1 int)
|
+> flag "m" (optional_with_default 1 int)
|
||||||
~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1."
|
~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1."
|
||||||
+> flag "p" no_arg
|
+> flag "p" no_arg
|
||||||
~doc:"Using pseudo."
|
~doc:"Using pseudopotentials"
|
||||||
+> anon ("xyz_file" %: string)
|
+> anon ("xyz_file" %: string)
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
62
scripts/cache_compile.py
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import shelve
|
||||||
|
import hashlib
|
||||||
|
import re
|
||||||
|
|
||||||
|
r = re.compile(ur'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)')
|
||||||
|
p = re.compile(ur'-I IRPF90_temp/\S*\s+')
|
||||||
|
mod = re.compile(ur'module\s+(?P<mod>\S+).+end\s?module\s+(?P=mod)?', re.MULTILINE | re.IGNORECASE)
|
||||||
|
|
||||||
|
TMPDIR="/tmp/qp_compiler/"
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Create temp directory
|
||||||
|
if "qp_compiler" not in os.listdir("/tmp"):
|
||||||
|
os.mkdir("/tmp/qp_compiler/")
|
||||||
|
|
||||||
|
line = sys.argv[1:]
|
||||||
|
command = " ".join(line)
|
||||||
|
command_clean = p.sub('',command)
|
||||||
|
|
||||||
|
try:
|
||||||
|
match = r.search(command_clean)
|
||||||
|
input = match.group(1)
|
||||||
|
output = match.group(2)
|
||||||
|
except:
|
||||||
|
os.system(command)
|
||||||
|
return
|
||||||
|
m = hashlib.md5()
|
||||||
|
|
||||||
|
# Fread : read input
|
||||||
|
with open(input,'r') as file:
|
||||||
|
fread = file.read()
|
||||||
|
m.update( " ".join( [ command, fread ] ))
|
||||||
|
|
||||||
|
# Md5 Key containing command + content of Fread
|
||||||
|
key = TMPDIR+m.hexdigest()
|
||||||
|
try:
|
||||||
|
# Try to return the content of the .o file
|
||||||
|
with open(key,'r') as file:
|
||||||
|
result = file.read()
|
||||||
|
except IOError:
|
||||||
|
# Compile the file -> .o
|
||||||
|
os.system(command)
|
||||||
|
# Read the .o
|
||||||
|
with open(output,'r') as file:
|
||||||
|
result = file.read()
|
||||||
|
# Copy the .o in database
|
||||||
|
if not mod.search(fread.replace('\n',' ')):
|
||||||
|
with open(key,'w') as file:
|
||||||
|
file.write(result)
|
||||||
|
else:
|
||||||
|
print input+' -> module'
|
||||||
|
else:
|
||||||
|
# Write the .o file
|
||||||
|
with open(output,'w') as file:
|
||||||
|
file.write(result)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
@ -197,7 +197,7 @@ def get_dict_config_file(config_file_path, module_lower):
|
|||||||
* equal to MODULE_lower name by default.
|
* equal to MODULE_lower name by default.
|
||||||
- interface : The provider is a imput or a output
|
- interface : The provider is a imput or a output
|
||||||
- default : The default value /!\ stored in a Type named type!
|
- default : The default value /!\ stored in a Type named type!
|
||||||
if interface == output
|
if interface == input
|
||||||
- size : Is the string read in ezfio.cgf who containt the size information
|
- size : Is the string read in ezfio.cgf who containt the size information
|
||||||
(like 1 or =sum(ao_num))
|
(like 1 or =sum(ao_num))
|
||||||
"""
|
"""
|
||||||
@ -230,7 +230,8 @@ def get_dict_config_file(config_file_path, module_lower):
|
|||||||
|
|
||||||
# Create the dictionary who containt the value per default
|
# Create the dictionary who containt the value per default
|
||||||
d_default = {"ezfio_name": pvd,
|
d_default = {"ezfio_name": pvd,
|
||||||
"ezfio_dir": module_lower}
|
"ezfio_dir": module_lower,
|
||||||
|
"size": "1"}
|
||||||
|
|
||||||
# Check if type if avalaible
|
# Check if type if avalaible
|
||||||
type_ = config_file.get(section, "type")
|
type_ = config_file.get(section, "type")
|
||||||
@ -274,6 +275,8 @@ def get_dict_config_file(config_file_path, module_lower):
|
|||||||
|
|
||||||
|
|
||||||
def create_ezfio_provider(dict_ezfio_cfg):
|
def create_ezfio_provider(dict_ezfio_cfg):
|
||||||
|
import re
|
||||||
|
|
||||||
"""
|
"""
|
||||||
From dict d[provider_name] = {type,
|
From dict d[provider_name] = {type,
|
||||||
doc,
|
doc,
|
||||||
@ -286,12 +289,13 @@ def create_ezfio_provider(dict_ezfio_cfg):
|
|||||||
output = output_dict_info['ezfio_dir'
|
output = output_dict_info['ezfio_dir'
|
||||||
return [code, ...]
|
return [code, ...]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from ezfio_generate_provider import EZFIO_Provider
|
from ezfio_generate_provider import EZFIO_Provider
|
||||||
dict_code_provider = dict()
|
dict_code_provider = dict()
|
||||||
|
|
||||||
ez_p = EZFIO_Provider()
|
ez_p = EZFIO_Provider()
|
||||||
for provider_name, dict_info in dict_ezfio_cfg.iteritems():
|
for provider_name, dict_info in dict_ezfio_cfg.iteritems():
|
||||||
if "default" in dict_info:
|
if "input" in dict_info["interface"]:
|
||||||
ez_p.set_type(dict_info['type'].fortran)
|
ez_p.set_type(dict_info['type'].fortran)
|
||||||
ez_p.set_name(provider_name)
|
ez_p.set_name(provider_name)
|
||||||
ez_p.set_doc(dict_info['doc'])
|
ez_p.set_doc(dict_info['doc'])
|
||||||
@ -299,6 +303,9 @@ def create_ezfio_provider(dict_ezfio_cfg):
|
|||||||
ez_p.set_ezfio_name(dict_info['ezfio_name'])
|
ez_p.set_ezfio_name(dict_info['ezfio_name'])
|
||||||
ez_p.set_output("output_%s" % dict_info['ezfio_dir'])
|
ez_p.set_output("output_%s" % dict_info['ezfio_dir'])
|
||||||
|
|
||||||
|
# (nuclei.nucl_num,pseudo.klocmax) => (nucl_num,klocmax)
|
||||||
|
ez_p.set_size(re.sub(r'\w+\.', "", dict_info['size']))
|
||||||
|
|
||||||
dict_code_provider[provider_name] = str(ez_p) + "\n"
|
dict_code_provider[provider_name] = str(ez_p) + "\n"
|
||||||
|
|
||||||
return dict_code_provider
|
return dict_code_provider
|
||||||
@ -342,15 +349,32 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"):
|
|||||||
def size_format_to_ezfio(size_raw):
|
def size_format_to_ezfio(size_raw):
|
||||||
"""
|
"""
|
||||||
If size_raw == "=" is a formula -> do nothing; return
|
If size_raw == "=" is a formula -> do nothing; return
|
||||||
|
Else convert the born of a multidimential array
|
||||||
|
(12,begin:end) into (12,begin+end+1) for example
|
||||||
If the value are between parenthses -> do nothing; return
|
If the value are between parenthses -> do nothing; return
|
||||||
Else put it in parenthsesis
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
size_raw = str(size_raw)
|
size_raw = str(size_raw)
|
||||||
if any([size_raw.startswith('='),
|
if size_raw.startswith('='):
|
||||||
size_raw.startswith("(") and size_raw.endswith(")")]):
|
|
||||||
size_convert = size_raw
|
size_convert = size_raw
|
||||||
else:
|
else:
|
||||||
|
size_raw = provider_info["size"].translate(None, "()")
|
||||||
|
size_raw = size_raw.replace('.', '_')
|
||||||
|
|
||||||
|
a_size_raw = []
|
||||||
|
for dim in size_raw.split(","):
|
||||||
|
try:
|
||||||
|
(begin, end) = map(str.strip, dim.split(":"))
|
||||||
|
except ValueError:
|
||||||
|
a_size_raw.append(dim)
|
||||||
|
else:
|
||||||
|
if begin[0] == '-':
|
||||||
|
a_size_raw.append("{0}+{1}+1".format(end, begin[1:]))
|
||||||
|
else:
|
||||||
|
a_size_raw.append("{0}-{1}+1".format(end, begin))
|
||||||
|
|
||||||
|
size_raw = ",".join(a_size_raw)
|
||||||
|
|
||||||
size_convert = "({0})".format(size_raw)
|
size_convert = "({0})".format(size_raw)
|
||||||
return size_convert
|
return size_convert
|
||||||
|
|
||||||
@ -719,7 +743,6 @@ def save_ocaml_qp_edit(str_ocaml_qp_edit):
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
arguments = docopt(__doc__)
|
arguments = docopt(__doc__)
|
||||||
|
|
||||||
# ___
|
# ___
|
||||||
# | ._ o _|_
|
# | ._ o _|_
|
||||||
# _|_ | | | |_
|
# _|_ | | | |_
|
||||||
|
@ -10,10 +10,11 @@ fetched from the EZFIO file.
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
class EZFIO_Provider(object):
|
class EZFIO_Provider(object):
|
||||||
|
|
||||||
data = """
|
data = """
|
||||||
BEGIN_PROVIDER [ %(type)s, %(name)s ]
|
BEGIN_PROVIDER [ %(type)s, %(name)s %(size)s ]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
||||||
! %(doc)s
|
! %(doc)s
|
||||||
@ -48,6 +49,9 @@ END_PROVIDER
|
|||||||
msg = "Error : %s is not set in EZFIO.cfg" % (v)
|
msg = "Error : %s is not set in EZFIO.cfg" % (v)
|
||||||
print >>sys.stderr, msg
|
print >>sys.stderr, msg
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
if "size" not in self.__dict__:
|
||||||
|
self.__dict__["size"] = ""
|
||||||
|
|
||||||
return self.data % self.__dict__
|
return self.data % self.__dict__
|
||||||
|
|
||||||
def set_write(self):
|
def set_write(self):
|
||||||
@ -83,6 +87,12 @@ END_PROVIDER
|
|||||||
def set_output(self, t):
|
def set_output(self, t):
|
||||||
self.output = t
|
self.output = t
|
||||||
|
|
||||||
|
def set_size(self, t):
|
||||||
|
|
||||||
|
if t != "1":
|
||||||
|
self.size = ", " + t
|
||||||
|
else:
|
||||||
|
self.size = ""
|
||||||
|
|
||||||
def test_module():
|
def test_module():
|
||||||
T = EZFIO_Provider()
|
T = EZFIO_Provider()
|
||||||
|
@ -15,10 +15,10 @@ mv $1/hartree_Fock/thresh_SCF $1/hartree_fock/thresh_scf 2> /dev/null
|
|||||||
# Set disk_acess
|
# Set disk_acess
|
||||||
echo "Change {read,write}_ao_integrals > disk_access_ao_integrals"
|
echo "Change {read,write}_ao_integrals > disk_access_ao_integrals"
|
||||||
|
|
||||||
biint=$1/bielec_integrals
|
biint=$1/Integrals_bielec
|
||||||
|
|
||||||
if [[ -f $biint/read_ao_integrals ]]; then
|
if [[ -f $biint/read_ao_integrals ]]; then
|
||||||
if [[ `cat $1/bielec_integrals/read_ao_integrals` -eq "T" ]]
|
if [[ `cat $1/Integrals_bielec/read_ao_integrals` -eq "T" ]]
|
||||||
then
|
then
|
||||||
echo "Read" > $biint/disk_access_ao_integrals
|
echo "Read" > $biint/disk_access_ao_integrals
|
||||||
|
|
||||||
@ -33,4 +33,6 @@ if [[ -f $biint/read_ao_integrals ]]; then
|
|||||||
rm $biint/read_ao_integrals $biint/write_ao_integrals $biint/write_ao_intergals 2> /dev/null
|
rm $biint/read_ao_integrals $biint/write_ao_integrals $biint/write_ao_intergals 2> /dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mv $1/MonoInts $1/Integrals_Monoelec
|
||||||
|
|
||||||
echo "Done"
|
echo "Done"
|
@ -273,7 +273,7 @@ def write_ezfio(res, filename):
|
|||||||
# \_| |___/\___|\__,_|\__,_|\___/
|
# \_| |___/\___|\__,_|\__,_|\___/
|
||||||
#
|
#
|
||||||
|
|
||||||
ezfio.set_pseudo_integrals_do_pseudo(False)
|
ezfio.set_pseudo_do_pseudo(False)
|
||||||
|
|
||||||
|
|
||||||
def get_full_path(file_path):
|
def get_full_path(file_path):
|
||||||
|
@ -16,6 +16,7 @@ fi
|
|||||||
|
|
||||||
cd ${QPACKAGE_ROOT}
|
cd ${QPACKAGE_ROOT}
|
||||||
|
|
||||||
|
rm -f l${QPACKAGE_ROOT}/bin/m4
|
||||||
if [[ -z ${M4} ]]
|
if [[ -z ${M4} ]]
|
||||||
then
|
then
|
||||||
rm -f -- bin/m4
|
rm -f -- bin/m4
|
||||||
|
@ -121,7 +121,12 @@ def create_png_from_path(path):
|
|||||||
"path = /home/razoa/quantum_package/src/Molden/NEEDED_CHILDREN_MODULES"
|
"path = /home/razoa/quantum_package/src/Molden/NEEDED_CHILDREN_MODULES"
|
||||||
|
|
||||||
l_module = os.path.split(path)[0].split("/")[-1]
|
l_module = os.path.split(path)[0].split("/")[-1]
|
||||||
create_png([l_module])
|
|
||||||
|
import pydot
|
||||||
|
try:
|
||||||
|
create_png([l_module])
|
||||||
|
except pydot.InvocationException:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def create_png(l_module):
|
def create_png(l_module):
|
||||||
@ -154,8 +159,10 @@ def create_png(l_module):
|
|||||||
draw_module_edge(module, d_ref[module])
|
draw_module_edge(module, d_ref[module])
|
||||||
|
|
||||||
# Save
|
# Save
|
||||||
path = '{0}.png'.format("_".join(l_module))
|
path = '{0}.png'.format("tree_dependancy")
|
||||||
print "png saved in {0}".format(path)
|
# path = '{0}.png'.format("_".join(l_module))
|
||||||
|
# print "png saved in {0}".format(path)
|
||||||
|
|
||||||
graph.write_png(path)
|
graph.write_png(path)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -31,7 +31,8 @@ import sys
|
|||||||
try:
|
try:
|
||||||
import dot_parser
|
import dot_parser
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print >> sys.stderr, "Couldn't import dot_parser, loading of dot files will not be possible."
|
pass
|
||||||
|
# print >> sys.stderr, "Couldn't import dot_parser, loading of dot files will not be possible."
|
||||||
|
|
||||||
|
|
||||||
GRAPH_ATTRIBUTES = set(['Damping', 'K', 'URL', 'aspect', 'bb', 'bgcolor',
|
GRAPH_ATTRIBUTES = set(['Damping', 'K', 'URL', 'aspect', 'bb', 'bgcolor',
|
||||||
|
@ -186,7 +186,7 @@ def add_zero(array, size, type):
|
|||||||
|
|
||||||
def make_it_square(matrix, dim, type=float):
|
def make_it_square(matrix, dim, type=float):
|
||||||
"""
|
"""
|
||||||
matix the matrix to squate
|
matix the matrix to square
|
||||||
dim array [lmax, kmax]
|
dim array [lmax, kmax]
|
||||||
type the null value you want
|
type the null value you want
|
||||||
[[[28.59107316], [19.37583724]], [[50.25646328]]]
|
[[[28.59107316], [19.37583724]], [[50.25646328]]]
|
||||||
@ -311,11 +311,11 @@ if __name__ == "__main__":
|
|||||||
# ~#~#~#~#~ #
|
# ~#~#~#~#~ #
|
||||||
|
|
||||||
klocmax = max([len(i) for i in v_k])
|
klocmax = max([len(i) for i in v_k])
|
||||||
ezfio.pseudo_integrals_klocmax = klocmax
|
ezfio.pseudo_pseudo_klocmax = klocmax
|
||||||
|
|
||||||
ezfio.pseudo_integrals_v_k = zip(*v_k)
|
ezfio.pseudo_pseudo_v_k = zip(*v_k)
|
||||||
ezfio.pseudo_integrals_n_k = zip(*n_k)
|
ezfio.pseudo_pseudo_n_k = zip(*n_k)
|
||||||
ezfio.pseudo_integrals_dz_k = zip(*dz_k)
|
ezfio.pseudo_pseudo_dz_k = zip(*dz_k)
|
||||||
|
|
||||||
# ~#~#~#~#~#~#~#~#~ #
|
# ~#~#~#~#~#~#~#~#~ #
|
||||||
# N o n _ L o c a l #
|
# N o n _ L o c a l #
|
||||||
@ -324,15 +324,15 @@ if __name__ == "__main__":
|
|||||||
lmax = max([len(i) for i in v_kl])
|
lmax = max([len(i) for i in v_kl])
|
||||||
kmax = max([len(sublist) for list_ in v_kl for sublist in list_])
|
kmax = max([len(sublist) for list_ in v_kl for sublist in list_])
|
||||||
|
|
||||||
ezfio.pseudo_integrals_lmaxpo = lmax
|
ezfio.pseudo_pseudo_lmax = lmax - 1
|
||||||
ezfio.pseudo_integrals_kmax = kmax
|
ezfio.pseudo_pseudo_kmax = kmax
|
||||||
|
|
||||||
v_kl = make_it_square(v_kl, [lmax, kmax])
|
v_kl = make_it_square(v_kl, [lmax, kmax])
|
||||||
n_kl = make_it_square(n_kl, [lmax, kmax], int)
|
n_kl = make_it_square(n_kl, [lmax, kmax], int)
|
||||||
dz_kl = make_it_square(dz_kl, [lmax, kmax])
|
dz_kl = make_it_square(dz_kl, [lmax, kmax])
|
||||||
|
|
||||||
ezfio.pseudo_integrals_v_kl = zip(*v_kl)
|
ezfio.pseudo_pseudo_v_kl = zip(*v_kl)
|
||||||
ezfio.pseudo_integrals_n_kl = zip(*n_kl)
|
ezfio.pseudo_pseudo_n_kl = zip(*n_kl)
|
||||||
ezfio.pseudo_integrals_dz_kl = zip(*dz_kl)
|
ezfio.pseudo_pseudo_dz_kl = zip(*dz_kl)
|
||||||
|
|
||||||
ezfio.pseudo_integrals_do_pseudo = True
|
ezfio.pseudo_do_pseudo = True
|
||||||
|
@ -66,3 +66,6 @@ ${QPACKAGE_ROOT}/scripts/module/create_Makefile_depend.sh
|
|||||||
|
|
||||||
# Update EZFIO interface
|
# Update EZFIO interface
|
||||||
${QPACKAGE_ROOT}/scripts/ezfio_interface/ei_handler.py
|
${QPACKAGE_ROOT}/scripts/ezfio_interface/ei_handler.py
|
||||||
|
|
||||||
|
# Create png
|
||||||
|
${QPACKAGE_ROOT}/scripts/module/module_handler.py create_png
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
"""Updates the README.rst file as the include directive is disabled on GitHub."""
|
"""Updates the README.rst file as the include directive is disabled on GitHub."""
|
||||||
__date__ = "Thu Apr 3 23:06:18 CEST 2014"
|
__date__ = "Thu Apr 3 23:06:18 CEST 2014"
|
||||||
__author__ = "Anthony Scemama <scemama@irsamc.ups-tlse.fr>"
|
__author__ = "Anthony Scemama<scemama@irsamc.ups-tlse.fr> & TApplencourt "
|
||||||
|
|
||||||
|
|
||||||
README = "README.rst"
|
README = "README.rst"
|
||||||
@ -21,12 +21,6 @@ header = """
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
|
||||||
# subprocess.check_output("git status".split())
|
|
||||||
has_git = True
|
|
||||||
except OSError:
|
|
||||||
has_git = False
|
|
||||||
|
|
||||||
|
|
||||||
def fetch_splitted_data():
|
def fetch_splitted_data():
|
||||||
"""Read the README.rst file and split it in strings:
|
"""Read the README.rst file and split it in strings:
|
||||||
@ -87,10 +81,12 @@ def update_needed(data):
|
|||||||
modules = file.read()
|
modules = file.read()
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
header_image = ".. image:: tree_dependancy.png\n\n"
|
||||||
|
|
||||||
if modules.strip() != "":
|
if modules.strip() != "":
|
||||||
modules = ['* `%s <%s%s>`_' % (x, URL, x) for x in modules.split()]
|
modules = ['* `%s <%s%s>`_' % (x, URL, x) for x in modules.split()]
|
||||||
modules = "\n".join(modules)
|
modules = "\n".join(modules)
|
||||||
modules = Needed_key + header + modules + '\n\n'
|
modules = Needed_key + header + header_image + modules + '\n\n'
|
||||||
|
|
||||||
has_modules = False
|
has_modules = False
|
||||||
for i in range(len(data)):
|
for i in range(len(data)):
|
||||||
|
@ -28,7 +28,7 @@ EOF
|
|||||||
|
|
||||||
|
|
||||||
source quantum_package.rc
|
source quantum_package.rc
|
||||||
|
mkdir -p install_logs
|
||||||
echo "${BLUE}===== Installing IRPF90 ===== ${BLACK}"
|
echo "${BLUE}===== Installing IRPF90 ===== ${BLACK}"
|
||||||
${QPACKAGE_ROOT}/scripts/install/install_irpf90.sh | tee ${QPACKAGE_ROOT}/install_logs/install_irpf90.log
|
${QPACKAGE_ROOT}/scripts/install/install_irpf90.sh | tee ${QPACKAGE_ROOT}/install_logs/install_irpf90.log
|
||||||
if [[ ! -d ${QPACKAGE_ROOT}/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpman ]]
|
if [[ ! -d ${QPACKAGE_ROOT}/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpf90 ]] || [[ ! -x ${QPACKAGE_ROOT}/bin/irpman ]]
|
||||||
|
@ -1 +1 @@
|
|||||||
Nuclei
|
Nuclei Utils
|
||||||
|
@ -39,7 +39,10 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
* `Nuclei <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei>`_
|
||||||
|
* `Utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
@ -144,5 +147,11 @@ Documentation
|
|||||||
Per convention, for P,D,F and G AOs, we take the index
|
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
|
of the AO with the the corresponding power in the "X" axis
|
||||||
|
|
||||||
|
`n_pt_max_i_x <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/dimensions_integrals.irp.f#L2>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`n_pt_max_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/dimensions_integrals.irp.f#L1>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BIN
src/AOs/tree_dependancy.png
Normal file
After Width: | Height: | Size: 15 KiB |
@ -1 +0,0 @@
|
|||||||
MonoInts Bitmask
|
|
@ -40,6 +40,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
|
@ -8,4 +8,4 @@ module bitmasks
|
|||||||
integer, parameter :: d_part2 = 4
|
integer, parameter :: d_part2 = 4
|
||||||
integer, parameter :: s_hole = 5
|
integer, parameter :: s_hole = 5
|
||||||
integer, parameter :: s_part = 6
|
integer, parameter :: s_part = 6
|
||||||
end module
|
end module bitmasks
|
||||||
|
BIN
src/Bitmask/tree_dependancy.png
Normal file
After Width: | Height: | Size: 28 KiB |
@ -1,29 +1,3 @@
|
|||||||
[N_det_max_cas_sd]
|
|
||||||
type: Det_number_max
|
|
||||||
doc: Max number of determinants in the wave function
|
|
||||||
interface: input
|
|
||||||
default: 10000
|
|
||||||
|
|
||||||
[do_pt2_end]
|
|
||||||
type: logical
|
|
||||||
doc: If true, compute the PT2 at the end of the selection
|
|
||||||
interface: input
|
|
||||||
default: True
|
|
||||||
|
|
||||||
[PT2_max]
|
|
||||||
type: PT2_energy
|
|
||||||
doc: The selection process stops when the largest PT2 (for all the state is lower
|
|
||||||
than pt2_max in absolute value
|
|
||||||
interface: input
|
|
||||||
default: 0.0001
|
|
||||||
|
|
||||||
[var_pt2_ratio]
|
|
||||||
type: Normalized_float
|
|
||||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
|
||||||
is equal to var_pt2_ratio
|
|
||||||
interface: input
|
|
||||||
default: 0.75
|
|
||||||
|
|
||||||
[energy]
|
[energy]
|
||||||
type: double precision
|
type: double precision
|
||||||
doc: "Calculated CAS-SD energy"
|
doc: "Calculated CAS-SD energy"
|
||||||
|
@ -24,6 +24,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
||||||
|
@ -13,12 +13,12 @@ program full_ci
|
|||||||
N_det_old = 0
|
N_det_old = 0
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_cas_sd) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_cas_sd
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -30,7 +30,7 @@ program full_ci
|
|||||||
print *, '-----'
|
print *, '-----'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
N_det_old = N_det
|
N_det_old = N_det
|
||||||
call H_apply_CAS_SD(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_CAS_SD(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
@ -38,10 +38,10 @@ program full_ci
|
|||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_cas_sd) then
|
if (N_det > N_det_max) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_cas_sd
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
|
@ -12,12 +12,12 @@ program full_ci
|
|||||||
|
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_cas_sd) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_cas_sd
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -29,17 +29,17 @@ program full_ci
|
|||||||
print *, '-----'
|
print *, '-----'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do while (N_det < n_det_max_cas_sd.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
call H_apply_CAS_SD_selected(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_CAS_SD_selected(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
PROVIDE psi_coef
|
PROVIDE psi_coef
|
||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_cas_sd) then
|
if (N_det > N_det_max) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_cas_sd
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
|
BIN
src/CAS_SD/tree_dependancy.png
Normal file
After Width: | Height: | Size: 106 KiB |
@ -15,6 +15,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
|
|
||||||
|
BIN
src/CID/tree_dependancy.png
Normal file
After Width: | Height: | Size: 90 KiB |
@ -19,5 +19,7 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `CID_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CID_selected>`_
|
* `CID_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CID_selected>`_
|
||||||
|
|
||||||
|
BIN
src/CID_SC2_selected/tree_dependancy.png
Normal file
After Width: | Height: | Size: 113 KiB |
@ -22,6 +22,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `CID <http://github.com/LCPQ/quantum_package/tree/master/src/CID>`_
|
* `CID <http://github.com/LCPQ/quantum_package/tree/master/src/CID>`_
|
||||||
|
|
||||||
|
BIN
src/CID_selected/tree_dependancy.png
Normal file
After Width: | Height: | Size: 107 KiB |
@ -31,6 +31,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
|
|
||||||
|
BIN
src/CIS/tree_dependancy.png
Normal file
After Width: | Height: | Size: 90 KiB |
@ -15,6 +15,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
* `SingleRefMethod <http://github.com/LCPQ/quantum_package/tree/master/src/SingleRefMethod>`_
|
||||||
|
|
||||||
|
BIN
src/CISD/tree_dependancy.png
Normal file
After Width: | Height: | Size: 90 KiB |
@ -1,22 +1,3 @@
|
|||||||
[N_det_max_cisd_sc2]
|
|
||||||
type: Det_number_max
|
|
||||||
doc: Max number of determinants
|
|
||||||
interface: input
|
|
||||||
default: 10000
|
|
||||||
|
|
||||||
[do_pt2_end]
|
|
||||||
type: logical
|
|
||||||
doc: If true, compute the PT2 at the end of the selection
|
|
||||||
interface: input
|
|
||||||
default: True
|
|
||||||
|
|
||||||
[PT2_max]
|
|
||||||
type: PT2_energy
|
|
||||||
doc: The selection process stops when the largest PT2 (for all the states) is lower
|
|
||||||
than abs(pt2_max)
|
|
||||||
interface: input
|
|
||||||
default: 0.0001
|
|
||||||
|
|
||||||
[energy]
|
[energy]
|
||||||
type: double precision
|
type: double precision
|
||||||
doc: Calculated CISD_SC2 energy of ground_state
|
doc: Calculated CISD_SC2 energy of ground_state
|
||||||
|
@ -19,5 +19,7 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
* `CISD_selected <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected>`_
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ program cisd_sc2_selected
|
|||||||
|
|
||||||
E_old(1) = HF_energy
|
E_old(1) = HF_energy
|
||||||
davidson_threshold = 1.d-10
|
davidson_threshold = 1.d-10
|
||||||
if (N_det > n_det_max_cisd_sc2) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI_SC2
|
call diagonalize_CI_SC2
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_cisd_sc2
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -34,7 +34,7 @@ program cisd_sc2_selected
|
|||||||
|
|
||||||
integer :: i_count
|
integer :: i_count
|
||||||
i_count = 0
|
i_count = 0
|
||||||
do while (N_det < n_det_max_cisd_sc2.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
print*,'----'
|
print*,'----'
|
||||||
print*,''
|
print*,''
|
||||||
call H_apply_SC2_selected(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_SC2_selected(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
@ -70,7 +70,7 @@ program cisd_sc2_selected
|
|||||||
call ezfio_set_full_ci_energy(CI_SC2_energy(1))
|
call ezfio_set_full_ci_energy(CI_SC2_energy(1))
|
||||||
|
|
||||||
enddo
|
enddo
|
||||||
N_det = min(n_det_max_cisd_sc2,N_det)
|
N_det = min(N_det_max,N_det)
|
||||||
davidson_threshold = 1.d-10
|
davidson_threshold = 1.d-10
|
||||||
touch N_det psi_det psi_coef davidson_threshold davidson_criterion
|
touch N_det psi_det psi_coef davidson_threshold davidson_criterion
|
||||||
call diagonalize_CI_SC2
|
call diagonalize_CI_SC2
|
||||||
|
BIN
src/CISD_SC2_selected/tree_dependancy.png
Normal file
After Width: | Height: | Size: 114 KiB |
@ -14,12 +14,6 @@ Documentation
|
|||||||
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
|
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/cisd_selection.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`n_det_max_cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L1>`_
|
|
||||||
Get n_det_max_cisd from EZFIO file
|
|
||||||
|
|
||||||
`pt2_max <http://github.com/LCPQ/quantum_package/tree/master/src/CISD_selected/options.irp.f#L18>`_
|
|
||||||
Get pt2_max from EZFIO file
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Needed Modules
|
Needed Modules
|
||||||
@ -28,6 +22,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
* `CISD <http://github.com/LCPQ/quantum_package/tree/master/src/CISD>`_
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
cisd_selected
|
|
||||||
n_det_max_cisd integer
|
|
||||||
pt2_max double precision
|
|
@ -18,7 +18,7 @@ program cisd
|
|||||||
print *, 'E = ', CI_energy(i)
|
print *, 'E = ', CI_energy(i)
|
||||||
enddo
|
enddo
|
||||||
E_old = CI_energy
|
E_old = CI_energy
|
||||||
do while (maxval(abs(pt2(1:N_st))) > pt2_max.and.n_det < n_det_max_cisd)
|
do while (maxval(abs(pt2(1:N_st))) > pt2_max.and.n_det < N_det_max)
|
||||||
print*,'----'
|
print*,'----'
|
||||||
print*,''
|
print*,''
|
||||||
call H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st)
|
||||||
@ -38,7 +38,7 @@ program cisd
|
|||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
N_det = min(N_det,n_det_max_cisd)
|
N_det = min(N_det,N_det_max)
|
||||||
touch N_det psi_det psi_coef
|
touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
deallocate(pt2,norm_pert,H_pert_diag)
|
deallocate(pt2,norm_pert,H_pert_diag)
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
BEGIN_PROVIDER [ integer, n_det_max_cisd ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Get n_det_max_cisd from EZFIO file
|
|
||||||
END_DOC
|
|
||||||
logical :: has_n_det_max_cisd
|
|
||||||
PROVIDE ezfio_filename
|
|
||||||
call ezfio_has_cisd_selected_n_det_max_cisd(has_n_det_max_cisd)
|
|
||||||
if (has_n_det_max_cisd) then
|
|
||||||
call ezfio_get_cisd_selected_n_det_max_cisd(n_det_max_cisd)
|
|
||||||
else
|
|
||||||
n_det_max_cisd = 30000
|
|
||||||
call ezfio_set_cisd_selected_n_det_max_cisd(n_det_max_cisd)
|
|
||||||
endif
|
|
||||||
print*,'n_det_max_cisd = ',n_det_max_cisd
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision , pt2_max ]
|
|
||||||
implicit none
|
|
||||||
BEGIN_DOC
|
|
||||||
! Get pt2_max from EZFIO file
|
|
||||||
END_DOC
|
|
||||||
logical :: has_pt2_max
|
|
||||||
PROVIDE ezfio_filename
|
|
||||||
call ezfio_has_cisd_selected_pt2_max(has_pt2_max)
|
|
||||||
if (has_pt2_max) then
|
|
||||||
call ezfio_get_cisd_selected_pt2_max(pt2_max)
|
|
||||||
else
|
|
||||||
pt2_max = 1.d-9
|
|
||||||
call ezfio_set_cisd_selected_pt2_max(pt2_max)
|
|
||||||
endif
|
|
||||||
print*,'pt2_max = ',pt2_max
|
|
||||||
END_PROVIDER
|
|
||||||
|
|
BIN
src/CISD_selected/tree_dependancy.png
Normal file
After Width: | Height: | Size: 108 KiB |
@ -19,6 +19,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
* `Generators_CAS <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_CAS>`_
|
||||||
|
@ -11,12 +11,12 @@ program full_ci
|
|||||||
|
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -28,17 +28,17 @@ program full_ci
|
|||||||
print *, '-----'
|
print *, '-----'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
call H_apply_DDCI_selection(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_DDCI_selection(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
PROVIDE psi_coef
|
PROVIDE psi_coef
|
||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
BEGIN_SHELL [ /usr/bin/python ]
|
|
||||||
from ezfio_with_default import EZFIO_Provider
|
|
||||||
T = EZFIO_Provider()
|
|
||||||
T.set_type ( "integer" )
|
|
||||||
T.set_name ( "N_det_max_fci" )
|
|
||||||
T.set_doc ( "Max number of determinants in the wave function" )
|
|
||||||
T.set_ezfio_dir ( "full_ci" )
|
|
||||||
T.set_ezfio_name( "N_det_max_fci" )
|
|
||||||
T.set_output ( "output_full_ci" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "logical" )
|
|
||||||
T.set_name ( "do_pt2_end" )
|
|
||||||
T.set_doc ( "If true, compute the PT2 at the end of the selection" )
|
|
||||||
T.set_ezfio_name( "do_pt2_end" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "double precision" )
|
|
||||||
T.set_name ( "pt2_max" )
|
|
||||||
T.set_doc ( """The selection process stops when the largest PT2 (for all the states)
|
|
||||||
is lower than pt2_max in absolute value""" )
|
|
||||||
T.set_ezfio_name( "pt2_max" )
|
|
||||||
print T
|
|
||||||
|
|
||||||
T.set_type ( "double precision" )
|
|
||||||
T.set_name ( "var_pt2_ratio" )
|
|
||||||
T.set_doc ( """The selection process stops when the energy ratio variational/(variational+PT2)
|
|
||||||
is equal to var_pt2_ratio""" )
|
|
||||||
T.set_ezfio_name( "var_pt2_ratio" )
|
|
||||||
print T
|
|
||||||
END_SHELL
|
|
||||||
|
|
BIN
src/DDCI_selected/tree_dependancy.png
Normal file
After Width: | Height: | Size: 106 KiB |
1
src/DensityFit/NEEDED_CHILDREN_MODULES
Normal file
@ -0,0 +1 @@
|
|||||||
|
AOs Pseudo
|
70
src/DensityFit/README.rst
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
=================
|
||||||
|
DensityFit Module
|
||||||
|
=================
|
||||||
|
|
||||||
|
In this module, the basis of all the products of atomic orbitals is built.
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
`aux_basis_coef <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L94>`_
|
||||||
|
Exponents and coefficients of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L37>`_
|
||||||
|
Exponents of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_expo <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L93>`_
|
||||||
|
Exponents and coefficients of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_expo_transp <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L36>`_
|
||||||
|
Exponents of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_idx <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L20>`_
|
||||||
|
aux_basis_idx(k) -> i,j
|
||||||
|
|
||||||
|
`aux_basis_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L40>`_
|
||||||
|
Exponents of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_num <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L2>`_
|
||||||
|
Number of auxiliary basis functions
|
||||||
|
|
||||||
|
`aux_basis_num_8 <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L3>`_
|
||||||
|
Number of auxiliary basis functions
|
||||||
|
|
||||||
|
`aux_basis_num_sqrt <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L1>`_
|
||||||
|
Number of auxiliary basis functions
|
||||||
|
|
||||||
|
`aux_basis_overlap_matrix <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L69>`_
|
||||||
|
Auxiliary basis set
|
||||||
|
|
||||||
|
`aux_basis_power <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L39>`_
|
||||||
|
Exponents of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L38>`_
|
||||||
|
Exponents of the auxiliary basis
|
||||||
|
|
||||||
|
`aux_basis_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L111>`_
|
||||||
|
= ao_prim_num_max
|
||||||
|
|
||||||
|
`save_aux_basis <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/aux_basis.irp.f#L120>`_
|
||||||
|
Undocumented
|
||||||
|
|
||||||
|
`aux_basis_four_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/DensityFit/overlap.irp.f#L1>`_
|
||||||
|
\int \chi_i(r) \chi_j(r) \chi_k(r) \chi_l(r) dr
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Needed Modules
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. Do not edit this section. It was auto-generated from the
|
||||||
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
|
* `AOs <http://github.com/LCPQ/quantum_package/tree/master/src/AOs>`_
|
||||||
|
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
|
||||||
|
|
12
src/DensityFit/aux_basis.ezfio_config
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
aux_basis
|
||||||
|
aux_basis_num integer
|
||||||
|
aux_basis_num_sqrt integer
|
||||||
|
aux_basis_idx integer (2,aux_basis_aux_basis_num)
|
||||||
|
aux_basis_prim_num integer (aux_basis_aux_basis_num_sqrt)
|
||||||
|
aux_basis_nucl integer (aux_basis_aux_basis_num_sqrt)
|
||||||
|
aux_basis_power integer (aux_basis_aux_basis_num_sqrt,3)
|
||||||
|
aux_basis_prim_num_max integer = maxval(aux_basis_aux_basis_prim_num)
|
||||||
|
aux_basis_coef double precision (aux_basis_aux_basis_num_sqrt,aux_basis_aux_basis_prim_num_max)
|
||||||
|
aux_basis_expo double precision (aux_basis_aux_basis_num_sqrt,aux_basis_aux_basis_prim_num_max)
|
||||||
|
|
||||||
|
|
130
src/DensityFit/aux_basis.irp.f
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
BEGIN_PROVIDER [ integer, aux_basis_num_sqrt ]
|
||||||
|
&BEGIN_PROVIDER [ integer, aux_basis_num ]
|
||||||
|
&BEGIN_PROVIDER [ integer, aux_basis_num_8 ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Number of auxiliary basis functions
|
||||||
|
END_DOC
|
||||||
|
integer :: align_double
|
||||||
|
|
||||||
|
if (do_pseudo) then
|
||||||
|
! aux_basis_num_sqrt = ao_num + ao_pseudo_num
|
||||||
|
aux_basis_num_sqrt = ao_num
|
||||||
|
else
|
||||||
|
endif
|
||||||
|
|
||||||
|
aux_basis_num = aux_basis_num_sqrt * (aux_basis_num_sqrt+1)/2
|
||||||
|
aux_basis_num_8 = align_double(aux_basis_num)
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer, aux_basis_idx, (2,aux_basis_num) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! aux_basis_idx(k) -> i,j
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j,k
|
||||||
|
k=0
|
||||||
|
do j=1,aux_basis_num_sqrt
|
||||||
|
do i=1,j
|
||||||
|
k = k+1
|
||||||
|
aux_basis_idx(1,k) = i
|
||||||
|
aux_basis_idx(2,k) = j
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, aux_basis_expo_transp, (ao_prim_num_max_align,aux_basis_num_sqrt) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, aux_basis_coef_transp, (ao_prim_num_max_align,aux_basis_num_sqrt) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, aux_basis_prim_num, (aux_basis_num_sqrt) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, aux_basis_power, (aux_basis_num_sqrt,3) ]
|
||||||
|
&BEGIN_PROVIDER [ integer, aux_basis_nucl, (aux_basis_num_sqrt) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Exponents of the auxiliary basis
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j
|
||||||
|
do j=1,ao_num
|
||||||
|
do i=1,ao_prim_num_max
|
||||||
|
aux_basis_expo_transp(i,j) = ao_expo_ordered_transp(i,j)
|
||||||
|
aux_basis_coef_transp(i,j) = ao_coef_normalized_ordered_transp(i,j)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
do i=1,ao_num
|
||||||
|
aux_basis_prim_num(i) = ao_prim_num(i)
|
||||||
|
aux_basis_nucl(i) = ao_nucl(i)
|
||||||
|
aux_basis_power(i,1:3) = ao_power(i,1:3)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
! do j=1,ao_pseudo_num
|
||||||
|
! aux_basis_expo_transp(1,ao_num+j) = 0.5d0*pseudo_ao_expo(j)
|
||||||
|
! aux_basis_coef_transp(1,ao_num+j) = 1.d0
|
||||||
|
! aux_basis_power(ao_num+j,1:3) = 0
|
||||||
|
! aux_basis_prim_num(ao_num+j) = 1
|
||||||
|
! aux_basis_nucl(ao_num+j) = pseudo_ao_nucl(j)
|
||||||
|
! enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, aux_basis_overlap_matrix, (aux_basis_num_8,aux_basis_num) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Auxiliary basis set
|
||||||
|
END_DOC
|
||||||
|
integer :: m,n,i,j,k,l
|
||||||
|
double precision :: aux_basis_four_overlap
|
||||||
|
|
||||||
|
aux_basis_overlap_matrix(1,1) = aux_basis_four_overlap(1,1,1,1)
|
||||||
|
!$OMP PARALLEL DO PRIVATE(i,j,k,l,m,n) SCHEDULE(GUIDED)
|
||||||
|
do m=1,aux_basis_num
|
||||||
|
i = aux_basis_idx(1,m)
|
||||||
|
j = aux_basis_idx(2,m)
|
||||||
|
do n=1,m
|
||||||
|
k = aux_basis_idx(1,n)
|
||||||
|
l = aux_basis_idx(2,n)
|
||||||
|
aux_basis_overlap_matrix(m,n) = aux_basis_four_overlap(i,j,k,l)
|
||||||
|
aux_basis_overlap_matrix(n,m) = aux_basis_overlap_matrix(m,n)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
!$OMP END PARALLEL DO
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ double precision, aux_basis_expo, (aux_basis_num_sqrt,aux_basis_prim_num_max) ]
|
||||||
|
&BEGIN_PROVIDER [ double precision, aux_basis_coef, (aux_basis_num_sqrt,aux_basis_prim_num_max) ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! Exponents and coefficients of the auxiliary basis
|
||||||
|
END_DOC
|
||||||
|
integer :: i,j
|
||||||
|
aux_basis_expo = 0.d0
|
||||||
|
aux_basis_coef = 0.d0
|
||||||
|
do j=1,aux_basis_num_sqrt
|
||||||
|
do i=1,aux_basis_prim_num(j)
|
||||||
|
aux_basis_expo(j,i) = aux_basis_expo_transp(i,j)
|
||||||
|
aux_basis_coef(j,i) = aux_basis_coef_transp(i,j)
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
BEGIN_PROVIDER [ integer, aux_basis_prim_num_max ]
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! = ao_prim_num_max
|
||||||
|
END_DOC
|
||||||
|
aux_basis_prim_num_max = ao_prim_num_max
|
||||||
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
subroutine save_aux_basis
|
||||||
|
implicit none
|
||||||
|
call ezfio_set_aux_basis_aux_basis_num(aux_basis_num)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_num_sqrt(aux_basis_num_sqrt)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_idx(aux_basis_idx)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_prim_num(aux_basis_prim_num)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_nucl(aux_basis_nucl)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_power(aux_basis_power)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_coef(aux_basis_coef)
|
||||||
|
call ezfio_set_aux_basis_aux_basis_expo(aux_basis_expo)
|
||||||
|
end
|
66
src/DensityFit/overlap.irp.f
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
double precision function aux_basis_four_overlap(i,j,k,l)
|
||||||
|
implicit none
|
||||||
|
BEGIN_DOC
|
||||||
|
! \int \chi_i(r) \chi_j(r) \chi_k(r) \chi_l(r) dr
|
||||||
|
END_DOC
|
||||||
|
integer,intent(in) :: i,j,k,l
|
||||||
|
integer :: p,q,r,s
|
||||||
|
double precision :: I_center(3),J_center(3),K_center(3),L_center(3)
|
||||||
|
integer :: num_i,num_j,num_k,num_l,dim1,I_power(3),J_power(3),K_power(3),L_power(3)
|
||||||
|
double precision :: overlap_x,overlap_y,overlap_z, overlap
|
||||||
|
include 'include/constants.F'
|
||||||
|
double precision :: P_new(0:max_dim,3),P_center(3),fact_p,pp
|
||||||
|
double precision :: Q_new(0:max_dim,3),Q_center(3),fact_q,qq
|
||||||
|
integer :: iorder_p(3), iorder_q(3)
|
||||||
|
|
||||||
|
dim1 = n_pt_max_integrals
|
||||||
|
|
||||||
|
num_i = aux_basis_nucl(i)
|
||||||
|
num_j = aux_basis_nucl(j)
|
||||||
|
num_k = aux_basis_nucl(k)
|
||||||
|
num_l = aux_basis_nucl(l)
|
||||||
|
aux_basis_four_overlap = 0.d0
|
||||||
|
|
||||||
|
do p = 1, 3
|
||||||
|
I_power(p) = aux_basis_power(i,p)
|
||||||
|
J_power(p) = aux_basis_power(j,p)
|
||||||
|
K_power(p) = aux_basis_power(k,p)
|
||||||
|
L_power(p) = aux_basis_power(l,p)
|
||||||
|
I_center(p) = nucl_coord(num_i,p)
|
||||||
|
J_center(p) = nucl_coord(num_j,p)
|
||||||
|
K_center(p) = nucl_coord(num_k,p)
|
||||||
|
L_center(p) = nucl_coord(num_l,p)
|
||||||
|
enddo
|
||||||
|
|
||||||
|
do p = 1, aux_basis_prim_num(i)
|
||||||
|
double precision :: coef1
|
||||||
|
coef1 = aux_basis_coef_transp(p,i)
|
||||||
|
do q = 1, aux_basis_prim_num(j)
|
||||||
|
call give_explicit_poly_and_gaussian(P_new,P_center,pp,fact_p,iorder_p,&
|
||||||
|
aux_basis_expo_transp(p,i),aux_basis_expo_transp(q,j), &
|
||||||
|
I_power,J_power,I_center,J_center,dim1)
|
||||||
|
double precision :: coef2
|
||||||
|
coef2 = coef1*aux_basis_coef_transp(q,j)*fact_p
|
||||||
|
do r = 1, aux_basis_prim_num(k)
|
||||||
|
double precision :: coef3
|
||||||
|
coef3 = coef2*aux_basis_coef_transp(r,k)
|
||||||
|
do s = 1, aux_basis_prim_num(l)
|
||||||
|
double precision :: general_primitive_integral
|
||||||
|
call give_explicit_poly_and_gaussian(Q_new,Q_center,qq,fact_q,iorder_q, &
|
||||||
|
aux_basis_expo_transp(r,k),aux_basis_expo_transp(s,l), &
|
||||||
|
K_power,L_power,K_center,L_center,dim1)
|
||||||
|
double precision :: coef4
|
||||||
|
coef4 = coef3*aux_basis_coef_transp(s,l)*fact_q
|
||||||
|
call overlap_gaussian_xyz(P_center,Q_center,pp,qq,iorder_p,iorder_q,overlap_x,overlap_y,overlap_z,overlap,dim1)
|
||||||
|
aux_basis_four_overlap += coef4 * overlap
|
||||||
|
enddo ! s
|
||||||
|
enddo ! r
|
||||||
|
enddo ! q
|
||||||
|
enddo ! p
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
! TODO : Schwartz acceleration
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
src/DensityFit/tree_dependancy.png
Normal file
After Width: | Height: | Size: 25 KiB |
@ -1,15 +1,27 @@
|
|||||||
|
[N_det_max]
|
||||||
|
type: Det_number_max
|
||||||
|
doc: Max number of determinants in the wave function
|
||||||
|
interface: input
|
||||||
|
default: 10000
|
||||||
|
|
||||||
|
[N_det_max_property]
|
||||||
|
type: Det_number_max
|
||||||
|
doc: Max number of determinants in the wave function when you select for a given property
|
||||||
|
interface: input
|
||||||
|
default: 10000
|
||||||
|
|
||||||
|
[N_det_max_jacobi]
|
||||||
|
type: Det_number_max
|
||||||
|
doc: Maximum number of determinants diagonalized by Jacobi
|
||||||
|
interface: input
|
||||||
|
default: 1000
|
||||||
|
|
||||||
[N_states]
|
[N_states]
|
||||||
type: States_number
|
type: States_number
|
||||||
doc: Number of states to consider
|
doc: Number of states to consider
|
||||||
interface: input
|
interface: input
|
||||||
default: 1
|
default: 1
|
||||||
|
|
||||||
[N_det_max_jacobi]
|
|
||||||
type: Strictly_positive_int
|
|
||||||
doc: Maximum number of determinants diagonalized by Jacobi
|
|
||||||
interface: input
|
|
||||||
default: 1000
|
|
||||||
|
|
||||||
[read_wf]
|
[read_wf]
|
||||||
type: logical
|
type: logical
|
||||||
doc: If true, read the wave function from the EZFIO file
|
doc: If true, read the wave function from the EZFIO file
|
||||||
@ -40,9 +52,6 @@ doc: Thresholds on selectors (fraction of the norm)
|
|||||||
interface: input
|
interface: input
|
||||||
default: 0.999
|
default: 0.999
|
||||||
|
|
||||||
|
|
||||||
# Only create the ezfio_config, (no Input_* and no PROVIDER)
|
|
||||||
|
|
||||||
[n_states_diag]
|
[n_states_diag]
|
||||||
type: integer
|
type: integer
|
||||||
doc: n_states_diag
|
doc: n_states_diag
|
||||||
@ -72,13 +81,13 @@ type: integer
|
|||||||
interface: OCaml
|
interface: OCaml
|
||||||
doc: psi_coef
|
doc: psi_coef
|
||||||
type: double precision
|
type: double precision
|
||||||
size: (determinants_n_det,determinants_n_states)
|
size: (determinants.n_det,determinants.n_states)
|
||||||
|
|
||||||
[psi_det]
|
[psi_det]
|
||||||
interface: OCaml
|
interface: OCaml
|
||||||
doc: psi_det
|
doc: psi_det
|
||||||
type: integer*8
|
type: integer*8
|
||||||
size: (determinants_n_int*determinants_bit_kind/8,2,determinants_n_det)
|
size: (determinants.n_int*determinants.bit_kind/8,2,determinants.n_det)
|
||||||
|
|
||||||
[det_num]
|
[det_num]
|
||||||
interface: OCaml
|
interface: OCaml
|
||||||
@ -89,13 +98,13 @@ type: integer
|
|||||||
interface: OCaml
|
interface: OCaml
|
||||||
doc: det_occ
|
doc: det_occ
|
||||||
type: integer
|
type: integer
|
||||||
size: (electrons_elec_alpha_num,determinants_det_num,2)
|
size: (electrons.elec_alpha_num,determinants.det_num,2)
|
||||||
|
|
||||||
[det_coef]
|
[det_coef]
|
||||||
interface: OCaml
|
interface: OCaml
|
||||||
doc: det_coef
|
doc: det_coef
|
||||||
type: double precision
|
type: double precision
|
||||||
size: (determinants_det_num)
|
size: (determinants.det_num)
|
||||||
|
|
||||||
[expected_s2]
|
[expected_s2]
|
||||||
interface: OCaml
|
interface: OCaml
|
||||||
|
@ -1 +1 @@
|
|||||||
Bielec_integrals
|
Integrals_Monoelec Integrals_Bielec
|
@ -32,7 +32,10 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
|
* `Integrals_Monoelec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Monoelec>`_
|
||||||
|
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
@ -529,12 +532,6 @@ Documentation
|
|||||||
`save_casino <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_for_casino.irp.f#L1>`_
|
`save_casino <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_for_casino.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`save_dets_qmcchem <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_for_qmcchem.irp.f#L1>`_
|
|
||||||
Undocumented
|
|
||||||
|
|
||||||
`save_for_qmc <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_for_qmcchem.irp.f#L46>`_
|
|
||||||
Undocumented
|
|
||||||
|
|
||||||
`save_natorb <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_natorb.irp.f#L1>`_
|
`save_natorb <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants/save_natorb.irp.f#L1>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
subroutine save_dets_qmcchem
|
|
||||||
use bitmasks
|
|
||||||
implicit none
|
|
||||||
character :: c(mo_tot_num)
|
|
||||||
integer :: i,k
|
|
||||||
|
|
||||||
integer, allocatable :: occ(:,:,:), occ_tmp(:,:)
|
|
||||||
!DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: occ, occ_tmp
|
|
||||||
|
|
||||||
call ezfio_set_determinants_det_num(N_det)
|
|
||||||
call ezfio_set_determinants_det_coef(psi_coef_sorted(1,1))
|
|
||||||
|
|
||||||
allocate (occ(elec_alpha_num,N_det,2))
|
|
||||||
! OMP PARALLEL DEFAULT(NONE) &
|
|
||||||
! OMP PRIVATE(occ_tmp,i,k)&
|
|
||||||
! OMP SHARED(N_det,psi_det_sorted,elec_alpha_num, &
|
|
||||||
! OMP occ,elec_beta_num,N_int)
|
|
||||||
allocate (occ_tmp(N_int*bit_kind_size,2))
|
|
||||||
occ_tmp = 0
|
|
||||||
! OMP DO
|
|
||||||
do i=1,N_det
|
|
||||||
call bitstring_to_list(psi_det_sorted(1,1,i), occ_tmp(1,1), elec_alpha_num, N_int )
|
|
||||||
call bitstring_to_list(psi_det_sorted(1,2,i), occ_tmp(1,2), elec_beta_num, N_int )
|
|
||||||
do k=1,elec_alpha_num
|
|
||||||
occ(k,i,1) = occ_tmp(k,1)
|
|
||||||
occ(k,i,2) = occ_tmp(k,2)
|
|
||||||
enddo
|
|
||||||
enddo
|
|
||||||
! OMP END DO
|
|
||||||
deallocate(occ_tmp)
|
|
||||||
! OMP END PARALLEL
|
|
||||||
call ezfio_set_determinants_det_occ(occ)
|
|
||||||
call write_int(output_determinants,N_det,'Determinants saved for QMC')
|
|
||||||
deallocate(occ)
|
|
||||||
open(unit=31,file=trim(ezfio_filename)//'/mo_basis/mo_classif')
|
|
||||||
write(31,'(I1)') 1
|
|
||||||
write(31,*) mo_tot_num
|
|
||||||
do i=1,mo_tot_num
|
|
||||||
write(31,'(A)') 'a'
|
|
||||||
enddo
|
|
||||||
close(31)
|
|
||||||
call system('gzip -f '//trim(ezfio_filename)//'/mo_basis/mo_classif')
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
program save_for_qmc
|
|
||||||
read_wf = .True.
|
|
||||||
TOUCH read_wf
|
|
||||||
! call save_dets_qmcchem
|
|
||||||
call write_spindeterminants
|
|
||||||
end
|
|
BIN
src/Determinants/tree_dependancy.png
Normal file
After Width: | Height: | Size: 59 KiB |
@ -1 +1 @@
|
|||||||
Output
|
Ezfio_files
|
||||||
|
@ -24,7 +24,9 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `Output <http://github.com/LCPQ/quantum_package/tree/master/src/Output>`_
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
|
* `Ezfio_files <http://github.com/LCPQ/quantum_package/tree/master/src/Ezfio_files>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
=============
|
=============
|
||||||
|
BIN
src/Electrons/tree_dependancy.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
@ -28,6 +28,24 @@ Documentation
|
|||||||
'x' : READ/WRITE, FORMATTED
|
'x' : READ/WRITE, FORMATTED
|
||||||
.br
|
.br
|
||||||
|
|
||||||
|
`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_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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ BEGIN_SHELL [ /bin/bash ]
|
|||||||
! Output file for $NAME
|
! Output file for $NAME
|
||||||
END_DOC
|
END_DOC
|
||||||
PROVIDE output_wall_time_0 output_cpu_time_0 ezfio_filename
|
PROVIDE output_wall_time_0 output_cpu_time_0 ezfio_filename
|
||||||
integer :: getUnitAndOpen
|
! integer :: getUnitAndOpen
|
||||||
call ezfio_set_output_empty(.False.)
|
! call ezfio_set_output_empty(.False.)
|
||||||
IRP_IF COARRAY
|
IRP_IF COARRAY
|
||||||
if (this_image() == 1) then
|
if (this_image() == 1) then
|
||||||
output_$NAME = 6 !getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
output_$NAME = 6 !getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a')
|
BIN
src/Ezfio_files/tree_dependancy.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
@ -10,9 +10,6 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`fcidump <http://github.com/LCPQ/quantum_package/tree/master/src/FCIdump/fcidump.irp.f#L1>`_
|
|
||||||
Undocumented
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Needed Modules
|
Needed Modules
|
||||||
@ -21,5 +18,7 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||||
|
|
||||||
|
BIN
src/FCIdump/tree_dependancy.png
Normal file
After Width: | Height: | Size: 63 KiB |
@ -1,35 +1,3 @@
|
|||||||
[N_det_max_fci]
|
|
||||||
type: Det_number_max
|
|
||||||
doc: Max number of determinants in the wave function
|
|
||||||
interface: input
|
|
||||||
default: 10000
|
|
||||||
|
|
||||||
[N_det_max_fci_property]
|
|
||||||
type: Det_number_max
|
|
||||||
doc: Max number of determinants in the wave function when you select for a given property
|
|
||||||
interface: input
|
|
||||||
default: 10000
|
|
||||||
|
|
||||||
[do_pt2_end]
|
|
||||||
type: logical
|
|
||||||
doc: If true, compute the PT2 at the end of the selection
|
|
||||||
interface: input
|
|
||||||
default: True
|
|
||||||
|
|
||||||
[PT2_max]
|
|
||||||
type: PT2_energy
|
|
||||||
doc: The selection process stops when the largest PT2 (for all the state) is lower
|
|
||||||
than pt2_max in absolute value
|
|
||||||
interface: input
|
|
||||||
default: 0.0001
|
|
||||||
|
|
||||||
[var_pt2_ratio]
|
|
||||||
type: Normalized_float
|
|
||||||
doc: The selection process stops when the energy ratio variational/(variational+PT2)
|
|
||||||
is equal to var_pt2_ratio
|
|
||||||
interface: input
|
|
||||||
default: 0.75
|
|
||||||
|
|
||||||
[energy]
|
[energy]
|
||||||
type: double precision
|
type: double precision
|
||||||
doc: Calculated Selected FCI energy
|
doc: Calculated Selected FCI energy
|
||||||
|
@ -24,6 +24,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
* `Perturbation <http://github.com/LCPQ/quantum_package/tree/master/src/Perturbation>`_
|
||||||
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
* `Selectors_full <http://github.com/LCPQ/quantum_package/tree/master/src/Selectors_full>`_
|
||||||
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
|
* `Generators_full <http://github.com/LCPQ/quantum_package/tree/master/src/Generators_full>`_
|
||||||
|
@ -11,12 +11,12 @@ program full_ci
|
|||||||
|
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -38,7 +38,7 @@ program full_ci
|
|||||||
|
|
||||||
integer :: n_det_before
|
integer :: n_det_before
|
||||||
print*,'Beginning the selection ...'
|
print*,'Beginning the selection ...'
|
||||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
n_det_before = N_det
|
n_det_before = N_det
|
||||||
call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_FCI(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
@ -46,10 +46,10 @@ program full_ci
|
|||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
@ -68,7 +68,7 @@ program full_ci
|
|||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
N_det = min(n_det_max_fci,N_det)
|
N_det = min(N_det_max,N_det)
|
||||||
touch N_det psi_det psi_coef
|
touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
if(do_pt2_end)then
|
if(do_pt2_end)then
|
||||||
|
@ -11,12 +11,12 @@ program full_ci
|
|||||||
|
|
||||||
pt2 = 1.d0
|
pt2 = 1.d0
|
||||||
diag_algorithm = "Lapack"
|
diag_algorithm = "Lapack"
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
call save_wavefunction
|
call save_wavefunction
|
||||||
@ -38,7 +38,7 @@ program full_ci
|
|||||||
|
|
||||||
integer :: n_det_before
|
integer :: n_det_before
|
||||||
print*,'Beginning the selection ...'
|
print*,'Beginning the selection ...'
|
||||||
do while (N_det < n_det_max_fci.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
|
||||||
n_det_before = N_det
|
n_det_before = N_det
|
||||||
call H_apply_FCI_no_skip(pt2, norm_pert, H_pert_diag, N_st)
|
call H_apply_FCI_no_skip(pt2, norm_pert, H_pert_diag, N_st)
|
||||||
|
|
||||||
@ -46,10 +46,10 @@ program full_ci
|
|||||||
PROVIDE psi_det
|
PROVIDE psi_det
|
||||||
PROVIDE psi_det_sorted
|
PROVIDE psi_det_sorted
|
||||||
|
|
||||||
if (N_det > n_det_max_fci) then
|
if (N_det > N_det_max) then
|
||||||
psi_det = psi_det_sorted
|
psi_det = psi_det_sorted
|
||||||
psi_coef = psi_coef_sorted
|
psi_coef = psi_coef_sorted
|
||||||
N_det = n_det_max_fci
|
N_det = N_det_max
|
||||||
soft_touch N_det psi_det psi_coef
|
soft_touch N_det psi_det psi_coef
|
||||||
endif
|
endif
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
@ -68,7 +68,7 @@ program full_ci
|
|||||||
exit
|
exit
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
N_det = min(n_det_max_fci,N_det)
|
N_det = min(N_det_max,N_det)
|
||||||
touch N_det psi_det psi_coef
|
touch N_det psi_det psi_coef
|
||||||
call diagonalize_CI
|
call diagonalize_CI
|
||||||
if(do_pt2_end)then
|
if(do_pt2_end)then
|
||||||
|
BIN
src/Full_CI/tree_dependancy.png
Normal file
After Width: | Height: | Size: 104 KiB |
@ -43,5 +43,7 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||||
|
|
||||||
|
BIN
src/Generators_CAS/tree_dependancy.png
Normal file
After Width: | Height: | Size: 65 KiB |
@ -40,6 +40,8 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
* `Determinants <http://github.com/LCPQ/quantum_package/tree/master/src/Determinants>`_
|
||||||
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
* `Hartree_Fock <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock>`_
|
||||||
|
|
||||||
|
BIN
src/Generators_full/tree_dependancy.png
Normal file
After Width: | Height: | Size: 76 KiB |
@ -1 +1 @@
|
|||||||
Bielec_integrals MOGuess
|
Integrals_Bielec MOGuess
|
||||||
|
@ -10,7 +10,9 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `Bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals>`_
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
|
* `Integrals_Bielec <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec>`_
|
||||||
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
* `MOGuess <http://github.com/LCPQ/quantum_package/tree/master/src/MOGuess>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
|
BIN
src/Hartree_Fock/tree_dependancy.png
Normal file
After Width: | Height: | Size: 64 KiB |
1
src/Integrals_Bielec/NEEDED_CHILDREN_MODULES
Normal file
@ -0,0 +1 @@
|
|||||||
|
Pseudo MOs Bitmask
|
@ -16,7 +16,10 @@ Needed Modules
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
* `MonoInts <http://github.com/LCPQ/quantum_package/tree/master/src/MonoInts>`_
|
.. image:: tree_dependancy.png
|
||||||
|
|
||||||
|
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
|
||||||
|
* `MOs <http://github.com/LCPQ/quantum_package/tree/master/src/MOs>`_
|
||||||
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
@ -25,192 +28,192 @@ Documentation
|
|||||||
.. Do not edit this section. It was auto-generated from the
|
.. Do not edit this section. It was auto-generated from the
|
||||||
.. NEEDED_MODULES file.
|
.. NEEDED_MODULES file.
|
||||||
|
|
||||||
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1>`_
|
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1>`_
|
||||||
integral of the AO basis <ik|jl> or (ij|kl)
|
integral of the AO basis <ik|jl> or (ij|kl)
|
||||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||||
|
|
||||||
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L491>`_
|
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L489>`_
|
||||||
Needed to compute Schwartz inequalities
|
Needed to compute Schwartz inequalities
|
||||||
|
|
||||||
`ao_bielec_integral_schwartz_accel <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L107>`_
|
`ao_bielec_integral_schwartz_accel <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L107>`_
|
||||||
integral of the AO basis <ik|jl> or (ij|kl)
|
integral of the AO basis <ik|jl> or (ij|kl)
|
||||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||||
|
|
||||||
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L322>`_
|
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L322>`_
|
||||||
Map of Atomic integrals
|
Map of Atomic integrals
|
||||||
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
||||||
|
|
||||||
`ao_l4 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L279>`_
|
`ao_l4 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L279>`_
|
||||||
Computes the product of l values of i,j,k,and l
|
Computes the product of l values of i,j,k,and l
|
||||||
|
|
||||||
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L290>`_
|
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L290>`_
|
||||||
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
||||||
|
|
||||||
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L654>`_
|
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L652>`_
|
||||||
ATOMIC PRIMTIVE bielectronic integral between the 4 primitives ::
|
ATOMIC PRIMTIVE bielectronic integral between the 4 primitives ::
|
||||||
primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2)
|
primitive_1 = x1**(a_x) y1**(a_y) z1**(a_z) exp(-alpha * r1**2)
|
||||||
primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2)
|
primitive_2 = x1**(b_x) y1**(b_y) z1**(b_z) exp(- beta * r1**2)
|
||||||
primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2)
|
primitive_3 = x2**(c_x) y2**(c_y) z2**(c_z) exp(-delta * r2**2)
|
||||||
primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2)
|
primitive_4 = x2**(d_x) y2**(d_y) z2**(d_z) exp(- gama * r2**2)
|
||||||
|
|
||||||
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L516>`_
|
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L514>`_
|
||||||
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
||||||
|
|
||||||
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L852>`_
|
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L850>`_
|
||||||
subroutine that returns the explicit polynom in term of the "t"
|
subroutine that returns the explicit polynom in term of the "t"
|
||||||
variable of the following polynomw :
|
variable of the following polynomw :
|
||||||
I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)
|
I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)
|
||||||
|
|
||||||
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L773>`_
|
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L771>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L915>`_
|
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L913>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1035>`_
|
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1033>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1089>`_
|
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1087>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L949>`_
|
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L947>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L808>`_
|
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L806>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L1151>`_
|
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1149>`_
|
||||||
recursive function involved in the bielectronic integral
|
recursive function involved in the bielectronic integral
|
||||||
|
|
||||||
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L699>`_
|
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L697>`_
|
||||||
calculate the integral of the polynom ::
|
calculate the integral of the polynom ::
|
||||||
I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q)
|
I_x1(a_x+b_x, c_x+d_x,p,q) * I_x1(a_y+b_y, c_y+d_y,p,q) * I_x1(a_z+b_z, c_z+d_z,p,q)
|
||||||
between ( 0 ; 1)
|
between ( 0 ; 1)
|
||||||
|
|
||||||
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/ao_bi_integrals.irp.f#L838>`_
|
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L836>`_
|
||||||
Returns the upper boundary of the degree of the polynomial involved in the
|
Returns the upper boundary of the degree of the polynomial involved in the
|
||||||
bielctronic integral :
|
bielctronic integral :
|
||||||
Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z)
|
Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z)
|
||||||
|
|
||||||
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L29>`_
|
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L29>`_
|
||||||
Gauss-Legendre
|
Gauss-Legendre
|
||||||
|
|
||||||
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L10>`_
|
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L10>`_
|
||||||
t_w(i,1,k) = w(i)
|
t_w(i,1,k) = w(i)
|
||||||
t_w(i,2,k) = t(i)
|
t_w(i,2,k) = t(i)
|
||||||
|
|
||||||
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L11>`_
|
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L11>`_
|
||||||
t_w(i,1,k) = w(i)
|
t_w(i,1,k) = w(i)
|
||||||
t_w(i,2,k) = t(i)
|
t_w(i,2,k) = t(i)
|
||||||
|
|
||||||
`n_pt_max_integrals_16 <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/gauss_legendre.irp.f#L1>`_
|
`n_pt_max_integrals_16 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L1>`_
|
||||||
Aligned n_pt_max_integrals
|
Aligned n_pt_max_integrals
|
||||||
|
|
||||||
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L6>`_
|
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L6>`_
|
||||||
AO integrals
|
AO integrals
|
||||||
|
|
||||||
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L19>`_
|
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L19>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`bielec_integrals_index_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L36>`_
|
`bielec_integrals_index_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L36>`_
|
||||||
Undocumented
|
Undocumented
|
||||||
|
|
||||||
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L223>`_
|
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L223>`_
|
||||||
Frees the memory of the AO map
|
Frees the memory of the AO map
|
||||||
|
|
||||||
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L399>`_
|
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L399>`_
|
||||||
Frees the memory of the MO map
|
Frees the memory of the MO map
|
||||||
|
|
||||||
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L113>`_
|
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L113>`_
|
||||||
Gets one AO bi-electronic integral from the AO map
|
Gets one AO bi-electronic integral from the AO map
|
||||||
|
|
||||||
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L137>`_
|
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L137>`_
|
||||||
Gets multiple AO bi-electronic integral from the AO map .
|
Gets multiple AO bi-electronic integral from the AO map .
|
||||||
All i are retrieved for j,k,l fixed.
|
All i are retrieved for j,k,l fixed.
|
||||||
|
|
||||||
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L172>`_
|
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L172>`_
|
||||||
Gets multiple AO bi-electronic integral from the AO map .
|
Gets multiple AO bi-electronic integral from the AO map .
|
||||||
All non-zero i are retrieved for j,k,l fixed.
|
All non-zero i are retrieved for j,k,l fixed.
|
||||||
|
|
||||||
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L214>`_
|
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L214>`_
|
||||||
Returns the number of elements in the AO map
|
Returns the number of elements in the AO map
|
||||||
|
|
||||||
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L281>`_
|
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L281>`_
|
||||||
Returns one integral <ij|kl> in the MO basis
|
Returns one integral <ij|kl> in the MO basis
|
||||||
|
|
||||||
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L310>`_
|
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L310>`_
|
||||||
Returns multiple integrals <ij|kl> in the MO basis, all
|
Returns multiple integrals <ij|kl> in the MO basis, all
|
||||||
i for j,k,l fixed.
|
i for j,k,l fixed.
|
||||||
|
|
||||||
`get_mo_bielec_integrals_existing_ik <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L341>`_
|
`get_mo_bielec_integrals_existing_ik <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L341>`_
|
||||||
Returns multiple integrals <ij|kl> in the MO basis, all
|
Returns multiple integrals <ij|kl> in the MO basis, all
|
||||||
i(1)j(1) 1/r12 k(2)l(2)
|
i(1)j(1) 1/r12 k(2)l(2)
|
||||||
i for j,k,l fixed.
|
i for j,k,l fixed.
|
||||||
|
|
||||||
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L391>`_
|
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L391>`_
|
||||||
Return the number of elements in the MO map
|
Return the number of elements in the MO map
|
||||||
|
|
||||||
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L250>`_
|
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L250>`_
|
||||||
Create new entry into AO map
|
Create new entry into AO map
|
||||||
|
|
||||||
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L265>`_
|
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L265>`_
|
||||||
Create new entry into MO map, or accumulate in an existing entry
|
Create new entry into MO map, or accumulate in an existing entry
|
||||||
|
|
||||||
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L298>`_
|
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L298>`_
|
||||||
Returns one integral <ij|kl> in the MO basis
|
Returns one integral <ij|kl> in the MO basis
|
||||||
|
|
||||||
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/map_integrals.irp.f#L237>`_
|
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L237>`_
|
||||||
MO integrals
|
MO integrals
|
||||||
|
|
||||||
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L42>`_
|
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L42>`_
|
||||||
Adds integrals to tha MO map according to some bitmask
|
Adds integrals to tha MO map according to some bitmask
|
||||||
|
|
||||||
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L465>`_
|
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L465>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L467>`_
|
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L467>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_anti_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L327>`_
|
`mo_bielec_integral_jj_anti_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L327>`_
|
||||||
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L466>`_
|
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L466>`_
|
||||||
mo_bielec_integral_jj(i,j) = J_ij
|
mo_bielec_integral_jj(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
mo_bielec_integral_jj_exchange(i,j) = K_ij
|
||||||
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_exchange_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L326>`_
|
`mo_bielec_integral_jj_exchange_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L326>`_
|
||||||
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integral_jj_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L325>`_
|
`mo_bielec_integral_jj_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L325>`_
|
||||||
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
|
||||||
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
|
||||||
|
|
||||||
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L22>`_
|
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L22>`_
|
||||||
If True, the map of MO bielectronic integrals is provided
|
If True, the map of MO bielectronic integrals is provided
|
||||||
|
|
||||||
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/mo_bi_integrals.irp.f#L1>`_
|
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L1>`_
|
||||||
Computes an unique index for i,j,k,l integrals
|
Computes an unique index for i,j,k,l integrals
|
||||||
|
|
||||||
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L1>`_
|
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L1>`_
|
||||||
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L2>`_
|
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L2>`_
|
||||||
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L3>`_
|
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L3>`_
|
||||||
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Bielec_integrals/read_write.irp.f#L4>`_
|
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L4>`_
|
||||||
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
|
||||||
|
|
||||||
|
|
@ -349,7 +349,7 @@ BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ]
|
|||||||
integer :: load_ao_integrals
|
integer :: load_ao_integrals
|
||||||
print*,'Reading the AO integrals'
|
print*,'Reading the AO integrals'
|
||||||
if (load_ao_integrals(trim(ezfio_filename)//'/work/ao_integrals.bin') == 0) then
|
if (load_ao_integrals(trim(ezfio_filename)//'/work/ao_integrals.bin') == 0) then
|
||||||
write(output_bielec_integrals,*) 'AO integrals provided'
|
print*, 'AO integrals provided'
|
||||||
ao_bielec_integrals_in_map = .True.
|
ao_bielec_integrals_in_map = .True.
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
@ -367,7 +367,7 @@ BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ]
|
|||||||
PROVIDE progress_bar
|
PROVIDE progress_bar
|
||||||
call omp_init_lock(lock)
|
call omp_init_lock(lock)
|
||||||
lmax = ao_num*(ao_num+1)/2
|
lmax = ao_num*(ao_num+1)/2
|
||||||
write(output_bielec_integrals,*) 'Providing the AO integrals'
|
print*, 'Providing the AO integrals'
|
||||||
call wall_time(wall_0)
|
call wall_time(wall_0)
|
||||||
call wall_time(wall_1)
|
call wall_time(wall_1)
|
||||||
call cpu_time(cpu_1)
|
call cpu_time(cpu_1)
|
||||||
@ -378,7 +378,7 @@ BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ]
|
|||||||
!$OMP DEFAULT(NONE) &
|
!$OMP DEFAULT(NONE) &
|
||||||
!$OMP SHARED (ao_num, jl_pairs, ao_integrals_map,thresh, &
|
!$OMP SHARED (ao_num, jl_pairs, ao_integrals_map,thresh, &
|
||||||
!$OMP cpu_1,wall_1,lock, lmax,n_centers,ao_nucl, &
|
!$OMP cpu_1,wall_1,lock, lmax,n_centers,ao_nucl, &
|
||||||
!$OMP ao_overlap_abs,ao_overlap,output_bielec_integrals,abort_here, &
|
!$OMP ao_overlap_abs,ao_overlap,abort_here, &
|
||||||
!$OMP wall_0,progress_bar,progress_value)
|
!$OMP wall_0,progress_bar,progress_value)
|
||||||
|
|
||||||
allocate(buffer_i(size_buffer))
|
allocate(buffer_i(size_buffer))
|
||||||
@ -445,7 +445,7 @@ IRP_ENDIF
|
|||||||
if (thread_num == 0) then
|
if (thread_num == 0) then
|
||||||
if (wall_2 - wall_0 > 1.d0) then
|
if (wall_2 - wall_0 > 1.d0) then
|
||||||
wall_0 = wall_2
|
wall_0 = wall_2
|
||||||
write(output_bielec_integrals,*) 100.*float(kk)/float(lmax), '% in ', &
|
print*, 100.*float(kk)/float(lmax), '% in ', &
|
||||||
wall_2-wall_1, 's', map_mb(ao_integrals_map) ,'MB'
|
wall_2-wall_1, 's', map_mb(ao_integrals_map) ,'MB'
|
||||||
progress_value = dble(map_mb(ao_integrals_map))
|
progress_value = dble(map_mb(ao_integrals_map))
|
||||||
endif
|
endif
|
||||||
@ -462,32 +462,30 @@ IRP_ENDIF
|
|||||||
stop 'Aborting in AO integrals calculation'
|
stop 'Aborting in AO integrals calculation'
|
||||||
endif
|
endif
|
||||||
IRP_IF COARRAY
|
IRP_IF COARRAY
|
||||||
write(output_bielec_integrals,*) 'Communicating the map'
|
print*, 'Communicating the map'
|
||||||
call communicate_ao_integrals()
|
call communicate_ao_integrals()
|
||||||
IRP_ENDIF COARRAY
|
IRP_ENDIF COARRAY
|
||||||
write(output_bielec_integrals,*) 'Sorting the map'
|
print*, 'Sorting the map'
|
||||||
call map_sort(ao_integrals_map)
|
call map_sort(ao_integrals_map)
|
||||||
call cpu_time(cpu_2)
|
call cpu_time(cpu_2)
|
||||||
call wall_time(wall_2)
|
call wall_time(wall_2)
|
||||||
integer(map_size_kind) :: get_ao_map_size, ao_map_size
|
integer(map_size_kind) :: get_ao_map_size, ao_map_size
|
||||||
ao_map_size = get_ao_map_size()
|
ao_map_size = get_ao_map_size()
|
||||||
|
|
||||||
write(output_bielec_integrals,*) 'AO integrals provided:'
|
print*, 'AO integrals provided:'
|
||||||
write(output_bielec_integrals,*) ' Size of AO map : ', map_mb(ao_integrals_map) ,'MB'
|
print*, ' Size of AO map : ', map_mb(ao_integrals_map) ,'MB'
|
||||||
write(output_bielec_integrals,*) ' Number of AO integrals :', ao_map_size
|
print*, ' Number of AO integrals :', ao_map_size
|
||||||
write(output_bielec_integrals,*) ' cpu time :',cpu_2 - cpu_1, 's'
|
print*, ' cpu time :',cpu_2 - cpu_1, 's'
|
||||||
write(output_bielec_integrals,*) ' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1+tiny(1.d0)), ' )'
|
print*, ' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1+tiny(1.d0)), ' )'
|
||||||
|
|
||||||
ao_bielec_integrals_in_map = .True.
|
ao_bielec_integrals_in_map = .True.
|
||||||
if (write_ao_integrals) then
|
if (write_ao_integrals) then
|
||||||
call dump_ao_integrals(trim(ezfio_filename)//'/work/ao_integrals.bin')
|
call dump_ao_integrals(trim(ezfio_filename)//'/work/ao_integrals.bin')
|
||||||
call ezfio_set_bielec_integrals_disk_access_ao_integrals(.True.)
|
call ezfio_set_integrals_bielec_disk_access_ao_integrals(.True.)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_PROVIDER [ double precision, ao_bielec_integral_schwartz,(ao_num,ao_num) ]
|
BEGIN_PROVIDER [ double precision, ao_bielec_integral_schwartz,(ao_num,ao_num) ]
|
||||||
implicit none
|
implicit none
|
||||||
BEGIN_DOC
|
BEGIN_DOC
|
@ -13,7 +13,7 @@ BEGIN_PROVIDER [ type(map_type), ao_integrals_map ]
|
|||||||
call bielec_integrals_index(ao_num,ao_num,ao_num,ao_num,key_max)
|
call bielec_integrals_index(ao_num,ao_num,ao_num,ao_num,key_max)
|
||||||
sze = key_max
|
sze = key_max
|
||||||
call map_init(ao_integrals_map,sze)
|
call map_init(ao_integrals_map,sze)
|
||||||
write(output_bielec_integrals,*) 'AO map initialized'
|
print*, 'AO map initialized'
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
subroutine bielec_integrals_index(i,j,k,l,i1)
|
subroutine bielec_integrals_index(i,j,k,l,i1)
|
||||||
@ -244,7 +244,7 @@ BEGIN_PROVIDER [ type(map_type), mo_integrals_map ]
|
|||||||
call bielec_integrals_index(mo_tot_num,mo_tot_num,mo_tot_num,mo_tot_num,key_max)
|
call bielec_integrals_index(mo_tot_num,mo_tot_num,mo_tot_num,mo_tot_num,key_max)
|
||||||
sze = key_max
|
sze = key_max
|
||||||
call map_init(mo_integrals_map,sze)
|
call map_init(mo_integrals_map,sze)
|
||||||
write(output_bielec_integrals,*) 'MO map initialized'
|
print*, 'MO map initialized'
|
||||||
END_PROVIDER
|
END_PROVIDER
|
||||||
|
|
||||||
subroutine insert_into_ao_integrals_map(n_integrals, &
|
subroutine insert_into_ao_integrals_map(n_integrals, &
|
@ -31,7 +31,7 @@ BEGIN_PROVIDER [ logical, mo_bielec_integrals_in_map ]
|
|||||||
integer :: load_mo_integrals
|
integer :: load_mo_integrals
|
||||||
print*,'Reading the MO integrals'
|
print*,'Reading the MO integrals'
|
||||||
if (load_mo_integrals(trim(ezfio_filename)//'/work/mo_integrals.bin') == 0) then
|
if (load_mo_integrals(trim(ezfio_filename)//'/work/mo_integrals.bin') == 0) then
|
||||||
write(output_bielec_integrals,*) 'MO integrals provided'
|
print*, 'MO integrals provided'
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -84,8 +84,8 @@ subroutine add_integrals_to_map(mask_ijkl)
|
|||||||
call bitstring_to_list( mask_ijkl(1,4), list_ijkl(1,4), n_l, N_int )
|
call bitstring_to_list( mask_ijkl(1,4), list_ijkl(1,4), n_l, N_int )
|
||||||
|
|
||||||
size_buffer = min(ao_num*ao_num*ao_num,16000000)
|
size_buffer = min(ao_num*ao_num*ao_num,16000000)
|
||||||
write(output_bielec_integrals,*) 'Providing the molecular integrals '
|
print*, 'Providing the molecular integrals '
|
||||||
write(output_bielec_integrals,*) 'Buffers : ', 8.*(mo_tot_num_align*(n_j)*(n_k+1) + mo_tot_num_align +&
|
print*, 'Buffers : ', 8.*(mo_tot_num_align*(n_j)*(n_k+1) + mo_tot_num_align +&
|
||||||
ao_num+ao_num*ao_num+ size_buffer*3)/(1024*1024), 'MB / core'
|
ao_num+ao_num*ao_num+ size_buffer*3)/(1024*1024), 'MB / core'
|
||||||
|
|
||||||
call wall_time(wall_1)
|
call wall_time(wall_1)
|
||||||
@ -99,7 +99,7 @@ subroutine add_integrals_to_map(mask_ijkl)
|
|||||||
!$OMP wall_0,thread_num) &
|
!$OMP wall_0,thread_num) &
|
||||||
!$OMP DEFAULT(NONE) &
|
!$OMP DEFAULT(NONE) &
|
||||||
!$OMP SHARED(size_buffer,ao_num,mo_tot_num,n_i,n_j,n_k,n_l,mo_tot_num_align,&
|
!$OMP SHARED(size_buffer,ao_num,mo_tot_num,n_i,n_j,n_k,n_l,mo_tot_num_align,&
|
||||||
!$OMP mo_coef_transp,output_bielec_integrals, &
|
!$OMP mo_coef_transp, &
|
||||||
!$OMP mo_coef_transp_is_built, list_ijkl, &
|
!$OMP mo_coef_transp_is_built, list_ijkl, &
|
||||||
!$OMP mo_coef_is_built, wall_1, abort_here, &
|
!$OMP mo_coef_is_built, wall_1, abort_here, &
|
||||||
!$OMP mo_coef,mo_integrals_threshold,ao_integrals_map,mo_integrals_map,progress_bar,progress_value)
|
!$OMP mo_coef,mo_integrals_threshold,ao_integrals_map,mo_integrals_map,progress_bar,progress_value)
|
||||||
@ -272,7 +272,7 @@ IRP_ENDIF
|
|||||||
if (thread_num == 0) then
|
if (thread_num == 0) then
|
||||||
if (wall_2 - wall_0 > 1.d0) then
|
if (wall_2 - wall_0 > 1.d0) then
|
||||||
wall_0 = wall_2
|
wall_0 = wall_2
|
||||||
write(output_bielec_integrals,*) 100.*float(l1)/float(ao_num), '% in ', &
|
print*, 100.*float(l1)/float(ao_num), '% in ', &
|
||||||
wall_2-wall_1, 's', map_mb(mo_integrals_map) ,'MB'
|
wall_2-wall_1, 's', map_mb(mo_integrals_map) ,'MB'
|
||||||
progress_value = dble(map_mb(mo_integrals_map))
|
progress_value = dble(map_mb(mo_integrals_map))
|
||||||
|
|
||||||
@ -291,7 +291,7 @@ IRP_ENDIF
|
|||||||
stop 'Aborting in MO integrals calculation'
|
stop 'Aborting in MO integrals calculation'
|
||||||
endif
|
endif
|
||||||
IRP_IF COARRAY
|
IRP_IF COARRAY
|
||||||
write(output_bielec_integrals,*) 'Communicating the map'
|
print*, 'Communicating the map'
|
||||||
call communicate_mo_integrals()
|
call communicate_mo_integrals()
|
||||||
IRP_ENDIF
|
IRP_ENDIF
|
||||||
call map_unique(mo_integrals_map)
|
call map_unique(mo_integrals_map)
|
||||||
@ -304,15 +304,15 @@ IRP_ENDIF
|
|||||||
deallocate(list_ijkl)
|
deallocate(list_ijkl)
|
||||||
|
|
||||||
|
|
||||||
write(output_bielec_integrals,*)'Molecular integrals provided:'
|
print*,'Molecular integrals provided:'
|
||||||
write(output_bielec_integrals,*)' Size of MO map ', map_mb(mo_integrals_map) ,'MB'
|
print*,' Size of MO map ', map_mb(mo_integrals_map) ,'MB'
|
||||||
write(output_bielec_integrals,*)' Number of MO integrals: ', mo_map_size
|
print*,' Number of MO integrals: ', mo_map_size
|
||||||
write(output_bielec_integrals,*)' cpu time :',cpu_2 - cpu_1, 's'
|
print*,' cpu time :',cpu_2 - cpu_1, 's'
|
||||||
write(output_bielec_integrals,*)' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')'
|
print*,' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')'
|
||||||
|
|
||||||
if (write_mo_integrals) then
|
if (write_mo_integrals) then
|
||||||
call dump_mo_integrals(trim(ezfio_filename)//'/work/mo_integrals.bin')
|
call dump_mo_integrals(trim(ezfio_filename)//'/work/mo_integrals.bin')
|
||||||
call ezfio_set_bielec_integrals_disk_access_mo_integrals(.True.)
|
call ezfio_set_integrals_bielec_disk_access_mo_integrals(.True.)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
BIN
src/Integrals_Bielec/tree_dependancy.png
Normal file
After Width: | Height: | Size: 44 KiB |
6
src/Integrals_Monoelec/Makefile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# Define here all new external source files and objects.Don't forget to prefix the
|
||||||
|
# object files with IRPF90_temp/
|
||||||
|
SRC=pseudopot.f90
|
||||||
|
OBJ=IRPF90_temp/pseudopot.o
|
||||||
|
|
||||||
|
include $(QPACKAGE_ROOT)/src/Makefile.common
|
1
src/Integrals_Monoelec/NEEDED_CHILDREN_MODULES
Normal file
@ -0,0 +1 @@
|
|||||||
|
MOs Pseudo
|