10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-11-04 21:24:02 +01:00
quantum_package/ocaml/test_basis.ml

42 lines
1017 B
OCaml

open Core.Std;;
open Qputils;;
open Qptypes;;
let test_module () =
let basis_channel =
let b = "cc-pvdz" in
In_channel.create (Qpackage.root^"/data/basis/"^(String.lowercase b))
in
let molecule =
let xyz_file = "F2.xyz" in
Molecule.of_xyz_file xyz_file
in
let nuclei = molecule.Molecule.nuclei in
let basis =
(Basis.read_element basis_channel (Nucl_number.of_int 1) Element.F) @
(Basis.read_element basis_channel (Nucl_number.of_int 2) Element.F)
in
print_string "Long basis\n==========\n";
let long_basis =
Long_basis.of_basis basis
in
print_endline (Long_basis.to_string long_basis);
let short_basis =
Long_basis.to_basis long_basis
in
if (short_basis <> basis) then
print_endline "(short_basis <> basis)"
;
print_string "Short basis\n===========\n";
print_endline (Basis.to_string basis);
print_endline ("MD5: "^(Basis.to_md5 basis |> MD5.to_string));
;;
test_module ();