{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Li2 FOO PDFT Inversion" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "----> Begin SCF calculation for *Isolated* Fragments\n", "\n", " Total Energy (a.u.) \n", "\n", " __________________ \n", "\n", "Iteration A B res \n", "\n", "_______________________________________________________\n", "\n", " 1 -0.27584 -0.27584 1.000e+00 \n", " 2 -0.28369 -0.28369 2.330e-01 \n", " 3 -0.28699 -0.28699 8.915e-02 \n", " 4 -0.28837 -0.28837 3.597e-02 \n", " 5 -0.28895 -0.28895 1.482e-02 \n", " 6 -0.28919 -0.28919 6.158e-03 \n", " 7 -0.28929 -0.28929 2.568e-03 \n", " 8 -0.28933 -0.28933 1.073e-03 \n", " 9 -0.28935 -0.28935 4.485e-04 \n", " 10 -0.28935 -0.28935 1.876e-04 \n", " 11 -0.28936 -0.28936 7.847e-05 \n", " 12 -0.28936 -0.28936 3.283e-05 \n", " 13 -0.28936 -0.28936 1.374e-05 \n", " 14 -0.28936 -0.28936 5.752e-06 \n", " 15 -0.28936 -0.28936 2.408e-06 \n", " 16 -0.28936 -0.28936 1.008e-06 \n", " 17 -0.28936 -0.28936 4.223e-07 \n", " 18 -0.28936 -0.28936 1.769e-07 \n", " 19 -0.28936 -0.28936 7.410e-08 \n", " 20 -0.28936 -0.28936 3.105e-08 \n", " 21 -0.28936 -0.28936 1.301e-08 \n", " 22 -0.28936 -0.28936 5.454e-09 \n", "----> Begin SCF calculation for *Interacting* Fragments\n", "\n", " Total Energy (a.u.) \n", "\n", " __________________ \n", "\n", "Iteration A B res \n", "\n", "_______________________________________________________\n", "\n", " 1 -0.25277 -0.25277 1.000e+00 \n", " 2 -0.26283 -0.26283 1.013e-01 \n", " 3 -0.26799 -0.26799 4.251e-02 \n", " 4 -0.27025 -0.27025 1.715e-02 \n", " 5 -0.27121 -0.27121 6.872e-03 \n", " 6 -0.27160 -0.27160 2.746e-03 \n", " 7 -0.27177 -0.27177 1.096e-03 \n", " 8 -0.27184 -0.27184 4.368e-04 \n", " 9 -0.27186 -0.27186 1.740e-04 \n", " 10 -0.27187 -0.27187 6.934e-05 \n", " 11 -0.27188 -0.27188 2.765e-05 \n", " 12 -0.27188 -0.27188 1.103e-05 \n", " 13 -0.27188 -0.27188 4.411e-06 \n", " 14 -0.27188 -0.27188 1.766e-06 \n", " 15 -0.27188 -0.27188 7.088e-07 \n", " 16 -0.27188 -0.27188 2.851e-07 \n", " 17 -0.27188 -0.27188 1.150e-07 \n", " 18 -0.27188 -0.27188 4.650e-08 \n", " 19 -0.27188 -0.27188 1.886e-08 \n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from CADMium import Pssolver, Psgrid, Partition, Inverter\n", "import CADMium\n", "\n", "a = 2/2\n", "Za, Zb = 1,1\n", "pol = 2\n", "\n", "#Set up grid\n", "NP = 7\n", "NM = [4,4]\n", "L = np.arccosh(10/a)\n", "loc = np.array(range(-4,5)) #Stencil outline\n", "grid = Psgrid(NP, NM, a, L, loc)\n", "grid.initialize()\n", "\n", "\n", "# ALPHA FRAGMENT\n", "Nmo_a = [[1 ,0]];\n", "N_a = [[0.5,0]]; \n", "nu_a = 1.0\n", "\n", "#Fragment b electrons\n", "Nmo_b = [[1 ,0]]; \n", "N_b = [[0.5,0]]; \n", "nu_b = 1.0\n", "\n", "#Molecular elctron configuration\n", "Nmo_m = [[1,0]]\n", "N_m = [[1,0]]\n", "\n", "\n", "part = Partition(grid, Za, Zb, pol, Nmo_a, N_a, nu_a, Nmo_b, N_b, nu_b, { \"AB_SYM\" : True,\n", " \"fractional\" : True,\n", "# \"ENS_SPIN_SYM\" : False, \n", " \"interaction_type\" : \"dft\", \n", " \"kinetic_part_type\" : \"libxcke\",\n", " \"hxc_part_type\" : \"exact\",\n", " \"k_family\" : \"gga\", \n", " \"ke_func_id\" : 500,\n", " })\n", "\n", "#Setup inverter object\n", "mol_solver = Pssolver(grid, Nmo_m, N_m)\n", "part.inverter = Inverter(grid, mol_solver, { \"AB_SYM\" : True,\n", "# \"ENS_SPIN_SYM\" : False, \n", " \"use_iterative\" : False,\n", " \"invert_type\" : \"wuyang\",\n", " \"DISP\" : False, \n", " })\n", "\n", "part.optPartition.isolated = True\n", "part.scf({\"disp\" : True,\n", " \"alpha\" : [0.6],\n", " \"e_tol\" : 1e-8})\n", "\n", "part.optPartition.isolated = False\n", "part.scf({\"disp\" : True,\n", " \"alpha\" : [0.6],\n", " \"max_iter\" : 200,\n", " \"e_tol\" : 2e-8,\n", " \"iterative\" : False,\n", " \"continuing\" : True})" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }