mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-11-07 06:33:39 +01:00
40 lines
1.2 KiB
OCaml
40 lines
1.2 KiB
OCaml
(** Representation for two-electron operators expressed in a Gaussian basis set. *)
|
|
|
|
open Constants
|
|
|
|
type t =
|
|
{
|
|
coef_g : float array;
|
|
expo_sg : float array;
|
|
expo_sg_inv : float array;
|
|
}
|
|
|
|
let make coef_g expo_sg =
|
|
let expo_sg_inv =
|
|
Array.map (fun x -> 1. /. x ) expo_sg
|
|
in
|
|
{ coef_g ; expo_sg ; expo_sg_inv }
|
|
|
|
|
|
let one_over_r =
|
|
|
|
let coef_g = [|
|
|
841.88478132 ; 70.590185207 ; 18.3616020768 ; 7.2608642093 ;
|
|
3.57483416444 ; 2.01376031082 ; 1.24216542801 ; 0.81754348620 ;
|
|
0.564546514023 ; 0.404228610699 ; 0.297458536575 ; 0.223321219537 ;
|
|
0.169933732064 ; 0.130190978230 ; 0.099652303426 ; 0.075428246546 ;
|
|
0.0555635614051 ; 0.0386791283055 ; 0.0237550435652 ; 0.010006278387 ;
|
|
|]
|
|
and expo_sg =
|
|
[| 84135.654509 ; 2971.58727634 ; 474.716025959 ; 130.676724560 ;
|
|
47.3938388887 ; 20.2078651631 ; 9.5411021938 ; 4.8109546955 ;
|
|
2.52795733067 ; 1.35894103210 ; 0.73586710268 ; 0.39557629706 ;
|
|
0.20785895177 ; 0.104809693858 ; 0.049485682527 ; 0.021099788990 ;
|
|
0.007652472186 ; 0.0021065225215 ; 0.0003365204879 ; 0.0000118855674 |]
|
|
in make coef_g expo_sg
|
|
|
|
|
|
|
|
|
|
|