diff --git a/content/bibliography.bib b/content/bibliography.bib new file mode 100644 index 0000000..af467c0 --- /dev/null +++ b/content/bibliography.bib @@ -0,0 +1,85 @@ +@MISC{mrchem-zenodo, + author = {Bast, Radovan and + Bjorgve, Magnar and + Di Remigio, Roberto and + Durdek, Antoine and + Frediani, Luca and + Gerez, Gabriel and + Jensen, Stig Rune and + Juselius, Jonas and + Monstad, Rune and + Wind, Peter}, + title = {MRChem: MultiResolution Chemistry}, + month = dec, + year = 2020, + publisher = {Zenodo}, + version = {v1.0.1}, + doi = {10.5281/zenodo.4306059}, + url = {https://doi.org/10.5281/zenodo.4306059} +} + +@MISC{mrcpp-zenodo, + author = {Bast, Radovan and + Bjorgve, Magnar and + Di Remigio, Roberto and + Durdek, Antoine and + Frediani, Luca and + Fossgaard, Eirik and + Gerez, Gabriel and + Jensen, Stig Rune and + Juselius, Jonas and + Monstad, Rune and + Wind, Peter}, + author = {Frediani, Luca}, + title = {MRCPP: MultiResolution Computation Program Package}, + month = oct, + year = 2020, + publisher = {Zenodo}, + version = {v1.3.6}, + doi = {10.5281/zenodo.4139210}, + url = {https://doi.org/10.5281/zenodo.4139210} +} + +@MISC{vampyr-zenodo, + author = {Battistella, Evelin and + Bjorgve, Magnar and + Di Remigio, Roberto and + Frediani, Luca and + Gerez, Gabriel and + Jensen, Stig Rune}, + title = {{VAMPyR: Very Accurate Multiresolution Python + Routines}}, + month = oct, + year = 2020, + publisher = {Zenodo}, + version = {v0.1.0rc0}, + doi = {10.5281/zenodo.4117603}, + url = {https://doi.org/10.5281/zenodo.4117603} +} + +@BOOK{Szabo1996-vl, + title = "{Modern Quantum Chemistry: Introduction to Advanced Electronic + Structure Theory}", + author = "Szabo, Attila and Ostlund, Neil S", + publisher = "Courier Corporation", + series = "Dover Books on Chemistry", + month = jul, + year = 1996, + url = "https://play.google.com/store/books/details?id=k-DcCgAAQBAJ", + language = "en", + isbn = "9780486691862", + lccn = "lc96010775" +} + +@BOOK{Helgaker2000-yb, + title = "{Molecular Electronic-Structure Theory}", + author = "Helgaker, Trygve and J{\o}rgensen, Poul and Olsen, Jeppe", + publisher = "Wiley", + edition = "1 edition", + month = oct, + year = 2000, + url = "https://play.google.com/store/books/details?id=2G8vAQAAIAAJ", + language = "en", + isbn = "9780471967552" +} + diff --git a/content/conf.py b/content/conf.py new file mode 100644 index 0000000..4e46fc0 --- /dev/null +++ b/content/conf.py @@ -0,0 +1,129 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- +project = "Vampyr coven" +copyright = "2024, The contributors" +author = "The contributors" +github_user = "MRChemSoft" +github_repo_name = "vampyr-coven" # auto-detected from dirname if blank +github_version = "main" +conf_py_path = "/content/" # with leading and trailing slash +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + # githubpages just adds a .nojekyll file + "sphinx.ext.githubpages", + "sphinx_lesson", + # 'sphinx.ext.intersphinx', + "sphinxcontrib.bibtex", + "sphinx.ext.todo", + # "sphinx_thebe", +] +# configure myst_nb +source_suffix = {".rst": "restructuredtext", ".ipynb": "myst-nb", ".myst": "myst-nb"} +# configure sphinxcontrib.bibtex +bibtex_bibfiles = ["bibliography.bib"] +# Settings for myst_nb: +# https://myst-nb.readthedocs.io/en/latest/use/execute.html#triggering-notebook-execution +jupyter_execute_notebooks = "off" # no notebook execution +# jupyter_execute_notebooks = "auto" # *only* execute if at least one output is missing. +# jupyter_execute_notebooks = "force" # *always* execute notebooks +# jupyter_execute_notebooks = "cache" # *cache* execution outputs + +# Add any paths that contain templates here, relative to this directory. +# templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [ + "README*", + "_build", + "Thumbs.db", + ".DS_Store", + "jupyter_execute", + "*venv*", + "notebooks/solutions/*.ipynb", + "notebooks/visualization_*.ipynb" +] + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_book_theme" +html_logo = "img/hylleraas-logo.png" +html_title = "" # project +html_js_files = [ + "https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js", + "https://3Dmol.org/build/3Dmol-min.js" +] +# sphinx-book-theme options +html_theme_options = { + "repository_url": f"https://github.com/{github_user}/{github_repo_name}", + "use_repository_button": True, + "use_issues_button": True, + "use_edit_page_button": True, + "repository_branch": "master", + "path_to_docs": "content", + "use_download_button": True, + "home_page_in_toc": True, + "launch_buttons": { + "binderhub_url": "https://mybinder.org", + "notebook_interface": "jupyterlab", + }, +} +html_sidebars = { + "**": [ "sidebar-logo.html", "sbt-sidebar-nav.html", "sbt-sidebar-footer.html"] +} +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static", "inputs"] +# html_css_files = ["overrides.css"] +# HTML context: +from os.path import basename, dirname, realpath + +html_context = { + "display_github": True, + "github_user": github_user, + # Auto-detect directory name. This can break, but + # useful as a default. + "github_repo": github_repo_name or basename(dirname(realpath(__file__))), + "github_version": github_version, + "conf_py_path": conf_py_path, +} +# Intersphinx mapping. For example, with this you can use +# :py:mod:`multiprocessing` to link straight to the Python docs of that module. +# List all available references: +# python -msphinx.ext.intersphinx https://docs.python.org/3/objects.inv +# intersphinx_mapping = { +# #'python': ('https://docs.python.org/3', None), +# #'sphinx': ('https://www.sphinx-doc.org/', None), +# } + +# the epilog +rst_epilog = f""" +.. role:: red +.. role:: blue +.. _MRChemSoft: https://github.com/MRChemSoft +""" diff --git a/content/index.rst b/content/index.rst new file mode 100644 index 0000000..7e70609 --- /dev/null +++ b/content/index.rst @@ -0,0 +1,21 @@ +VAMPyR coven +===================== + +This is a collection of notebooks for VAMPyR. + + +.. toctree:: + :hidden: + :maxdepth: 1 + + setup + + +.. toctree:: + :hidden: + :maxdepth: 1 + :caption: Exercises + + notebooks/beryllium_atom + notebooks/harmonic_oscillator_evolution + notebooks/PCMSolvent diff --git a/content/PCMSolvent.ipynb b/content/notebooks/PCMSolvent.ipynb similarity index 100% rename from content/PCMSolvent.ipynb rename to content/notebooks/PCMSolvent.ipynb diff --git a/content/beryllium_atom.ipynb b/content/notebooks/beryllium_atom.ipynb similarity index 100% rename from content/beryllium_atom.ipynb rename to content/notebooks/beryllium_atom.ipynb diff --git a/content/harmonic_oscillator_evolution.ipynb b/content/notebooks/harmonic_oscillator_evolution.ipynb similarity index 100% rename from content/harmonic_oscillator_evolution.ipynb rename to content/notebooks/harmonic_oscillator_evolution.ipynb diff --git a/content/setup.rst b/content/setup.rst new file mode 100644 index 0000000..9f04f70 --- /dev/null +++ b/content/setup.rst @@ -0,0 +1,78 @@ +.. _setup: + +Setting up your system +====================== + +In order to follow this workshop, you will need access to the VAMPyR python +package and the MRChem program. + +You can work on the VAMPyR content entirely online using `Binder `_ +to run the Jupyter notebooks in the cloud, but some of the MRChem exercises are best +performed on a HPC cluster. + +If you prefer to work locally, you will need to set up your Python environment correctly: +we recommend using the `Conda package and enviroment manager +`_, as it provides a convenient way to install +binary packages, including VAMPyR and MRChem, in an isolated, reproducible software +environment. + +Please refer to the respective GitHub repositories for different ways of installing: + +- `VAMPyR `_ +- `MRChem `_ + + +Install Miniconda +^^^^^^^^^^^^^^^^^ + +Follow the official `Miniconda +`_ installation instructions +for your platform: + +- For Linux see https://docs.conda.io/en/latest/miniconda.html#linux-installers +- For macOS see https://docs.conda.io/en/latest/miniconda.html#macosx-installers +- For Windows see https://docs.conda.io/en/latest/miniconda.html#windows-installers + +For all platforms, make sure to select the **Python 3.8**, **64 bit** installer. + + +Cloning the vampyr coven repository +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +If you want to run the exercise notebooks locally on your laptop, then you can +clone our tutorial repository. We provide a conda environment +complete with all the things you need to run the notebooks. + +Clone the repostory with:: + + $ git clone https://github.com/MRChemSoft/vampyr-coven.git + +Then move into this repository:: + + $ cd vampyr-coven + +To create the environment, use the instructions in the next section. +Finally, launch a `Jupyter lab` instance with:: + + $ jupyter lab + +This should open up a new tab in your default browser. +The notebooks can be found in `content/notebooks`. + +Creating an environment and installing packages +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Once you have ``conda`` installed and correctly configured you can use the +:download:`environment.yml <../environment.yml>` file to install the +dependencies. First save it to your hard drive by clicking the link, and then +in a terminal (Anaconda Prompt on Windows) navigate to where you saved the file +and type:: + + $ conda env create -f environment.yml + + +You then need to activate the new environment by:: + + $ conda activate vampyr-coven + + +Now you should have VAMPyR, MRChem, Python, JupyterLab and a few other packages installed! diff --git a/content/zbibliography.rst b/content/zbibliography.rst new file mode 100644 index 0000000..ef760a4 --- /dev/null +++ b/content/zbibliography.rst @@ -0,0 +1,4 @@ +Bibliography +------------ + +.. bibliography:: bibliography.bib diff --git a/environment.yml b/environment.yml index 752f872..620bb37 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: mw-coven +name: vampyr-coven channels: - conda-forge dependencies: