10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-11-08 15:13:52 +01:00
quantum_package/src/Integrals_Bielec/README.rst

341 lines
14 KiB
ReStructuredText
Raw Normal View History

2014-04-17 23:50:51 +02:00
=============
BiInts Module
=============
Here, all bi-electronic integrals (:math:`1/r_{12}`) are computed. As they have
2014-04-18 00:17:22 +02:00
4 indices and many are zero, they are stored in a map, as defined in
``Utils/map_module.f90``. To fetch an AO integral, use the
``get_ao_bielec_integral(i,j,k,l,ao_integrals_map)`` function, and to fetch and
MO integral, use ``get_mo_bielec_integral(i,j,k,l,mo_integrals_map)`` or
``mo_bielec_integral(i,j,k,l)``.
2014-04-17 23:50:51 +02:00
Needed Modules
==============
2015-07-28 16:45:45 +02:00
.. Do not edit this section It was auto-generated
2015-06-04 12:15:54 +02:00
.. by the `update_README.py` script.
2014-04-17 23:50:51 +02:00
2015-06-04 12:15:54 +02:00
.. image:: tree_dependency.png
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
2014-04-17 23:50:51 +02:00
2015-07-28 17:02:00 +02:00
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
.. image:: tree_dependency.png
* `Pseudo <http://github.com/LCPQ/quantum_package/tree/master/src/Pseudo>`_
* `Bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask>`_
2015-12-04 20:02:35 +01:00
* `ZMQ <http://github.com/LCPQ/quantum_package/tree/master/src/ZMQ>`_
2015-07-28 17:02:00 +02:00
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
2015-06-04 12:15:54 +02:00
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L42>`_
Adds integrals to tha MO map according to some bitmask
2014-05-13 13:57:58 +02:00
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1>`_
2014-05-13 13:57:58 +02:00
integral of the AO basis <ik|jl> or (ij|kl)
i(r1) j(r1) 1/r12 k(r2) l(r2)
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L442>`_
2015-04-13 10:44:49 +02:00
Needed to compute Schwartz inequalities
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
`ao_bielec_integral_schwartz_accel <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L107>`_
2015-04-13 10:44:49 +02:00
integral of the AO basis <ik|jl> or (ij|kl)
i(r1) j(r1) 1/r12 k(r2) l(r2)
2015-06-04 12:15:54 +02:00
2015-11-25 03:05:49 +01:00
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L330>`_
2014-05-13 13:57:58 +02:00
Map of Atomic integrals
i(r1) j(r2) 1/r12 k(r1) l(r2)
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`ao_bielec_integrals_in_map_collector <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bielec_integrals_in_map_slave.irp.f#L57>`_
Collects results from the AO integral calculation
`ao_bielec_integrals_in_map_slave <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bielec_integrals_in_map_slave.irp.f#L1>`_
Computes a buffer of integrals
2015-06-04 12:15:54 +02:00
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L6>`_
AO integrals
`ao_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ezfio_interface.irp.f#L46>`_
If |<pq|rs>| < ao_integrals_threshold then <pq|rs> is zero
`ao_l4 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L279>`_
2015-04-13 10:44:49 +02:00
Computes the product of l values of i,j,k,and l
2015-06-04 12:15:54 +02:00
2015-11-25 03:05:49 +01:00
`bench_maps <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/test_integrals.irp.f#L1>`_
Performs timing benchmarks on integral access
2015-06-04 12:15:54 +02:00
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L19>`_
Undocumented
`bielec_integrals_index_reverse <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L36>`_
Undocumented
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L223>`_
Frees the memory of the AO map
2015-12-04 20:02:35 +01:00
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L508>`_
2015-06-04 12:15:54 +02:00
Frees the memory of the MO map
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L290>`_
2014-05-13 13:57:58 +02:00
Compute AO 1/r12 integrals for all i and fixed j,k,l
2015-12-04 20:02:35 +01:00
`compute_ao_integrals_jl <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1202>`_
Parallel client for AO integrals
2015-06-04 12:15:54 +02:00
`disk_access_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ezfio_interface.irp.f#L28>`_
Read/Write AO integrals from/to disk [ Write | Read | None ]
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
`disk_access_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ezfio_interface.irp.f#L68>`_
Read/Write MO integrals from/to disk [ Write | Read | None ]
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
`do_direct_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ezfio_interface.irp.f#L6>`_
Compute integrals on the fly
2014-05-13 13:57:58 +02:00
2015-12-04 20:02:35 +01:00
`dump_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f_template_562#L3>`_
2015-06-04 12:15:54 +02:00
Save to disk the $ao integrals
2014-05-13 13:57:58 +02:00
2015-12-04 20:02:35 +01:00
`dump_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f_template_562#L137>`_
2015-06-04 12:15:54 +02:00
Save to disk the $ao integrals
2014-05-13 13:57:58 +02:00
2015-12-04 20:02:35 +01:00
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L605>`_
2015-06-04 12:15:54 +02:00
ATOMIC PRIMTIVE bielectronic 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)
2014-05-13 13:57:58 +02:00
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L29>`_
2014-05-13 13:57:58 +02:00
Gauss-Legendre
2015-06-04 12:15:54 +02:00
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L10>`_
2014-05-13 13:57:58 +02:00
t_w(i,1,k) = w(i)
t_w(i,2,k) = t(i)
2015-06-04 12:15:54 +02:00
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L11>`_
2014-05-13 13:57:58 +02:00
t_w(i,1,k) = w(i)
t_w(i,2,k) = t(i)
2015-04-13 10:44:49 +02:00
2015-12-04 20:02:35 +01:00
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L467>`_
2015-06-04 12:15:54 +02:00
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
2014-05-13 13:57:58 +02:00
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L113>`_
2014-05-13 13:57:58 +02:00
Gets one AO bi-electronic integral from the AO map
2015-06-04 12:15:54 +02:00
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L137>`_
2014-05-13 13:57:58 +02:00
Gets multiple AO bi-electronic integral from the AO map .
All i are retrieved for j,k,l fixed.
2015-06-04 12:15:54 +02:00
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L172>`_
2014-05-13 13:57:58 +02:00
Gets multiple AO bi-electronic integral from the AO map .
All non-zero i are retrieved for j,k,l fixed.
2015-06-04 12:15:54 +02:00
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L214>`_
2014-05-13 13:57:58 +02:00
Returns the number of elements in the AO map
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L280>`_
2014-05-13 13:57:58 +02:00
Returns one integral <ij|kl> in the MO basis
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`get_mo_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L298>`_
2015-11-25 03:05:49 +01:00
Returns one integral <ij|kl> in the MO basis
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L333>`_
2014-05-13 13:57:58 +02:00
Returns multiple integrals <ij|kl> in the MO basis, all
i for j,k,l fixed.
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`get_mo_bielec_integrals_ij <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L364>`_
2014-06-25 14:58:58 +02:00
Returns multiple integrals <ij|kl> in the MO basis, all
2015-12-04 20:02:35 +01:00
i(1)j(2) 1/r12 k(1)l(2)
i, j for k,l fixed.
2014-06-25 14:58:58 +02:00
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L418>`_
2014-05-13 13:57:58 +02:00
Return the number of elements in the MO map
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L819>`_
2015-06-04 12:15:54 +02:00
subroutine that returns the explicit polynom in term of the "t"
variable of the following polynomw :
I_x1(a_x, d_x,p,q) * I_x1(a_y, d_y,p,q) * I_x1(a_z, d_z,p,q)
2015-12-04 20:02:35 +01:00
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L738>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L882>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1002>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1056>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L916>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L774>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
2015-12-04 20:02:35 +01:00
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L1118>`_
2015-06-04 12:15:54 +02:00
recursive function involved in the bielectronic integral
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L250>`_
2014-05-13 13:57:58 +02:00
Create new entry into AO map
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L264>`_
2014-05-13 13:57:58 +02:00
Create new entry into MO map, or accumulate in an existing entry
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L662>`_
2015-06-04 12:15:54 +02:00
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)
2015-12-04 20:02:35 +01:00
`load_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f_template_562#L89>`_
2015-06-04 12:15:54 +02:00
Read from disk the $ao integrals
2015-12-04 20:02:35 +01:00
`load_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f_template_562#L223>`_
2015-06-04 12:15:54 +02:00
Read from disk the $ao integrals
2015-11-25 03:05:49 +01:00
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L321>`_
2014-05-13 13:57:58 +02:00
Returns one integral <ij|kl> in the MO basis
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L464>`_
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj(i,j) = J_ij
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_exchange(i,j) = K_ij
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L466>`_
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj(i,j) = J_ij
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_exchange(i,j) = K_ij
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj_anti_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L326>`_
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_from_ao(i,j) = J_ij
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L465>`_
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj(i,j) = J_ij
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_exchange(i,j) = K_ij
2014-07-14 18:52:32 +02:00
mo_bielec_integral_jj_anti(i,j) = J_ij - K_ij
2014-05-13 13:57:58 +02:00
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj_exchange_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L325>`_
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_from_ao(i,j) = J_ij
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_jj_from_ao <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L324>`_
2015-04-13 10:44:49 +02:00
mo_bielec_integral_jj_from_ao(i,j) = J_ij
mo_bielec_integral_jj_exchange_from_ao(i,j) = J_ij
mo_bielec_integral_jj_anti_from_ao(i,j) = J_ij - K_ij
2015-06-04 12:15:54 +02:00
2015-12-04 20:02:35 +01:00
`mo_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L491>`_
2015-11-25 03:05:49 +01:00
Needed to compute Schwartz inequalities
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L22>`_
2014-05-13 13:57:58 +02:00
If True, the map of MO bielectronic integrals is provided
2015-06-04 12:15:54 +02:00
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/mo_bi_integrals.irp.f#L1>`_
2014-05-13 13:57:58 +02:00
Computes an unique index for i,j,k,l integrals
2015-06-04 12:15:54 +02:00
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/map_integrals.irp.f#L237>`_
MO integrals
`mo_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ezfio_interface.irp.f#L86>`_
If |<ij|kl>| < ao_integrals_threshold then <pq|rs> is zero
`n_pt_max_integrals_16 <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/gauss_legendre.irp.f#L1>`_
Aligned n_pt_max_integrals
2015-12-04 20:02:35 +01:00
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/ao_bi_integrals.irp.f#L805>`_
2015-06-04 12:15:54 +02:00
Returns the upper boundary of the degree of the polynomial involved in the
bielctronic integral :
Ix(a_x,b_x,c_x,d_x) * Iy(a_y,b_y,c_y,d_y) * Iz(a_z,b_z,c_z,d_z)
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L1>`_
2015-04-13 10:44:49 +02:00
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
2015-06-04 12:15:54 +02:00
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L2>`_
2015-04-13 10:44:49 +02:00
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
2015-06-04 12:15:54 +02:00
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L3>`_
2015-04-13 10:44:49 +02:00
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals
2015-06-04 12:15:54 +02:00
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/Integrals_Bielec/read_write.irp.f#L4>`_
2015-04-13 10:44:49 +02:00
One level of abstraction for disk_access_ao_integrals and disk_access_mo_integrals