mirror of
https://github.com/LCPQ/quantum_package
synced 2024-08-25 05:51:46 +02:00
Changes in /Hartree_Fock/README.srt
This commit is contained in:
parent
3b18250977
commit
14c43916ca
@ -50,44 +50,44 @@ Documentation
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. NEEDED_MODULES file.
|
||||
|
||||
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L21>`_
|
||||
`ao_coef <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/&BEGIN_PROVIDER [ double precision, ao_coef, (ao_num_align,ao_prim_num_max) ]/;">`_
|
||||
Coefficients, exponents and powers of x,y and z
|
||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||
|
||||
`ao_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L136>`_
|
||||
`ao_coef_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ double precision, ao_coef_transp, (ao_prim_num_max_align,ao_num) ]/;">`_
|
||||
Transposed ao_coef and ao_expo
|
||||
|
||||
`ao_expo <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L20>`_
|
||||
`ao_expo <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/&BEGIN_PROVIDER [ double precision, ao_expo, (ao_num_align,ao_prim_num_max) ]/;">`_
|
||||
Coefficients, exponents and powers of x,y and z
|
||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||
|
||||
`ao_expo_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L137>`_
|
||||
`ao_expo_transp <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/&BEGIN_PROVIDER [ double precision, ao_expo_transp, (ao_prim_num_max_align,ao_num) ]/;">`_
|
||||
Transposed ao_coef and ao_expo
|
||||
|
||||
`ao_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L186>`_
|
||||
`ao_nucl <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ integer, ao_nucl, (ao_num)]/;">`_
|
||||
Index of the nuclei on which the ao is centered
|
||||
|
||||
`ao_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L1>`_
|
||||
`ao_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ integer, ao_num ]/;">`_
|
||||
Number of atomic orbitals
|
||||
|
||||
`ao_num_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L2>`_
|
||||
`ao_num_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/&BEGIN_PROVIDER [ integer, ao_num_align ]/;">`_
|
||||
Number of atomic orbitals
|
||||
|
||||
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L96>`_
|
||||
`ao_overlap <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ double precision, ao_overlap, (ao_num_align,ao_num) ]/;">`_
|
||||
matrix of the overlap for tha AOs
|
||||
S(i,j) = overlap between the ith and the jth atomic basis function
|
||||
|
||||
`ao_power <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L19>`_
|
||||
`ao_power <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ integer, ao_power, (ao_num_align,3) ]/;">`_
|
||||
Coefficients, exponents and powers of x,y and z
|
||||
ao_coef(i,j) = coefficient of the jth primitive on the ith ao
|
||||
|
||||
`ao_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L154>`_
|
||||
`ao_prim_num <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ integer, ao_prim_num, (ao_num_align) ]/;">`_
|
||||
Number of primitives per atomic orbital
|
||||
|
||||
`ao_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L176>`_
|
||||
`ao_prim_num_max <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/BEGIN_PROVIDER [ integer, ao_prim_num_max ]/;">`_
|
||||
Undocumented
|
||||
|
||||
`ao_prim_num_max_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L177>`_
|
||||
`ao_prim_num_max_align <http://github.com/LCPQ/quantum_package/tree/master/src/AOs/aos.irp.f#L/&BEGIN_PROVIDER [ integer, ao_prim_num_max_align ]/;">`_
|
||||
Undocumented
|
||||
|
||||
|
||||
|
@ -32,162 +32,162 @@ Documentation
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. NEEDED_MODULES file.
|
||||
|
||||
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L1>`_
|
||||
`ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/double precision function ao_bielec_integral(i,j,k,l)/;">`_
|
||||
integral of the AO basis <ik|jl> or (ij|kl)
|
||||
i(r1) j(r1) 1/r12 k(r2) l(r2)
|
||||
|
||||
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L326>`_
|
||||
`ao_bielec_integral_schwartz <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/BEGIN_PROVIDER [ double precision, ao_bielec_integral_schwartz,(ao_num,ao_num) ]/;">`_
|
||||
Needed to compuet Schwartz inequalities
|
||||
|
||||
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L189>`_
|
||||
`ao_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ]/;">`_
|
||||
Map of Atomic integrals
|
||||
i(r1) j(r2) 1/r12 k(r1) l(r2)
|
||||
|
||||
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L148>`_
|
||||
`compute_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/subroutine compute_ao_bielec_integrals(j,k,l,sze,buffer_value)/;">`_
|
||||
Compute AO 1/r12 integrals for all i and fixed j,k,l
|
||||
|
||||
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L487>`_
|
||||
`eri <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/double precision function ERI(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)/;">`_
|
||||
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)
|
||||
|
||||
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L352>`_
|
||||
`general_primitive_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/double precision function general_primitive_integral(dim, &>`_
|
||||
Computes the integral <pq|rs> where p,q,r,s are Gaussian primitives
|
||||
|
||||
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L632>`_
|
||||
`give_polynom_mult_center_x <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/subroutine give_polynom_mult_center_x(P_center,Q_center,a_x,d_x,p,q,n_pt_in,pq_inv,pq_inv_2,p10_1,p01_1,p10_2,p01_2,d,n_pt_out)/;">`_
|
||||
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)
|
||||
|
||||
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L576>`_
|
||||
`i_x1_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive double precision function I_x1_new(a,c,B_10,B_01,B_00,I_0000) result(res)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L695>`_
|
||||
`i_x1_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/subroutine I_x1_pol_mult(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L815>`_
|
||||
`i_x1_pol_mult_a1 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive subroutine I_x1_pol_mult_a1(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L869>`_
|
||||
`i_x1_pol_mult_a2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive subroutine I_x1_pol_mult_a2(c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L729>`_
|
||||
`i_x1_pol_mult_recurs <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive subroutine I_x1_pol_mult_recurs(a,c,B_10,B_01,B_00,C_00,D_00,d,nd,n_pt_in)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L599>`_
|
||||
`i_x2_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive double precision function I_x2_new(c,B_10,B_01,B_00,I_0000) result(res)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L931>`_
|
||||
`i_x2_pol_mult <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/recursive subroutine I_x2_pol_mult(c,B_10,B_01,B_00,C_00,D_00,d,nd,dim)/;">`_
|
||||
recursive function involved in the bielectronic integral
|
||||
|
||||
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L531>`_
|
||||
`integrale_new <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/subroutine integrale_new(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)/;">`_
|
||||
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)
|
||||
|
||||
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L618>`_
|
||||
`n_pt_sup <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/ao_bi_integrals.irp.f#L/integer function n_pt_sup(a_x,b_x,c_x,d_x,a_y,b_y,c_y,d_y,a_z,b_z,c_z,d_z)/;">`_
|
||||
Returns the upper boundary of the degree of the polynom 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)
|
||||
|
||||
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L20>`_
|
||||
`gauleg <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L/subroutine gauleg(x1,x2,x,w,n)/;">`_
|
||||
Gauss-Legendre
|
||||
|
||||
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L1>`_
|
||||
`gauleg_t2 <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L/BEGIN_PROVIDER [ double precision, gauleg_t2, (n_pt_max_integrals,n_pt_max_integrals/2) ]/;">`_
|
||||
t_w(i,1,k) = w(i)
|
||||
t_w(i,2,k) = t(i)
|
||||
|
||||
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L2>`_
|
||||
`gauleg_w <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/gauss_legendre.irp.f#L/&BEGIN_PROVIDER [ double precision, gauleg_w, (n_pt_max_integrals,n_pt_max_integrals/2) ]/;">`_
|
||||
t_w(i,1,k) = w(i)
|
||||
t_w(i,2,k) = t(i)
|
||||
|
||||
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L6>`_
|
||||
`ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/BEGIN_PROVIDER [ type(map_type), ao_integrals_map ]/;">`_
|
||||
AO integrals
|
||||
|
||||
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L17>`_
|
||||
`bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine bielec_integrals_index(i,j,k,l,i1)/;">`_
|
||||
Undocumented
|
||||
|
||||
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L128>`_
|
||||
`clear_ao_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine clear_ao_map/;">`_
|
||||
Frees the memory of the AO map
|
||||
|
||||
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L243>`_
|
||||
`clear_mo_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine clear_mo_map/;">`_
|
||||
Frees the memory of the MO map
|
||||
|
||||
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L33>`_
|
||||
`get_ao_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/double precision function get_ao_bielec_integral(i,j,k,l,map)/;">`_
|
||||
Gets one AO bi-electronic integral from the AO map
|
||||
|
||||
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L51>`_
|
||||
`get_ao_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine get_ao_bielec_integrals(j,k,l,sze,out_val)/;">`_
|
||||
Gets multiple AO bi-electronic integral from the AO map .
|
||||
All i are retrieved for j,k,l fixed.
|
||||
|
||||
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L84>`_
|
||||
`get_ao_bielec_integrals_non_zero <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine get_ao_bielec_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int)/;">`_
|
||||
Gets multiple AO bi-electronic integral from the AO map .
|
||||
All non-zero i are retrieved for j,k,l fixed.
|
||||
|
||||
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L120>`_
|
||||
`get_ao_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/integer*8 function get_ao_map_size()/;">`_
|
||||
Returns the number of elements in the AO map
|
||||
|
||||
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L184>`_
|
||||
`get_mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/double precision function get_mo_bielec_integral(i,j,k,l,map)/;">`_
|
||||
Returns one integral <ij|kl> in the MO basis
|
||||
|
||||
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L213>`_
|
||||
`get_mo_bielec_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine get_mo_bielec_integrals(j,k,l,sze,out_val,map)/;">`_
|
||||
Returns multiple integrals <ij|kl> in the MO basis, all
|
||||
i for j,k,l fixed.
|
||||
|
||||
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L235>`_
|
||||
`get_mo_map_size <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/integer*8 function get_mo_map_size()/;">`_
|
||||
Return the number of elements in the MO map
|
||||
|
||||
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L153>`_
|
||||
`insert_into_ao_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine insert_into_ao_integrals_map(n_integrals, &>`_
|
||||
Create new entry into AO map
|
||||
|
||||
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L168>`_
|
||||
`insert_into_mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/subroutine insert_into_mo_integrals_map(n_integrals, &>`_
|
||||
Create new entry into MO map, or accumulate in an existing entry
|
||||
|
||||
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L201>`_
|
||||
`mo_bielec_integral <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/double precision function mo_bielec_integral(i,j,k,l)/;">`_
|
||||
Returns one integral <ij|kl> in the MO basis
|
||||
|
||||
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L142>`_
|
||||
`mo_integrals_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/map_integrals.irp.f#L/BEGIN_PROVIDER [ type(map_type), mo_integrals_map ]/;">`_
|
||||
MO integrals
|
||||
|
||||
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L40>`_
|
||||
`add_integrals_to_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/subroutine add_integrals_to_map(mask_ijkl)/;">`_
|
||||
Adds integrals to tha MO map according to some bitmask
|
||||
|
||||
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L296>`_
|
||||
`mo_bielec_integral_jj <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/BEGIN_PROVIDER [ double precision, mo_bielec_integral_jj, (mo_tot_num_align,mo_tot_num) ]/;">`_
|
||||
Transform Bi-electronic integrals <ij|ij> and <ij|ji>
|
||||
|
||||
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L298>`_
|
||||
`mo_bielec_integral_jj_anti <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/&BEGIN_PROVIDER [ double precision, mo_bielec_integral_jj_anti, (mo_tot_num_align,mo_tot_num) ]/;">`_
|
||||
Transform Bi-electronic integrals <ij|ij> and <ij|ji>
|
||||
|
||||
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L297>`_
|
||||
`mo_bielec_integral_jj_exchange <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/&BEGIN_PROVIDER [ double precision, mo_bielec_integral_jj_exchange, (mo_tot_num_align,mo_tot_num) ]/;">`_
|
||||
Transform Bi-electronic integrals <ij|ij> and <ij|ji>
|
||||
|
||||
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L21>`_
|
||||
`mo_bielec_integrals_in_map <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/BEGIN_PROVIDER [ logical, mo_bielec_integrals_in_map ]/;">`_
|
||||
If True, the map of MO bielectronic integrals is provided
|
||||
|
||||
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L1>`_
|
||||
`mo_bielec_integrals_index <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/mo_bi_integrals.irp.f#L/subroutine mo_bielec_integrals_index(i,j,k,l,i1)/;">`_
|
||||
Computes an unique index for i,j,k,l integrals
|
||||
|
||||
`ao_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L73>`_
|
||||
`ao_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ double precision, ao_integrals_threshold ]/;">`_
|
||||
If <pq|rs> < ao_integrals_threshold, <pq|rs> = 0
|
||||
|
||||
`do_direct_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L111>`_
|
||||
`do_direct_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ logical, do_direct_integrals ]/;">`_
|
||||
If True, compute integrals on the fly
|
||||
|
||||
`mo_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L92>`_
|
||||
`mo_integrals_threshold <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ double precision, mo_integrals_threshold ]/;">`_
|
||||
If <ij|kl> < mo_integrals_threshold, <ij|kl> = 0
|
||||
|
||||
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L55>`_
|
||||
`read_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ logical, read_ao_integrals ]/;">`_
|
||||
If true, read AO integrals in EZFIO
|
||||
|
||||
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L37>`_
|
||||
`read_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ logical, read_mo_integrals ]/;">`_
|
||||
If true, read MO integrals in EZFIO
|
||||
|
||||
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L19>`_
|
||||
`write_ao_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ logical, write_ao_integrals ]/;">`_
|
||||
If true, write AO integrals in EZFIO
|
||||
|
||||
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L1>`_
|
||||
`write_mo_integrals <http://github.com/LCPQ/quantum_package/tree/master/src/BiInts/options.irp.f#L/BEGIN_PROVIDER [ logical, write_mo_integrals ]/;">`_
|
||||
If true, write MO integrals in EZFIO
|
||||
|
||||
|
||||
|
@ -119,9 +119,9 @@ subroutine debug_det(string,Nint)
|
||||
integer, intent(in) :: Nint
|
||||
integer(bit_kind), intent(in) :: string(Nint,2)
|
||||
character*(512) :: output(2)
|
||||
call bitstring_to_hexa( output(1), string(1,1), Nint )
|
||||
call bitstring_to_hexa( output(2), string(1,2), Nint )
|
||||
print *, trim(output(1)) , '|', trim(output(2))
|
||||
! call bitstring_to_hexa( output(1), string(1,1), Nint )
|
||||
! call bitstring_to_hexa( output(2), string(1,2), Nint )
|
||||
! print *, trim(output(1)) , '|', trim(output(2))
|
||||
|
||||
call bitstring_to_str( output(1), string(1,1), N_int )
|
||||
call bitstring_to_str( output(2), string(1,2), N_int )
|
||||
|
@ -30,7 +30,41 @@ Documentation
|
||||
Calls H_apply on the HF determinant and selects all connected single and double
|
||||
excitations (of the same symmetry).
|
||||
|
||||
`cisd <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/cisd.irp.f#L/subroutine cisd/;">`_
|
||||
`cisd_sc2 <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/SC2.irp.f#L/subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint)/;">`_
|
||||
CISD+SC2 method :: take off all the disconnected terms of a CISD (selected or not)
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
`davidson_diag_hjj <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/SC2.irp.f#L/subroutine davidson_diag_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,N_st,Nint)/;">`_
|
||||
Davidson diagonalization with specific diagonal elements of the H matrix
|
||||
.br
|
||||
H_jj : specific diagonal H matrix elements to diagonalize de Davidson
|
||||
.br
|
||||
dets_in : bitmasks corresponding to determinants
|
||||
.br
|
||||
u_in : guess coefficients on the various states. Overwritten
|
||||
on exit
|
||||
.br
|
||||
dim_in : leftmost dimension of u_in
|
||||
.br
|
||||
sze : Number of determinants
|
||||
.br
|
||||
N_st : Number of eigenstates
|
||||
.br
|
||||
Initial guess vectors are not necessarily orthonormal
|
||||
|
||||
`repeat_excitation <http://github.com/LCPQ/quantum_package/tree/master/src/CISD/SC2.irp.f#L/subroutine repeat_excitation(key_in,key_1,key_2,i_ok,Nint)/;">`_
|
||||
Undocumented
|
||||
|
||||
|
||||
|
@ -36,6 +36,7 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint)
|
||||
double precision :: hij_elec, e_corr_double,e_corr,diag_h_mat_elem,inv_c0
|
||||
double precision :: e_corr_array(sze),H_jj_ref(sze),H_jj_dressed(sze),hij_double(sze)
|
||||
double precision :: e_corr_double_before,accu,cpu_2,cpu_1
|
||||
integer :: degree_exc(sze)
|
||||
integer :: i_ok
|
||||
|
||||
!$OMP PARALLEL DEFAULT(NONE) &
|
||||
@ -55,6 +56,7 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint)
|
||||
e_corr_double = 0.d0
|
||||
do i = 1, sze
|
||||
call get_excitation_degree(ref_bitmask,dets_in(1,1,i),degree,Nint)
|
||||
degree_exc(i) = degree
|
||||
if(degree==0)then
|
||||
index_hf=i
|
||||
else if (degree == 2)then
|
||||
@ -78,9 +80,6 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint)
|
||||
enddo
|
||||
e_corr = e_corr * inv_c0
|
||||
e_corr_double = e_corr_double * inv_c0
|
||||
print*, 'E_corr = ',e_corr
|
||||
print*, 'E_corr_double = ', e_corr_double
|
||||
|
||||
converged = .False.
|
||||
e_corr_double_before = e_corr_double
|
||||
iter = 0
|
||||
@ -93,19 +92,24 @@ subroutine CISD_SC2(dets_in,u_in,energies,dim_in,sze,N_st,Nint)
|
||||
H_jj_dressed(i) = H_jj_ref(i)
|
||||
if (i==index_hf)cycle
|
||||
accu = 0.d0
|
||||
if(degree_exc(i)==1)then
|
||||
do j=1,N_double
|
||||
call repeat_excitation(dets_in(1,1,i),ref_bitmask,dets_in(1,1,index_double(j)),i_ok,Nint)
|
||||
if (i_ok==1)cycle! you check if the excitation is possible
|
||||
call get_excitation_degree(dets_in(1,1,i),dets_in(1,1,index_double(j)),degree,N_int)
|
||||
if (degree<=2)cycle
|
||||
accu += e_corr_array(j)
|
||||
enddo
|
||||
else
|
||||
do j=1,N_double
|
||||
call get_excitation_degree(dets_in(1,1,i),dets_in(1,1,index_double(j)),degree,N_int)
|
||||
if (degree<=3)cycle
|
||||
accu += e_corr_array(j)
|
||||
enddo
|
||||
endif
|
||||
H_jj_dressed(i) += accu
|
||||
enddo
|
||||
|
||||
call cpu_time(cpu_2)
|
||||
print*,'time for the excitations = ',cpu_2 - cpu_1
|
||||
print*,H_jj_ref(1),H_jj_ref(2)
|
||||
print*,H_jj_dressed(1),H_jj_dressed(2)
|
||||
print*,u_in(index_hf,1),u_in(index_double(1),1)
|
||||
call davidson_diag_hjj(dets_in,u_in,H_jj_dressed,energies,dim_in,sze,N_st,Nint)
|
||||
print*,u_in(index_hf,1),u_in(index_double(1),1)
|
||||
e_corr_double = 0.d0
|
||||
@ -418,4 +422,3 @@ subroutine repeat_excitation(key_in,key_1,key_2,i_ok,Nint)
|
||||
return
|
||||
endif
|
||||
end
|
||||
|
||||
|
@ -5,18 +5,31 @@ program cisd
|
||||
PROVIDE ref_bitmask_energy
|
||||
|
||||
double precision :: pt2(10), norm_pert(10), H_pert_diag
|
||||
double precision,allocatable :: H_jj(:)
|
||||
double precision :: diag_h_mat_elem
|
||||
integer,allocatable :: iorder(:)
|
||||
|
||||
N_states = 3
|
||||
N_states = 6
|
||||
touch N_states
|
||||
call H_apply_cisd
|
||||
allocate(eigvalues(n_states),eigvectors(n_det,n_states))
|
||||
print *, 'N_det = ', N_det
|
||||
print *, 'N_states = ', N_states
|
||||
psi_coef = - 1.d-4
|
||||
allocate(H_jj(n_det),iorder(n_det))
|
||||
do i = 1, N_det
|
||||
H_jj(i) = diag_h_mat_elem(psi_det(1,1,i),N_int)
|
||||
iorder(i) = i
|
||||
enddo
|
||||
call dsort(H_jj,iorder,n_det)
|
||||
|
||||
do k=1,N_states
|
||||
psi_coef(k,k) = 1.d0
|
||||
psi_coef(iorder(k),k) = 1.d0
|
||||
enddo
|
||||
call davidson_diag(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int)
|
||||
do i = 1, N_states
|
||||
print*,'eigvalues(i) = ',eigvalues(i)
|
||||
enddo
|
||||
|
||||
print *, '---'
|
||||
print *, 'HF:', HF_energy
|
||||
@ -26,5 +39,8 @@ program cisd
|
||||
print *, 'E_corr = ',eigvalues(i) - ref_bitmask_energy
|
||||
enddo
|
||||
call CISD_SC2(psi_det,psi_coef,eigvalues,size(psi_coef,1),N_det,N_states,N_int)
|
||||
do i = 1, N_states
|
||||
print*,'eigvalues(i) = ',eigvalues(i)
|
||||
enddo
|
||||
deallocate(eigvalues,eigvectors)
|
||||
end
|
||||
|
@ -81,9 +81,6 @@ Documentation
|
||||
`eigenvectors_fock_matrix_mo <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/diagonalize_fock.irp.f#L/&BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num_align,mo_tot_num) ]/;">`_
|
||||
Diagonal Fock matrix in the MO basis
|
||||
|
||||
`scf_iteration <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/mo_SCF_iterations.irp.f#L/subroutine scf_iteration/;">`_
|
||||
Undocumented
|
||||
|
||||
`do_diis <http://github.com/LCPQ/quantum_package/tree/master/src/Hartree_Fock/options.irp.f#L/BEGIN_PROVIDER [ logical, do_DIIS ]/;">`_
|
||||
If True, compute integrals on the fly
|
||||
|
||||
|
@ -22,50 +22,50 @@ Documentation
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. NEEDED_MODULES file.
|
||||
|
||||
`nucl_charge <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L23>`_
|
||||
`nucl_charge <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ double precision, nucl_charge, (nucl_num) ]/;">`_
|
||||
Nuclear charges
|
||||
|
||||
`nucl_coord <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L55>`_
|
||||
`nucl_coord <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ double precision, nucl_coord, (nucl_num_aligned,3) ]/;">`_
|
||||
Nuclear coordinates in the format (:, {x,y,z})
|
||||
|
||||
`nucl_coord_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L110>`_
|
||||
`nucl_coord_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ double precision, nucl_coord_transp, (3,nucl_num) ]/;">`_
|
||||
Transposed array of nucl_coord
|
||||
|
||||
`nucl_dist <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L129>`_
|
||||
`nucl_dist <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/&BEGIN_PROVIDER [ double precision, nucl_dist, (nucl_num_aligned,nucl_num) ]/;">`_
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
`nucl_dist_2 <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L125>`_
|
||||
`nucl_dist_2 <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ double precision, nucl_dist_2, (nucl_num_aligned,nucl_num) ]/;">`_
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
`nucl_dist_vec_x <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L126>`_
|
||||
`nucl_dist_vec_x <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/&BEGIN_PROVIDER [ double precision, nucl_dist_vec_x, (nucl_num_aligned,nucl_num) ]/;">`_
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
`nucl_dist_vec_y <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L127>`_
|
||||
`nucl_dist_vec_y <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/&BEGIN_PROVIDER [ double precision, nucl_dist_vec_y, (nucl_num_aligned,nucl_num) ]/;">`_
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
`nucl_dist_vec_z <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L128>`_
|
||||
`nucl_dist_vec_z <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/&BEGIN_PROVIDER [ double precision, nucl_dist_vec_z, (nucl_num_aligned,nucl_num) ]/;">`_
|
||||
nucl_dist : Nucleus-nucleus distances
|
||||
nucl_dist_2 : Nucleus-nucleus distances squared
|
||||
nucl_dist_vec : Nucleus-nucleus distances vectors
|
||||
|
||||
`nucl_label <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L41>`_
|
||||
`nucl_label <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ character*(32), nucl_label, (nucl_num) ]/;">`_
|
||||
Nuclear labels
|
||||
|
||||
`nucl_num <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L1>`_
|
||||
`nucl_num <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ integer, nucl_num ]/;">`_
|
||||
Number of nuclei
|
||||
|
||||
`nucl_num_aligned <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L2>`_
|
||||
`nucl_num_aligned <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/&BEGIN_PROVIDER [ integer, nucl_num_aligned ]/;">`_
|
||||
Number of nuclei
|
||||
|
||||
`nuclear_repulsion <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L171>`_
|
||||
`nuclear_repulsion <http://github.com/LCPQ/quantum_package/tree/master/src/Nuclei/nuclei.irp.f#L/BEGIN_PROVIDER [ double precision, nuclear_repulsion ]/;">`_
|
||||
Nuclear repulsion energy
|
||||
|
||||
|
||||
|
@ -10,42 +10,63 @@ Documentation
|
||||
.. Do not edit this section. It was auto-generated from the
|
||||
.. NEEDED_MODULES file.
|
||||
|
||||
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L146>`_
|
||||
`apply_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L/subroutine apply_rotation(A,LDA,R,LDR,B,LDB,m,n)/;">`_
|
||||
Apply the rotation found by find_rotation
|
||||
|
||||
`find_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L127>`_
|
||||
`find_rotation <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L/subroutine find_rotation(A,LDA,B,m,C,n)/;">`_
|
||||
Find A.C = B
|
||||
|
||||
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L73>`_
|
||||
`get_pseudo_inverse <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L/subroutine get_pseudo_inverse(A,m,n,C,LDA)/;">`_
|
||||
Find C = A^-1
|
||||
|
||||
`lapack_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L158>`_
|
||||
`lapack_diag <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L/subroutine lapack_diag(eigvalues,eigvectors,H,nmax,n)/;">`_
|
||||
Diagonalize matrix H
|
||||
.br
|
||||
H is untouched between input and ouptut
|
||||
.br
|
||||
eigevalues(i) = ith lowest eigenvalue of the H matrix
|
||||
.br
|
||||
eigvectors(i,j) = <i|psi_j> where i is the basis function and psi_j is the j th eigenvector
|
||||
.br
|
||||
|
||||
`ortho_lowdin <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L1>`_
|
||||
Compute U.S^-1/2 canonical orthogonalization
|
||||
`ortho_lowdin <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/LinearAlgebra.irp.f#L/subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m)/;">`_
|
||||
Compute C_new=C_old.S^-1/2 canonical orthogonalization.
|
||||
.br
|
||||
overlap : overlap matrix
|
||||
.br
|
||||
LDA : leftmost dimension of overlap array
|
||||
.br
|
||||
N : Overlap matrix is NxN (array is (LDA,N) )
|
||||
.br
|
||||
C : Coefficients of the vectors to orthogonalize. On exit,
|
||||
orthogonal vectors
|
||||
.br
|
||||
LDC : leftmost dimension of C
|
||||
.br
|
||||
m : Coefficients matrix is MxN, ( array is (LDC,N) )
|
||||
.br
|
||||
|
||||
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L243>`_
|
||||
`add_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine add_poly(b,nb,c,nc,d,nd)/;">`_
|
||||
Add two polynomials
|
||||
D(t) =! D(t) +( B(t)+C(t))
|
||||
|
||||
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L271>`_
|
||||
`add_poly_multiply <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine add_poly_multiply(b,nb,cst,d,nd)/;">`_
|
||||
Add a polynomial multiplied by a constant
|
||||
D(t) =! D(t) +( cst * B(t))
|
||||
|
||||
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L345>`_
|
||||
`f_integral <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function F_integral(n,p)/;">`_
|
||||
function that calculates the following integral
|
||||
\int_{\-infty}^{+\infty} x^n \exp(-p x^2) dx
|
||||
|
||||
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L121>`_
|
||||
`gaussian_product <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine gaussian_product(a,xa,b,xb,k,p,xp)/;">`_
|
||||
Gaussian product in 1D.
|
||||
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
||||
|
||||
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L163>`_
|
||||
`gaussian_product_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine gaussian_product_x(a,xa,b,xb,k,p,xp)/;">`_
|
||||
Gaussian product in 1D.
|
||||
e^{-a (x-x_A)^2} e^{-b (x-x_B)^2} = K_{ab}^x e^{-p (x-x_P)^2}
|
||||
|
||||
`give_explicit_poly_and_gaussian <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L46>`_
|
||||
`give_explicit_poly_and_gaussian <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine give_explicit_poly_and_gaussian(P_new,P_center,p,fact_k,iorder,alpha,beta,a,b,A_center,B_center,dim)/;">`_
|
||||
Transforms the product of
|
||||
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
|
||||
into
|
||||
@ -53,105 +74,103 @@ Documentation
|
||||
* [ sum (l_y = 0,i_order(2)) P_new(l_y,2) * (y-P_center(2))^l_y ] exp (- p (y-P_center(2))^2 )
|
||||
* [ sum (l_z = 0,i_order(3)) P_new(l_z,3) * (z-P_center(3))^l_z ] exp (- p (z-P_center(3))^2 )
|
||||
|
||||
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L1>`_
|
||||
`give_explicit_poly_and_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine give_explicit_poly_and_gaussian_x(P_new,P_center,p,fact_k,iorder,alpha,beta,a,b,A_center,B_center,dim)/;">`_
|
||||
Transform the product of
|
||||
(x-x_A)^a(1) (x-x_B)^b(1) (x-x_A)^a(2) (y-y_B)^b(2) (z-z_A)^a(3) (z-z_B)^b(3) exp(-(r-A)^2 alpha) exp(-(r-B)^2 beta)
|
||||
into
|
||||
fact_k (x-x_P)^iorder(1) (y-y_P)^iorder(2) (z-z_P)^iorder(3) exp(-p(r-P)^2)
|
||||
|
||||
`hermite <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L468>`_
|
||||
`hermite <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function hermite(n,x)/;">`_
|
||||
Hermite polynomial
|
||||
|
||||
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L201>`_
|
||||
`multiply_poly <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine multiply_poly(b,nb,c,nc,d,nd)/;">`_
|
||||
Multiply two polynomials
|
||||
D(t) =! D(t) +( B(t)*C(t))
|
||||
|
||||
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L300>`_
|
||||
`recentered_poly2 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/subroutine recentered_poly2(P_new,x_A,x_P,a,P_new2,x_B,x_Q,b)/;">`_
|
||||
Recenter two polynomials
|
||||
|
||||
`rint <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L373>`_
|
||||
`rint <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function rint(n,rho)/;">`_
|
||||
.. math::
|
||||
.br
|
||||
\int_0^1 dx \exp(-p x^2) x^n
|
||||
.br
|
||||
|
||||
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L524>`_
|
||||
`rint1 <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function rint1(n,rho)/;">`_
|
||||
Standard version of rint
|
||||
|
||||
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L493>`_
|
||||
`rint_large_n <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function rint_large_n(n,rho)/;">`_
|
||||
Version of rint for large values of n
|
||||
|
||||
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L417>`_
|
||||
`rint_sum <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/integration.irp.f#L/double precision function rint_sum(n_pt_out,rho,d1)/;">`_
|
||||
Needed for the calculation of two-electron integrals.
|
||||
|
||||
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L1>`_
|
||||
`overlap_gaussian_x <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L/double precision function overlap_gaussian_x(A_center,B_center,alpha,beta,power_A,power_B,dim)/;">`_
|
||||
.. math::
|
||||
.br
|
||||
\sum_{-infty}^{+infty} (x-A_x)^ax (x-B_x)^bx exp(-alpha(x-A_x)^2) exp(-beta(x-B_X)^2) dx
|
||||
.br
|
||||
|
||||
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L37>`_
|
||||
`overlap_gaussian_xyz <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L/subroutine overlap_gaussian_xyz(A_center,B_center,alpha,beta,power_A,&>`_
|
||||
.. math::
|
||||
.br
|
||||
S_x = \int (x-A_x)^{a_x} exp(-\alpha(x-A_x)^2) (x-B_x)^{b_x} exp(-beta(x-B_x)^2) dx \\
|
||||
S = S_x S_y S_z
|
||||
.br
|
||||
|
||||
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L99>`_
|
||||
`overlap_x_abs <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/one_e_integration.irp.f#L/subroutine overlap_x_abs(A_center,B_center,alpha,beta,power_A,power_B,overlap_x,lower_exp_val,dx,nx)/;">`_
|
||||
.. math ::
|
||||
.br
|
||||
\int_{-infty}^{+infty} (x-A_center)^(power_A) * (x-B_center)^power_B * exp(-alpha(x-A_center)^2) * exp(-beta(x-B_center)^2) dx
|
||||
.br
|
||||
|
||||
`align_double <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L65>`_
|
||||
`align_double <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/integer function align_double(n)/;">`_
|
||||
Compute 1st dimension such that it is aligned for vectorization.
|
||||
|
||||
`all_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L1>`_
|
||||
`all_utils <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/BEGIN_PROVIDER [ logical, all_utils ]/;">`_
|
||||
Dummy provider to provide all utils
|
||||
|
||||
`binom <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L47>`_
|
||||
`binom <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/BEGIN_PROVIDER [ double precision, binom, (0:20,0:20) ]/;">`_
|
||||
Binomial coefficients
|
||||
|
||||
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L16>`_
|
||||
`binom_func <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/double precision function binom_func(i,j)/;">`_
|
||||
.. math ::
|
||||
.br
|
||||
\frac{i!}{j!(i-j)!}
|
||||
.br
|
||||
|
||||
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L48>`_
|
||||
`binom_transp <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/&BEGIN_PROVIDER [ double precision, binom_transp, (0:20,0:20) ]/;">`_
|
||||
Binomial coefficients
|
||||
|
||||
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L124>`_
|
||||
`dble_fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/double precision function dble_fact(n) result(fact2)/;">`_
|
||||
n!!
|
||||
|
||||
`fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L80>`_
|
||||
`fact <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/double precision function fact(n)/;">`_
|
||||
n!
|
||||
|
||||
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L112>`_
|
||||
`fact_inv <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/BEGIN_PROVIDER [ double precision, fact_inv, (128) ]/;">`_
|
||||
1/n!
|
||||
|
||||
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L171>`_
|
||||
`inv_int <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/BEGIN_PROVIDER [ double precision, inv_int, (128) ]/;">`_
|
||||
1/i
|
||||
|
||||
`normalize <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L272>`_
|
||||
`normalize <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/subroutine normalize(u,sze)/;">`_
|
||||
Normalizes vector u
|
||||
u is expected to be aligned in memory.
|
||||
|
||||
`nproc <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L197>`_
|
||||
`nproc <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/BEGIN_PROVIDER [ integer, nproc ]/;">`_
|
||||
Number of current OpenMP threads
|
||||
|
||||
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L244>`_
|
||||
`u_dot_u <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/double precision function u_dot_u(u,sze)/;">`_
|
||||
Compute <u|u>
|
||||
u is expected to be aligned in memory.
|
||||
|
||||
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L213>`_
|
||||
`u_dot_v <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/double precision function u_dot_v(u,v,sze)/;">`_
|
||||
Compute <u|v>
|
||||
u and v are expected to be aligned in memory.
|
||||
|
||||
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L182>`_
|
||||
`wall_time <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/subroutine wall_time(t)/;">`_
|
||||
The equivalent of cpu_time, but for the wall time.
|
||||
|
||||
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L157>`_
|
||||
`write_git_log <http://github.com/LCPQ/quantum_package/tree/master/src/Utils/util.irp.f#L/subroutine write_git_log(iunit)/;">`_
|
||||
Write the last git commit in file iunit.
|
||||
|
||||
|
||||
|
@ -174,7 +174,7 @@ BEGIN_PROVIDER [ double precision, inv_int, (128) ]
|
||||
! 1/i
|
||||
END_DOC
|
||||
integer :: i
|
||||
do i=1,size(inv_int)
|
||||
do i=1,128
|
||||
inv_int(i) = 1.d0/dble(i)
|
||||
enddo
|
||||
END_PROVIDER
|
||||
|
Loading…
Reference in New Issue
Block a user