{ "cells": [ { "cell_type": "markdown", "id": "89c67022", "metadata": {}, "source": [ "# Basis sets\n", "\n", "Let us consider an example:" ] }, { "cell_type": "code", "execution_count": null, "id": "da13ac76", "metadata": {}, "outputs": [], "source": [ "import veloxchem as vlx\n", "\n", "co_xyz_str = \"\"\"\n", "2\n", "carbon monoxide\n", "C 0.00 0.00 0.00\n", "O 0.00 0.00 1.43\n", "\"\"\"\n", "\n", "molecule = vlx.Molecule.read_xyz_string(co_xyz_str)" ] }, { "cell_type": "markdown", "id": "16a36d02", "metadata": {}, "source": [ "## Basis set specification\n", "\n", "A basis set is specfied with the `read` method of the `MolecularBasis` class." ] }, { "cell_type": "code", "execution_count": null, "id": "b0d836f0", "metadata": {}, "outputs": [], "source": [ "basis = vlx.MolecularBasis.read(molecule, 'cc-pVDZ')" ] }, { "cell_type": "markdown", "id": "fb2bb8f7", "metadata": {}, "source": [ "## Available basis sets\n", "\n", "The basis sets provided in the VeloxChem library for a specific element can be listed with the `get_avail_basis` method of the `MolecularBasis` class." ] }, { "cell_type": "code", "execution_count": null, "id": "e1bc9390", "metadata": {}, "outputs": [], "source": [ "print('Available basis sets for carbon:\\n', vlx.MolecularBasis.get_avail_basis('C'))" ] }, { "cell_type": "markdown", "id": "fe9c78df", "metadata": {}, "source": [ "## Effective-core potential basis sets\n", "\n", "Effective-core potatials are in the process of being implmented in VeloxChem." ] }, { "cell_type": "markdown", "id": "7e86bd01", "metadata": {}, "source": [ "## Adding a basis set\n", "\n", "You can provide you own basis set file in the job submission directory. The format of this file exeplified below for a single element (carbon), listing separated contracted atomic orbitals (AOs) after one another with specification made of the orbital angular momentum and number of Gaussian primitive functions.\n", "\n", "```\n", "@BASIS_SET my_basis\n", "\n", "@ATOMBASIS C\n", "S 6 1\n", "3.047524900000e+03 1.834700000000e-03\n", "4.573695100000e+02 1.403730000000e-02\n", "1.039486900000e+02 6.884260000000e-02\n", "2.921015500000e+01 2.321844000000e-01\n", "9.286663000000e+00 4.679413000000e-01\n", "3.163927000000e+00 3.623120000000e-01\n", "S 3 1\n", "7.868272400000e+00 -1.193324000000e-01\n", "1.881288500000e+00 -1.608542000000e-01\n", "5.442493000000e-01 1.143456400000e+00\n", "P 3 1\n", "7.868272400000e+00 6.899910000000e-02\n", "1.881288500000e+00 3.164240000000e-01\n", "5.442493000000e-01 7.443083000000e-01\n", "S 1 1\n", "1.687144000000e-01 1.000000000000e+00\n", "P 1 1\n", "1.687144000000e-01 1.000000000000e+00\n", "@END\n", "```" ] }, { "cell_type": "code", "execution_count": null, "id": "ece4753f", "metadata": {}, "outputs": [], "source": [] } ], "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.11.4" } }, "nbformat": 4, "nbformat_minor": 5 }