10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-11-14 10:03:39 +01:00
QCaml/gaussian_integrals/lib/f12.ml

33 lines
682 B
OCaml
Raw Normal View History

2020-09-27 23:55:42 +02:00
(** Two electron integral functor for operators that are separable among %{ $(x,y,z)$ %}.
It is parameterized by the [zero_m] function.
*)
open Qcaml_common
open Qcaml_operators
open Constants
let cutoff = integrals_cutoff
module T = struct
let name = "F12"
let class_of_contracted_shell_pair_couple ?operator shell_pair_couple =
let g =
match operator with
| Some (Operator.F12 f) -> f.gaussian
| _ -> failwith "Expected F12 operator"
in
F12_rr.contracted_class_shell_pair_couple
g.Gaussian_operator.expo_g_inv
g.Gaussian_operator.coef_g
shell_pair_couple
end
module M = Two_electron_integrals.Make(T)
include M