diff --git a/FullCI.ipynb b/FullCI.ipynb new file mode 100644 index 0000000..32623fd --- /dev/null +++ b/FullCI.ipynb @@ -0,0 +1,177 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "let png_image = print_endline ;;\n", + "\n", + "(* --------- *)\n", + "\n", + "(*Mettre le bon chemin ici *)\n", + "#cd \"/home/ydamour/QCaml\";;\n", + "\n", + "#use \"topfind\";;\n", + "#require \"jupyter.notebook\";;\n", + "\n", + "#require \"gnuplot\";;\n", + "let png_image name = \n", + " Jupyter_notebook.display_file ~base64:true \"image/png\" (name)\n", + ";;\n", + "\n", + "#require \"lacaml.top\";;\n", + "#require \"alcotest\";;\n", + "#require \"str\";;\n", + "#require \"bigarray\";;\n", + "#require \"zarith\";;\n", + "#require \"getopt\";;\n", + "#directory \"_build\";;\n", + "#directory \"_build/Basis\";;\n", + "#directory \"_build/CI\";;\n", + "#directory \"_build/MOBasis\";;\n", + "#directory \"_build/Nuclei\";;\n", + "#directory \"_build/Parallel\";;\n", + "#directory \"_build/Perturbation\";;\n", + "#directory \"_build/SCF\";;\n", + "#directory \"_build/Utils\";;\n", + "\n", + "\n", + "#load \"Constants.cmo\";;\n", + "#load_rec \"Util.cma\";;\n", + "#load_rec \"Matrix.cmo\";;\n", + "#load_rec \"Simulation.cmo\";;\n", + "#load_rec \"Spindeterminant.cmo\";;\n", + "#load_rec \"Determinant.cmo\";;\n", + "#load_rec \"HartreeFock.cmo\";;\n", + "#load_rec \"MOBasis.cmo\";;\n", + "#load_rec \"F12CI.cmo\";;\n", + "\n", + "#install_printer AngularMomentum.pp_string ;;\n", + "#install_printer Basis.pp ;;\n", + "#install_printer Charge.pp ;;\n", + "#install_printer Coordinate.pp ;;\n", + "#install_printer Vector.pp;;\n", + "#install_printer Matrix.pp;;\n", + "#install_printer Util.pp_float_2darray;;\n", + "#install_printer Util.pp_float_array;;\n", + "#install_printer Util.pp_matrix;;\n", + "#install_printer HartreeFock.pp ;;\n", + "#install_printer Fock.pp ;;\n", + "#install_printer MOClass.pp ;;\n", + "(*\n", + "#install_printer DeterminantSpace.pp;;\n", + "#install_printer SpindeterminantSpace.pp;;\n", + "*)\n", + "#install_printer Bitstring.pp;;\n", + "let pp_mo ppf t = MOBasis.pp ~start:1 ~finish:0 ppf t ;;\n", + "#install_printer pp_mo;;\n", + "\n", + "\n", + "(* --------- *)\n", + "\n", + "open Lacaml.D" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "let xyz_string =\n", + "\" 6\n", + "Hydrogen chain, d=1.8 Bohr\n", + "H -2.381297 0.000000 0.000000\n", + "H -1.428778 0.000000 0.000000\n", + "H -0.476259 0.000000 0.000000\n", + "H 0.476259 0.000000 0.000000\n", + "H 1.428778 0.000000 0.000000\n", + "H 2.381297 0.000000 0.000000\n", + "\"\n", + "\n", + "let basis_string = \n", + "\"\n", + "HYDROGEN\n", + "S 6\n", + "1 0.3552322122E+02 0.9163596281E-02\n", + "2 0.6513143725E+01 0.4936149294E-01\n", + "3 0.1822142904E+01 0.1685383049E+00\n", + "4 0.6259552659E+00 0.3705627997E+00\n", + "5 0.2430767471E+00 0.4164915298E+00\n", + "6 0.1001124280E+00 0.1303340841E+00\n", + "\n", + "\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "let nuclei =\n", + " Nuclei.of_xyz_string xyz_string\n", + " \n", + "let basis = \n", + " Basis.of_nuclei_and_basis_string nuclei basis_string\n", + " \n", + "let simulation = \n", + " Simulation.make ~charge:0 ~multiplicity:1 ~nuclei basis\n", + " \n", + "let ao_basis = \n", + " Simulation.ao_basis simulation\n", + " \n", + "let hf = HartreeFock.make simulation\n", + "\n", + "let mo_basis = MOBasis.of_hartree_fock hf" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "let ci =\n", + " DeterminantSpace.fci_of_mo_basis mo_basis ~frozen_core:false\n", + " |> CI.make\n", + " \n", + "let ci_coef, ci_energy = Lazy.force ci.eigensystem " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "OCaml 4.10.0", + "language": "OCaml", + "name": "ocaml-jupyter" + }, + "language_info": { + "codemirror_mode": "text/x-ocaml", + "file_extension": ".ml", + "mimetype": "text/x-ocaml", + "name": "OCaml", + "nbconverter_exporter": null, + "pygments_lexer": "OCaml", + "version": "4.10.0" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}