From dcc860d31622e92c653ae7fd00998d9eed24c8af Mon Sep 17 00:00:00 2001 From: yann Date: Thu, 14 May 2020 08:54:39 +0200 Subject: [PATCH] modifs --- Work.ipynb | 60 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/Work.ipynb b/Work.ipynb index fd162a7..c625a3d 100644 --- a/Work.ipynb +++ b/Work.ipynb @@ -185,7 +185,7 @@ "metadata": {}, "outputs": [], "source": [ - "(*\n", + "\n", "let xyz_string = \n", "\"4\n", "H4\n", @@ -193,8 +193,7 @@ "H 1.8 0. 0.\n", "H 3.6 0. 0.\n", "H 5.4 0. 0.\n", - "\"\n", - "*)" + "\"\n" ] }, { @@ -251,7 +250,7 @@ }, "outputs": [], "source": [ - "(*let basis_string = \n", + "let basis_string = \n", "\n", "\"\n", "HYDROGEN\n", @@ -265,10 +264,10 @@ "\n", "\"\n", "\n", - "*)\n", "\n", "\n", "\n", + "(*\n", "let basis_string = \n", "\"\n", "HYDROGEN\n", @@ -282,7 +281,7 @@ "P 1\n", "1 7.270000E-01 1.0000000\n", "\"\n", - "(*\n", + "\n", "OXYGEN\n", "S 9\n", "1 1.172000E+04 7.100000E-04\n", @@ -1644,14 +1643,14 @@ " |> MOBasis.mo_matrix_of_ao_matrix ~mo_coef \n", " in\n", " \n", - " (*Util.debug_matrix \"phi_x2_phi\" phi_x2_phi;*)\n", + " Util.debug_matrix \"phi_x2_phi\" phi_x2_phi;\n", " \n", " let phi_y2_phi =\n", " Multipole.matrix_y2 multipoles \n", " |> MOBasis.mo_matrix_of_ao_matrix ~mo_coef \n", " in\n", " \n", - " (*Util.debug_matrix \"phi_y2_phi\" phi_y2_phi;*)\n", + " Util.debug_matrix \"phi_y2_phi\" phi_y2_phi;\n", " \n", " let phi_z2_phi =\n", " Multipole.matrix_z2 multipoles \n", @@ -1659,7 +1658,7 @@ "\n", " in\n", " \n", - " (*Util.debug_matrix \"phi_z2_phi\" phi_z2_phi;*)\n", + " Util.debug_matrix \"phi_z2_phi\" phi_z2_phi;\n", " \n", " let v_D_boys = \n", " Vec.init n_mo ( fun i -> phi_x2_phi.{i,i} +. phi_y2_phi.{i,i} +. phi_z2_phi.{i,i})\n", @@ -1667,9 +1666,10 @@ "in\n", "Vec.sum v_D_boys;;\n", "\n", - "(*************************)\n", "\n", - "d_boys m_C;;" + "(*************************)\n", + "(*Multipole.matrix_x2 multipoles;;\n", + "d_boys m_C;;*)" ] }, { @@ -1690,6 +1690,7 @@ " in\n", " let d_boys = d_boys m_C\n", " in\n", + " Printf.printf \"%f\\n\" d_boys;\n", " let alpha_er = f_alpha m_C\n", " in\n", " let d_er = s_D m_C\n", @@ -1712,7 +1713,7 @@ "\n", "let methode = \"ER\";;\n", "\n", - "let alphad = m_alpha_d methode ;;\n", + "let alphad = m_alpha_d methode m_C;;\n", "\n", "let m_alpha = alphad.m_alpha;;\n", "let d = alphad.d;;\n", @@ -1949,6 +1950,21 @@ "*)" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "let toto = [4];;\n", + "let occ_m_C m_C toto= Mat.init_cols n_ao n_mo (fun i j ->\n", + " if not (List.mem j toto) \n", + " then m_C.{i,j}\n", + " else 0.);;\n", + " \n", + "let occ = occ_m_C m_C toto;;" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -2057,7 +2073,7 @@ " in\n", " let m_new_m_C , critere_D = new_m_C m_C methode (* Fonction -> constante *)\n", " in\n", - " let diff = prev_critere_D -. critere_D\n", + " let diff = prev_critere_D -. critere_D +. 1.\n", " \n", "in\n", "\n", @@ -2080,7 +2096,7 @@ "(* Calcul *)\n", "(* Fonction / Matrice des coef / Méthode(\"Boys\" ou \"ER\") / Pas(=< 1.) / Nombre d'itérations max / \n", "0. (valeur de D pour initier la boucle) / critère de convergence sur D*)\n", - "final_m_C m_C \"ER\" 1. 100 0. 10e-12;;" + "final_m_C m_C \"boys\" 1. 3 0. 10e-7;;" ] }, { @@ -2088,7 +2104,21 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "let new_m_C = final_m_C occ \"ER\" 1. 50 0. 10e-15;;\n", + "let m_alpha = f_alpha new_m_C;;" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "m_alpha_d \"Boys\" new_m_C;;\n", + "d_boys m_C;;\n", + "d_boys new_m_C;;" + ] }, { "cell_type": "markdown",