diff --git a/docs/optim.ipynb b/docs/optim.ipynb index 34aa98d..8c6cd82 100644 --- a/docs/optim.ipynb +++ b/docs/optim.ipynb @@ -40,23 +40,12 @@ "hide-cell" ] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/bin/bash: -c: line 1: unexpected EOF while looking for matching `\"'\n", - "/bin/bash: -c: line 2: syntax error: unexpected end of file\n" - ] - } - ], + "outputs": [], "source": [ "import sys\n", "\n", "if \"google.colab\" in sys.modules:\n", - " !pip install mess-jax\n", - "\n", - "!pip install pyquante2@git+https://github.com/rpmuller/pyquante2@pure\" " + " !pip install mess-jax" ] }, { @@ -73,7 +62,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n" + "2024-10-01 14:03:59.287486: W external/xla/xla/service/gpu/nvptx_compiler.cc:893] The NVIDIA driver's CUDA version is 12.2 which is older than the PTX compiler version 12.6.68. Because the driver is older than the PTX compiler version, XLA is disabling parallel compilation, which may slow down compilation. You should update your NVIDIA driver or use the NVIDIA-provided CUDA forward compatibility packages.\n" ] } ], @@ -84,9 +73,8 @@ "import seaborn as sns\n", "from tqdm.notebook import tqdm\n", "\n", - "from mess import Hamiltonian, basisset\n", + "from mess import Hamiltonian, basisset, molecule\n", "from mess.structure import nuclear_energy\n", - "from mess.interop import from_pyquante\n", "\n", "sns.set_theme(style=\"whitegrid\")" ] @@ -113,10 +101,10 @@ "outputs": [ { "data": { - "application/3dmoljs_load.v0": "
\n

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n
\n", + "application/3dmoljs_load.v0": "
\n

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n
\n", "text/html": [ - "
\n", - "

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n", + "
\n", + "

3Dmol.js failed to load for some reason. Please check your browser console for error messages.

\n", "
\n", "" ] @@ -177,7 +165,7 @@ } ], "source": [ - "mol = from_pyquante(\"ch4\")\n", + "mol = molecule(\"methane\")\n", "mol" ] }, @@ -196,7 +184,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "id": "hFRWuoNGfKNL" }, @@ -220,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "id": "OsjjbSp1dEXV" }, @@ -252,7 +240,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -278,7 +266,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "49d87f6d687d4d1792867df58dfc7285", + "model_id": "41bd99cb0a034fa082df3ff1ae0e08a7", "version_major": 2, "version_minor": 0 }, @@ -314,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -326,7 +314,7 @@ "outputs": [ { "data": { - "image/png": "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yqgi6e6778aCBQtw4sQJo0989OhR/Oc//8GQIUNMDo5u4mKSRERE1mXUnKRPP/0Ur732Gu6//360atUKvXr1QnR0NIKCguDp6QlRFFFSUoLLly/j1KlTOHToEPLz8xEbG4v169dbOofbQu1iknwsCRERkXUYVSR17twZH374ITIzM7Flyxb88MMP2Lp1K4Cb6ySJoggACAwMxODBg3HfffchKirKQmHffm4+u02L6moREgnXpyIiIrKkRj2WJCoqCgsXLsTChQuRn5+P8+fPo6ioCEDNEgFt27ZFQECAJeK87dVO3BZFoLJKq1s3iYiIiCzD5G/agIAAFkRWJJdJIQg1RVJZpYZFEhERkYVxCQAHIZEIcJX/NeTGZQCIiIgsjkWSA+HkbSIiIuthkeRAaofYyrgMABERkcWxSHIgXHWbiIjIelgkORCuuk1ERGQ9JhVJaWlpqKioMHcs1ADdcFs5iyQiIiJLM+k+8jlz5sDd3R1DhgzBqFGj0KtXL3PHRQZ4KuUAgJIblTaOhIiIyPmZVCR9+umn2L59O9LT05GamoqAgACMGDECo0aNQkREhLljpL94eSgAANdV5TaOhIiIyPmZNNzWvXt3/N///R9+/PFHvP322+jevTvWr1+P0aNHY/To0fjwww9RUFBg7lhve94ergCAIhWHOomIiCytScs2u7i4YODAgRg4cCBu3LiB7777DqmpqXjllVewfPlyxMTEICEhAUOHDoVcLjdXzLctb8+aniQWSURERJZntrvbzp49i5MnT+L333+HKIpo27YtioqKMH/+fNx9993IyMgw11vdtrzcOdxGRERkLU3qSbpw4QK2b9+OHTt24NKlS/D29saIESOQkJCA6OhoAMDJkyfx3//+F88++yx27NhhlqBvV96eNcNt19mTREREZHEmFUkff/wxtm/fjtOnT0Mul2PgwIF4+umn0a9fP0ilUr22nTp1wsMPP4z//ve/Zgn4dub918TtkhuV0Gir4SLlMldERESWYlKRtGTJEnTv3h2LFi3C0KFD4eHhccv2HTt2xPTp000KkG7yUMohkQiorhZRXFoB3+Zutg6JiIjIaZlUJH333XcIDg42un379u3Rvn17U96K/kYiEeDlLkdhSQWuq1gkERERWZJJ4zWNKZDIvLy4DAAREZFVmNSTtGDBglvuFwQBCoUCLVu2RExM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", + "image/png": "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PXv2tFUtjaJSqbBo0aIGx3Xr1g0rV650QEX2UXO5jSGJiIjIsZoUkvLz87F3715cvnwZd955J1q2bAmDwWCasVEo3Osr63LgrUmIiIjkISkkiaKIl156CZ9++in0ej0EQUBMTAxatmwJnU6HhIQEzJgxo9amjtR4amX1KaqoMspcCRER0Y1F0rfbli1bhrS0NDz88MP46KOPTN9wAwBfX18MGTIE3377rc2KvJHVzCTxchsREZFjSQpJa9asQWJiImbPno2bbrqp1usdO3a8IXb/dASVkt9uIyIikoOkkPTHH3+ge/fudb7u7e2N0tJSyUXRdVy4TUREJA9JISkwMBB//PFHna8fPXoUYWFhkoui62q2AODCbSIiIseSFJLuuOMOrFq1CufPnzc9V7PN908//YT09HTcddddtqnwBqfiPklERESykPTtthkzZmDPnj24++670bNnTwiCgKVLl+KNN97AwYMHERsbi8mTJ9u61huSmmuSiIiIZCFpJsnX1xerV6/Go48+ivz8fKjVauzduxdarRaPP/44PvvsM7e9G7GjceE2ERGRPBo9k1RRUYEvvvgCsbGxmDp1KqZOnWqPuugaLtwmIiKSR6NnktRqNV599VWcPXvWHvXQ36hN+yRxM0kiIiJHknS5rUOHDsjNzbV1LWQBL7cRERHJQ1JImjVrFlatWoWff/7Z1vXQ33DhNhERkTwkfbvtk08+QYsWLfDII48gPDwc4eHhUKvVZmMEQcC7775rkyJvZCruk0RERCQLSSHp999/BwCEhYXBYDAgJyfHpkXRdWruk0RERCQLSSHpxx9/tHUdVAd+u42IiEgektYk7d27F4WFhXW+XlhYiL1790ouiq7jwm0iIiJ5SApJ48aNw86dO+t8fffu3Rg3bpzkoug6Xm4jIiKSh6SQJIpiva9XVlZCoVBIKojM1cwk6Q0iDAbulUREROQoVq9JysvLM9sb6cyZMxYvqZWUlGDVqlVo1aqVbSq8wamU13NsRZUBGoWkXEtERESNZHVIWr9+Pd5++20IggBBEPDee+/hvffeqzVOFEUoFAosWLDApoXeqFSe12fkKquM0HjJWAwREdENxOqQNHToUHTo0AGiKGLmzJkYO3YsevbsaTZGEAR4e3sjNjYWQUFBNi/2RuThIUClVKCyyoDySj0AdYPvISIioqazOiRFR0cj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", "text/plain": [ "
" ] diff --git a/mess/structure.py b/mess/structure.py index 0d50c34..c407e59 100644 --- a/mess/structure.py +++ b/mess/structure.py @@ -78,6 +78,47 @@ def molecule(name: str) -> Structure: ), ) + if name == "benzene": + r"""Benzene ring C6H6 + Strucutre of benzene ring calculated with DFT using B3LYP + functional and 6-31+G** basis set """ + return Structure( + atomic_number=np.array([6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1]), + position=to_bohr( + np.array([ + [0.0000000, 1.3963310, 0.0000000], + [1.2092580, 0.6981650, 0.0000000], + [1.2092580, -0.6981650, 0.0000000], + [0.0000000, -1.3963310, 0.0000000], + [-1.2092580, -0.6981650, 0.0000000], + [-1.2092580, 0.6981650, 0.0000000], + [0.0000000, 2.4826620, 0.0000000], + [2.1500490, 1.2413310, 0.0000000], + [2.1500490, -1.2413310, 0.0000000], + [0.0000000, -2.4826620, 0.0000000], + [-2.1500490, -1.2413310, 0.0000000], + [-2.1500490, 1.2413310, 0.0000000], + ]) + ), + ) + + if name == "methane": + r"""Methane molecule CH4 + Structure of methane molecule calculated with DFT using B3LYP + functional and 6-31+G** basis set """ + return Structure( + atomic_number=np.array([6, 1, 1, 1, 1]), + position=to_bohr( + np.array([ + [0.0000000, 0.0000000, 0.0000000], + [0.6308780, 0.6308780, 0.6308780], + [-0.6308780, -0.6308780, 0.6308780], + [-0.6308780, 0.6308780, -0.6308780], + [0.6308780, -0.6308780, -0.6308780], + ]) + ), + ) + raise NotImplementedError(f"No structure registered for: {name}") diff --git a/test/test_benchmark.py b/test/test_benchmark.py index e3542da..dc7f962 100644 --- a/test/test_benchmark.py +++ b/test/test_benchmark.py @@ -11,17 +11,12 @@ overlap_basis, ) from mess.structure import molecule -from mess.interop import from_pyquante -from mess.package_utils import has_package from conftest import is_mem_limited @pytest.mark.parametrize("func", [overlap_basis, overlap_basis_zeropad, kinetic_basis]) -@pytest.mark.skipif( - not has_package("pyquante2"), reason="Missing Optional Dependency: pyquante2" -) def test_benzene(func, benchmark): - mol = from_pyquante("c6h6") + mol = molecule("benzene") basis = basisset(mol, "def2-TZVPPD") basis = jax.device_put(basis)