mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-11-07 05:53:37 +01:00
Added use_only_lr for long-range only integrals
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
8b34372baa
commit
ad498b073e
@ -42,3 +42,8 @@ doc: Read/Write |AO| erf integrals from/to disk [ Write | Read | None ]
|
|||||||
interface: ezfio,provider,ocaml
|
interface: ezfio,provider,ocaml
|
||||||
default: None
|
default: None
|
||||||
|
|
||||||
|
[use_only_lr]
|
||||||
|
type: logical
|
||||||
|
doc: If true, use only the long range part of the two-electron integrals instead of 1/r12
|
||||||
|
interface: ezfio, provider, ocaml
|
||||||
|
default: False
|
||||||
|
@ -21,9 +21,9 @@ double precision function ao_two_e_integral(i, j, k, l)
|
|||||||
double precision :: P_new(0:max_dim,3),P_center(3),fact_p,pp
|
double precision :: P_new(0:max_dim,3),P_center(3),fact_p,pp
|
||||||
double precision :: Q_new(0:max_dim,3),Q_center(3),fact_q,qq
|
double precision :: Q_new(0:max_dim,3),Q_center(3),fact_q,qq
|
||||||
|
|
||||||
double precision :: ao_two_e_integral_schwartz_accel
|
double precision, external :: ao_two_e_integral_erf
|
||||||
|
double precision, external :: ao_two_e_integral_cosgtos
|
||||||
double precision :: ao_two_e_integral_cosgtos
|
double precision, external :: ao_two_e_integral_schwartz_accel
|
||||||
|
|
||||||
|
|
||||||
if(use_cosgtos) then
|
if(use_cosgtos) then
|
||||||
@ -31,9 +31,11 @@ double precision function ao_two_e_integral(i, j, k, l)
|
|||||||
|
|
||||||
ao_two_e_integral = ao_two_e_integral_cosgtos(i, j, k, l)
|
ao_two_e_integral = ao_two_e_integral_cosgtos(i, j, k, l)
|
||||||
|
|
||||||
else
|
else if (use_only_lr) then
|
||||||
|
|
||||||
if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then
|
ao_two_e_integral = ao_two_e_integral_erf(i, j, k, l)
|
||||||
|
|
||||||
|
else if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then
|
||||||
|
|
||||||
ao_two_e_integral = ao_two_e_integral_schwartz_accel(i,j,k,l)
|
ao_two_e_integral = ao_two_e_integral_schwartz_accel(i,j,k,l)
|
||||||
|
|
||||||
@ -121,8 +123,6 @@ double precision function ao_two_e_integral(i, j, k, l)
|
|||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
! ---
|
! ---
|
||||||
|
Loading…
Reference in New Issue
Block a user