StageYann/FullCI.ipynb

4.7 KiB

None <html> <head> </head>
In [ ]:
let png_image = print_endline ;;

(* --------- *)

(*Mettre le bon chemin ici *)
#cd "/home/ydamour/QCaml";;

#use "topfind";;
#require "jupyter.notebook";;

#require "gnuplot";;
let png_image name = 
    Jupyter_notebook.display_file ~base64:true "image/png" (name)
;;

#require "lacaml.top";;
#require "alcotest";;
#require "str";;
#require "bigarray";;
#require "zarith";;
#require "getopt";;
#directory "_build";;
#directory "_build/Basis";;
#directory "_build/CI";;
#directory "_build/MOBasis";;
#directory "_build/Nuclei";;
#directory "_build/Parallel";;
#directory "_build/Perturbation";;
#directory "_build/SCF";;
#directory "_build/Utils";;


#load "Constants.cmo";;
#load_rec "Util.cma";;
#load_rec "Matrix.cmo";;
#load_rec "Simulation.cmo";;
#load_rec "Spindeterminant.cmo";;
#load_rec "Determinant.cmo";;
#load_rec "HartreeFock.cmo";;
#load_rec "MOBasis.cmo";;
#load_rec "F12CI.cmo";;

#install_printer AngularMomentum.pp_string ;;
#install_printer Basis.pp ;;
#install_printer Charge.pp ;;
#install_printer Coordinate.pp ;;
#install_printer Vector.pp;;
#install_printer Matrix.pp;;
#install_printer Util.pp_float_2darray;;
#install_printer Util.pp_float_array;;
#install_printer Util.pp_matrix;;
#install_printer HartreeFock.pp ;;
#install_printer Fock.pp ;;
#install_printer MOClass.pp ;;
(*
#install_printer DeterminantSpace.pp;;
#install_printer SpindeterminantSpace.pp;;
*)
#install_printer Bitstring.pp;;
let pp_mo ppf t = MOBasis.pp ~start:1 ~finish:0 ppf t ;;
#install_printer pp_mo;;


(* --------- *)

open Lacaml.D
In [ ]:
let xyz_string =
"          6
Hydrogen chain, d=1.8 Bohr
H   -2.381297    0.000000    0.000000
H   -1.428778    0.000000    0.000000
H   -0.476259    0.000000    0.000000
H    0.476259    0.000000    0.000000
H    1.428778    0.000000    0.000000
H    2.381297    0.000000    0.000000
"

let basis_string = 
"
HYDROGEN
S   6
1         0.3552322122E+02       0.9163596281E-02
2         0.6513143725E+01       0.4936149294E-01
3         0.1822142904E+01       0.1685383049E+00
4         0.6259552659E+00       0.3705627997E+00
5         0.2430767471E+00       0.4164915298E+00
6         0.1001124280E+00       0.1303340841E+00

"
In [ ]:
let nuclei =
  Nuclei.of_xyz_string xyz_string
  
let basis = 
  Basis.of_nuclei_and_basis_string nuclei basis_string
  
let simulation = 
  Simulation.make ~charge:0 ~multiplicity:1 ~nuclei basis
  
let ao_basis = 
  Simulation.ao_basis simulation
  
let hf = HartreeFock.make simulation

let mo_basis = MOBasis.of_hartree_fock hf;;
In [ ]:
let ci =
  DeterminantSpace.fci_of_mo_basis mo_basis ~frozen_core:false
  |> CI.make
  
let ci_coef, ci_energy = Lazy.force ci.eigensystem
In [ ]:

In [ ]:

</html>