Documentation and reordering of AOs.
This commit is contained in:
parent
67a51bfbf1
commit
5f0a6b4c27
21
INSTALL.rst
21
INSTALL.rst
|
@ -143,26 +143,11 @@ to Parameters (IRP) method.
|
|||
* Extract the archive and go into the :file:`irpf90-*` directory to run
|
||||
:command:`make`
|
||||
|
||||
* Create scripts to facilitate the access to :command:`irpf90` and
|
||||
:command:`irpman` as follows
|
||||
.. note::
|
||||
|
||||
.. code:: bash
|
||||
The :envvar:`IRPF90_PATH` variable may need to be updated in the configuration
|
||||
file :file:`${QP_ROOT}/etc/irpf90.rc`.
|
||||
|
||||
for i in irpf90 irpman irpf90_indent
|
||||
do
|
||||
cat << EOF > ${QP_ROOT}/bin/$i
|
||||
#!/bin/sh
|
||||
exec $PWD/bin/$i \$@
|
||||
EOF
|
||||
|
||||
chmod +x ${QP_ROOT}/bin/$i
|
||||
done
|
||||
|
||||
Otherwise, IRPF90 can be installed with PIP:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
pip2 install --user irpf90
|
||||
|
||||
|
||||
ZeroMQ and its Fortran binding
|
||||
|
|
4
TODO
4
TODO
|
@ -60,8 +60,8 @@ Parler dans le papier de rPT2
|
|||
# Toto
|
||||
qp_stop : pour forcer a terminer proprement le programme (kill clean)
|
||||
|
||||
Virer EMSL
|
||||
|
||||
Changer irpf90 pour qu'il produise des fichiers rst.
|
||||
|
||||
Re-design de qp command
|
||||
|
||||
S^2 en simple precision dans davidson
|
||||
|
|
|
@ -196,7 +196,7 @@ EOF
|
|||
|
||||
# When changing version of irpf90, don't forget to update etc/irpf90.rc
|
||||
download \
|
||||
"https://gitlab.com/scemama/irpf90/-/archive/v1.7.4/irpf90-v1.7.4.tar.gz" \
|
||||
"https://gitlab.com/scemama/irpf90/-/archive/v1.7.5/irpf90-v1.7.5.tar.gz" \
|
||||
"${QP_ROOT}"/external/irpf90.tar.gz
|
||||
execute << EOF
|
||||
cd "\${QP_ROOT}"/external
|
||||
|
|
|
@ -9,15 +9,16 @@ from module_handler import get_binaries
|
|||
|
||||
|
||||
def generate_modules(abs_module, entities):
|
||||
"""Generates the doc for modules"""
|
||||
MODULE = os.path.split(abs_module)[-1]
|
||||
module = MODULE.lower()
|
||||
if module == "dummy":
|
||||
return
|
||||
|
||||
with open( os.path.join(abs_module,'README.rst'), 'r' ) as f:
|
||||
with open(os.path.join(abs_module, 'README.rst'), 'r') as f:
|
||||
readme = f.read()
|
||||
rst = [
|
||||
".. _%s:"%(module), "",
|
||||
".. _module_%s:"%(module), "",
|
||||
".. program:: %s"%(module), "",
|
||||
".. default-role:: option", "",
|
||||
readme, "",
|
||||
|
@ -25,19 +26,19 @@ def generate_modules(abs_module, entities):
|
|||
|
||||
EZFIO = os.path.join(abs_module,'EZFIO.cfg')
|
||||
if os.path.exists(EZFIO):
|
||||
rst += [ "", "EZFIO parameters", "----------------", "" ]
|
||||
rst += ["", "EZFIO parameters", "----------------", ""]
|
||||
config_file = ConfigParser.ConfigParser()
|
||||
with open(EZFIO,'r') as f:
|
||||
with open(EZFIO, 'r') as f:
|
||||
config_file.readfp(f)
|
||||
for section in config_file.sections():
|
||||
doc = config_file.get(section,"doc")
|
||||
doc = " " + doc.replace("\n","\n\n ")+"\n"
|
||||
doc = config_file.get(section, "doc")
|
||||
doc = " " + doc.replace("\n", "\n\n ")+"\n"
|
||||
try:
|
||||
default = config_file.get(section,"default")
|
||||
default = config_file.get(section, "default")
|
||||
default = " " + "Default: %s\n"%default
|
||||
except:
|
||||
default = ""
|
||||
rst += [ ".. option:: %s\n"%(section), doc, default ]
|
||||
rst += [".. option:: %s\n"%(section), doc, default]
|
||||
|
||||
providers = []
|
||||
subroutines = {}
|
||||
|
@ -50,7 +51,7 @@ def generate_modules(abs_module, entities):
|
|||
elif e["type"] == 'p':
|
||||
providers.append(e)
|
||||
|
||||
binaries = [ os.path.basename(f) for f in get_binaries(abs_module) ]
|
||||
binaries = [os.path.basename(f) for f in get_binaries(abs_module)]
|
||||
|
||||
if binaries:
|
||||
rst += ["", "Programs", "--------", ""]
|
||||
|
@ -64,27 +65,9 @@ def generate_modules(abs_module, entities):
|
|||
rst += [" * :ref:`%s`"%(b["name"])]
|
||||
|
||||
if providers:
|
||||
rst += [ "", "Providers", "---------", "" ]
|
||||
rst += ["", "Providers", "---------", ""]
|
||||
for p in providers:
|
||||
rst += [ """
|
||||
.. c:var:: %s
|
||||
|
||||
.. code:: text
|
||||
|
||||
%s
|
||||
|
||||
File: :file:`%s`
|
||||
|
||||
%s
|
||||
|
||||
|
||||
""" % ( p["name"],
|
||||
"\n ".join(p["decl"]),
|
||||
p["file"],
|
||||
" ".join(p["doc"]).replace("\n ","\n "),
|
||||
) ]
|
||||
|
||||
|
||||
rst += [p["rst"]]
|
||||
|
||||
if subroutines:
|
||||
rst += [ "", "Subroutines / functions", "-----------------------", "" ]
|
||||
|
@ -92,46 +75,30 @@ def generate_modules(abs_module, entities):
|
|||
p = subroutines[p]
|
||||
if p["name"] in binaries:
|
||||
continue
|
||||
rst += [ """
|
||||
rst += [p["rst"]]
|
||||
|
||||
.. c:function:: %s
|
||||
|
||||
.. code:: text
|
||||
|
||||
%s
|
||||
|
||||
File: :file:`%s`
|
||||
|
||||
%s
|
||||
|
||||
|
||||
""" % ( p["name"],
|
||||
"\n ".join(p["decl"]),
|
||||
p["file"],
|
||||
" ".join(p["doc"]).replace("\n ","\n "),
|
||||
) ]
|
||||
|
||||
|
||||
rst_file = os.path.join('modules',module+".rst")
|
||||
rst_file = os.path.join('modules', module+".rst")
|
||||
with open(rst_file,'w') as f:
|
||||
f.write(" \n".join(rst))
|
||||
f.write(" \n".join(rst))
|
||||
|
||||
for b in binaries:
|
||||
rst = [
|
||||
".. _.%s.:"%(b), "",
|
||||
".. program:: %s"%(b), "",
|
||||
"="*len(b), b, "="*len(b), "", "",
|
||||
" ".join(subroutines[b]["doc"]), "",
|
||||
"File: :file:`%s`"%(os.path.join(module, subroutines[b]["file"]))
|
||||
]
|
||||
rst_file = os.path.join('programs',b+".rst")
|
||||
for b in subroutines:
|
||||
if b not in binaries:
|
||||
continue
|
||||
p = subroutines[b]
|
||||
rst = [".. _%s:"%(b), "",
|
||||
".. program:: %s"%(b), "",
|
||||
"="*len(b), b, "="*len(b), "", ""]
|
||||
rst += [line[3:] for line in p["rst"].splitlines()[8:]]
|
||||
rst_file = os.path.join('programs', b+".rst")
|
||||
with open(rst_file,'w') as f:
|
||||
f.write(" \n".join(rst))
|
||||
|
||||
|
||||
|
||||
def generate_providers(abs_module):
|
||||
|
||||
""" Reads the IRPF90_man pages and returns a dict of dicts describing the
|
||||
providers.
|
||||
"""
|
||||
MODULE = os.path.split(abs_module)[-1]
|
||||
module = MODULE.lower()
|
||||
if module == "dummy":
|
||||
|
@ -139,20 +106,23 @@ def generate_providers(abs_module):
|
|||
|
||||
files = {}
|
||||
entities = {}
|
||||
mandir = os.path.join(abs_module,'IRPF90_man')
|
||||
mandir = os.path.join(abs_module, 'IRPF90_man')
|
||||
if not os.path.exists(mandir):
|
||||
return {}
|
||||
|
||||
for f in os.listdir(mandir):
|
||||
|
||||
filename = os.path.join(mandir,f)
|
||||
if f.endswith('.rst'):
|
||||
continue
|
||||
filename = os.path.join(mandir, f)
|
||||
if f not in files:
|
||||
files[f] = 0
|
||||
name = f.split('.')[0]
|
||||
with open(os.path.join(mandir, name+".rst"), 'r') as g:
|
||||
rst = g.read()
|
||||
with open(filename, 'r') as f:
|
||||
state = 0
|
||||
entity = { "decl": [], "doc": [] ,
|
||||
"name": name , "module": module }
|
||||
entity = {"decl": [], "doc": [] ,
|
||||
"name": name , "module": module, "rst":rst}
|
||||
text=f.read()
|
||||
text_old = None
|
||||
while text_old != text:
|
||||
|
@ -183,7 +153,7 @@ def generate_providers(abs_module):
|
|||
continue
|
||||
|
||||
if state == 1:
|
||||
entity["decl"] += [ line ]
|
||||
entity["decl"] += [line]
|
||||
if line.startswith("subroutine") \
|
||||
or line.startswith("function ") \
|
||||
or " function " in line:
|
||||
|
@ -193,7 +163,7 @@ def generate_providers(abs_module):
|
|||
elif state == 2:
|
||||
if line.startswith(".br"):
|
||||
line = "\n\n"
|
||||
entity["doc"] += [ line ]
|
||||
entity["doc"] += [line]
|
||||
elif state == 3:
|
||||
if line.startswith(".br"):
|
||||
continue
|
||||
|
@ -203,7 +173,7 @@ def generate_providers(abs_module):
|
|||
except: pass
|
||||
break
|
||||
|
||||
entities [ entity["name"] ] = entity
|
||||
entities[entity["name"]] = entity
|
||||
|
||||
return entities
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _ao_two_e_erf_ints:
|
||||
.. _module_ao_two_e_erf_ints:
|
||||
|
||||
.. program:: ao_two_e_erf_ints
|
||||
|
||||
|
@ -45,381 +45,842 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ao_integrals_erf_cache
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_integrals_erf_cache (0:64*64*64*64)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Cache of |AO| integrals for fast access
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache_min`
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_integrals_erf_cache_max
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: ao_integrals_erf_cache_min
|
||||
integer :: ao_integrals_erf_cache_max
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: ao_integrals_erf_cache_min
|
||||
integer :: ao_integrals_erf_cache_max
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Min and max values of the AOs for which the integrals are in the cache
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_integrals_erf_cache_min
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: ao_integrals_erf_cache_min
|
||||
integer :: ao_integrals_erf_cache_max
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: ao_integrals_erf_cache_min
|
||||
integer :: ao_integrals_erf_cache_max
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Min and max values of the AOs for which the integrals are in the cache
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_integrals_erf_map
|
||||
|
||||
.. code:: text
|
||||
|
||||
type(map_type) :: ao_integrals_erf_map
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
type(map_type) :: ao_integrals_erf_map
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
|AO| integrals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_two_e_integral_erf_schwartz
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`ao_two_e_erf_ints/providers_ao_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_two_e_integral_erf_schwartz (ao_num,ao_num)
|
||||
|
||||
File: :file:`providers_ao_erf.irp.f`
|
||||
|
||||
Needed to compute Schwartz inequalities
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nucl_coord`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_two_e_integrals_erf_in_map
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical :: ao_two_e_integrals_erf_in_map
|
||||
File : :file:`ao_two_e_erf_ints/providers_ao_erf.irp.f`
|
||||
|
||||
File: :file:`providers_ao_erf.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
Map of Atomic integrals i(r1) j(r2) 1/r12 k(r1) l(r2)
|
||||
logical :: ao_two_e_integrals_erf_in_map
|
||||
|
||||
|
||||
Map of Atomic integrals
|
||||
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nproc`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`read_ao_two_e_integrals_erf`
|
||||
* :c:data:`zmq_context`
|
||||
* :c:data:`zmq_socket_pull_tcp_address`
|
||||
* :c:data:`zmq_state`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache`
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||
|
||||
|
||||
.. c:function:: general_primitive_integral_erf:
|
||||
|
||||
.. c:var:: general_primitive_integral_erf
|
||||
|
||||
.. code:: text
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision function general_primitive_integral_erf(dim, &
|
||||
P_new,P_center,fact_p,p,p_inv,iorder_p, &
|
||||
Q_new,Q_center,fact_q,q,q_inv,iorder_q)
|
||||
P_new,P_center,fact_p,p,p_inv,iorder_p, &
|
||||
Q_new,Q_center,fact_q,q,q_inv,iorder_q)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mu_erf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`add_poly_multiply`
|
||||
* :c:func:`give_polynom_mult_center_x`
|
||||
* :c:func:`multiply_poly`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: ao_two_e_integral_erf:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integral_erf
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function ao_two_e_integral_erf(i,j,k,l)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
integral of the AO basis <ik|jl> or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||
integral of the AO basis <ik|jl> or (ij|kl)
|
||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`nucl_coord`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`give_explicit_poly_and_gaussian`
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integral_schwartz_accel_erf:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integral_schwartz_accel_erf
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function ao_two_e_integral_schwartz_accel_erf(i,j,k,l)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
integral of the AO basis <ik|jl> or (ij|kl) i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||
integral of the AO basis <ik|jl> or (ij|kl)
|
||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`nucl_coord`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`give_explicit_poly_and_gaussian`
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_collector:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_collector
|
||||
File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_two_e_integrals_erf_in_map_collector(zmq_socket_pull)
|
||||
|
||||
File: :file:`integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
Collects results from the AO integral calculation
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`end_zmq_to_qp_run_socket`
|
||||
* :c:func:`insert_into_ao_integrals_erf_map`
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave
|
||||
File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_two_e_integrals_erf_in_map_slave(thread,iproc)
|
||||
|
||||
File: :file:`integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
Computes a buffer of integrals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave_inproc`
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave_tcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`compute_ao_integrals_erf_jl`
|
||||
* :c:func:`end_zmq_push_socket`
|
||||
* :c:func:`end_zmq_to_qp_run_socket`
|
||||
* :c:func:`push_integrals`
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave_inproc:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave_inproc
|
||||
File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_two_e_integrals_erf_in_map_slave_inproc(i)
|
||||
|
||||
File: :file:`integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
Computes a buffer of integrals. i is the ID of the current thread.
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave`
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave_tcp:
|
||||
|
||||
|
||||
.. c:function:: ao_two_e_integrals_erf_in_map_slave_tcp
|
||||
File : :file:`ao_two_e_erf_ints/integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_two_e_integrals_erf_in_map_slave_tcp(i)
|
||||
|
||||
File: :file:`integrals_erf_in_map_slave.irp.f`
|
||||
|
||||
Computes a buffer of integrals. i is the ID of the current thread.
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave`
|
||||
|
||||
|
||||
.. c:function:: clear_ao_erf_map:
|
||||
|
||||
|
||||
.. c:function:: clear_ao_erf_map
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine clear_ao_erf_map
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
Frees the memory of the |AO| map
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_deinit`
|
||||
|
||||
|
||||
.. c:function:: compute_ao_integrals_erf_jl:
|
||||
|
||||
|
||||
.. c:function:: compute_ao_integrals_erf_jl
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
Parallel client for AO integrals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_slave`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: compute_ao_two_e_integrals_erf:
|
||||
|
||||
|
||||
.. c:function:: compute_ao_two_e_integrals_erf
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
|
||||
|
||||
.. c:function:: dump_ao_integrals_erf:
|
||||
|
||||
|
||||
.. c:function:: dump_ao_integrals_erf
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine dump_ao_integrals_erf(filename)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Save to disk the |AO| erf integrals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_work_empty`
|
||||
|
||||
|
||||
.. c:function:: eri_erf:
|
||||
|
||||
|
||||
.. c:function:: eri_erf
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function ERI_erf(alpha,beta,delta,gama,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
ATOMIC PRIMTIVE two-electron integral between the 4 primitives :: 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_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)
|
||||
ATOMIC PRIMTIVE two-electron integral between the 4 primitives ::
|
||||
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_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)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mu_erf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`integrale_new_erf`
|
||||
|
||||
|
||||
.. c:function:: get_ao_erf_map_size:
|
||||
|
||||
|
||||
.. c:function:: get_ao_erf_map_size
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
function get_ao_erf_map_size()
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Returns the number of elements in the |AO| map
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integral_erf:
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integral_erf
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function get_ao_two_e_integral_erf(i,j,k,l,map) result(result)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Gets one |AO| two-electron integral from the |AO| map
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_cache_min`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_integrals_erf_cache`
|
||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_get`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_erf:
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_erf
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine get_ao_two_e_integrals_erf(j,k,l,sze,out_val)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Gets multiple |AO| two-electron integral from the |AO| map . All i are retrieved for j,k,l fixed.
|
||||
Gets multiple |AO| two-electron integral from the |AO| map .
|
||||
All i are retrieved for j,k,l fixed.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`add_integrals_to_map_erf`
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_erf_non_zero:
|
||||
|
||||
|
||||
.. c:function:: get_ao_two_e_integrals_erf_non_zero
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine get_ao_two_e_integrals_erf_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Gets multiple |AO| two-electron integrals from the |AO| map . All non-zero i are retrieved for j,k,l fixed.
|
||||
Gets multiple |AO| two-electron integrals from the |AO| map .
|
||||
All non-zero i are retrieved for j,k,l fixed.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_get`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
||||
|
||||
.. c:function:: insert_into_ao_integrals_erf_map:
|
||||
|
||||
|
||||
.. c:function:: insert_into_ao_integrals_erf_map
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine insert_into_ao_integrals_erf_map(n_integrals,buffer_i, buffer_values)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Create new entry into |AO| map
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ao_two_e_integrals_erf_in_map_collector`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`map_append`
|
||||
|
||||
|
||||
.. c:function:: integrale_new_erf:
|
||||
|
||||
|
||||
.. c:function:: integrale_new_erf
|
||||
File : :file:`ao_two_e_erf_ints/two_e_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine integrale_new_erf(I_f,a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z,p,q,n_pt)
|
||||
|
||||
File: :file:`two_e_integrals_erf.irp.f`
|
||||
|
||||
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) between ( 0 ; 1)
|
||||
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)
|
||||
between ( 0 ; 1)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`gauleg_t2`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`eri_erf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`i_x1_new`
|
||||
|
||||
|
||||
.. c:function:: load_ao_integrals_erf:
|
||||
|
||||
|
||||
.. c:function:: load_ao_integrals_erf
|
||||
File : :file:`ao_two_e_erf_ints/map_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function load_ao_integrals_erf(filename)
|
||||
|
||||
File: :file:`map_integrals_erf.irp.f`
|
||||
|
||||
Read from disk the |AO| erf integrals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`cache_map_reallocate`
|
||||
* :c:func:`map_deinit`
|
||||
* :c:func:`map_sort`
|
||||
|
||||
|
||||
.. c:function:: save_erf_two_e_integrals_ao:
|
||||
|
||||
|
||||
.. c:function:: save_erf_two_e_integrals_ao
|
||||
File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine save_erf_two_e_integrals_ao
|
||||
Needs:
|
||||
|
||||
File: :file:`routines_save_integrals_erf.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_ao_two_e_erf_ints_io_ao_two_e_integrals_erf`
|
||||
* :c:func:`ezfio_set_work_empty`
|
||||
* :c:func:`map_save_to_disk`
|
||||
|
||||
|
||||
.. c:function:: save_erf_two_e_ints_ao_into_ints_ao:
|
||||
|
||||
|
||||
.. c:function:: save_erf_two_e_ints_ao_into_ints_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine save_erf_two_e_ints_ao_into_ints_ao
|
||||
|
||||
File: :file:`routines_save_integrals_erf.irp.f`
|
||||
|
||||
|
||||
File : :file:`ao_two_e_erf_ints/routines_save_integrals_erf.irp.f`
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_erf_map`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_ao_two_e_ints_io_ao_two_e_integrals`
|
||||
* :c:func:`ezfio_set_work_empty`
|
||||
* :c:func:`map_save_to_disk`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _aux_quantities:
|
||||
.. _module_aux_quantities:
|
||||
|
||||
.. program:: aux_quantities
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _becke_numerical_grid:
|
||||
.. _module_becke_numerical_grid:
|
||||
|
||||
.. program:: becke_numerical_grid
|
||||
|
||||
|
@ -8,12 +8,12 @@
|
|||
becke_numerical_grid
|
||||
====================
|
||||
|
||||
This module contains all quantities needed to build the Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions.
|
||||
This module contains all quantities needed to build Becke's grid used in general for DFT integration. Note that it can be used for whatever integration in R^3 as long as the functions to be integrated are mostly concentrated near the atomic regions.
|
||||
|
||||
This grid is built as the reunion of a spherical grid around each atom. Each spherical grid contains
|
||||
a certain number of radial and angular points. No pruning is done on the angular part of the grid.
|
||||
|
||||
The main keyword for that modue is:
|
||||
The main keyword for that module is:
|
||||
|
||||
* :option:`becke_numerical_grid grid_type_sgn` which controls the precision of the grid according the standard **SG-n** grids. This keyword controls the two providers `n_points_integration_angular` `n_points_radial_grid`.
|
||||
|
||||
|
@ -92,363 +92,737 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: alpha_knowles
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/integration_radial.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: alpha_knowles (100)
|
||||
|
||||
File: :file:`integration_radial.irp.f`
|
||||
|
||||
Recommended values for the alpha parameters according to the paper of Knowles (JCP, 104, 1996) as a function of the nuclear charge
|
||||
Recommended values for the alpha parameters according to the paper of Knowles (JCP, 104, 1996)
|
||||
as a function of the nuclear charge
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
.. c:var:: angular_quadrature_points
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3)
|
||||
double precision, allocatable :: weights_angular_points (n_points_integration_angular)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme
|
||||
weights and grid points for the integration on the angular variables on
|
||||
the unit sphere centered on (0,0,0)
|
||||
According to the LEBEDEV scheme
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_radial_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
.. c:var:: dr_radial_integral
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: grid_points_radial (n_points_radial_grid)
|
||||
double precision :: dr_radial_integral
|
||||
double precision :: dr_radial_integral
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
points in [0,1] to map the radial integral [0,\infty]
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_radial_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_grid_points
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points (3,n_points_final_grid)
|
||||
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
|
||||
integer, allocatable :: index_final_points (3,n_points_final_grid)
|
||||
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_pbe`
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
Total weight on each grid point which takes into account all Lebedev, Voronoi and radial weights.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`alpha_knowles`
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`m_knowles`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_grid_points`
|
||||
|
||||
|
||||
|
||||
.. c:var:: final_weight_at_r_vector
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points (3,n_points_final_grid)
|
||||
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
|
||||
integer, allocatable :: index_final_points (3,n_points_final_grid)
|
||||
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_pbe`
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: grid_points_per_atom
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: grid_points_per_atom (3,n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
x,y,z coordinates of grid points used for integration in 3d space
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`alpha_knowles`
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`m_knowles`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: grid_points_radial
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: grid_points_radial (n_points_radial_grid)
|
||||
double precision :: dr_radial_integral
|
||||
double precision :: dr_radial_integral
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
points in [0,1] to map the radial integral [0,\infty]
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_radial_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
.. c:var:: index_final_points
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points (3,n_points_final_grid)
|
||||
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
|
||||
integer, allocatable :: index_final_points (3,n_points_final_grid)
|
||||
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_pbe`
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: index_final_points_reverse
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: final_grid_points (3,n_points_final_grid)
|
||||
double precision, allocatable :: final_weight_at_r_vector (n_points_final_grid)
|
||||
integer, allocatable :: index_final_points (3,n_points_final_grid)
|
||||
integer, allocatable :: index_final_points_reverse (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
final_grid_points(1:3,j) = (/ x, y, z /) of the jth grid point
|
||||
|
||||
final_weight_at_r_vector(i) = Total weight function of the ith grid point which contains the Lebedev, Voronoi and radial weights contributions
|
||||
|
||||
index_final_points(1:3,i) = gives the angular, radial and atomic indices associated to the ith grid point
|
||||
|
||||
index_final_points_reverse(i,j,k) = index of the grid point having i as angular, j as radial and l as atomic indices
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_pbe`
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: m_knowles
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: m_knowles
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: m_knowles
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
value of the "m" parameter in the equation (7) of the paper of Knowles (JCP, 104, 1996)
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_points_final_grid
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_points_final_grid
|
||||
File : :file:`becke_numerical_grid/grid_becke_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: n_points_final_grid
|
||||
|
||||
File: :file:`grid_becke_vector.irp.f`
|
||||
|
||||
Number of points which are non zero
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`aos_in_r_array`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_lda`
|
||||
* :c:data:`energy_x_pbe`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`mos_grad_in_r_array`
|
||||
* :c:data:`mos_in_r_array`
|
||||
* :c:data:`mos_lapl_in_r_array`
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
* :c:data:`potential_sr_c_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_lda`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_points_grid_per_atom
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_points_grid_per_atom
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: n_points_grid_per_atom
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
Number of grid points per atom
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_radial_grid`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_points_integration_angular
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_points_radial_grid
|
||||
integer :: n_points_integration_angular
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
integer :: n_points_radial_grid
|
||||
integer :: n_points_integration_angular
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
These numbers are automatically set by setting the grid_type_sgn parameter
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`grid_type_sgn`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_grid_per_atom`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_points_radial_grid
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_points_radial_grid
|
||||
integer :: n_points_integration_angular
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
integer :: n_points_radial_grid
|
||||
integer :: n_points_integration_angular
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
n_points_radial_grid = number of radial grid points per atom
|
||||
|
||||
n_points_integration_angular = number of angular grid points per atom
|
||||
|
||||
These numbers are automatically set by setting the grid_type_sgn parameter
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`grid_type_sgn`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`angular_quadrature_points`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`grid_points_radial`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_points_grid_per_atom`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`weight_at_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: weight_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: weight_at_r (n_points_integration_angular,n_points_radial_grid,nucl_num)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
Weight function at grid points : w_n(r) according to the equation (22) of Becke original paper (JCP, 88, 1988)
|
||||
Weight function at grid points : w_n(r) according to the equation (22)
|
||||
of Becke original paper (JCP, 88, 1988)
|
||||
|
||||
The "n" discrete variable represents the nucleis which in this array is
|
||||
represented by the last dimension and the points are labelled by the
|
||||
other dimensions.
|
||||
|
||||
The "n" discrete variable represents the nucleis which in this array is represented by the last dimension and the points are labelled by the other dimensions.
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: weights_angular_points
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`becke_numerical_grid/grid_becke.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: angular_quadrature_points (n_points_integration_angular,3)
|
||||
double precision, allocatable :: weights_angular_points (n_points_integration_angular)
|
||||
|
||||
File: :file:`grid_becke.irp.f`
|
||||
|
||||
weights and grid points for the integration on the angular variables on the unit sphere centered on (0,0,0) According to the LEBEDEV scheme
|
||||
weights and grid points for the integration on the angular variables on
|
||||
the unit sphere centered on (0,0,0)
|
||||
According to the LEBEDEV scheme
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_radial_grid`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: cell_function_becke:
|
||||
|
||||
|
||||
.. c:function:: cell_function_becke
|
||||
File : :file:`becke_numerical_grid/step_function_becke.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function cell_function_becke(r,atom_number)
|
||||
|
||||
File: :file:`step_function_becke.irp.f`
|
||||
|
||||
atom_number :: atom on which the cell function of Becke (1988, JCP,88(4)) r(1:3) :: x,y,z coordinantes of the current point
|
||||
atom_number :: atom on which the cell function of Becke (1988, JCP,88(4))
|
||||
r(1:3) :: x,y,z coordinantes of the current point
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
.. c:function:: derivative_knowles_function:
|
||||
|
||||
|
||||
.. c:function:: derivative_knowles_function
|
||||
File : :file:`becke_numerical_grid/integration_radial.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function derivative_knowles_function(alpha,m,x)
|
||||
|
||||
File: :file:`integration_radial.irp.f`
|
||||
|
||||
Derivative of the function proposed by Knowles (JCP, 104, 1996) for distributing the radial points
|
||||
|
||||
|
||||
|
||||
.. c:function:: example_becke_numerical_grid:
|
||||
|
||||
|
||||
.. c:function:: example_becke_numerical_grid
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine example_becke_numerical_grid
|
||||
|
||||
File: :file:`example.irp.f`
|
||||
File : :file:`becke_numerical_grid/example.irp.f`
|
||||
|
||||
subroutine that illustrates the main features available in becke_numerical_grid
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`final_weight_at_r`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
.. c:function:: f_function_becke:
|
||||
|
||||
|
||||
.. c:function:: f_function_becke
|
||||
File : :file:`becke_numerical_grid/step_function_becke.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function f_function_becke(x)
|
||||
|
||||
File: :file:`step_function_becke.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: knowles_function:
|
||||
|
||||
|
||||
.. c:function:: knowles_function
|
||||
File : :file:`becke_numerical_grid/integration_radial.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function knowles_function(alpha,m,x)
|
||||
|
||||
File: :file:`integration_radial.irp.f`
|
||||
|
||||
Function proposed by Knowles (JCP, 104, 1996) for distributing the radial points : the Log "m" function ( equation (7) in the paper )
|
||||
|
||||
Function proposed by Knowles (JCP, 104, 1996) for distributing the radial points :
|
||||
the Log "m" function ( equation (7) in the paper )
|
||||
|
||||
|
||||
.. c:function:: step_function_becke:
|
||||
|
||||
|
||||
.. c:function:: step_function_becke
|
||||
File : :file:`becke_numerical_grid/step_function_becke.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
double precision function step_function_becke(x)
|
||||
|
||||
File: :file:`step_function_becke.irp.f`
|
||||
|
||||
Step function of the Becke paper (1988, JCP,88(4))
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _cis:
|
||||
.. _module_cis:
|
||||
|
||||
.. program:: cis
|
||||
|
||||
|
@ -64,72 +64,212 @@ Programs
|
|||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: h_apply_cis:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis()
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cis_diexc`
|
||||
* :c:func:`h_apply_cis_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexc:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexc
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexcorg:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexcorg
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexcp:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_diexcp
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_monoexc:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cis_monoexc
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cis_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cis`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _cisd:
|
||||
.. _module_cisd:
|
||||
|
||||
.. program:: cisd
|
||||
|
||||
|
@ -62,72 +62,212 @@ Programs
|
|||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: h_apply_cisd:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd()
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
Calls H_apply on the |HF| determinant and selects all connected single and double
|
||||
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`h_apply_buffer_allocated`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`i_bitmask_gen`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_generators`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`build_fock_tmp`
|
||||
* :c:func:`copy_h_apply_buffer_to_wf`
|
||||
* :c:func:`dsort`
|
||||
* :c:func:`h_apply_cisd_diexc`
|
||||
* :c:func:`h_apply_cisd_monoexc`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexc:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexc
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_diexc(key_in, key_prev, hole_1,particl_1, hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_diexcp`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexcorg:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexcorg
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Generate all double excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
Generate all double excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_diexcp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexcp:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_diexcp
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_diexcP(key_in, fs1, fh1, particl_1, fs2, fh2, particl_2, fock_diag_tmp, i_generator, iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_diexc`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd_diexcorg`
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_monoexc:
|
||||
|
||||
|
||||
.. c:function:: h_apply_cisd_monoexc
|
||||
File : :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine H_apply_cisd_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
|
||||
File: :file:`h_apply.irp.f_shell_8`
|
||||
|
||||
Generate all single excitations of key_in using the bit masks of holes and particles. Assume N_int is already provided.
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`h_apply_cisd`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`bitstring_to_list_ab`
|
||||
* :c:func:`fill_h_apply_buffer_no_selection`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _davidson_dressed:
|
||||
.. _module_davidson_dressed:
|
||||
|
||||
.. program:: davidson_dressed
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _davidson_undressed:
|
||||
.. _module_davidson_undressed:
|
||||
|
||||
.. program:: davidson_undressed
|
||||
|
||||
|
@ -16,30 +16,60 @@ Module for main files Davidson's algorithm with no dressing.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: dressing_column_h
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`davidson_undressed/null_dressing_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: dressing_column_h (N_det,N_states)
|
||||
double precision, allocatable :: dressing_column_s (N_det,N_states)
|
||||
|
||||
File: :file:`null_dressing_vector.irp.f`
|
||||
|
||||
Null dressing vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ci_electronic_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: dressing_column_s
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`davidson_undressed/null_dressing_vector.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: dressing_column_h (N_det,N_states)
|
||||
double precision, allocatable :: dressing_column_s (N_det,N_states)
|
||||
|
||||
File: :file:`null_dressing_vector.irp.f`
|
||||
|
||||
Null dressing vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ci_electronic_energy`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _density_for_dft:
|
||||
.. _module_density_for_dft:
|
||||
|
||||
.. program:: density_for_dft
|
||||
|
||||
|
@ -38,110 +38,269 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: one_body_dm_mo_alpha_one_det
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states)
|
||||
double precision, allocatable :: one_body_dm_mo_beta_one_det (mo_num,mo_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
One body density matrix on the |MO| basis for a single determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_body_dm_mo_beta_one_det
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_body_dm_mo_alpha_one_det (mo_num,mo_num,N_states)
|
||||
double precision, allocatable :: one_body_dm_mo_beta_one_det (mo_num,mo_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
One body density matrix on the |MO| basis for a single determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_alpha_ao_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_ao_for_dft (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_ao_for_dft (ao_num,ao_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_average_mo_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_average_mo_for_dft (mo_num,mo_num)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_for_dft`
|
||||
* :c:data:`state_average_weight`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`short_range_hartree_operator`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_beta_ao_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_ao_for_dft (ao_num,ao_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_ao_for_dft (ao_num,ao_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
one body density matrix on the AO basis based on one_e_dm_mo_alpha_for_dft
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_mo_alpha_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_mo_alpha_for_dft (mo_num,mo_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
density matrix for alpha electrons in the MO basis used for all DFT calculations based on the density
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`damping_for_rs_dft`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`one_e_dm_mo_for_dft`
|
||||
* :c:data:`psi_dft_energy_kinetic`
|
||||
* :c:data:`trace_v_xc`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_mo_beta_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_mo_beta_for_dft (mo_num,mo_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
density matrix for beta electrons in the MO basis used for all DFT calculations based on the density
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`damping_for_rs_dft`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_body_dm_mo_alpha_one_det`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`one_e_dm_mo_for_dft`
|
||||
* :c:data:`psi_dft_energy_kinetic`
|
||||
* :c:data:`trace_v_xc`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_mo_for_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`density_for_dft/density_for_dft.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_mo_for_dft (mo_num,mo_num,N_states)
|
||||
|
||||
File: :file:`density_for_dft.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_mo_alpha_for_dft`
|
||||
* :c:data:`one_e_dm_mo_beta_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_average_mo_for_dft`
|
||||
* :c:data:`short_range_hartree_operator`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _dft_keywords:
|
||||
.. _module_dft_keywords:
|
||||
|
||||
.. program:: dft_keywords
|
||||
|
||||
|
@ -45,15 +45,24 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: dft_type
|
||||
|
||||
.. code:: text
|
||||
|
||||
character*(32) :: dft_type
|
||||
File : :file:`dft_keywords/keywords.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
character*(32) :: dft_type
|
||||
|
||||
File: :file:`keywords.irp.f`
|
||||
|
||||
defines the type of DFT applied: LDA, GGA etc ...
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`correlation_functional`
|
||||
* :c:data:`exchange_functional`
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _dft_utils_in_r:
|
||||
.. _module_dft_utils_in_r:
|
||||
|
||||
.. program:: dft_utils_in_r
|
||||
|
||||
|
@ -24,359 +24,853 @@ The main providers for this module are:
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: aos_grad_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`mos_grad_in_r_array`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_grad_in_r_array_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`mos_grad_in_r_array`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_grad_in_r_array_transp_xyz
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_grad_in_r_array (ao_num,n_points_final_grid,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp (n_points_final_grid,ao_num,3)
|
||||
double precision, allocatable :: aos_grad_in_r_array_transp_xyz (3,n_points_final_grid,ao_num)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
aos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith ao on the jth grid point
|
||||
|
||||
aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`mos_grad_in_r_array`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_in_r_array (ao_num,n_points_final_grid)
|
||||
double precision, allocatable :: aos_in_r_array_transp (n_points_final_grid,ao_num)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_in_r_array(i,j) = value of the ith ao on the jth grid point
|
||||
|
||||
aos_in_r_array(i,j) = value of the ith ao on the jth grid point
|
||||
|
||||
aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`potential_sr_c_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_lda`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_in_r_array_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_in_r_array (ao_num,n_points_final_grid)
|
||||
double precision, allocatable :: aos_in_r_array_transp (n_points_final_grid,ao_num)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_in_r_array(i,j) = value of the ith ao on the jth grid point
|
||||
|
||||
aos_in_r_array(i,j) = value of the ith ao on the jth grid point
|
||||
|
||||
aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`potential_sr_c_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_lda`
|
||||
* :c:data:`potential_sr_x_alpha_ao_pbe`
|
||||
* :c:data:`potential_x_alpha_ao_lda`
|
||||
* :c:data:`potential_x_alpha_ao_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_lapl_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_lapl_in_r_array (ao_num,n_points_final_grid,3)
|
||||
double precision, allocatable :: aos_lapl_in_r_array_transp (n_points_final_grid,ao_num,3)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point
|
||||
|
||||
aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point
|
||||
|
||||
aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point
|
||||
|
||||
aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mos_lapl_in_r_array`
|
||||
|
||||
|
||||
|
||||
.. c:var:: aos_lapl_in_r_array_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/ao_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: aos_lapl_in_r_array (ao_num,n_points_final_grid,3)
|
||||
double precision, allocatable :: aos_lapl_in_r_array_transp (n_points_final_grid,ao_num,3)
|
||||
|
||||
File: :file:`ao_in_r.irp.f`
|
||||
|
||||
aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point
|
||||
|
||||
aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point
|
||||
|
||||
aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point
|
||||
|
||||
aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_expo_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power_ordered_transp_per_nucl`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`nucl_aos_transposed`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_n_aos`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mos_lapl_in_r_array`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mos_grad_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/mo_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mos_grad_in_r_array (mo_num,n_points_final_grid,3)
|
||||
|
||||
File: :file:`mo_in_r.irp.f`
|
||||
|
||||
mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point
|
||||
|
||||
mos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth mo on the ith grid point
|
||||
|
||||
mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point
|
||||
|
||||
mos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth mo on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_grad_in_r_array`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_final_grid`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mos_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/mo_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mos_in_r_array (mo_num,n_points_final_grid)
|
||||
double precision, allocatable :: mos_in_r_array_transp (n_points_final_grid,mo_num)
|
||||
|
||||
File: :file:`mo_in_r.irp.f`
|
||||
|
||||
mos_in_r_array(i,j) = value of the ith mo on the jth grid point
|
||||
|
||||
mos_in_r_array(i,j) = value of the ith mo on the jth grid point
|
||||
|
||||
mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_final_grid`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mos_in_r_array_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/mo_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mos_in_r_array (mo_num,n_points_final_grid)
|
||||
double precision, allocatable :: mos_in_r_array_transp (n_points_final_grid,mo_num)
|
||||
|
||||
File: :file:`mo_in_r.irp.f`
|
||||
|
||||
mos_in_r_array(i,j) = value of the ith mo on the jth grid point
|
||||
|
||||
mos_in_r_array(i,j) = value of the ith mo on the jth grid point
|
||||
|
||||
mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_final_grid`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mos_lapl_in_r_array
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/mo_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mos_lapl_in_r_array (mo_num,n_points_final_grid,3)
|
||||
|
||||
File: :file:`mo_in_r.irp.f`
|
||||
|
||||
mos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith mo on the jth grid point
|
||||
|
||||
mos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth mo on the ith grid point
|
||||
|
||||
mos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith mo on the jth grid point
|
||||
|
||||
mos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth mo on the ith grid point
|
||||
|
||||
k = 1 : x, k= 2, y, k 3, z
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`aos_lapl_in_r_array`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_final_grid`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_alpha_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate)
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_x_lda`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_alpha_in_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_and_grad_alpha_in_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate)
|
||||
one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_and_grad_beta_in_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate)
|
||||
one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_beta_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate)
|
||||
one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate)
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_lda_w`
|
||||
* :c:data:`aos_vc_alpha_lda_w`
|
||||
* :c:data:`energy_sr_x_lda`
|
||||
* :c:data:`energy_x_lda`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_dm_beta_in_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_alpha_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states)
|
||||
double precision, allocatable :: one_e_dm_beta_in_r (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`grid_points_per_atom`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_points_radial_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_grad_2_dm_alpha_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate)
|
||||
one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_pbe`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_grad_2_dm_beta_at_r
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: one_e_dm_and_grad_alpha_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_dm_and_grad_beta_in_r (4,n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_alpha_at_r (n_points_final_grid,N_states)
|
||||
double precision, allocatable :: one_e_grad_2_dm_beta_at_r (n_points_final_grid,N_states)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2 where r_i is the ith point of the grid and istate is the state number
|
||||
one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate)
|
||||
one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate)
|
||||
one_e_grad_2_dm_alpha_at_r(i,istate) = d\dx n_alpha(r_i,istate)^2 + d\dy n_alpha(r_i,istate)^2 + d\dz n_alpha(r_i,istate)^2
|
||||
where r_i is the ith point of the grid and istate is the state number
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`final_grid_points`
|
||||
* :c:data:`n_points_final_grid`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`aos_sr_vc_alpha_pbe_w`
|
||||
* :c:data:`aos_vc_alpha_pbe_w`
|
||||
* :c:data:`energy_sr_x_pbe`
|
||||
* :c:data:`energy_x_pbe`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r:
|
||||
|
||||
|
||||
.. c:function:: density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
input : r(1) ==> r(1) = x, r(2) = y, r(3) = z output : dm_a = alpha density evaluated at r : dm_b = beta density evaluated at r : aos_array(i) = ao(i) evaluated at r : grad_dm_a(1) = X gradient of the alpha density evaluated in r : grad_dm_a(1) = X gradient of the beta density evaluated in r : grad_aos_array(1) = X gradient of the aos(i) evaluated at r
|
||||
input : r(1) ==> r(1) = x, r(2) = y, r(3) = z
|
||||
output : dm_a = alpha density evaluated at r
|
||||
: dm_b = beta density evaluated at r
|
||||
: aos_array(i) = ao(i) evaluated at r
|
||||
: grad_dm_a(1) = X gradient of the alpha density evaluated in r
|
||||
: grad_dm_a(1) = X gradient of the beta density evaluated in r
|
||||
: grad_aos_array(1) = X gradient of the aos(i) evaluated at r
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_and_grad_alpha_in_r`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dsymv`
|
||||
* :c:func:`give_all_aos_and_grad_at_r`
|
||||
|
||||
|
||||
.. c:function:: dm_dft_alpha_beta_and_all_aos_at_r:
|
||||
|
||||
|
||||
.. c:function:: dm_dft_alpha_beta_and_all_aos_at_r
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine dm_dft_alpha_beta_and_all_aos_at_r(r,dm_a,dm_b,aos_array)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
input: r(1) ==> r(1) = x, r(2) = y, r(3) = z output : dm_a = alpha density evaluated at r output : dm_b = beta density evaluated at r output : aos_array(i) = ao(i) evaluated at r
|
||||
input: r(1) ==> r(1) = x, r(2) = y, r(3) = z
|
||||
output : dm_a = alpha density evaluated at r
|
||||
output : dm_b = beta density evaluated at r
|
||||
output : aos_array(i) = ao(i) evaluated at r
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dsymv`
|
||||
* :c:func:`give_all_aos_at_r`
|
||||
|
||||
|
||||
.. c:function:: dm_dft_alpha_beta_at_r:
|
||||
|
||||
|
||||
.. c:function:: dm_dft_alpha_beta_at_r
|
||||
File : :file:`dft_utils_in_r/dm_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine dm_dft_alpha_beta_at_r(r,dm_a,dm_b)
|
||||
|
||||
File: :file:`dm_in_r.irp.f`
|
||||
|
||||
input: r(1) ==> r(1) = x, r(2) = y, r(3) = z output : dm_a = alpha density evaluated at r(3) output : dm_b = beta density evaluated at r(3)
|
||||
input: r(1) ==> r(1) = x, r(2) = y, r(3) = z
|
||||
output : dm_a = alpha density evaluated at r(3)
|
||||
output : dm_b = beta density evaluated at r(3)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`one_e_dm_alpha_ao_for_dft`
|
||||
* :c:data:`n_states`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_alpha_at_r`
|
||||
* :c:data:`one_e_dm_alpha_in_r`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemv`
|
||||
* :c:func:`give_all_aos_at_r`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _dressing:
|
||||
.. _module_dressing:
|
||||
|
||||
.. program:: dressing
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _electrons:
|
||||
.. _module_electrons:
|
||||
|
||||
.. program:: electrons
|
||||
|
||||
|
@ -47,30 +47,68 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: elec_num
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: elec_num
|
||||
File : :file:`electrons/electrons.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: elec_num
|
||||
integer, allocatable :: elec_num_tab (2)
|
||||
|
||||
File: :file:`electrons.irp.f`
|
||||
|
||||
Numbers of alpha ("up") , beta ("down") and total electrons
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
* :c:data:`pt2_f`
|
||||
|
||||
|
||||
|
||||
.. c:var:: elec_num_tab
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: elec_num
|
||||
File : :file:`electrons/electrons.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: elec_num
|
||||
integer, allocatable :: elec_num_tab (2)
|
||||
|
||||
File: :file:`electrons.irp.f`
|
||||
|
||||
Numbers of alpha ("up") , beta ("down") and total electrons
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`diagonal_h_matrix_on_psi_det`
|
||||
* :c:data:`psi_det_hii`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
* :c:data:`pt2_f`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _ezfio_files:
|
||||
.. _module_ezfio_files:
|
||||
|
||||
.. program:: ezfio_files
|
||||
|
||||
|
@ -18,134 +18,641 @@ command-line, or as the :envvar:`QP_INPUT` environment variable.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ezfio_filename
|
||||
|
||||
.. code:: text
|
||||
|
||||
character*(128) :: ezfio_filename
|
||||
File : :file:`ezfio_files/ezfio.irp.f`
|
||||
|
||||
File: :file:`ezfio.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment variable if it is set, or as the 1st argument of the command line.
|
||||
character*(128) :: ezfio_filename
|
||||
|
||||
|
||||
Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment
|
||||
variable if it is set, or as the 1st argument of the command line.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_initialized`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_cartesian`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`disk_based_davidson`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`elec_num`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`ezfio_work_dir`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`generators_bitmask_restart`
|
||||
* :c:data:`io_ao_integrals_e_n`
|
||||
* :c:data:`io_ao_integrals_kinetic`
|
||||
* :c:data:`io_ao_integrals_overlap`
|
||||
* :c:data:`io_ao_integrals_pseudo`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`io_mo_integrals_e_n`
|
||||
* :c:data:`io_mo_integrals_kinetic`
|
||||
* :c:data:`io_mo_integrals_pseudo`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals_erf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_cas_bitmask`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_det_iterations`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_generators_bitmask`
|
||||
* :c:data:`n_generators_bitmask_restart`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_charge_remove`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`only_expected_s2`
|
||||
* :c:data:`pseudo_dz_k`
|
||||
* :c:data:`pseudo_dz_kl`
|
||||
* :c:data:`pseudo_grid_rmax`
|
||||
* :c:data:`pseudo_grid_size`
|
||||
* :c:data:`pseudo_klocmax`
|
||||
* :c:data:`pseudo_kmax`
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_relative_error`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ezfio_work_dir
|
||||
|
||||
.. code:: text
|
||||
|
||||
character*(128) :: ezfio_work_dir
|
||||
File : :file:`ezfio_files/ezfio.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
character*(128) :: ezfio_work_dir
|
||||
|
||||
File: :file:`ezfio.irp.f`
|
||||
|
||||
EZFIO/work/
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: output_cpu_time_0
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: output_wall_time_0
|
||||
double precision :: output_cpu_time_0
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: output_wall_time_0
|
||||
double precision :: output_cpu_time_0
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Initial CPU and wall times when printing in the output files
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_cartesian`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`disk_based_davidson`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`io_ao_integrals_e_n`
|
||||
* :c:data:`io_ao_integrals_kinetic`
|
||||
* :c:data:`io_ao_integrals_overlap`
|
||||
* :c:data:`io_ao_integrals_pseudo`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`io_mo_integrals_e_n`
|
||||
* :c:data:`io_mo_integrals_kinetic`
|
||||
* :c:data:`io_mo_integrals_pseudo`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals_erf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_det_iterations`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_charge_remove`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`only_expected_s2`
|
||||
* :c:data:`pseudo_dz_k`
|
||||
* :c:data:`pseudo_dz_kl`
|
||||
* :c:data:`pseudo_grid_rmax`
|
||||
* :c:data:`pseudo_grid_size`
|
||||
* :c:data:`pseudo_klocmax`
|
||||
* :c:data:`pseudo_kmax`
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_relative_error`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
|
||||
|
||||
|
||||
.. c:var:: output_wall_time_0
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: output_wall_time_0
|
||||
double precision :: output_cpu_time_0
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: output_wall_time_0
|
||||
double precision :: output_cpu_time_0
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Initial CPU and wall times when printing in the output files
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_cartesian`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`disk_based_davidson`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`io_ao_integrals_e_n`
|
||||
* :c:data:`io_ao_integrals_kinetic`
|
||||
* :c:data:`io_ao_integrals_overlap`
|
||||
* :c:data:`io_ao_integrals_pseudo`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`io_mo_integrals_e_n`
|
||||
* :c:data:`io_mo_integrals_kinetic`
|
||||
* :c:data:`io_mo_integrals_pseudo`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals_erf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_det_iterations`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_charge_remove`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`only_expected_s2`
|
||||
* :c:data:`pseudo_dz_k`
|
||||
* :c:data:`pseudo_dz_kl`
|
||||
* :c:data:`pseudo_grid_rmax`
|
||||
* :c:data:`pseudo_grid_size`
|
||||
* :c:data:`pseudo_klocmax`
|
||||
* :c:data:`pseudo_kmax`
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_relative_error`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: getunitandopen:
|
||||
|
||||
|
||||
.. c:function:: getunitandopen
|
||||
File : :file:`ezfio_files/get_unit_and_open.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function getUnitAndOpen(f,mode)
|
||||
|
||||
File: :file:`get_unit_and_open.irp.f`
|
||||
|
||||
:f: file name
|
||||
|
||||
:mode: 'R' : READ, UNFORMATTED 'W' : WRITE, UNFORMATTED 'r' : READ, FORMATTED 'w' : WRITE, FORMATTED 'a' : APPEND, FORMATTED 'x' : READ/WRITE, FORMATTED
|
||||
|
||||
|
||||
|
||||
:f:
|
||||
file name
|
||||
|
||||
:mode:
|
||||
'R' : READ, UNFORMATTED
|
||||
'W' : WRITE, UNFORMATTED
|
||||
'r' : READ, FORMATTED
|
||||
'w' : WRITE, FORMATTED
|
||||
'a' : APPEND, FORMATTED
|
||||
'x' : READ/WRITE, FORMATTED
|
||||
|
||||
|
||||
|
||||
.. c:function:: write_bool:
|
||||
|
||||
|
||||
.. c:function:: write_bool
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_bool(iunit,value,label)
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Write an logical value in output
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
.. c:function:: write_double:
|
||||
|
||||
|
||||
.. c:function:: write_double
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_double(iunit,value,label)
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Write a double precision value in output
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ci_energy`
|
||||
* :c:func:`damping_scf`
|
||||
* :c:func:`davidson_diag_hjj_sjj`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`psi_coef_max`
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_slave_main`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
* :c:func:`zmq_pt2`
|
||||
* :c:func:`zmq_selection`
|
||||
|
||||
|
||||
.. c:function:: write_int:
|
||||
|
||||
|
||||
.. c:function:: write_int
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_int(iunit,value,label)
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Write an integer value in output
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:func:`davidson_diag_hjj_sjj`
|
||||
* :c:data:`inact_bitmask`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_act_orb`
|
||||
* :c:data:`n_cas_bitmask`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_generators_bitmask`
|
||||
* :c:data:`n_generators_bitmask_restart`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`nthreads_davidson`
|
||||
* :c:data:`nthreads_pt2`
|
||||
* :c:data:`psi_cas`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_det_beta_unique`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`qp_max_mem`
|
||||
* :c:func:`remove_small_contributions`
|
||||
* :c:func:`save_wavefunction_general`
|
||||
* :c:func:`save_wavefunction_specified`
|
||||
* :c:func:`zmq_pt2`
|
||||
|
||||
|
||||
.. c:function:: write_time:
|
||||
|
||||
|
||||
.. c:function:: write_time
|
||||
File : :file:`ezfio_files/output.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_time(iunit)
|
||||
|
||||
File: :file:`output.irp.f`
|
||||
|
||||
Write a time stamp in the output for chronological reconstruction
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`output_wall_time_0`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_cartesian`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:func:`damping_scf`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:func:`davidson_diag_hjj_sjj`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`disk_based_davidson`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`io_ao_integrals_e_n`
|
||||
* :c:data:`io_ao_integrals_kinetic`
|
||||
* :c:data:`io_ao_integrals_overlap`
|
||||
* :c:data:`io_ao_integrals_pseudo`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`io_mo_integrals_e_n`
|
||||
* :c:data:`io_mo_integrals_kinetic`
|
||||
* :c:data:`io_mo_integrals_pseudo`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals_erf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:func:`make_s2_eigenfunction`
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||
* :c:func:`mo_as_svd_vectors_of_mo_matrix`
|
||||
* :c:func:`mo_as_svd_vectors_of_mo_matrix_eig`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_det_iterations`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_charge_remove`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`only_expected_s2`
|
||||
* :c:data:`pseudo_dz_k`
|
||||
* :c:data:`pseudo_dz_kl`
|
||||
* :c:data:`pseudo_grid_rmax`
|
||||
* :c:data:`pseudo_grid_size`
|
||||
* :c:data:`pseudo_klocmax`
|
||||
* :c:data:`pseudo_kmax`
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_relative_error`
|
||||
* :c:data:`read_wf`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`cpu_time`
|
||||
* :c:func:`print_memory_usage`
|
||||
* :c:func:`wall_time`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _fci:
|
||||
.. _module_fci:
|
||||
|
||||
.. program:: fci
|
||||
|
||||
|
@ -80,47 +80,64 @@ Programs
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: nthreads_pt2
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: nthreads_pt2
|
||||
File : :file:`fci/environment.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: nthreads_pt2
|
||||
|
||||
File: :file:`environment.irp.f`
|
||||
|
||||
Number of threads for Davidson
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`nproc`
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: save_energy:
|
||||
|
||||
|
||||
.. c:function:: run
|
||||
File : :file:`fci/save_energy.irp.f`
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine run
|
||||
|
||||
File: :file:`pt2.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:function:: save_energy
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine save_energy(E,pt2)
|
||||
|
||||
File: :file:`save_energy.irp.f`
|
||||
|
||||
Saves the energy in |EZFIO|.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_states`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_fci_energy`
|
||||
* :c:func:`ezfio_set_fci_energy_pt2`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _generators_cas:
|
||||
.. _module_generators_cas:
|
||||
|
||||
.. program:: generators_cas
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _generators_full:
|
||||
.. _module_generators_full:
|
||||
|
||||
.. program:: generators_full
|
||||
|
||||
|
@ -19,127 +19,277 @@ a full set of generators.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: degree_max_generators
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: degree_max_generators
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: degree_max_generators
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
Max degree of excitation (respect to HF) of the generators
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`hf_bitmask`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_det_generators`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_det_generators
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_det_generators
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
For Single reference wave functions, the number of generators is 1 : the Hartree-Fock determinant
|
||||
integer :: n_det_generators
|
||||
|
||||
|
||||
For Single reference wave functions, the number of generators is 1 : the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`output_wall_time_0`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`threshold_generators`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`degree_max_generators`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`pt2_j`
|
||||
* :c:data:`pt2_n_tasks`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`pt2_u`
|
||||
* :c:data:`pt2_w`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_coef_generators
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
|
||||
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
For Single reference wave functions, the generator is the Hartree-Fock determinant
|
||||
For Single reference wave functions, the generator is the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`degree_max_generators`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_coef_sorted_gen
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size)
|
||||
double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states)
|
||||
integer, allocatable :: psi_det_sorted_gen_order (psi_det_size)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
For Single reference wave functions, the generator is the Hartree-Fock determinant
|
||||
For Single reference wave functions, the generator is the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`pt2_w`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_det_generators
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_det_generators (N_int,2,psi_det_size)
|
||||
double precision, allocatable :: psi_coef_generators (psi_det_size,N_states)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
For Single reference wave functions, the generator is the Hartree-Fock determinant
|
||||
For Single reference wave functions, the generator is the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`degree_max_generators`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_det_sorted_gen
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size)
|
||||
double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states)
|
||||
integer, allocatable :: psi_det_sorted_gen_order (psi_det_size)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
For Single reference wave functions, the generator is the Hartree-Fock determinant
|
||||
For Single reference wave functions, the generator is the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`pt2_w`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_det_sorted_gen_order
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_det_sorted_gen (N_int,2,psi_det_size)
|
||||
double precision, allocatable :: psi_coef_sorted_gen (psi_det_size,N_states)
|
||||
integer, allocatable :: psi_det_sorted_gen_order (psi_det_size)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
For Single reference wave functions, the generator is the Hartree-Fock determinant
|
||||
For Single reference wave functions, the generator is the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`pt2_f`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`pt2_w`
|
||||
|
||||
|
||||
|
||||
.. c:var:: select_max
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: select_max (size_select_max)
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
Memo to skip useless selectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`size_select_max`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: size_select_max
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: size_select_max
|
||||
File : :file:`generators_full/generators.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: size_select_max
|
||||
|
||||
File: :file:`generators.irp.f`
|
||||
|
||||
Size of the select_max array
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`select_max`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _hartree_fock:
|
||||
.. _module_hartree_fock:
|
||||
|
||||
.. program:: hartree_fock
|
||||
|
||||
|
@ -67,138 +67,357 @@ Programs
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ao_two_e_integral_alpha
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`hartree_fock/fock_matrix_hf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
|
||||
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_hf.irp.f`
|
||||
|
||||
Alpha Fock matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_integrals_map`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_two_e_integral_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`hf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_two_e_integral_beta
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`hartree_fock/fock_matrix_hf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_two_e_integral_alpha (ao_num,ao_num)
|
||||
double precision, allocatable :: ao_two_e_integral_beta (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_hf.irp.f`
|
||||
|
||||
Alpha Fock matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_coef_normalized_ordered_transp`
|
||||
* :c:data:`ao_expo_ordered_transp`
|
||||
* :c:data:`ao_integrals_map`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_two_e_integral_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`n_pt_max_integrals`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`hf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: extra_e_contrib_density
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: extra_e_contrib_density
|
||||
File : :file:`hartree_fock/hf_energy.irp.f`
|
||||
|
||||
File: :file:`hf_energy.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
Extra contribution to the SCF energy coming from the density.
|
||||
double precision :: extra_e_contrib_density
|
||||
|
||||
For a Hartree-Fock calculation: extra_e_contrib_density = 0
|
||||
|
||||
Extra contribution to the SCF energy coming from the density.
|
||||
|
||||
For a Hartree-Fock calculation: extra_e_contrib_density = 0
|
||||
|
||||
For a Kohn-Sham or Range-separated Kohn-Sham: the exchange/correlation - trace of the V_xc potential
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_ao_alpha
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`hartree_fock/fock_matrix_hf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
|
||||
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_hf.irp.f`
|
||||
|
||||
Alpha Fock matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_ao_beta
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`hartree_fock/fock_matrix_hf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_ao_alpha (ao_num,ao_num)
|
||||
double precision, allocatable :: fock_matrix_ao_beta (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_hf.irp.f`
|
||||
|
||||
Alpha Fock matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: hf_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
File : :file:`hartree_fock/hf_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
|
||||
File: :file:`hf_energy.irp.f`
|
||||
|
||||
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hf_one_electron_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
File : :file:`hartree_fock/hf_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
|
||||
File: :file:`hf_energy.irp.f`
|
||||
|
||||
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: hf_two_electron_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
File : :file:`hartree_fock/hf_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: hf_energy
|
||||
double precision :: hf_two_electron_energy
|
||||
double precision :: hf_one_electron_energy
|
||||
|
||||
File: :file:`hf_energy.irp.f`
|
||||
|
||||
Hartree-Fock energy containing the nuclear repulsion, and its one- and two-body components.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: create_guess:
|
||||
|
||||
|
||||
.. c:function:: create_guess
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine create_guess
|
||||
|
||||
File: :file:`scf.irp.f`
|
||||
File : :file:`hartree_fock/scf.irp.f`
|
||||
|
||||
Create a MO guess if no MOs are present in the EZFIO directory
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`ao_ortho_lowdin_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_has_mo_basis_mo_coef`
|
||||
* :c:func:`huckel_guess`
|
||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
|
||||
.. c:function:: run:
|
||||
|
||||
|
||||
File : :file:`hartree_fock/scf.irp.f`
|
||||
|
||||
Run SCF calculation
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`scf_energy`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`pt2`
|
||||
* :c:func:`scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_hartree_fock_energy`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _iterations:
|
||||
.. _module_iterations:
|
||||
|
||||
.. program:: iterations
|
||||
|
||||
|
@ -41,74 +41,159 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: extrapolated_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`iterations/iterations.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: extrapolated_energy (N_iter,N_states)
|
||||
|
||||
File: :file:`iterations.irp.f`
|
||||
|
||||
Extrapolated energy, using E_var = f(PT2) where PT2=0
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_iterations`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_iter
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_iter
|
||||
File : :file:`iterations/io.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: n_iter
|
||||
|
||||
File: :file:`io.irp.f`
|
||||
|
||||
number of iterations
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`output_wall_time_0`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extrapolated_energy`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: print_extrapolated_energy:
|
||||
|
||||
|
||||
.. c:function:: print_extrapolated_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine print_extrapolated_energy
|
||||
|
||||
File: :file:`print_extrapolation.irp.f`
|
||||
File : :file:`iterations/print_extrapolation.irp.f`
|
||||
|
||||
Print the extrapolated energy in the output
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extrapolated_energy`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`n_iter`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
|
||||
.. c:function:: print_summary:
|
||||
|
||||
|
||||
.. c:function:: print_summary
|
||||
File : :file:`iterations/print_summary.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st)
|
||||
subroutine print_summary(e_,pt2_,error_,variance_,norm_,n_det_,n_occ_pattern_,n_st,s2_)
|
||||
|
||||
File: :file:`print_summary.irp.f`
|
||||
|
||||
Print the extrapolated energy in the output
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`s2_eig`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
|
||||
.. c:function:: save_iterations:
|
||||
|
||||
|
||||
.. c:function:: save_iterations
|
||||
File : :file:`iterations/iterations.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine save_iterations(e_, pt2_,n_)
|
||||
|
||||
File: :file:`iterations.irp.f`
|
||||
|
||||
Update the energy in the EZFIO file.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`n_det_iterations`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_iterations_energy_iterations`
|
||||
* :c:func:`ezfio_set_iterations_n_det_iterations`
|
||||
* :c:func:`ezfio_set_iterations_n_iter`
|
||||
* :c:func:`ezfio_set_iterations_pt2_iterations`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _kohn_sham:
|
||||
.. _module_kohn_sham:
|
||||
|
||||
.. program:: kohn_sham
|
||||
|
||||
|
@ -56,35 +56,46 @@ Programs
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ks_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`ks_enery.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`ks_enery.irp.f`
|
||||
|
||||
Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: ks_cf
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine ks_cf
|
||||
|
||||
File: :file:`ks_scf.irp.f`
|
||||
|
||||
Produce `Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _kohn_sham_rs:
|
||||
.. _module_kohn_sham_rs:
|
||||
|
||||
.. program:: kohn_sham_rs
|
||||
|
||||
|
@ -64,187 +64,400 @@ Programs
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ao_potential_alpha_xc
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`pot_functionals.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
|
||||
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
|
||||
|
||||
File: :file:`pot_functionals.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`potential_x_alpha_ao`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`rs_ks_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_potential_beta_xc
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`pot_functionals.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_potential_alpha_xc (ao_num,ao_num)
|
||||
double precision, allocatable :: ao_potential_beta_xc (ao_num,ao_num)
|
||||
|
||||
File: :file:`pot_functionals.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`potential_x_alpha_ao`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`rs_ks_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: e_correlation_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: e_correlation_dft
|
||||
File : :file:`pot_functionals.irp.f`
|
||||
|
||||
File: :file:`pot_functionals.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
|
||||
double precision :: e_correlation_dft
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`energy_x`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
* :c:data:`rs_ks_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: e_exchange_dft
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: e_exchange_dft
|
||||
File : :file:`pot_functionals.irp.f`
|
||||
|
||||
File: :file:`pot_functionals.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
|
||||
double precision :: e_exchange_dft
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`energy_x`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
* :c:data:`rs_ks_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_alpha_no_xc_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`fock_matrix_rs_ks.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
|
||||
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_rs_ks.irp.f`
|
||||
|
||||
Mono electronic an Coulomb matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_beta_no_xc_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`fock_matrix_rs_ks.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_alpha_no_xc_ao (ao_num,ao_num)
|
||||
double precision, allocatable :: fock_matrix_beta_no_xc_ao (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix_rs_ks.irp.f`
|
||||
|
||||
Mono electronic an Coulomb matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`rs_ks_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`rs_ks_energy.irp.f`
|
||||
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
.. c:var:: one_e_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`rs_ks_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`rs_ks_energy.irp.f`
|
||||
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
.. c:var:: rs_ks_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`rs_ks_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`rs_ks_energy.irp.f`
|
||||
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
.. c:var:: trace_potential_xc
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`rs_ks_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`rs_ks_energy.irp.f`
|
||||
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
.. c:var:: two_e_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
File : :file:`rs_ks_energy.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: rs_ks_energy
|
||||
double precision :: two_e_energy
|
||||
double precision :: one_e_energy
|
||||
double precision :: fock_matrix_energy
|
||||
double precision :: trace_potential_xc
|
||||
|
||||
File: :file:`rs_ks_energy.irp.f`
|
||||
|
||||
Range-separated Kohn-Sham energy containing the nuclear repulsion energy, and the various components of this quantity.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`ao_potential_alpha_xc`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`e_correlation_dft`
|
||||
* :c:data:`e_exchange_dft`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: check_coherence_functional:
|
||||
|
||||
|
||||
.. c:function:: check_coherence_functional
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine check_coherence_functional
|
||||
|
||||
File: :file:`rs_ks_scf.irp.f`
|
||||
|
||||
|
||||
File : :file:`rs_ks_scf.irp.f`
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`exchange_functional`
|
||||
* :c:data:`correlation_functional`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`rs_ks_scf`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _mo_basis:
|
||||
.. _module_mo_basis:
|
||||
|
||||
.. program:: mo_basis
|
||||
|
||||
|
@ -68,303 +68,736 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: mo_coef
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_coef (ao_num,mo_num)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Molecular orbital coefficients on |AO| basis set
|
||||
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the jth mo
|
||||
|
||||
Molecular orbital coefficients on |AO| basis set
|
||||
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the jth mo
|
||||
|
||||
mo_label : Label characterizing the MOS (local, canonical, natural, etc)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_canonical_coef`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
* :c:data:`mo_coef_in_ao_ortho_basis`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_dipole_x`
|
||||
* :c:data:`mo_integrals_n_e`
|
||||
* :c:data:`mo_integrals_n_e_per_atom`
|
||||
* :c:data:`mo_kinetic_integrals`
|
||||
* :c:data:`mo_overlap`
|
||||
* :c:data:`mo_pseudo_integrals`
|
||||
* :c:data:`mo_spread_x`
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`one_e_dm_ao_alpha`
|
||||
* :c:data:`one_e_spin_density_ao`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`s_mo_coef`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_coef_begin_iteration
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_basis/track_orb.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_coef_begin_iteration (ao_num,mo_num)
|
||||
|
||||
File: :file:`track_orb.irp.f`
|
||||
|
||||
Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration
|
||||
|
||||
Void provider to store the coefficients of the |MO| basis at the beginning of the SCF iteration
|
||||
|
||||
Usefull to track some orbitals
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_coef_in_ao_ortho_basis
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_coef_in_ao_ortho_basis (ao_num,mo_num)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
|MO| coefficients in orthogonalized |AO| basis
|
||||
|MO| coefficients in orthogonalized |AO| basis
|
||||
|
||||
:math:`C^{-1}.C_{mo}`
|
||||
|
||||
:math:`C^{-1}.C_{mo}`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_canonical_coef_inv`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_coef_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_coef_transp (mo_num,ao_num)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
|MO| coefficients on |AO| basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_label
|
||||
|
||||
.. code:: text
|
||||
|
||||
character*(64) :: mo_label
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
|MO| coefficients on |AO| basis set
|
||||
character*(64) :: mo_label
|
||||
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the j-th |MO|
|
||||
|
||||
|MO| coefficients on |AO| basis set
|
||||
|
||||
mo_coef(i,j) = coefficient of the i-th |AO| on the j-th |MO|
|
||||
|
||||
mo_label : Label characterizing the |MOs| (local, canonical, natural, etc)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_num
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: mo_num
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: mo_num
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Number of MOs
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_ortho_canonical_coef`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_ortho_canonical_nucl_elec_integrals`
|
||||
* :c:data:`ao_ortho_lowdin_nucl_elec_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`core_fock_operator`
|
||||
* :c:data:`core_fock_operator_erf`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||
* :c:data:`fock_wee_closed_shell`
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
* :c:data:`full_ijkl_bitmask`
|
||||
* :c:data:`int_erf_3_index`
|
||||
* :c:data:`list_act`
|
||||
* :c:data:`list_core`
|
||||
* :c:data:`list_core_inact`
|
||||
* :c:data:`list_core_inact_act`
|
||||
* :c:data:`list_inact`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_coef_begin_iteration`
|
||||
* :c:data:`mo_coef_in_ao_ortho_basis`
|
||||
* :c:data:`mo_coef_transp`
|
||||
* :c:data:`mo_dipole_x`
|
||||
* :c:data:`mo_energy_expval`
|
||||
* :c:data:`mo_integrals_cache_min`
|
||||
* :c:data:`mo_integrals_erf_cache_min`
|
||||
* :c:data:`mo_integrals_erf_map`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_integrals_n_e`
|
||||
* :c:data:`mo_integrals_n_e_per_atom`
|
||||
* :c:data:`mo_kinetic_integrals`
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`mo_overlap`
|
||||
* :c:data:`mo_pseudo_integrals`
|
||||
* :c:data:`mo_spread_x`
|
||||
* :c:data:`mo_two_e_int_erf_jj`
|
||||
* :c:data:`mo_two_e_int_erf_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integral_jj_from_ao`
|
||||
* :c:data:`mo_two_e_integrals_erf_in_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mo_two_e_integrals_jj`
|
||||
* :c:data:`mo_two_e_integrals_vv_from_ao`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`one_e_dm_ao_alpha`
|
||||
* :c:data:`one_e_dm_dagger_mo_spin_index`
|
||||
* :c:data:`one_e_dm_mo`
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
* :c:data:`one_e_dm_mo_alpha_average`
|
||||
* :c:data:`one_e_dm_mo_diff`
|
||||
* :c:data:`one_e_dm_mo_spin_index`
|
||||
* :c:data:`one_e_spin_density_ao`
|
||||
* :c:data:`one_e_spin_density_mo`
|
||||
* :c:data:`psi_energy_h_core`
|
||||
* :c:data:`s_mo_coef`
|
||||
* :c:data:`singles_alpha_csc_idx`
|
||||
* :c:data:`singles_beta_csc_idx`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_occ
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_occ (mo_num)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
|MO| occupation numbers
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: ao_ortho_cano_to_ao:
|
||||
|
||||
|
||||
.. c:function:: ao_ortho_cano_to_ao
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_ortho_cano_to_ao(A_ao,LDA_ao,A,LDA)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Transform A from the |AO| basis to the orthogonal |AO| basis
|
||||
Transform A from the |AO| basis to the orthogonal |AO| basis
|
||||
|
||||
$C^{-1}.A_{ao}.C^{\dagger-1}$
|
||||
|
||||
:math:`C^{-1}.A_{ao}.C^{\dagger-1}`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_canonical_coef_inv`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
|
||||
|
||||
.. c:function:: ao_to_mo:
|
||||
|
||||
|
||||
.. c:function:: ao_to_mo
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine ao_to_mo(A_ao,LDA_ao,A_mo,LDA_mo)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Transform A from the |AO| basis to the |MO| basis
|
||||
Transform A from the |AO| basis to the |MO| basis
|
||||
|
||||
$C^\dagger.A_{ao}.C$
|
||||
|
||||
:math:`C^\dagger.A_{ao}.C`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
* :c:data:`mo_dipole_x`
|
||||
* :c:data:`mo_integrals_n_e`
|
||||
* :c:data:`mo_integrals_n_e_per_atom`
|
||||
* :c:data:`mo_kinetic_integrals`
|
||||
* :c:data:`mo_pseudo_integrals`
|
||||
* :c:data:`mo_spread_x`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_and_grad_and_lapl_at_r:
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_and_grad_and_lapl_at_r
|
||||
File : :file:`mo_basis/mos_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine give_all_mos_and_grad_and_lapl_at_r(r,mos_array,mos_grad_array,mos_lapl_array)
|
||||
|
||||
File: :file:`mos_in_r.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`give_all_aos_and_grad_and_lapl_at_r`
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_and_grad_at_r:
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_and_grad_at_r
|
||||
File : :file:`mo_basis/mos_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine give_all_mos_and_grad_at_r(r,mos_array,mos_grad_array)
|
||||
|
||||
File: :file:`mos_in_r.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`give_all_aos_and_grad_at_r`
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_at_r:
|
||||
|
||||
|
||||
.. c:function:: give_all_mos_at_r
|
||||
File : :file:`mo_basis/mos_in_r.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine give_all_mos_at_r(r,mos_array)
|
||||
|
||||
File: :file:`mos_in_r.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef_transp`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemv`
|
||||
* :c:func:`give_all_aos_at_r`
|
||||
|
||||
|
||||
.. c:function:: initialize_mo_coef_begin_iteration:
|
||||
|
||||
|
||||
.. c:function:: initialize_mo_coef_begin_iteration
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine initialize_mo_coef_begin_iteration
|
||||
|
||||
File: :file:`track_orb.irp.f`
|
||||
File : :file:`mo_basis/track_orb.irp.f`
|
||||
|
||||
|
||||
|
||||
Initialize :c:data:`mo_coef_begin_iteration` to the current :c:data:`mo_coef`
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef_begin_iteration`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`damping_scf`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
|
||||
|
||||
.. c:function:: mix_mo_jk:
|
||||
|
||||
|
||||
.. c:function:: mix_mo_jk
|
||||
File : :file:`mo_basis/mos.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mix_mo_jk(j,k)
|
||||
|
||||
File: :file:`mos.irp.f`
|
||||
|
||||
Rotates the j-th |MO| with the k-th |MO| to give two new |MOs| that are
|
||||
Rotates the j-th |MO| with the k-th |MO| to give two new |MOs| that are
|
||||
|
||||
* $+ = \frac{1}{\sqrt{2}} (|j\rangle + |k\rangle)$
|
||||
|
||||
* $- = \frac{1}{\sqrt{2}} (|j\rangle - |k\rangle)$
|
||||
|
||||
by convention, the '+' |MO| is in the lowest index (min(j,k))
|
||||
by convention, the '-' |MO| is in the highest index (max(j,k))
|
||||
|
||||
* :math:`+ = \frac{1}{\sqrt{2}} (|j\rangle + |k\rangle)`
|
||||
Needs:
|
||||
|
||||
* :math:`- = \frac{1}{\sqrt{2}} (|j\rangle - |k\rangle)`
|
||||
|
||||
by convention, the '+' |MO| is in the lowest index (min(j,k)) by convention, the '-' |MO| is in the highest index (max(j,k))
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
|
||||
.. c:function:: mo_as_eigvectors_of_mo_matrix:
|
||||
|
||||
|
||||
.. c:function:: mo_as_eigvectors_of_mo_matrix
|
||||
File : :file:`mo_basis/utils.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mo_as_eigvectors_of_mo_matrix(matrix,n,m,label,sign,output)
|
||||
|
||||
File: :file:`utils.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`create_guess`
|
||||
* :c:func:`damping_scf`
|
||||
* :c:func:`hcore_guess`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
* :c:func:`lapack_diag`
|
||||
* :c:func:`write_time`
|
||||
|
||||
|
||||
.. c:function:: mo_as_svd_vectors_of_mo_matrix:
|
||||
|
||||
|
||||
.. c:function:: mo_as_svd_vectors_of_mo_matrix
|
||||
File : :file:`mo_basis/utils.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mo_as_svd_vectors_of_mo_matrix(matrix,lda,m,n,label)
|
||||
|
||||
File: :file:`utils.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
* :c:func:`svd`
|
||||
* :c:func:`write_time`
|
||||
|
||||
|
||||
.. c:function:: mo_as_svd_vectors_of_mo_matrix_eig:
|
||||
|
||||
|
||||
.. c:function:: mo_as_svd_vectors_of_mo_matrix_eig
|
||||
File : :file:`mo_basis/utils.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mo_as_svd_vectors_of_mo_matrix_eig(matrix,lda,m,n,eig,label)
|
||||
|
||||
File: :file:`utils.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`set_natural_mos`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
* :c:func:`svd`
|
||||
* :c:func:`write_time`
|
||||
|
||||
|
||||
.. c:function:: reorder_core_orb:
|
||||
|
||||
|
||||
.. c:function:: reorder_core_orb
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine reorder_core_orb
|
||||
|
||||
File: :file:`track_orb.irp.f`
|
||||
File : :file:`mo_basis/track_orb.irp.f`
|
||||
|
||||
routines that takes the current :c:data:`mo_coef` and reorder the core orbitals (see :c:data:`list_core` and :c:data:`n_core_orb`) according to the overlap with :c:data:`mo_coef_begin_iteration`
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`list_core`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef_begin_iteration`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`damping_scf`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dsort`
|
||||
|
||||
|
||||
.. c:function:: save_mos:
|
||||
|
||||
|
||||
.. c:function:: save_mos
|
||||
File : :file:`mo_basis/utils.irp.f`
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine save_mos
|
||||
Needs:
|
||||
|
||||
File: :file:`utils.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`damping_scf`
|
||||
* :c:func:`hcore_guess`
|
||||
* :c:func:`huckel_guess`
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
* :c:func:`save_natural_mos`
|
||||
* :c:func:`save_ortho_mos`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_label`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_num`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_occ`
|
||||
* :c:func:`system`
|
||||
|
||||
|
||||
.. c:function:: save_mos_truncated:
|
||||
|
||||
|
||||
.. c:function:: save_mos_truncated
|
||||
File : :file:`mo_basis/utils.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine save_mos_truncated(n)
|
||||
|
||||
File: :file:`utils.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_mo_basis_ao_md5`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_coef`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_label`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_num`
|
||||
* :c:func:`ezfio_set_mo_basis_mo_occ`
|
||||
* :c:func:`system`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _mo_guess:
|
||||
.. _module_mo_guess:
|
||||
|
||||
.. program:: mo_guess
|
||||
|
||||
|
@ -16,55 +16,104 @@ Guess for |MOs|.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: ao_ortho_canonical_nucl_elec_integrals
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_guess/pot_mo_ortho_canonical_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_ortho_canonical_nucl_elec_integrals (mo_num,mo_num)
|
||||
|
||||
File: :file:`pot_mo_ortho_canonical_ints.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_n_e`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_canonical_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_ortho_lowdin_coef
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_guess/mo_ortho_lowdin.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_ortho_lowdin_coef (ao_num,ao_num)
|
||||
|
||||
File: :file:`mo_ortho_lowdin.irp.f`
|
||||
|
||||
matrix of the coefficients of the mos generated by the orthonormalization by the S^{-1/2} canonical transformation of the aos ao_ortho_lowdin_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_lowdin orbital
|
||||
matrix of the coefficients of the mos generated by the
|
||||
orthonormalization by the S^{-1/2} canonical transformation of the aos
|
||||
ao_ortho_lowdin_coef(i,j) = coefficient of the ith ao on the jth ao_ortho_lowdin orbital
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_ortho_lowdin_nucl_elec_integrals`
|
||||
* :c:data:`ao_ortho_lowdin_overlap`
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_ortho_lowdin_nucl_elec_integrals
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_guess/pot_mo_ortho_lowdin_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_ortho_lowdin_nucl_elec_integrals (mo_num,mo_num)
|
||||
|
||||
File: :file:`pot_mo_ortho_lowdin_ints.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_n_e`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_lowdin_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: ao_ortho_lowdin_overlap
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_guess/mo_ortho_lowdin.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: ao_ortho_lowdin_overlap (ao_num,ao_num)
|
||||
|
||||
File: :file:`mo_ortho_lowdin.irp.f`
|
||||
|
||||
overlap matrix of the ao_ortho_lowdin supposed to be the Identity
|
||||
overlap matrix of the ao_ortho_lowdin
|
||||
supposed to be the Identity
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_ortho_lowdin_coef`
|
||||
* :c:data:`ao_overlap`
|
||||
|
||||
|
||||
|
||||
|
@ -72,16 +121,35 @@ Providers
|
|||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: hcore_guess:
|
||||
|
||||
|
||||
.. c:function:: hcore_guess
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine hcore_guess
|
||||
|
||||
File: :file:`h_core_guess_routine.irp.f`
|
||||
File : :file:`mo_guess/h_core_guess_routine.irp.f`
|
||||
|
||||
Produce `H_core` MO orbital
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||
* :c:func:`save_mos`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _mo_one_e_ints:
|
||||
.. _module_mo_one_e_ints:
|
||||
|
||||
.. program:: mo_one_e_ints
|
||||
|
||||
|
@ -71,231 +71,496 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: mo_dipole_x
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_dipole_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j
|
||||
array of the integrals of MO_i * x MO_j
|
||||
array of the integrals of MO_i * y MO_j
|
||||
array of the integrals of MO_i * z MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_dipole_x`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_dipole_y
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_dipole_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j
|
||||
array of the integrals of MO_i * x MO_j
|
||||
array of the integrals of MO_i * y MO_j
|
||||
array of the integrals of MO_i * z MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_dipole_x`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_dipole_z
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_dipole_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_dipole_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x MO_j array of the integrals of MO_i * y MO_j array of the integrals of MO_i * z MO_j
|
||||
array of the integrals of MO_i * x MO_j
|
||||
array of the integrals of MO_i * y MO_j
|
||||
array of the integrals of MO_i * z MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_dipole_x`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_integrals_n_e
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/pot_mo_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_integrals_n_e (mo_num,mo_num)
|
||||
|
||||
File: :file:`pot_mo_ints.irp.f`
|
||||
|
||||
Nucleus-electron interaction on the |MO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_n_e`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`read_mo_integrals_e_n`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_integrals_n_e_per_atom
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/pot_mo_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_integrals_n_e_per_atom (mo_num,mo_num,nucl_num)
|
||||
|
||||
File: :file:`pot_mo_ints.irp.f`
|
||||
|
||||
mo_integrals_n_e_per_atom(i,j,k) = :math:`\langle \phi_i| -\frac{1}{|r-R_k|} | \phi_j \rangle` . where R_k is the coordinate of the k-th nucleus.
|
||||
mo_integrals_n_e_per_atom(i,j,k) =
|
||||
:math:`\langle \phi_i| -\frac{1}{|r-R_k|} | \phi_j \rangle` .
|
||||
where R_k is the coordinate of the k-th nucleus.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_integrals_n_e_per_atom`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_kinetic_integrals
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/kin_mo_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_kinetic_integrals (mo_num,mo_num)
|
||||
|
||||
File: :file:`kin_mo_ints.irp.f`
|
||||
|
||||
Kinetic energy integrals in the MO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_kinetic_integrals`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`read_mo_integrals_kinetic`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_one_e_integrals
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/mo_one_e_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_one_e_integrals (mo_num,mo_num)
|
||||
|
||||
File: :file:`mo_one_e_ints.irp.f`
|
||||
|
||||
array of the mono electronic hamiltonian on the MOs basis : sum of the kinetic and nuclear electronic potential (and pseudo potential if needed)
|
||||
array of the mono electronic hamiltonian on the MOs basis :
|
||||
sum of the kinetic and nuclear electronic potential (and pseudo potential if needed)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`mo_integrals_n_e`
|
||||
* :c:data:`mo_kinetic_integrals`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_pseudo_integrals`
|
||||
* :c:data:`read_mo_one_e_integrals`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_energy`
|
||||
* :c:data:`core_energy_erf`
|
||||
* :c:data:`fock_operator_closed_shell_ref_bitmask`
|
||||
* :c:data:`psi_energy_h_core`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_overlap
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/mo_overlap.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_overlap (mo_num,mo_num)
|
||||
|
||||
File: :file:`mo_overlap.irp.f`
|
||||
|
||||
Provider to check that the MOs are indeed orthonormal.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_pseudo_integrals
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/pot_mo_pseudo_ints.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_pseudo_integrals (mo_num,mo_num)
|
||||
|
||||
File: :file:`pot_mo_pseudo_ints.irp.f`
|
||||
|
||||
Pseudopotential integrals in |MO| basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_pseudo_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`read_mo_integrals_pseudo`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_spread_x
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_spread_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j
|
||||
array of the integrals of MO_i * x^2 MO_j
|
||||
array of the integrals of MO_i * y^2 MO_j
|
||||
array of the integrals of MO_i * z^2 MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_spread_x`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_spread_y
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_spread_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j
|
||||
array of the integrals of MO_i * x^2 MO_j
|
||||
array of the integrals of MO_i * y^2 MO_j
|
||||
array of the integrals of MO_i * z^2 MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_spread_x`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: mo_spread_z
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/spread_dipole_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: mo_spread_x (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_y (mo_num,mo_num)
|
||||
double precision, allocatable :: mo_spread_z (mo_num,mo_num)
|
||||
|
||||
File: :file:`spread_dipole_mo.irp.f`
|
||||
|
||||
array of the integrals of MO_i * x^2 MO_j array of the integrals of MO_i * y^2 MO_j array of the integrals of MO_i * z^2 MO_j
|
||||
array of the integrals of MO_i * x^2 MO_j
|
||||
array of the integrals of MO_i * y^2 MO_j
|
||||
array of the integrals of MO_i * z^2 MO_j
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_spread_x`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: s_mo_coef
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`mo_one_e_ints/ao_to_mo.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: s_mo_coef (ao_num,mo_num)
|
||||
|
||||
File: :file:`ao_to_mo.irp.f`
|
||||
|
||||
Product S.C where S is the overlap matrix in the AO basis and C the mo_coef matrix.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: mo_to_ao:
|
||||
|
||||
|
||||
.. c:function:: mo_to_ao
|
||||
File : :file:`mo_one_e_ints/ao_to_mo.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mo_to_ao(A_mo,LDA_mo,A_ao,LDA_ao)
|
||||
|
||||
File: :file:`ao_to_mo.irp.f`
|
||||
|
||||
Transform A from the MO basis to the AO basis
|
||||
Transform A from the MO basis to the AO basis
|
||||
|
||||
$(S.C).A_{mo}.(S.C)^\dagger$
|
||||
|
||||
:math:`(S.C).A_{mo}.(S.C)^\dagger`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`s_mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
|
||||
|
||||
.. c:function:: mo_to_ao_no_overlap:
|
||||
|
||||
|
||||
.. c:function:: mo_to_ao_no_overlap
|
||||
File : :file:`mo_one_e_ints/ao_to_mo.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mo_to_ao_no_overlap(A_mo,LDA_mo,A_ao,LDA_ao)
|
||||
|
||||
File: :file:`ao_to_mo.irp.f`
|
||||
|
||||
:math:`C.A_{mo}.C^\dagger`
|
||||
$C.A_{mo}.C^\dagger$
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
|
||||
|
||||
.. c:function:: orthonormalize_mos:
|
||||
|
||||
|
||||
.. c:function:: orthonormalize_mos
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine orthonormalize_mos
|
||||
|
||||
File: :file:`orthonormalize.irp.f`
|
||||
|
||||
|
||||
File : :file:`mo_one_e_ints/orthonormalize.irp.f`
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`mo_overlap`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_ortho_mos`
|
||||
* :c:func:`scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ortho_lowdin`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _mpi:
|
||||
.. _module_mpi:
|
||||
|
||||
.. program:: mpi
|
||||
|
||||
|
@ -15,116 +15,279 @@ Contains all the functions and providers for parallelization with |MPI|.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: mpi_initialized
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical :: mpi_initialized
|
||||
File : :file:`mpi/mpi.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
logical :: mpi_initialized
|
||||
|
||||
File: :file:`mpi.irp.f`
|
||||
|
||||
Always true. Initialized MPI
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mpi_master
|
||||
|
||||
.. code:: text
|
||||
|
||||
logical :: mpi_master
|
||||
File : :file:`mpi/mpi.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
logical :: mpi_master
|
||||
|
||||
File: :file:`mpi.irp.f`
|
||||
|
||||
If true, rank is zero
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_rank`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_cartesian`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`ao_integrals_threshold`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_power`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
* :c:data:`cas_bitmask`
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`correlation_energy_ratio_max`
|
||||
* :c:data:`data_energy_proj`
|
||||
* :c:data:`data_energy_var`
|
||||
* :c:data:`data_one_e_dm_alpha_mo`
|
||||
* :c:data:`data_one_e_dm_beta_mo`
|
||||
* :c:data:`davidson_sze_max`
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`disk_based_davidson`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`do_direct_integrals`
|
||||
* :c:data:`do_pseudo`
|
||||
* :c:data:`do_pt2`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`element_name`
|
||||
* :c:data:`energy_iterations`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`generators_bitmask`
|
||||
* :c:data:`generators_bitmask_restart`
|
||||
* :c:data:`inact_bitmask`
|
||||
* :c:data:`io_ao_integrals_e_n`
|
||||
* :c:data:`io_ao_integrals_kinetic`
|
||||
* :c:data:`io_ao_integrals_overlap`
|
||||
* :c:data:`io_ao_integrals_pseudo`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals_erf`
|
||||
* :c:data:`io_mo_integrals_e_n`
|
||||
* :c:data:`io_mo_integrals_kinetic`
|
||||
* :c:data:`io_mo_integrals_pseudo`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals_erf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`mo_class`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_guess_type`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`mu_erf`
|
||||
* :c:data:`n_act_orb`
|
||||
* :c:data:`n_cas_bitmask`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`n_det_iterations`
|
||||
* :c:data:`n_det_max`
|
||||
* :c:data:`n_det_max_full`
|
||||
* :c:data:`n_det_print_wf`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_generators_bitmask`
|
||||
* :c:data:`n_generators_bitmask_restart`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`n_iter`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`n_states_diag`
|
||||
* :c:data:`no_ivvv_integrals`
|
||||
* :c:data:`no_vvv_integrals`
|
||||
* :c:data:`no_vvvv_integrals`
|
||||
* :c:data:`nthreads_davidson`
|
||||
* :c:data:`nthreads_pt2`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_charge_remove`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`only_expected_s2`
|
||||
* :c:data:`pseudo_dz_k`
|
||||
* :c:data:`pseudo_dz_kl`
|
||||
* :c:data:`pseudo_grid_rmax`
|
||||
* :c:data:`pseudo_grid_size`
|
||||
* :c:data:`pseudo_klocmax`
|
||||
* :c:data:`pseudo_kmax`
|
||||
* :c:data:`pseudo_lmax`
|
||||
* :c:data:`pseudo_n_k`
|
||||
* :c:data:`pseudo_n_kl`
|
||||
* :c:data:`pseudo_v_k`
|
||||
* :c:data:`pseudo_v_kl`
|
||||
* :c:data:`psi_cas`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_coef_max`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_alpha_unique`
|
||||
* :c:data:`psi_det_beta_unique`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`pt2_iterations`
|
||||
* :c:data:`pt2_max`
|
||||
* :c:data:`pt2_n_teeth`
|
||||
* :c:data:`pt2_relative_error`
|
||||
* :c:data:`qp_max_mem`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`s2_eig`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`state_following`
|
||||
* :c:data:`target_energy`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_davidson`
|
||||
* :c:data:`threshold_diis`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`used_weight`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mpi_rank
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: mpi_rank
|
||||
integer :: mpi_size
|
||||
File : :file:`mpi/mpi.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: mpi_rank
|
||||
integer :: mpi_size
|
||||
|
||||
File: :file:`mpi.irp.f`
|
||||
|
||||
Rank of MPI process and number of MPI processes
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
|
||||
.. c:var:: mpi_size
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: mpi_rank
|
||||
integer :: mpi_size
|
||||
File : :file:`mpi/mpi.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer :: mpi_rank
|
||||
integer :: mpi_size
|
||||
|
||||
File: :file:`mpi.irp.f`
|
||||
|
||||
Rank of MPI process and number of MPI processes
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: broadcast_chunks_double:
|
||||
|
||||
|
||||
.. c:function:: broadcast_chunks_double
|
||||
File : :file:`mpi/mpi.irp.f_template_97`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine broadcast_chunks_double(A, LDA)
|
||||
|
||||
File: :file:`mpi.irp.f_template_97`
|
||||
|
||||
Broadcast with chunks of ~2GB
|
||||
|
||||
|
||||
|
||||
.. c:function:: broadcast_chunks_integer:
|
||||
|
||||
|
||||
.. c:function:: broadcast_chunks_integer
|
||||
File : :file:`mpi/mpi.irp.f_template_97`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine broadcast_chunks_integer(A, LDA)
|
||||
|
||||
File: :file:`mpi.irp.f_template_97`
|
||||
|
||||
Broadcast with chunks of ~2GB
|
||||
|
||||
|
||||
|
||||
.. c:function:: broadcast_chunks_integer8:
|
||||
|
||||
|
||||
.. c:function:: broadcast_chunks_integer8
|
||||
File : :file:`mpi/mpi.irp.f_template_97`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine broadcast_chunks_integer8(A, LDA)
|
||||
|
||||
File: :file:`mpi.irp.f_template_97`
|
||||
|
||||
Broadcast with chunks of ~2GB
|
||||
|
||||
|
||||
|
||||
.. c:function:: mpi_print:
|
||||
|
||||
|
||||
.. c:function:: mpi_print
|
||||
File : :file:`mpi/mpi.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine mpi_print(string)
|
||||
|
||||
File: :file:`mpi.irp.f`
|
||||
|
||||
Print string to stdout if the MPI rank is zero.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_slave_main`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _nuclei:
|
||||
.. _module_nuclei:
|
||||
|
||||
.. program:: nuclei
|
||||
|
||||
|
@ -53,118 +53,248 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: center_of_mass
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: center_of_mass (3)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Center of mass of the molecule
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`element_name`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`inertia_tensor`
|
||||
|
||||
|
||||
|
||||
.. c:var:: element_mass
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
character*(4), allocatable :: element_name (0:127)
|
||||
double precision, allocatable :: element_mass (0:127)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Array of the name of element, sorted by nuclear charge (integer)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`center_of_mass`
|
||||
* :c:data:`inertia_tensor`
|
||||
|
||||
|
||||
|
||||
.. c:var:: element_name
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
character*(4), allocatable :: element_name (0:127)
|
||||
double precision, allocatable :: element_mass (0:127)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Array of the name of element, sorted by nuclear charge (integer)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`center_of_mass`
|
||||
* :c:data:`inertia_tensor`
|
||||
|
||||
|
||||
|
||||
.. c:var:: inertia_tensor
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/inertia.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: inertia_tensor (3,3)
|
||||
|
||||
File: :file:`inertia.irp.f`
|
||||
|
||||
Inertia tensor
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`center_of_mass`
|
||||
* :c:data:`element_name`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`inertia_tensor_eigenvectors`
|
||||
|
||||
|
||||
|
||||
.. c:var:: inertia_tensor_eigenvalues
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/inertia.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: inertia_tensor_eigenvectors (3,3)
|
||||
double precision, allocatable :: inertia_tensor_eigenvalues (3)
|
||||
|
||||
File: :file:`inertia.irp.f`
|
||||
|
||||
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`inertia_tensor`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: inertia_tensor_eigenvectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/inertia.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: inertia_tensor_eigenvectors (3,3)
|
||||
double precision, allocatable :: inertia_tensor_eigenvalues (3)
|
||||
|
||||
File: :file:`inertia.irp.f`
|
||||
|
||||
Eigenvectors/eigenvalues of the inertia_tensor. Used to find normal orientation.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`inertia_tensor`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_coord
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_coord (nucl_num,3)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Nuclear coordinates in the format (:, {x,y,z})
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_label`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`output_wall_time_0`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_deriv2_x`
|
||||
* :c:data:`ao_deriv_1_x`
|
||||
* :c:data:`ao_dipole_x`
|
||||
* :c:data:`ao_integrals_n_e`
|
||||
* :c:data:`ao_integrals_n_e_per_atom`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`ao_overlap_abs`
|
||||
* :c:data:`ao_pseudo_integrals_local`
|
||||
* :c:data:`ao_pseudo_integrals_non_local`
|
||||
* :c:data:`ao_spread_x`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`ao_two_e_integral_erf_schwartz`
|
||||
* :c:data:`ao_two_e_integral_schwartz`
|
||||
* :c:data:`ao_two_e_integrals_erf_in_map`
|
||||
* :c:data:`ao_two_e_integrals_in_map`
|
||||
* :c:data:`center_of_mass`
|
||||
* :c:data:`inertia_tensor`
|
||||
* :c:data:`nucl_coord_transp`
|
||||
* :c:data:`nucl_dist_2`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_coord_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_coord_transp (3,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Transposed array of nucl_coord
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num)
|
||||
|
@ -172,16 +302,33 @@ Providers
|
|||
double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist_2
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num)
|
||||
|
@ -189,29 +336,55 @@ Providers
|
|||
double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist_inv
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_inv (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Inverse of the distance between nucleus I and nucleus J
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_2`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist_vec_x
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num)
|
||||
|
@ -219,16 +392,33 @@ Providers
|
|||
double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist_vec_y
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num)
|
||||
|
@ -236,16 +426,33 @@ Providers
|
|||
double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nucl_dist_vec_z
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: nucl_dist_2 (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist_vec_x (nucl_num,nucl_num)
|
||||
|
@ -253,99 +460,207 @@ Providers
|
|||
double precision, allocatable :: nucl_dist_vec_z (nucl_num,nucl_num)
|
||||
double precision, allocatable :: nucl_dist (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
nucl_dist : Nucleus-nucleus distances nucl_dist_2 : Nucleus-nucleus distances squared nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_dist_inv`
|
||||
|
||||
|
||||
|
||||
.. c:var:: nuclear_repulsion
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: nuclear_repulsion
|
||||
File : :file:`nuclei/nuclei.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: nuclear_repulsion
|
||||
|
||||
File: :file:`nuclei.irp.f`
|
||||
|
||||
Nuclear repulsion energy
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`disk_access_nuclear_repulsion`
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`output_wall_time_0`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`core_energy`
|
||||
* :c:data:`core_energy_erf`
|
||||
* :c:data:`hf_energy`
|
||||
* :c:data:`psi_energy_with_nucl_rep`
|
||||
* :c:data:`pt2_e0_denominator`
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_radii
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii (100)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater execpt for the Hydrogen atom where we took the value of Becke (1988, JCP)
|
||||
atomic radii in Angstrom defined in table I of JCP 41, 3199 (1964) Slater
|
||||
execpt for the Hydrogen atom where we took the value of Becke (1988, JCP)
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`slater_bragg_radii_per_atom`
|
||||
* :c:data:`slater_bragg_radii_ua`
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_radii_per_atom
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii_per_atom (nucl_num)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`slater_bragg_radii`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`slater_bragg_type_inter_distance`
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_radii_per_atom_ua
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii_per_atom_ua (nucl_num)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`slater_bragg_radii_ua`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`slater_bragg_type_inter_distance_ua`
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_radii_ua
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_radii_ua (100)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`slater_bragg_radii`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`slater_bragg_radii_per_atom_ua`
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_type_inter_distance
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_type_inter_distance (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`slater_bragg_radii_per_atom`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: slater_bragg_type_inter_distance_ua
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`nuclei/atomic_radii.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: slater_bragg_type_inter_distance_ua (nucl_num,nucl_num)
|
||||
|
||||
File: :file:`atomic_radii.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_num`
|
||||
* :c:data:`slater_bragg_radii_per_atom_ua`
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,4 @@
|
|||
.. _pseudo:
|
||||
.. _module_pseudo:
|
||||
|
||||
.. program:: pseudo
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _psiref_cas:
|
||||
.. _module_psiref_cas:
|
||||
|
||||
.. program:: psiref_cas
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _psiref_utils:
|
||||
.. _module_psiref_utils:
|
||||
|
||||
.. program:: psiref_utils
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _scf_utils:
|
||||
.. _module_scf_utils:
|
||||
|
||||
.. program:: scf_utils
|
||||
|
||||
|
@ -107,284 +107,680 @@ EZFIO parameters
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: eigenvalues_fock_matrix_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/diis.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num)
|
||||
double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num)
|
||||
|
||||
File: :file:`diis.irp.f`
|
||||
|
||||
Eigenvalues and eigenvectors of the Fock matrix over the AO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`s_half_inv`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: eigenvectors_fock_matrix_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/diis.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: eigenvalues_fock_matrix_ao (AO_num)
|
||||
double precision, allocatable :: eigenvectors_fock_matrix_ao (AO_num,AO_num)
|
||||
|
||||
File: :file:`diis.irp.f`
|
||||
|
||||
Eigenvalues and eigenvectors of the Fock matrix over the AO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`s_half_inv`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: eigenvectors_fock_matrix_mo
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/diagonalize_fock.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: eigenvectors_fock_matrix_mo (ao_num,mo_num)
|
||||
|
||||
File: :file:`diagonalize_fock.irp.f`
|
||||
|
||||
Eigenvector of the Fock matrix in the MO basis obtained with level shift.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`list_act`
|
||||
* :c:data:`list_core`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_act_orb`
|
||||
|
||||
|
||||
|
||||
.. c:function:: extrapolate_fock_matrix:
|
||||
|
||||
.. c:var:: extrapolate_fock_matrix
|
||||
|
||||
.. code:: text
|
||||
File : :file:`scf_utils/roothaan_hall_scf.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
subroutine extrapolate_Fock_matrix( &
|
||||
error_matrix_DIIS,Fock_matrix_DIIS, &
|
||||
Fock_matrix_AO_,size_Fock_matrix_AO, &
|
||||
iteration_SCF,dim_DIIS &
|
||||
)
|
||||
error_matrix_DIIS,Fock_matrix_DIIS, &
|
||||
Fock_matrix_AO_,size_Fock_matrix_AO, &
|
||||
iteration_SCF,dim_DIIS &
|
||||
)
|
||||
|
||||
File: :file:`roothaan_hall_scf.irp.f`
|
||||
|
||||
Compute the extrapolated Fock matrix using the DIIS procedure
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`ao_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`roothaan_hall_scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`dgemm`
|
||||
* :c:func:`dsysvx`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_ao (ao_num,ao_num)
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix in AO basis set
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`s_mo_coef`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`eigenvalues_fock_matrix_ao`
|
||||
* :c:data:`fps_spf_matrix_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_diag_mo
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_mo (mo_num,mo_num)
|
||||
double precision, allocatable :: fock_matrix_diag_mo (mo_num)
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K |
|
||||
|
||||
Fock matrix on the MO basis.
|
||||
For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F |
|
||||
|---------------------------------|
|
||||
| F + K/2 | F | F - K/2 |
|
||||
|---------------------------------|
|
||||
| F | F - K/2 | F + K |
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
|
||||
K = Fb - Fa
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
Needs:
|
||||
|
||||
K = Fb - Fa
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`list_act`
|
||||
* :c:data:`list_core`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_act_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_mo
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_mo (mo_num,mo_num)
|
||||
double precision, allocatable :: fock_matrix_diag_mo (mo_num)
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis. For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F | |---------------------------------| | F + K/2 | F | F - K/2 | |---------------------------------| | F | F - K/2 | F + K |
|
||||
|
||||
Fock matrix on the MO basis.
|
||||
For open shells, the ROHF Fock Matrix is ::
|
||||
|
||||
| F-K | F + K/2 | F |
|
||||
|---------------------------------|
|
||||
| F + K/2 | F | F - K/2 |
|
||||
|---------------------------------|
|
||||
| F | F - K/2 | F + K |
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
|
||||
K = Fb - Fa
|
||||
|
||||
|
||||
F = 1/2 (Fa + Fb)
|
||||
Needs:
|
||||
|
||||
K = Fb - Fa
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`fock_matrix_mo_alpha`
|
||||
* :c:data:`fock_matrix_mo_beta`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`list_act`
|
||||
* :c:data:`list_core`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`n_act_orb`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_mo_alpha
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_mo_alpha (mo_num,mo_num)
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_mo`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fock_matrix_mo_beta
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fock_matrix_mo_beta (mo_num,mo_num)
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Fock matrix on the MO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_mo`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fps_spf_matrix_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/diis.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fps_spf_matrix_ao (AO_num,AO_num)
|
||||
|
||||
File: :file:`diis.irp.f`
|
||||
|
||||
Commutator FPS - SPF
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`scf_density_matrix_ao`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
|
||||
|
||||
|
||||
.. c:var:: fps_spf_matrix_mo
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/diis.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: fps_spf_matrix_mo (mo_num,mo_num)
|
||||
|
||||
File: :file:`diis.irp.f`
|
||||
|
||||
Commutator FPS - SPF in MO basis
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fps_spf_matrix_ao`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_num`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: scf_density_matrix_ao
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/scf_density_matrix_ao.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: scf_density_matrix_ao (ao_num,ao_num)
|
||||
|
||||
File: :file:`scf_density_matrix_ao.irp.f`
|
||||
|
||||
S^{-1}.P.S^{-1} where P = C.C^t
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fps_spf_matrix_ao`
|
||||
|
||||
|
||||
|
||||
.. c:var:: scf_density_matrix_ao_alpha
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/scf_density_matrix_ao.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: scf_density_matrix_ao_alpha (ao_num,ao_num)
|
||||
|
||||
File: :file:`scf_density_matrix_ao.irp.f`
|
||||
|
||||
S^{-1}.P_alpha.S^{-1}
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`hf_energy`
|
||||
* :c:data:`scf_density_matrix_ao`
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: scf_density_matrix_ao_beta
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`scf_utils/scf_density_matrix_ao.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: scf_density_matrix_ao_beta (ao_num,ao_num)
|
||||
|
||||
File: :file:`scf_density_matrix_ao.irp.f`
|
||||
|
||||
S^{-1}.P_beta.S^{-1}
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`hf_energy`
|
||||
* :c:data:`scf_density_matrix_ao`
|
||||
* :c:data:`scf_energy`
|
||||
|
||||
|
||||
|
||||
.. c:var:: scf_energy
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: scf_energy
|
||||
File : :file:`scf_utils/fock_matrix.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: scf_energy
|
||||
|
||||
File: :file:`fock_matrix.irp.f`
|
||||
|
||||
Hartree-Fock energy
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`extra_e_contrib_density`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`nuclear_repulsion`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: threshold_diis_nonzero
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: threshold_diis_nonzero
|
||||
File : :file:`scf_utils/diis.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: threshold_diis_nonzero
|
||||
|
||||
File: :file:`diis.irp.f`
|
||||
|
||||
If threshold_DIIS is zero, choose sqrt(thresh_scf)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`threshold_diis`
|
||||
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: damping_scf:
|
||||
|
||||
|
||||
.. c:function:: damping_scf
|
||||
File : :file:`scf_utils/damping_scf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine damping_SCF
|
||||
Needs:
|
||||
|
||||
File: :file:`damping_scf.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`scf_energy`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_hartree_fock_energy`
|
||||
* :c:func:`initialize_mo_coef_begin_iteration`
|
||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||
* :c:func:`reorder_core_orb`
|
||||
* :c:func:`save_mos`
|
||||
* :c:func:`write_double`
|
||||
* :c:func:`write_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`scf_density_matrix_ao_alpha`
|
||||
* :c:data:`scf_density_matrix_ao_beta`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
|
||||
.. c:function:: huckel_guess:
|
||||
|
||||
|
||||
.. c:function:: huckel_guess
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine huckel_guess
|
||||
|
||||
File: :file:`huckel.irp.f`
|
||||
File : :file:`scf_utils/huckel.irp.f`
|
||||
|
||||
Build the MOs using the extended Huckel model
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ao_one_e_integrals`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`ao_overlap`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_two_e_integral_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`create_guess`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_mos`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
|
||||
.. c:function:: roothaan_hall_scf:
|
||||
|
||||
|
||||
.. c:function:: roothaan_hall_scf
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine Roothaan_Hall_SCF
|
||||
|
||||
File: :file:`roothaan_hall_scf.irp.f`
|
||||
File : :file:`scf_utils/roothaan_hall_scf.irp.f`
|
||||
|
||||
Roothaan-Hall algorithm for SCF Hartree-Fock calculation
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`max_dim_diis`
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`ao_md5`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`fps_spf_matrix_mo`
|
||||
* :c:data:`eigenvectors_fock_matrix_mo`
|
||||
* :c:data:`scf_energy`
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`thresh_scf`
|
||||
* :c:data:`scf_algorithm`
|
||||
* :c:data:`fock_matrix_mo`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`fock_matrix_ao`
|
||||
* :c:data:`mo_label`
|
||||
* :c:data:`n_it_scf_max`
|
||||
* :c:data:`threshold_diis_nonzero`
|
||||
* :c:data:`frozen_orb_scf`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fps_spf_matrix_ao`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`extrapolate_fock_matrix`
|
||||
* :c:func:`initialize_mo_coef_begin_iteration`
|
||||
* :c:func:`mo_as_eigvectors_of_mo_matrix`
|
||||
* :c:func:`reorder_core_orb`
|
||||
* :c:func:`save_mos`
|
||||
* :c:func:`write_double`
|
||||
* :c:func:`write_time`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _selectors_cassd:
|
||||
.. _module_selectors_cassd:
|
||||
|
||||
.. program:: selectors_cassd
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _selectors_full:
|
||||
.. _module_selectors_full:
|
||||
|
||||
.. program:: selectors_full
|
||||
|
||||
|
@ -17,56 +17,137 @@ threshold_selectors` flag.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: n_det_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: n_det_selectors
|
||||
File : :file:`selectors_full/selectors.irp.f`
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
For Single reference wave functions, the number of selectors is 1 : the Hartree-Fock determinant
|
||||
integer :: n_det_selectors
|
||||
|
||||
|
||||
For Single reference wave functions, the number of selectors is 1 : the
|
||||
Hartree-Fock determinant
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mpi_master`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`output_wall_time_0`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`threshold_selectors`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
* :c:data:`pt2_f`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_full/selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_selectors (N_int,2,psi_selectors_size)
|
||||
double precision, allocatable :: psi_selectors_coef (psi_selectors_size,N_states)
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
|
||||
Determinants on which we apply <i|H|psi> for perturbation.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`psi_selectors_size`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_selectors_coef
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_full/selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer(bit_kind), allocatable :: psi_selectors (N_int,2,psi_selectors_size)
|
||||
double precision, allocatable :: psi_selectors_coef (psi_selectors_size,N_states)
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
|
||||
Determinants on which we apply <i|H|psi> for perturbation.
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_det_sorted`
|
||||
* :c:data:`psi_selectors_size`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
|
||||
|
||||
|
||||
.. c:var:: threshold_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: threshold_selectors
|
||||
File : :file:`selectors_full/selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: threshold_selectors
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
|
||||
Thresholds on selectors (fraction of the square of the norm)
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`threshold_generators`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _selectors_utils:
|
||||
.. _module_selectors_utils:
|
||||
|
||||
.. program:: selectors_utils
|
||||
|
||||
|
@ -16,366 +16,634 @@ Helper functions for selectors.
|
|||
Providers
|
||||
---------
|
||||
|
||||
|
||||
.. c:var:: coef_hf_selector
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: delta_e_per_selector
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: double_index_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: exc_degree_per_selectors (N_det_selectors)
|
||||
integer, allocatable :: double_index_selectors (N_det_selectors)
|
||||
integer :: n_double_selectors
|
||||
integer :: n_double_selectors
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
|
||||
|
||||
|
||||
.. c:var:: e_corr_double_only
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: e_corr_per_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: e_corr_second_order
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: exc_degree_per_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: exc_degree_per_selectors (N_det_selectors)
|
||||
integer, allocatable :: double_index_selectors (N_det_selectors)
|
||||
integer :: n_double_selectors
|
||||
integer :: n_double_selectors
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
|
||||
|
||||
|
||||
.. c:var:: i_h_hf_per_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: inv_selectors_coef_hf
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: inv_selectors_coef_hf_squared
|
||||
|
||||
.. code:: text
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision :: coef_hf_selector
|
||||
double precision :: inv_selectors_coef_hf
|
||||
double precision :: inv_selectors_coef_hf_squared
|
||||
double precision, allocatable :: e_corr_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: i_h_hf_per_selectors (N_det_selectors)
|
||||
double precision, allocatable :: delta_e_per_selector (N_det_selectors)
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
double precision :: e_corr_double_only
|
||||
double precision :: e_corr_second_order
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
Correlation energy per determinant with respect to the Hartree-Fock determinant
|
||||
for the all the double excitations in the selectors determinants.
|
||||
|
||||
E_corr_per_selectors(i) = :math:`\langle D_i | H | \text{HF}\rangle c(D_i)/c(HF)` if :math:`| D_i \rangle` is a double excitation.
|
||||
|
||||
E_corr_per_selectors(i) = -1000.d0 if it is not a double excitation
|
||||
|
||||
coef_hf_selector = coefficient of the Hartree Fock determinant in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`big_array_coulomb_integrals`
|
||||
* :c:data:`exc_degree_per_selectors`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: n_double_selectors
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_utils/e_corr_selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
integer, allocatable :: exc_degree_per_selectors (N_det_selectors)
|
||||
integer, allocatable :: double_index_selectors (N_det_selectors)
|
||||
integer :: n_double_selectors
|
||||
integer :: n_double_selectors
|
||||
|
||||
File: :file:`e_corr_selectors.irp.f`
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
Degree of excitation respect to Hartree Fock for the wave function
|
||||
for the all the selectors determinants.
|
||||
|
||||
double_index_selectors = list of the index of the double excitations
|
||||
|
||||
n_double_selectors = number of double excitations in the selectors determinants
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`ref_bitmask`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`coef_hf_selector`
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_selectors_coef_transp
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_utils/selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: psi_selectors_coef_transp (N_states,psi_selectors_size)
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
|
||||
Transposed psi_selectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_selectors_size`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_selectors_diag_h_mat
|
||||
|
||||
.. code:: text
|
||||
|
||||
File : :file:`selectors_utils/selectors.irp.f`
|
||||
|
||||
.. code:: fortran
|
||||
|
||||
double precision, allocatable :: psi_selectors_diag_h_mat (psi_selectors_size)
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
|
||||
Diagonal elements of the H matrix for each selectors
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_num`
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`n_int`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_selectors_size`
|
||||
* :c:data:`ref_bitmask`
|
||||
* :c:data:`ref_bitmask_energy`
|
||||
|
||||
|
||||
|
||||
|
||||
.. c:var:: psi_selectors_size
|
||||
|
||||
.. code:: text
|
||||
|
||||
integer :: psi_selectors_size
|
||||
File : :file:`selectors_utils/selectors.irp.f`
|
||||
|
||||
File: :file:`selectors.irp.f`
|
||||
.. code:: fortran
|
||||
|
||||
|
||||
integer :: psi_selectors_size
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_det_size`
|
||||
|
||||
Needed by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
* :c:data:`psi_selectors_diag_h_mat`
|
||||
|
||||
|
||||
|
||||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: zmq_get_n_det_generators:
|
||||
|
||||
|
||||
.. c:function:: zmq_get_n_det_generators
|
||||
File : :file:`selectors_utils/zmq.irp.f_template_102`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function zmq_get_N_det_generators(zmq_to_qp_run_socket, worker_id)
|
||||
|
||||
File: :file:`zmq.irp.f_template_102`
|
||||
|
||||
Get N_det_generators from the qp_run scheduler
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`zmq_state`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
.. c:function:: zmq_get_n_det_selectors:
|
||||
|
||||
|
||||
.. c:function:: zmq_get_n_det_selectors
|
||||
File : :file:`selectors_utils/zmq.irp.f_template_102`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function zmq_get_N_det_selectors(zmq_to_qp_run_socket, worker_id)
|
||||
|
||||
File: :file:`zmq.irp.f_template_102`
|
||||
|
||||
Get N_det_selectors from the qp_run scheduler
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`zmq_state`
|
||||
* :c:data:`mpi_master`
|
||||
|
||||
|
||||
.. c:function:: zmq_put_n_det_generators:
|
||||
|
||||
|
||||
.. c:function:: zmq_put_n_det_generators
|
||||
File : :file:`selectors_utils/zmq.irp.f_template_102`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function zmq_put_N_det_generators(zmq_to_qp_run_socket,worker_id)
|
||||
|
||||
File: :file:`zmq.irp.f_template_102`
|
||||
|
||||
Put N_det_generators on the qp_run scheduler
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_generators`
|
||||
* :c:data:`zmq_state`
|
||||
|
||||
|
||||
.. c:function:: zmq_put_n_det_selectors:
|
||||
|
||||
|
||||
.. c:function:: zmq_put_n_det_selectors
|
||||
File : :file:`selectors_utils/zmq.irp.f_template_102`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
integer function zmq_put_N_det_selectors(zmq_to_qp_run_socket,worker_id)
|
||||
|
||||
File: :file:`zmq.irp.f_template_102`
|
||||
|
||||
Put N_det_selectors on the qp_run scheduler
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_det_selectors`
|
||||
* :c:data:`zmq_state`
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _single_ref_method:
|
||||
.. _module_single_ref_method:
|
||||
|
||||
.. program:: single_ref_method
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _tools:
|
||||
.. _module_tools:
|
||||
|
||||
.. program:: tools
|
||||
|
||||
|
@ -29,100 +29,203 @@ Programs
|
|||
Subroutines / functions
|
||||
-----------------------
|
||||
|
||||
.. c:function:: routine:
|
||||
|
||||
|
||||
.. c:function:: routine
|
||||
File : :file:`write_integrals_erf.irp.f`
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine routine
|
||||
Called by:
|
||||
|
||||
File: :file:`write_integrals_erf.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
* :c:func:`diagonalize_h`
|
||||
* :c:func:`print_wf`
|
||||
* :c:func:`write_integrals_erf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_erf_two_e_integrals_ao`
|
||||
* :c:func:`save_erf_two_e_integrals_mo`
|
||||
|
||||
|
||||
.. c:function:: routine_e_conv:
|
||||
|
||||
|
||||
.. c:function:: routine_e_conv
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine routine_e_conv
|
||||
|
||||
File: :file:`print_e_conv.irp.f`
|
||||
File : :file:`print_e_conv.irp.f`
|
||||
|
||||
routine called by :c:func:`print_e_conv`
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`n_states`
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`print_e_conv`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_get_iterations_energy_iterations`
|
||||
* :c:func:`ezfio_get_iterations_n_det_iterations`
|
||||
* :c:func:`ezfio_get_iterations_n_iter`
|
||||
* :c:func:`ezfio_get_iterations_pt2_iterations`
|
||||
|
||||
|
||||
.. c:function:: routine_save_one_e_dm:
|
||||
|
||||
|
||||
.. c:function:: routine_save_one_e_dm
|
||||
|
||||
.. code:: text
|
||||
|
||||
subroutine routine_save_one_e_dm
|
||||
|
||||
File: :file:`save_one_e_dm.irp.f`
|
||||
File : :file:`save_one_e_dm.irp.f`
|
||||
|
||||
routine called by :c:func:`save_one_e_dm`
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`one_e_dm_mo_alpha`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`save_one_e_dm`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_alpha_mo`
|
||||
* :c:func:`ezfio_set_aux_quantities_data_one_e_dm_beta_mo`
|
||||
|
||||
|
||||
.. c:function:: write_ao_basis:
|
||||
|
||||
|
||||
.. c:function:: write_ao_basis
|
||||
File : :file:`molden.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_Ao_basis(i_unit_output)
|
||||
|
||||
File: :file:`molden.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_list_shell_aos`
|
||||
* :c:data:`ao_coef`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_prim_num`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`ao_l`
|
||||
* :c:data:`ao_expo`
|
||||
* :c:data:`element_name`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`molden`
|
||||
|
||||
|
||||
.. c:function:: write_geometry:
|
||||
|
||||
|
||||
.. c:function:: write_geometry
|
||||
File : :file:`molden.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_geometry(i_unit_output)
|
||||
|
||||
File: :file:`molden.irp.f`
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`nucl_coord`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`element_name`
|
||||
* :c:data:`nucl_num`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`molden`
|
||||
|
||||
|
||||
.. c:function:: write_intro_gamess:
|
||||
|
||||
|
||||
.. c:function:: write_intro_gamess
|
||||
File : :file:`molden.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_intro_gamess(i_unit_output)
|
||||
|
||||
File: :file:`molden.irp.f`
|
||||
|
||||
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`molden`
|
||||
|
||||
|
||||
.. c:function:: write_mo_basis:
|
||||
|
||||
|
||||
.. c:function:: write_mo_basis
|
||||
File : :file:`molden.irp.f`
|
||||
|
||||
.. code:: text
|
||||
.. code:: fortran
|
||||
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
|
||||
File: :file:`molden.irp.f`
|
||||
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_num`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`ao_num`
|
||||
* :c:data:`ao_l_char_space`
|
||||
* :c:data:`nucl_charge`
|
||||
* :c:data:`ao_nucl`
|
||||
* :c:data:`element_name`
|
||||
|
||||
Called by:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`molden`
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -590,6 +590,7 @@ Index of Providers
|
|||
* :c:data:`psi_non_cas_sorted_bit`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_occ_pattern_hii`
|
||||
* :c:data:`psi_s2`
|
||||
* :c:data:`psi_selectors`
|
||||
* :c:data:`psi_selectors_coef`
|
||||
* :c:data:`psi_selectors_coef_transp`
|
||||
|
@ -1092,7 +1093,6 @@ Index of Subroutines/Functions
|
|||
* :c:func:`iset_order_big`
|
||||
* :c:func:`isort`
|
||||
* :c:func:`knowles_function`
|
||||
* :c:func:`ks_cf`
|
||||
* :c:func:`ks_scf`
|
||||
* :c:func:`lapack_diag`
|
||||
* :c:func:`lapack_diagd`
|
||||
|
@ -1299,7 +1299,6 @@ Index of Subroutines/Functions
|
|||
* :c:func:`tamiser`
|
||||
* :c:func:`task_done_to_taskserver`
|
||||
* :c:func:`tasks_done_to_taskserver`
|
||||
* :c:func:`test_det`
|
||||
* :c:func:`testteethbuilding`
|
||||
* :c:func:`total_memory`
|
||||
* :c:func:`two_e_integrals_index`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.cis.:
|
||||
.. _cis:
|
||||
|
||||
.. program:: cis
|
||||
|
||||
|
@ -7,38 +7,72 @@ cis
|
|||
===
|
||||
|
||||
|
||||
|
||||
|
||||
Configuration Interaction with Single excitations.
|
||||
|
||||
This program takes a reference Slater determinant of ROHF-like occupancy, and performs all single excitations on top of it. Disregarding spatial symmetry, it computes the `n_states` lowest eigenstates of that CI matrix. (see :option:`determinants n_states`)
|
||||
|
||||
This program takes a reference Slater determinant of ROHF-like
|
||||
occupancy, and performs all single excitations on top of it.
|
||||
Disregarding spatial symmetry, it computes the `n_states` lowest
|
||||
eigenstates of that CI matrix. (see :option:`determinants n_states`)
|
||||
|
||||
This program can be useful in many cases:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Ground state calculation
|
||||
|
||||
To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.` (see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save the natural orbitals (see :ref:`.save_natorb.`) and re-run an :ref:`.scf.` optimization from this |MO| guess.
|
||||
|
||||
|
||||
|
||||
|
||||
To be sure to have the lowest |SCF| solution, perform an :ref:`.scf.`
|
||||
(see the :ref:`hartree_fock` module), then a :ref:`.cis.`, save
|
||||
the natural orbitals (see :ref:`.save_natorb.`) and re-run an
|
||||
:ref:`.scf.` optimization from this |MO| guess.
|
||||
|
||||
|
||||
Excited states calculations
|
||||
|
||||
The lowest excited states are much likely to be dominated by single-excitations. Therefore, running a :ref:`.cis.` will save the `n_states` lowest states within the |CIS| space in the |EZFIO| directory, which can afterwards be used as guess wave functions for a further multi-state |FCI| calculation if :option:`determinants read_wf` is set to |true| before running the :ref:`.fci.` executable.
|
||||
|
||||
If :option:`determinants s2_eig` is set to |true|, the |CIS| will only retain states having the expected |S^2| value (see :option:`determinants expected_s2`). Otherwise, the |CIS| will take the lowest :option:`determinants n_states`, whatever multiplicity they are.
|
||||
|
||||
|
||||
The lowest excited states are much likely to be dominated by
|
||||
single-excitations. Therefore, running a :ref:`.cis.` will save
|
||||
the `n_states` lowest states within the |CIS| space in the |EZFIO|
|
||||
directory, which can afterwards be used as guess wave functions for
|
||||
a further multi-state |FCI| calculation if :option:`determinants
|
||||
read_wf` is set to |true| before running the :ref:`.fci.`
|
||||
executable.
|
||||
|
||||
If :option:`determinants s2_eig` is set to |true|, the |CIS|
|
||||
will only retain states having the expected |S^2| value (see
|
||||
:option:`determinants expected_s2`). Otherwise, the |CIS| will take
|
||||
the lowest :option:`determinants n_states`, whatever multiplicity
|
||||
they are.
|
||||
|
||||
Note
|
||||
|
||||
To discard some orbitals, use the :ref:`qp_set_mo_class` command to specify:
|
||||
|
||||
* *core* orbitals which will be always doubly occupied
|
||||
|
||||
* *act* orbitals where an electron can be either excited from or to
|
||||
|
||||
* *del* orbitals which will be never occupied
|
||||
|
||||
|
||||
To discard some orbitals, use the :ref:`qp_set_mo_class`
|
||||
command to specify:
|
||||
|
||||
* *core* orbitals which will be always doubly occupied
|
||||
|
||||
* *act* orbitals where an electron can be either excited from or to
|
||||
|
||||
* *del* orbitals which will be never occupied
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
File: :file:`cis/cis.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.cisd.:
|
||||
.. _cisd:
|
||||
|
||||
.. program:: cisd
|
||||
|
||||
|
@ -7,32 +7,67 @@ cisd
|
|||
====
|
||||
|
||||
|
||||
Configuration Interaction with Single and Double excitations.
|
||||
|
||||
This program takes a reference Slater determinant of ROHF-like occupancy,
|
||||
|
||||
and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the "n_states" lowest eigenstates of that CI matrix (see :option:`determinants n_states`).
|
||||
|
||||
|
||||
and performs all single and double excitations on top of it, disregarding
|
||||
spatial symmetry and compute the "n_states" lowest eigenstates of that CI
|
||||
matrix (see :option:`determinants n_states`).
|
||||
|
||||
This program can be useful in many cases:
|
||||
|
||||
* GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf solution, do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural orbitals as a guess for the :c:func:`scf`.
|
||||
|
||||
|
||||
* GROUND STATE CALCULATION: if even after a :c:func:`cis` calculation, natural
|
||||
orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf
|
||||
solution,
|
||||
do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural
|
||||
orbitals as a guess for the :c:func:`scf`.
|
||||
|
||||
|
||||
|
||||
* EXCITED STATES CALCULATIONS: the lowest excited states are much likely to
|
||||
be dominanted by single- or double-excitations.
|
||||
Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within
|
||||
the CISD space
|
||||
in the EZFIO folder, which can afterward be used as guess wave functions
|
||||
for a further multi-state fci calculation if you specify "read_wf" = True
|
||||
before running the fci executable (see :option:`determinants read_wf`).
|
||||
Also, if you specify "s2_eig" = True, the cisd will only retain states
|
||||
having the good value :math:`S^2` value
|
||||
(see :option:`determinants expected_s2` and :option:`determinants s2_eig`).
|
||||
If "s2_eig" = False, it will take the lowest n_states, whatever
|
||||
multiplicity they are.
|
||||
|
||||
|
||||
|
||||
Note: if you would like to discard some orbitals, use
|
||||
:ref:`qp_set_mo_class` to specify:
|
||||
|
||||
* "core" orbitals which will be always doubly occupied
|
||||
|
||||
* "act" orbitals where an electron can be either excited from or to
|
||||
|
||||
* "del" orbitals which will be never occupied
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
|
||||
* EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single- or double-excitations. Therefore, running a :c:func:`cisd` will save the "n_states" lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi-state fci calculation if you specify "read_wf" = True before running the fci executable (see :option:`determinants read_wf`). Also, if you specify "s2_eig" = True, the cisd will only retain states having the good value :math:`S^2` value (see :option:`determinants expected_s2` and :option:`determinants s2_eig`). If "s2_eig" = False, it will take the lowest n_states, whatever multiplicity they are.
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
|
||||
Note: if you would like to discard some orbitals, use :ref:`qp_set_mo_class` to specify:
|
||||
|
||||
* "core" orbitals which will be always doubly occupied
|
||||
|
||||
* "act" orbitals where an electron can be either excited from or to
|
||||
|
||||
* "del" orbitals which will be never occupied
|
||||
Calls:
|
||||
|
||||
File: :file:`cisd/cisd.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.diagonalize_h.:
|
||||
.. _diagonalize_h:
|
||||
|
||||
.. program:: diagonalize_h
|
||||
|
||||
|
@ -7,10 +7,26 @@ diagonalize_h
|
|||
=============
|
||||
|
||||
|
||||
Program that extracts the :option:`determinants n_states` lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
|
||||
|
||||
If :option:`determinants s2_eig` = True, it will retain only states
|
||||
|
||||
|
||||
which corresponds to the desired value of :option:`determinants expected_s2`.
|
||||
|
||||
File: :file:`tools/diagonalize_h.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.fci.:
|
||||
.. _fci:
|
||||
|
||||
.. program:: fci
|
||||
|
||||
|
@ -7,44 +7,76 @@ fci
|
|||
===
|
||||
|
||||
|
||||
Selected Full Configuration Interaction with stochastic selection and PT2 .
|
||||
|
||||
This program performs a CIPSI-like selected CI using a stochastic scheme for both
|
||||
|
||||
the selection of the important Slater determinants and the computation of the PT2 correction.
|
||||
|
||||
This CIPSI-like algorithm will be performed for the "n_states" lowest states of the variational space (see :option:`determinants n_det_max`)
|
||||
|
||||
The fci program will stop when reaching at least one the two following conditions:
|
||||
|
||||
* number of Slater determinant > "n_det_max" (see :option:`determinants n_det_max`)
|
||||
|
||||
* |PT2| < "pt2_max" (see :option:`perturbation pt2_max`)
|
||||
|
||||
|
||||
|
||||
This program performs a |CIPSI|-like selected |CI| using a
|
||||
stochastic scheme for both the selection of the important Slater
|
||||
determinants and the computation of the |PT2| correction. This
|
||||
|CIPSI|-like algorithm will be performed for the lowest states of
|
||||
the variational space (see :option:`determinants n_states`). The
|
||||
|FCI| program will stop when reaching at least one the two following
|
||||
conditions:
|
||||
|
||||
* number of Slater determinants > :option:`determinants n_det_max`
|
||||
* |PT2| < :option:`perturbation pt2_max`
|
||||
|
||||
The following other options can be of interest:
|
||||
|
||||
If "read_wf" = False, it starts with a ROHF-like Slater determinant as a guess wave function.
|
||||
|
||||
If "read_wf" = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s).
|
||||
|
||||
(see :option:`determinants read_wf`)
|
||||
|
||||
If "s2_eig" = True, it will systematically add all necessary Slater determinants in order
|
||||
|
||||
to have a pure spin wave function with an :math:`S^2` value corresponding to "expected_s2".
|
||||
|
||||
(see :option:`determinants s2_eig` and :option:`determinants expected_s2`)
|
||||
|
||||
|
||||
:option:`determinants read_wf`
|
||||
When set to |false|, the program starts with a ROHF-like Slater
|
||||
determinant as a guess wave function. When set to |true|, the
|
||||
program starts with the wave function(s) stored in the |EZFIO|
|
||||
directory as guess wave function(s).
|
||||
|
||||
:option:`determinants s2_eig`
|
||||
When set to |true|, the selection will systematically add all the
|
||||
necessary Slater determinants in order to have a pure spin wave
|
||||
function with an |S^2| value corresponding to
|
||||
:option:`determinants expected_s2`.
|
||||
|
||||
For excited states calculations, it is recommended to start with
|
||||
:ref:`.cis.` or :ref:`.cisd.` guess wave functions, eventually in
|
||||
a restricted set of |MOs|, and to set :option:`determinants s2_eig`
|
||||
to |true|.
|
||||
|
||||
|
||||
|
||||
Needs:
|
||||
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
|
||||
For excited states calculations, it is recommended to start with a :c:func:`cis` or :c:func:`cisd` guess wave functions
|
||||
|
||||
for the "n_states", and to set "s2_eig" = True.
|
||||
* :c:data:`is_zmq_slave`
|
||||
* :c:data:`do_pt2`
|
||||
|
||||
File: :file:`fci/fci.irp.f`
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run_cipsi`
|
||||
* :c:func:`run_slave_cipsi`
|
||||
* :c:func:`run_stochastic_cipsi`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ci_electronic_energy`
|
||||
* :c:data:`ci_electronic_energy`
|
||||
* :c:data:`ci_electronic_energy`
|
||||
* :c:data:`ci_energy`
|
||||
* :c:data:`n_det`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`c0_weight`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`psi_coef`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_det`
|
||||
* :c:data:`psi_det_size`
|
||||
* :c:data:`psi_det_sorted_bit`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_occ_pattern`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.fcidump.:
|
||||
.. _fcidump:
|
||||
|
||||
.. program:: fcidump
|
||||
|
||||
|
@ -7,16 +7,30 @@ fcidump
|
|||
=======
|
||||
|
||||
|
||||
Produce a regular FCIDUMP file from the |MOs| stored in the |EZFIO| folder.
|
||||
|
||||
To specify an active space, the class of the mos have to set in the |EZFIO| folder (see :ref:`qp_set_mo_class`).
|
||||
|
||||
|
||||
The fcidump program supports 3 types of MO_class :
|
||||
|
||||
|
||||
* the "core" orbitals which are always doubly occupied in the calculation
|
||||
|
||||
|
||||
* the "del" orbitals that are never occupied in the calculation
|
||||
|
||||
|
||||
* the "act" orbitals that will be occupied by a varying number of electrons
|
||||
|
||||
File: :file:`tools/fcidump.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`elec_beta_num`
|
||||
* :c:data:`list_act`
|
||||
* :c:data:`ezfio_filename`
|
||||
* :c:data:`core_fock_operator`
|
||||
* :c:data:`core_bitmask`
|
||||
* :c:data:`elec_num`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`elec_alpha_num`
|
||||
* :c:data:`mo_one_e_integrals`
|
||||
* :c:data:`n_act_orb`
|
||||
* :c:data:`mo_integrals_threshold`
|
||||
* :c:data:`mo_integrals_map`
|
||||
* :c:data:`core_energy`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.four_idx_transform.:
|
||||
.. _four_idx_transform:
|
||||
|
||||
.. program:: four_idx_transform
|
||||
|
||||
|
@ -7,10 +7,20 @@ four_idx_transform
|
|||
==================
|
||||
|
||||
|
||||
4-index transformation of two-electron integrals from |AO| to |MO| integrals.
|
||||
|
||||
This program will compute the two-electron integrals on the |MO| basis and store it into the |EZFIO| folder.
|
||||
|
||||
|
||||
This program can be useful if the AO --> MO transformation is an expensive step by itself.
|
||||
|
||||
File: :file:`tools/four_idx_transform.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.ks_scf.:
|
||||
.. _ks_scf:
|
||||
|
||||
.. program:: ks_scf
|
||||
|
||||
|
@ -7,6 +7,41 @@ ks_scf
|
|||
======
|
||||
|
||||
|
||||
Produce `Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef
|
||||
optional: mo_basis.mo_coef
|
||||
|
||||
File: :file:`kohn_sham/ks_scf.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`mu_erf_dft`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`check_coherence_functional`
|
||||
* :c:func:`create_guess`
|
||||
* :c:func:`orthonormalize_mos`
|
||||
* :c:func:`run`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.molden.:
|
||||
.. _molden:
|
||||
|
||||
.. program:: molden
|
||||
|
||||
|
@ -7,6 +7,18 @@ molden
|
|||
======
|
||||
|
||||
|
||||
Produce a Molden file
|
||||
|
||||
File: :file:`tools/molden.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`write_ao_basis`
|
||||
* :c:func:`write_geometry`
|
||||
* :c:func:`write_intro_gamess`
|
||||
* :c:func:`write_mo_basis`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.print_e_conv.:
|
||||
.. _print_e_conv:
|
||||
|
||||
.. program:: print_e_conv
|
||||
|
||||
|
@ -7,12 +7,21 @@ print_e_conv
|
|||
============
|
||||
|
||||
|
||||
program that prints in a human readable format the convergence of the CIPSI algorithm.
|
||||
|
||||
for all istate, this program produces
|
||||
|
||||
|
||||
* a file "EZFIO.istate.conv" containing the variational and var+PT2 energies as a function of N_det
|
||||
|
||||
|
||||
* for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det
|
||||
|
||||
File: :file:`tools/print_e_conv.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`ezfio_filename`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine_e_conv`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.print_wf.:
|
||||
.. _print_wf:
|
||||
|
||||
.. program:: print_wf
|
||||
|
||||
|
@ -7,12 +7,28 @@ print_wf
|
|||
========
|
||||
|
||||
|
||||
Print the ground state wave function stored in the |EZFIO| folder in the intermediate normalization.
|
||||
|
||||
It also prints a lot of information regarding the excitation operators from the reference determinant
|
||||
|
||||
|
||||
and a first-order perturbative analysis of the wave function.
|
||||
|
||||
|
||||
If the wave function strongly deviates from the first-order analysis, something funny is going on :)
|
||||
|
||||
File: :file:`tools/print_wf.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.pt2.:
|
||||
.. _pt2:
|
||||
|
||||
.. program:: pt2
|
||||
|
||||
|
@ -7,12 +7,44 @@ pt2
|
|||
===
|
||||
|
||||
|
||||
Second order perturbative correction to the wave function contained in the EZFIO directory.
|
||||
|
||||
This programs runs the stochastic PT2 correction on all "n_states" wave function stored in the EZFIO folder (see :option:`determinant n_states`).
|
||||
|
||||
|
||||
The option for the PT2 correction are the "pt2_relative_error" which is the relative stochastic
|
||||
|
||||
|
||||
error on the PT2 to reach before stopping the stochastic sampling. (see :option:`perturbation pt2_relative_error`)
|
||||
|
||||
File: :file:`fci/pt2.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`is_zmq_slave`
|
||||
* :c:data:`mo_two_e_integrals_in_map`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`threshold_generators`
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`run`
|
||||
* :c:func:`run_slave_cipsi`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`distributed_davidson`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`psi_energy`
|
||||
* :c:data:`pt2_stoch_istate`
|
||||
* :c:data:`read_wf`
|
||||
* :c:data:`state_average_weight`
|
||||
* :c:data:`threshold_generators`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.rs_ks_scf.:
|
||||
.. _rs_ks_scf:
|
||||
|
||||
.. program:: rs_ks_scf
|
||||
|
||||
|
@ -7,6 +7,42 @@ rs_ks_scf
|
|||
=========
|
||||
|
||||
|
||||
Produce `Range_separated_Kohn_Sham` MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef
|
||||
optional: mo_basis.mo_coef
|
||||
|
||||
File: :file:`kohn_sham_rs/rs_ks_scf.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`mu_erf_dft`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`check_coherence_functional`
|
||||
* :c:func:`create_guess`
|
||||
* :c:func:`orthonormalize_mos`
|
||||
* :c:func:`run`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`density_for_dft`
|
||||
* :c:data:`io_ao_one_e_integrals`
|
||||
* :c:data:`io_mo_one_e_integrals`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.save_natorb.:
|
||||
.. _save_natorb:
|
||||
|
||||
.. program:: save_natorb
|
||||
|
||||
|
@ -7,14 +7,37 @@ save_natorb
|
|||
===========
|
||||
|
||||
|
||||
Save natural MOs into the EZFIO
|
||||
|
||||
This program reads the wave function stored in the EZFIO folder,
|
||||
|
||||
|
||||
extracts the corresponding natural orbitals and set them as the new MOs
|
||||
|
||||
|
||||
If this is a multi-state calculation, the density matrix that produces the natural orbitals
|
||||
|
||||
|
||||
is obtained from a state-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
|
||||
|
||||
File: :file:`tools/save_natorb.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_e_n`
|
||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic`
|
||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo`
|
||||
* :c:func:`ezfio_set_mo_one_e_ints_io_mo_one_e_integrals`
|
||||
* :c:func:`ezfio_set_mo_two_e_ints_io_mo_two_e_integrals`
|
||||
* :c:func:`save_natural_mos`
|
||||
* :c:func:`save_ref_determinant`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_occ`
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.save_one_e_dm.:
|
||||
.. _save_one_e_dm:
|
||||
|
||||
.. program:: save_one_e_dm
|
||||
|
||||
|
@ -7,10 +7,27 @@ save_one_e_dm
|
|||
=============
|
||||
|
||||
|
||||
programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
|
||||
|
||||
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
|
||||
|
||||
|
||||
This can be used to perform damping on the density in RS-DFT calculation (see the density_for_dft module).
|
||||
|
||||
File: :file:`tools/save_one_e_dm.irp.f`
|
||||
Needs:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine_save_one_e_dm`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`read_wf`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.save_ortho_mos.:
|
||||
.. _save_ortho_mos:
|
||||
|
||||
.. program:: save_ortho_mos
|
||||
|
||||
|
@ -7,12 +7,23 @@ save_ortho_mos
|
|||
==============
|
||||
|
||||
|
||||
Save orthonormalized MOs in the EZFIO.
|
||||
|
||||
This program reads the current MOs, computes the corresponding overlap matrix in the MO basis
|
||||
|
||||
|
||||
and perform a Lowdin orthonormalization : :math:`MO_{new} = S^{-1/2} MO_{guess}`.
|
||||
|
||||
|
||||
Thanks to the Lowdin orthonormalization, the new MOs are the most similar to the guess MOs.
|
||||
|
||||
File: :file:`tools/save_ortho_mos.irp.f`
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`orthonormalize_mos`
|
||||
* :c:func:`save_mos`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.scf.:
|
||||
.. _scf:
|
||||
|
||||
.. program:: scf
|
||||
|
||||
|
@ -7,12 +7,30 @@ scf
|
|||
===
|
||||
|
||||
|
||||
Produce `Hartree_Fock` |MOs|
|
||||
|
||||
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
|
||||
|
||||
|
||||
output: hartree_fock.energy
|
||||
|
||||
|
||||
optional: mo_basis.mo_coef
|
||||
|
||||
File: :file:`hartree_fock/scf.irp.f`
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`create_guess`
|
||||
* :c:func:`orthonormalize_mos`
|
||||
* :c:func:`run`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`fock_matrix_ao_alpha`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`level_shift`
|
||||
* :c:data:`mo_coef`
|
||||
* :c:data:`mo_label`
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.. _.write_integrals_erf.:
|
||||
.. _write_integrals_erf:
|
||||
|
||||
.. program:: write_integrals_erf
|
||||
|
||||
|
@ -7,6 +7,24 @@ write_integrals_erf
|
|||
===================
|
||||
|
||||
|
||||
Saves the two-electron integrals with the :math:`erf(\mu r_{12})/r_{12}` oprerator into the EZFIO folder
|
||||
|
||||
File: :file:`tools/write_integrals_erf.irp.f`
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
|
||||
Calls:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:func:`routine`
|
||||
|
||||
Touches:
|
||||
|
||||
.. hlist::
|
||||
:columns: 3
|
||||
|
||||
* :c:data:`io_ao_two_e_integrals`
|
||||
* :c:data:`io_mo_two_e_integrals`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Configuration of IRPF90 package
|
||||
|
||||
# Set the path of IRPF90 here:
|
||||
export IRPF90_PATH=${QP_ROOT}/external/irpf90-v1.7.4
|
||||
export IRPF90_PATH=${QP_ROOT}/external/irpf90-v1.7.5
|
||||
export PATH=${PATH}:${IRPF90_PATH}/bin
|
||||
|
||||
export IRPF90=${IRPF90_PATH}/bin/irpf90
|
||||
|
|
10
etc/qp.rc
10
etc/qp.rc
|
@ -55,6 +55,9 @@ EOF
|
|||
function qp()
|
||||
{
|
||||
case $1 in
|
||||
-h|--help)
|
||||
_qp_usage ;;
|
||||
|
||||
"set_file")
|
||||
if [[ -d ${2} ]] ; then
|
||||
ezfio "$@"
|
||||
|
@ -101,7 +104,12 @@ function qp()
|
|||
;;
|
||||
|
||||
*)
|
||||
eval "qp_$@ -- ${EZFIO_FILE}"
|
||||
which "qp_$1" &> /dev/null
|
||||
if [[ $? -eq 0 ]] ; then
|
||||
eval "qp_$@ ${EZFIO_FILE}"
|
||||
else
|
||||
_qp_usage
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
84
man/cis.1
84
man/cis.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CIS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "CIS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cis \- | Quantum Package >
|
||||
.
|
||||
|
@ -32,37 +32,65 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Configuration Interaction with Single excitations.
|
||||
.sp
|
||||
This program takes a reference Slater determinant of ROHF\-like occupancy, and performs all single excitations on top of it. Disregarding spatial symmetry, it computes the \fIn_states\fP lowest eigenstates of that CI matrix. (see \fBdeterminants n_states\fP)
|
||||
.sp
|
||||
This program can be useful in many cases:
|
||||
.sp
|
||||
Ground state calculation
|
||||
.sp
|
||||
To be sure to have the lowest SCF solution, perform an \&.scf. (see the hartree_fock module), then a \fI\%cis\fP, save the natural orbitals (see \&.save_natorb.) and re\-run an \&.scf. optimization from this MO guess.
|
||||
.sp
|
||||
Excited states calculations
|
||||
.sp
|
||||
The lowest excited states are much likely to be dominated by single\-excitations. Therefore, running a \fI\%cis\fP will save the \fIn_states\fP lowest states within the CIS space in the \fI\%EZFIO\fP directory, which can afterwards be used as guess wave functions for a further multi\-state FCI calculation if \fBdeterminants read_wf\fP is set to \fBtrue\fP before running the \&.fci. executable.
|
||||
.sp
|
||||
If \fBdeterminants s2_eig\fP is set to \fBtrue\fP, the CIS will only retain states having the expected \ewidehat{S^2} value (see \fBdeterminants expected_s2\fP). Otherwise, the CIS will take the lowest \fBdeterminants n_states\fP, whatever multiplicity they are.
|
||||
.sp
|
||||
Note
|
||||
.sp
|
||||
To discard some orbitals, use the qp_set_mo_class command to specify:
|
||||
File : \fBh_apply.irp.f_shell_8\fP
|
||||
.INDENT 0.0
|
||||
.IP \(bu 2
|
||||
\fIcore\fP orbitals which will be always doubly occupied
|
||||
.IP \(bu 2
|
||||
\fIact\fP orbitals where an electron can be either excited from or to
|
||||
.IP \(bu 2
|
||||
\fIdel\fP orbitals which will be never occupied
|
||||
.UNINDENT
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
subroutine H_apply_cis_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBcis/cis.irp.f\fP
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBn_int\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBelec_alpha_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBh_apply_cis()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBbitstring_to_list_ab()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBfill_h_apply_buffer_no_selection()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
70
man/cisd.1
70
man/cisd.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CISD" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "CISD" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
cisd \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,35 +30,67 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Configuration Interaction with Single and Double excitations.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
This program takes a reference Slater determinant of ROHF\-like occupancy,
|
||||
.sp
|
||||
and performs all single and double excitations on top of it, disregarding spatial symmetry and compute the “n_states” lowest eigenstates of that CI matrix (see \fBdeterminants n_states\fP).
|
||||
.sp
|
||||
This program can be useful in many cases:
|
||||
File : \fBh_apply.irp.f_shell_8\fP
|
||||
.INDENT 0.0
|
||||
.IP \(bu 2
|
||||
GROUND STATE CALCULATION: if even after a \fBcis()\fP calculation, natural orbitals (see \fBsave_natorb()\fP) and then \fBscf()\fP optimization, you are not sure to have the lowest scf solution, do the same strategy with the \fBcisd()\fP executable instead of the \fBcis()\fP\ exectuable to generate the natural orbitals as a guess for the \fBscf()\fP\&.
|
||||
.IP \(bu 2
|
||||
EXCITED STATES CALCULATIONS: the lowest excited states are much likely to be dominanted by single\- or double\-excitations. Therefore, running a \fBcisd()\fP will save the “n_states” lowest states within the CISD space in the EZFIO folder, which can afterward be used as guess wave functions for a further multi\-state fci calculation if you specify “read_wf” = True before running the fci executable (see \fBdeterminants read_wf\fP). Also, if you specify “s2_eig” = True, the cisd will only retain states having the good value S^2 value (see \fBdeterminants expected_s2\fP and \fBdeterminants s2_eig\fP). If “s2_eig” = False, it will take the lowest n_states, whatever multiplicity they are.
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
subroutine H_apply_cisd_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in )
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Note: if you would like to discard some orbitals, use qp_set_mo_class to specify:
|
||||
Generate all single excitations of key_in using the bit masks of holes and
|
||||
particles.
|
||||
Assume N_int is already provided.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
“core” orbitals which will be always doubly occupied
|
||||
.IP \(bu 2
|
||||
“act” orbitals where an electron can be either excited from or to
|
||||
.IP \(bu 2
|
||||
“del” orbitals which will be never occupied
|
||||
\fBn_int\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBelec_alpha_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBcisd/cisd.irp.f\fP
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBh_apply_cisd()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBbitstring_to_list_ab()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBfill_h_apply_buffer_no_selection()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CONFIGURE" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "CONFIGURE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
configure \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "DIAGONALIZE_H" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "DIAGONALIZE_H" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
diagonalize_h \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,17 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Program that extracts the \fBdeterminants n_states\fP lowest states of the Hamiltonian within the set of Slater determinants stored in the EZFIO folder.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
If \fBdeterminants s2_eig\fP = True, it will retain only states
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
which corresponds to the desired value of \fBdeterminants expected_s2\fP\&.
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/diagonalize_h.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "EXCITED_STATES" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "EXCITED_STATES" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
excited_states \- | Quantum Package >
|
||||
.
|
||||
|
|
80
man/fci.1
80
man/fci.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCI" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCI" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fci \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,45 +30,63 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Selected Full Configuration Interaction with stochastic selection and PT2 .
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
This program performs a CIPSI\-like selected CI using a stochastic scheme for both
|
||||
.sp
|
||||
the selection of the important Slater determinants and the computation of the PT2 correction.
|
||||
.sp
|
||||
This CIPSI\-like algorithm will be performed for the “n_states” lowest states of the variational space (see \fBdeterminants n_det_max\fP)
|
||||
.sp
|
||||
The fci program will stop when reaching at least one the two following conditions:
|
||||
File : \fBfci/save_energy.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
subroutine save_energy(E,pt2)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Saves the energy in \fI\%EZFIO\fP\&.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
number of Slater determinant > “n_det_max” (see \fBdeterminants n_det_max\fP)
|
||||
\fBn_states\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
PT2 < “pt2_max” (see \fBperturbation pt2_max\fP)
|
||||
\fBrun_cipsi()\fP
|
||||
.UNINDENT
|
||||
.sp
|
||||
The following other options can be of interest:
|
||||
.sp
|
||||
If “read_wf” = False, it starts with a ROHF\-like Slater determinant as a guess wave function.
|
||||
.sp
|
||||
If “read_wf” = True , it starts with the wave function(s) stored in the EZFIO folder as guess wave function(s).
|
||||
.sp
|
||||
(see \fBdeterminants read_wf\fP)
|
||||
.sp
|
||||
If “s2_eig” = True, it will systematically add all necessary Slater determinants in order
|
||||
.sp
|
||||
to have a pure spin wave function with an S^2 value corresponding to “expected_s2”.
|
||||
.sp
|
||||
(see \fBdeterminants s2_eig\fP and \fBdeterminants expected_s2\fP)
|
||||
.sp
|
||||
For excited states calculations, it is recommended to start with a \fBcis()\fP or \fBcisd()\fP guess wave functions
|
||||
.sp
|
||||
for the “n_states”, and to set “s2_eig” = True.
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun_stochastic_cipsi()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBfci/fci.irp.f\fP
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBezfio_set_fci_energy()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBezfio_set_fci_energy_pt2()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FCIDUMP" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "FCIDUMP" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
fcidump \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,25 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Produce a regular FCIDUMP file from the MOs stored in the \fI\%EZFIO\fP folder.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
To specify an active space, the class of the mos have to set in the \fI\%EZFIO\fP folder (see qp_set_mo_class).
|
||||
.sp
|
||||
The fcidump program supports 3 types of MO_class :
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.IP \(bu 2
|
||||
the “core” orbitals which are always doubly occupied in the calculation
|
||||
.IP \(bu 2
|
||||
the “del” orbitals that are never occupied in the calculation
|
||||
.IP \(bu 2
|
||||
the “act” orbitals that will be occupied by a varying number of electrons
|
||||
.UNINDENT
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/fcidump.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "FOUR_IDX_TRANSFORM" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
four_idx_transform \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,17 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
4\-index transformation of two\-electron integrals from AO to MO integrals.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
This program will compute the two\-electron integrals on the MO basis and store it into the \fI\%EZFIO\fP folder.
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
This program can be useful if the AO –> MO transformation is an expensive step by itself.
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/four_idx_transform.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "INTERFACES" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "INTERFACES" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
interfaces \- | Quantum Package >
|
||||
.
|
||||
|
|
80
man/ks_scf.1
80
man/ks_scf.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "KS_SCF" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "KS_SCF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,10 +30,84 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
File : \fBks_scf.irp.f\fP
|
||||
.sp
|
||||
Produce \fIKohn_Sham\fP MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef
|
||||
Produce \fIKohn_Sham\fP MO orbital
|
||||
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
|
||||
output: kohn_sham.energy
|
||||
optional: mo_basis.mo_coef
|
||||
.sp
|
||||
File: \fBkohn_sham/ks_scf.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBio_mo_one_e_integrals\fP
|
||||
.IP \(bu 2
|
||||
\fBmu_erf_dft\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBdensity_for_dft\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBio_ao_one_e_integrals\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBcheck_coherence_functional()\fP
|
||||
.IP \(bu 2
|
||||
\fBcreate_guess()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBorthonormalize_mos()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun()\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Touches:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBdensity_for_dft\fP
|
||||
.IP \(bu 2
|
||||
\fBio_ao_one_e_integrals\fP
|
||||
.IP \(bu 2
|
||||
\fBio_mo_one_e_integrals\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBlevel_shift\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_label\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
53
man/molden.1
53
man/molden.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "MOLDEN" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "MOLDEN" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
molden \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,10 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
Produce a Molden file
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/molden.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "NATURAL_ORBITALS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "NATURAL_ORBITALS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
natural_orbitals \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "PLUGINS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
plugins \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_E_CONV" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_E_CONV" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_e_conv \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,21 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
program that prints in a human readable format the convergence of the CIPSI algorithm.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
for all istate, this program produces
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.IP \(bu 2
|
||||
a file “EZFIO.istate.conv” containing the variational and var+PT2 energies as a function of N_det
|
||||
.IP \(bu 2
|
||||
for istate > 1, a file EZFIO.istate.delta_e.conv containing the energy difference (both var and var+PT2) with the ground state as a function of N_det
|
||||
.UNINDENT
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/print_e_conv.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINT_WF" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINT_WF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
print_wf \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,19 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Print the ground state wave function stored in the \fI\%EZFIO\fP folder in the intermediate normalization.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
It also prints a lot of information regarding the excitation operators from the reference determinant
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
and a first\-order perturbative analysis of the wave function.
|
||||
.sp
|
||||
If the wave function strongly deviates from the first\-order analysis, something funny is going on :)
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/print_wf.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PRINTING" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "PRINTING" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
printing \- | Quantum Package >
|
||||
.
|
||||
|
|
60
man/pt2.1
60
man/pt2.1
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PT2" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "PT2" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
pt2 \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,19 +30,63 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Second order perturbative correction to the wave function contained in the EZFIO directory.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
This programs runs the stochastic PT2 correction on all “n_states” wave function stored in the EZFIO folder (see \fBdeterminant n_states\fP).
|
||||
File : \fBfci/save_energy.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
The option for the PT2 correction are the “pt2_relative_error” which is the relative stochastic
|
||||
.sp
|
||||
error on the PT2 to reach before stopping the stochastic sampling. (see \fBperturbation pt2_relative_error\fP)
|
||||
.nf
|
||||
.ft C
|
||||
subroutine save_energy(E,pt2)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBfci/pt2.irp.f\fP
|
||||
Saves the energy in \fI\%EZFIO\fP\&.
|
||||
.sp
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBn_states\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun_cipsi()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun_stochastic_cipsi()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBezfio_set_fci_energy()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBezfio_set_fci_energy_pt2()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_CONVERT_OUTPUT_TO_EZFIO" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_convert_output_to_ezfio \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EDIT" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EDIT" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_edit \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_EXPORT_AS_TGZ" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_export_as_tgz \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_PLUGINS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_PLUGINS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_plugins \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_RUN" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_RUN" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_run \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_FROZEN_CORE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_frozen_core \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_SET_MO_CLASS" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_SET_MO_CLASS" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_set_mo_class \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QP_UPDATE" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QP_UPDATE" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qp_update \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "QPSH" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "QPSH" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
qpsh \- | Quantum Package >
|
||||
.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "RS_KS_SCF" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "RS_KS_SCF" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
rs_ks_scf \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,10 +30,86 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
File : \fBrs_ks_scf.irp.f\fP
|
||||
.sp
|
||||
Produce \fIRange_separated_Kohn_Sham\fP MO orbital output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ output: kohn_sham.energy optional: mo_basis.mo_coef
|
||||
Produce \fIRange_separated_Kohn_Sham\fP MO orbital
|
||||
output: mo_basis.mo_num mo_basis.mo_label mo_basis.ao_md5 mo_basis.mo_coef mo_basis.mo_occ
|
||||
output: kohn_sham.energy
|
||||
optional: mo_basis.mo_coef
|
||||
.sp
|
||||
File: \fBkohn_sham_rs/rs_ks_scf.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBio_mo_one_e_integrals\fP
|
||||
.IP \(bu 2
|
||||
\fBmu_erf_dft\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBdensity_for_dft\fP
|
||||
.IP \(bu 2
|
||||
\fBio_ao_one_e_integrals\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBread_wf\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Calls:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBcheck_coherence_functional()\fP
|
||||
.IP \(bu 2
|
||||
\fBcreate_guess()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBorthonormalize_mos()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBrun()\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Touches:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.IP \(bu 2
|
||||
\fBfock_matrix_ao_alpha\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBdensity_for_dft\fP
|
||||
.IP \(bu 2
|
||||
\fBio_ao_one_e_integrals\fP
|
||||
.IP \(bu 2
|
||||
\fBio_mo_one_e_integrals\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBlevel_shift\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_label\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_NATORB" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_NATORB" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_natorb \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,21 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
Save natural MOs into the EZFIO
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
This program reads the wave function stored in the EZFIO folder,
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
extracts the corresponding natural orbitals and set them as the new MOs
|
||||
.sp
|
||||
If this is a multi\-state calculation, the density matrix that produces the natural orbitals
|
||||
.sp
|
||||
is obtained from a state\-averaged of the density matrices of each state with the corresponding state_average_weight (see the doc of state_average_weight).
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/save_natorb.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "SAVE_ONE_E_DM" "1" "Jan 16, 2019" "2.0" "Quantum Package"
|
||||
.TH "SAVE_ONE_E_DM" "1" "Jan 17, 2019" "2.0" "Quantum Package"
|
||||
.SH NAME
|
||||
save_one_e_dm \- | Quantum Package >
|
||||
.
|
||||
|
@ -30,17 +30,57 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.sp
|
||||
programs that computes the one body density on the mo basis for alpha and beta electrons from the wave function stored in the EZFIO folder, and then save it into the EZFIO folder aux_quantities.
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
Then, the global variable data_one_e_dm_alpha_mo and data_one_e_dm_beta_mo will automatically read this density in a further calculation.
|
||||
File : \fBmolden.irp.f\fP
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
.sp
|
||||
This can be used to perform damping on the density in RS\-DFT calculation (see the density_for_dft module).
|
||||
.nf
|
||||
.ft C
|
||||
subroutine write_Mo_basis(i_unit_output)
|
||||
.ft P
|
||||
.fi
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
File: \fBtools/save_one_e_dm.irp.f\fP
|
||||
Needs:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmo_num\fP
|
||||
.IP \(bu 2
|
||||
\fBmo_coef\fP
|
||||
.IP \(bu 2
|
||||
\fBao_num\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_l_char_space\fP
|
||||
.IP \(bu 2
|
||||
\fBnucl_charge\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBao_nucl\fP
|
||||
.IP \(bu 2
|
||||
\fBelement_name\fP
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.sp
|
||||
Called by:
|
||||
.INDENT 0.0
|
||||
.INDENT 2.0
|
||||
.IP \(bu 2
|
||||
\fBmolden()\fP
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.INDENT 2.0
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.UNINDENT
|
||||
.SH AUTHOR
|
||||
A. Scemama, E. Giner
|
||||
.SH COPYRIGHT
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue