mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-19 04:22:21 +01:00
Added ERI.mli
This commit is contained in:
parent
0715f56eaf
commit
031408f5ab
10
Basis/ERI.ml
10
Basis/ERI.ml
@ -6,6 +6,16 @@ open Bigarray
|
|||||||
|
|
||||||
type t = (float, float32_elt, fortran_layout) Bigarray.Genarray.t
|
type t = (float, float32_elt, fortran_layout) Bigarray.Genarray.t
|
||||||
|
|
||||||
|
let get ~r1 ~r2 t =
|
||||||
|
let i,k = r1
|
||||||
|
and j,l = r2
|
||||||
|
in
|
||||||
|
t.{i,k,j,l}
|
||||||
|
|
||||||
|
let get_chem t i j k l = get ~r1:(i,j) ~r2:(k,l) t
|
||||||
|
let get_phys t i j k l = get ~r1:(i,k) ~r2:(j,l) t
|
||||||
|
|
||||||
|
|
||||||
module Am = AngularMomentum
|
module Am = AngularMomentum
|
||||||
module As = AtomicShell
|
module As = AtomicShell
|
||||||
module Asp = AtomicShellPair
|
module Asp = AtomicShellPair
|
||||||
|
29
Basis/ERI.mli
Normal file
29
Basis/ERI.mli
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
type t
|
||||||
|
val get : r1:int * int -> r2:int * int -> t -> float
|
||||||
|
val get_chem : t -> int -> int -> int -> int -> float
|
||||||
|
val get_phys : t -> int -> int -> int -> int -> float
|
||||||
|
|
||||||
|
val zero_m : maxm:int -> expo_pq_inv:float -> norm_pq_sq:float -> float array
|
||||||
|
|
||||||
|
val contracted_class_shell_pairs :
|
||||||
|
?schwartz_p:float Zmap.t ->
|
||||||
|
?schwartz_q:float Zmap.t ->
|
||||||
|
ContractedShellPair.t ->
|
||||||
|
ContractedShellPair.t -> float Zmap.t
|
||||||
|
|
||||||
|
val contracted_class_shell_pairs_vec :
|
||||||
|
?schwartz_p:float Zmap.t ->
|
||||||
|
?schwartz_q:float Zmap.t ->
|
||||||
|
ContractedShellPair.t ->
|
||||||
|
ContractedShellPair.t -> float Zmap.t
|
||||||
|
|
||||||
|
val contracted_class_atomic_shell_pairs :
|
||||||
|
?schwartz_p:float Zmap.t ->
|
||||||
|
?schwartz_q:float Zmap.t ->
|
||||||
|
AtomicShellPair.t ->
|
||||||
|
AtomicShellPair.t -> float Zmap.t
|
||||||
|
|
||||||
|
val of_basis : Basis.t -> t
|
||||||
|
|
||||||
|
val to_file : filename:string -> t -> unit
|
||||||
|
|
@ -69,3 +69,5 @@ let norm_scales t =
|
|||||||
norm_coef_scale_p_list
|
norm_coef_scale_p_list
|
||||||
|> Array.concat
|
|> Array.concat
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,8 @@ open Lacaml.D
|
|||||||
open Simulation
|
open Simulation
|
||||||
open Constants
|
open Constants
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
type t = Mat.t
|
type t = Mat.t
|
||||||
|
|
||||||
let make ~density simulation =
|
let make ~density simulation =
|
||||||
@ -21,7 +23,8 @@ let make ~density simulation =
|
|||||||
if abs_float p > epsilon then
|
if abs_float p > epsilon then
|
||||||
for mu = 1 to nu do
|
for mu = 1 to nu do
|
||||||
m_F.{mu,nu} <- m_F.{mu,nu} +. p *.
|
m_F.{mu,nu} <- m_F.{mu,nu} +. p *.
|
||||||
(m_G.{mu,lambda,nu,sigma} -. 0.5 *. m_G.{mu,lambda,sigma,nu})
|
(ERI.get_chem m_G mu lambda nu sigma
|
||||||
|
-. 0.5 *. ERI.get_chem m_G mu lambda sigma nu)
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user