diff --git a/.gitmodules b/.gitmodules index 9f02c67030d5cbceca34ea4eb001077ffacf252f..23303e7d36a99d9b44a02e80feed9b1cb8b705fd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,36 +1,36 @@ -[submodule "tutorials/grain-boundaries"] - path = tutorials/grain-boundaries - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-grain-boundaries.git -[submodule "tutorials/asevisulization"] - path = tutorials/asevisulization - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-asevisualization.git -[submodule "tutorials/compressed-sensing"] - path = tutorials/compressed-sensing +[submodule "3rdparty/quip"] + path = 3rdparty/quip + url = https://github.com/libAtoms/QUIP.git +[submodule "tutorials/analytics-compressed-sensing"] + path = tutorials/analytics-compressed-sensing url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-compressed-sensing.git -[submodule "tutorials/analytics-compressed-sensing-2018"] - path = tutorials/compressed-sensing-2018 - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-compressed-sensing-2018.git -[submodule "tutorials/convolutional-nn"] - path = tutorials/convolutional-nn +[submodule "tutorials/analytics-kaggle-competition"] + path = tutorials/analytics-kaggle-competition + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-kaggle-competition.git +[submodule "tutorials/analytics-asevisualization"] + path = tutorials/analytics-asevisualization + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-asevisualization.git +[submodule "tutorials/analytics-band-structure-visualization"] + path = tutorials/analytics-band-structure-visualization + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-band-structure-visualization.git +[submodule "tutorials/analytics-convolutional-nn"] + path = tutorials/analytics-convolutional-nn url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-convolutional-nn.git -[submodule "tutorials/face-of-crystals"] - path = tutorials/face-of-crystals - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-face-of-crystals.git -[submodule "tutorials/gap-si-surface"] - path = tutorials/gap-si-surface +[submodule "tutorials/analytics-gap-si-surface"] + path = tutorials/analytics-gap-si-surface url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-gap-si-surface.git -[submodule "tutorials/kaggle-competetion"] - path = tutorials/kaggle-competetion - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-kaggle-competetion.git -[submodule "tutorials/soap-atomic-charges"] - path = tutorials/soap-atomic-charges +[submodule "tutorials/analytics-soap-atomic-charges"] + path = tutorials/analytics-soap-atomic-charges url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-soap-atomic-charges.git -[submodule "notebook/quip"] - path = 3rdparty/quip - url = https://github.com/libAtoms/QUIP.git -[submodule "tutorials/band-structure-visualization"] - path = tutorials/band-structure-visualization - url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-band-structure-visualization.git -[submodule "tutorials/tcmi"] - path = tutorials/tcmi - url = https://gitlab.mpcdf.mpg.de/rbenj/analytics-tcmi +[submodule "tutorials/analytics-grain-boundaries"] + path = tutorials/analytics-grain-boundaries + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-grain-boundaries.git +[submodule "tutorials/analytics-compressed-sensing-2018"] + path = tutorials/analytics-compressed-sensing-2018 + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-compressed-sensing-2018.git +[submodule "tutorials/analytics-tcmi"] + path = tutorials/analytics-tcmi + url = https://gitlab.mpcdf.mpg.de/rbenj/analytics-tcmi.git +[submodule "analytics-tutorial-template"] + path = analytics-tutorial-template + url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-tutorial-template.git diff --git a/Dockerfile b/Dockerfile index c1f02532ea6d55d45cb4a4d3ee6b49830a890420..8476d68dfc5db839c00fdae440e40b963ed745ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,10 @@ -FROM jupyter/tensorflow-notebook:2ce7c06a61a1 +FROM jupyter/tensorflow-notebook:2ce7c06a61a1 AS main LABEL maintainer="Luca Ghiringhelli <ghiringhelli@fhi-berlin.mpg.de>" +# ================================================================================ +# Linux applications and libraries +# ================================================================================ + USER root RUN apt-get update \ && apt-get install -y -q --no-install-recommends \ @@ -17,46 +21,37 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* USER $NB_UID +# Dependecies: +# - quippy: gcc gfortran liblapack-dev libblas-dev libnetcdf-dev netcdf-bin libxpm-dev libgsl-dev # ================================================================================ # Python environment # ================================================================================ # Add any additional packages you want available for use in a Python 3 notebook -# to the first line here (e.g., pandas, matplotlib, etc.) -# Remove pyqt and qt pulled in for matplotlib since we're only ever going to -# use notebook-friendly backends in these images +# to the first line here (e.g., nglview, jupyter_contrib_nbextensions, etc.) +# https://github.com/ipython-contrib/jupyter_contrib_nbextensions RUN conda install --quiet --yes \ 'pytorch::pytorch-cpu==1.1.0' \ 'pytorch::torchvision-cpu==0.3.0' \ - 'colorcet==2.0.1' \ - && pip install \ - 'git+https://github.com/raghakot/keras-vis.git' \ - 'ase==3.17.0' \ - 'asap3==3.11.10' \ - 'numpy==1.18.1' \ - 'scipy==1.4.1' \ - 'pandas==0.25.3' \ - 'scikit-learn==0.21.1' \ - 'joblib==0.14.1' \ - 'diskcache==4.1.0' \ - && conda clean -tipsy \ - && fix-permissions $CONDA_DIR \ - && fix-permissions /home/$NB_USER - - -# https://github.com/ipython-contrib/jupyter_contrib_nbextensions -RUN conda install --quiet --yes \ 'nglview==2.7.0' \ 'jupyter_contrib_nbextensions==0.5.1' \ 'jupyter_nbextensions_configurator==0.4.1' \ + 'ase' \ + 'asap3' \ && conda clean -tipsy \ && jupyter nbextensions_configurator enable --user \ && jupyter nbextension install nglview --py --sys-prefix \ && jupyter nbextension enable nglview --py --sys-prefix \ && jupyter nbextension enable execute_time/ExecuteTime \ - && jupyter nbextension enable init_cell/main + && jupyter nbextension enable init_cell/main \ + && fix-permissions $CONDA_DIR \ + && fix-permissions /home/$NB_USER +# Dependecies: +# - ase: many +# - asap3: grain-boundaries +# - nglview: # ================================================================================ # QUIP + GAP + quippy @@ -67,9 +62,7 @@ WORKDIR /opt/quip # QUIP for general use is the OpenMP version. ENV QUIP_ARCH linux_x86_64_gfortran_openmp - ENV QUIP_INSTALLDIR /opt/quip/bin -ENV PATH $QUIP_INSTALLDIR:$PATH COPY 3rdparty/quip . COPY 3rdparty/gap src/GAP @@ -82,22 +75,68 @@ RUN chown -R $NB_USER:$NB_GID $PWD USER $NB_USER # Installs with no suffix, e.g. quip -RUN make > /dev/null 2>&1 \ +RUN make \ && make install -# Installs quippy using python2 environment -# && make install-quippy > /dev/null 2>&1 -RUN pip install -r quippy/requirements.txt \ +# Installs quippy +RUN pip install src/f90wrap \ && make install-quippy +# Make quippy executable available from terminal +ENV PATH /opt/quip/bin:$PATH + # ================================================================================ # Install all of the package dependencies of the tutorials # ================================================================================ +# Note: multi stage build may be used here as well in the future + + +WORKDIR /opt/tutorials +COPY tutorials/ . + +RUN pip install ./analytics-asevisualization; exit 0 +RUN pip install ./analytics-band-structure-visualization; exit 0 +RUN pip install ./analytics-compressed-sensing; exit 0 +RUN pip install ./analytics-compressed-sensing-2018; exit 0 +RUN pip install ./analytics-convolutional-nn; exit 0 +RUN pip install ./analytics-gap-si-surface; exit 0 +RUN pip install ./analytics-grain-boundaries; exit 0 +RUN pip install ./analytics-kaggle-competition; exit 0 +RUN pip install ./analytics-soap-atomic-charges; exit 0 +RUN pip install ./analytics-tcmi; exit 0 + +USER root + +RUN fix-permissions /opt/tutorials \ + && fix-permissions $CONDA_DIR + +# ================== -# python tutorials/gap-si-surface/setup.py install +#ARG TUTORIALS_HOME=$HOME/tutorials +# +#WORKDIR $TUTORIALS_HOME +#RUN ln -s /opt/tutorials/*/*.ipynb . +# +## Linking images or other assets may required by the tutorials +#WORKDIR $TUTORIALS_HOME/assets +#RUN ln -s /opt/tutorials/*/assets/* . +# +## Linking data may required by the tutorials +#WORKDIR $TUTORIALS_HOME/data +#RUN ln -s /opt/tutorials/*/data/* $TUTORIALS_HOME/data +# +#RUN fix-permissions $TUTORIALS_HOME/data +# ================== +ARG TUTORIALS_HOME=$HOME/tutorials + +WORKDIR $TUTORIALS_HOME +RUN ln -s /opt/tutorials/*/*.ipynb .; exit 0 +RUN mkdir assets && ln -s /opt/tutorials/*/assets/* assets/; exit 0 +RUN mkdir data && ln -s /opt/tutorials/*/data/* data/; exit 0 +RUN fix-permissions $TUTORIALS_HOME # ================================================================================ # Switch back to jovyan to avoid accidental container runs as root @@ -106,4 +145,20 @@ RUN pip install -r quippy/requirements.txt \ WORKDIR $HOME USER $NB_UID +# +## Unidentified python dependencies +#RUN pip install \ +# 'git+https://github.com/raghakot/keras-vis.git' \ +# 'joblib==0.14.1' \ +# 'diskcache==4.1.0' \ +# 'colorcet==2.0.1' \ + + +# This part contains the installation of all common python package +# All the other package will be isntalled by the setup scipt of each invivdual tutorial +# Issues: +# data should be part of the python package or not? (symlink) +# absolute path for tutorial's data +# jsmol has thousends of files (10158 files in total). +# "in adavce" trust of notebook (eg. tcmi) \ No newline at end of file diff --git a/analytics-tutorial-template b/analytics-tutorial-template new file mode 160000 index 0000000000000000000000000000000000000000..48b7ede9bc25ef75a44c77ca6040d5887b62c453 --- /dev/null +++ b/analytics-tutorial-template @@ -0,0 +1 @@ +Subproject commit 48b7ede9bc25ef75a44c77ca6040d5887b62c453 diff --git a/tutorials/Welcome.ipynb b/tutorials/Welcome.ipynb deleted file mode 100644 index 0d264aca3ad07dfee5557246d072b5beae58a539..0000000000000000000000000000000000000000 --- a/tutorials/Welcome.ipynb +++ /dev/null @@ -1,135 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# BIG-DATA ANALYTICS\n", - "\n", - "We develop and implement methods that identify correlations and structure in big data of materials. This will enable scientists and engineers to decide which materials are useful for specific applications or which new materials should be the focus of future studies.\n", - "\n", - "Despite the huge number of possible materials (e.g. GaAs, Al2O3, etc.), we note that “the chemical compound space” is sparsely populated when the focus is on selected properties or functions (e.g. structure: rock salt vs. zinkblende, electrical conductivity, etc.). NOMAD offers big-data analytics tools that will help to sort all of the available materials data to identify trends and anomalies. For more information click the \"INTRODUCTION TO\" button above.\n", - "\n", - "## Tutorials\n", - "\n", - "The following tutorials are designed to get started with the Analytics Toolkit (click title to show/hide details of the selected tutorial):\n", - "\n", - "### Crystal structure prediction\n", - "\n", - "- [**Tutorial on compressed sensing for materials property prediction**](compressed-sensing/tutorial.ipynb) *(created by: Emre Ahmetcik, Angelo Ziletti, Runhai Ouyang, Luca Ghiringhelli, Matthias Scheffler)*\n", - "\n", - " This tutorial introduces from scratch and step by step: Compressed sensing, LASSO, and SISSO for materials property prediction\n", - "\n", - "### Materials property prediction\n", - "\n", - "- [**Grain boundaries of alpha-Fe tutorial**](grain-boundaries/grain_boundaries.ipynb) *(created by: Ádám Fekete, Martina Stella, Henry Lambert, Alessandro De Vita, Gábor Csányi)*\n", - "\n", - " In this tutorial we will be using a machine learning method (clustering) to analyse results of Grain Boundary (GB) calculations of alpha-iron. Along the way we will learn about different methods to describe local atomic environment in order to calculate properties of GBs. We will use these properties to separate the different regions of the GB using clustering methods. Finally we will determine how the energy of the GB is changing according to the angle difference of the regions.\n", - " \n", - " \n", - "- [**The SOAP descriptor, Gaussian Approximation Potentials (GAP) and machine-learning of force fields**](gap-si-surface/gap_si_surface.ipynb) *(created by: Adam Fekete, Matrina Stella, Henry Lambert, Alessandro De Vita, Gabor Csanyi)\n", - "\n", - " In this tutorial we will be using a Gaussian Approximation Potentials to analyse results of TB DFT calculations of Si surface. Along the way we will learn about different descriptors (2b, 3b, soap) to describe local atomic environment in order to predict energies and forces of Si surface. \n", - "\n", - "### Organic molecules\n", - "\n", - "- [**Learning atomic charges**](soap-atomic-charges/soap_atomic_charges.ipynb) *(created by: Gábor Csányi, James R. Kermode)*\n", - "\n", - " In this tutorial, we will use Gaussian process regression, GPR (or equivalently, Kernel Ridge Regression, KRR) to train and predict charges of atoms in small organic molecules." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "<h1>BIG-DATA ANALYTICS</h1>\n", - "<p></p>\n", - "<div class=\"jumbotron\">\n", - " <p class=\"lead\">We develop and implement methods that identify correlations and structure in big data of materials. This will enable scientists and engineers to decide which materials are useful for specific applications or which new materials should be the focus of future studies.\n", - "</div>\n", - "\n", - "<h2 class=\"display-4\">Tutorials</h2>\n", - "\n", - "\n", - "The following tutorials are designed to get started with the Analytics Toolkit (click title to show/hide details of the selected tutorial):\n", - "\n", - "\n", - "<h3 class=\"display-4\">Crystal structure prediction</h3>\n", - "<p></p>\n", - "\n", - "<div class=\"list-group\">\n", - " <a href=\"compressed-sensing/tutorial.ipynb\" class=\"list-group-item list-group-item-action active\">\n", - " <h3>Tutorial on compressed sensing for materials property prediction</h3>\n", - " </a>\n", - " <div class=\"list-group-item list-group-item-action\">\n", - " <i>created by: Emre Ahmetcik, Angelo Ziletti, Runhai Ouyang, Luca Ghiringhelli, Matthias Scheffler</i>\n", - " <p>This tutorial introduces from scratch and step by step: Compressed sensing, LASSO, and SISSO for materials property prediction</p>\n", - " </div>\n", - "</div>\n", - "\n", - "\n", - "<h3 class=\"display-4\">Materials property prediction</h3>\n", - "<p></p>\n", - "\n", - "<div class=\"list-group\">\n", - " <a href=\"grain-boundaries/grain_boundaries.ipynb\" class=\"list-group-item list-group-item-action active\">\n", - " <h3>Grain boundaries of alpha-Fe tutorial</h3>\n", - " </a>\n", - " <div class=\"list-group-item list-group-item-action\">\n", - " <i>created by: Ádám Fekete, Martina Stella, Henry Lambert, Alessandro De Vita, Gábor Csányi</i>\n", - " <p> In this tutorial we will be using a machine learning method (clustering) to analyse results of Grain Boundary (GB) calculations of alpha-iron. Along the way we will learn about different methods to describe local atomic environment in order to calculate properties of GBs. We will use these properties to separate the different regions of the GB using clustering methods. Finally we will determine how the energy of the GB is changing according to the angle difference of the regions.</p>\n", - " </div>\n", - " <a href=\"gap-si-surface/gap_si_surface.ipynb\" class=\"list-group-item list-group-item-action active\">\n", - " <h3>The SOAP descriptor, Gaussian Approximation Potentials (GAP) and machine-learning of force fields</h3>\n", - " </a>\n", - " <div class=\"list-group-item list-group-item-action\">\n", - " <i>created by: Adam Fekete, Matrina Stella, Henry Lambert, Alessandro De Vita, Gabor Csanyi</i>\n", - " <p> In this tutorial we will be using a Gaussian Approximation Potentials to analyse results of TB DFT calculations of Si surface. Along the way we will learn about different descriptors (2b, 3b, soap) to describe local atomic environment in order to predict energies and forces of Si surface. </p>\n", - " </div>\n", - "</div>\n", - "\n", - "\n", - "<h3 class=\"display-4\">Organic molecules</h3>\n", - "<p></p>\n", - "\n", - "<div class=\"list-group\">\n", - " <a href=\"soap-atomic-charges/soap_atomic_charges.ipynb\" class=\"list-group-item list-group-item-action active\">\n", - " <h3>Learning atomic charges</h3>\n", - " </a>\n", - " <div class=\"list-group-item list-group-item-action\">\n", - " <i>created by: Gábor Csányi, James R. Kermode</i>\n", - " <p>In this tutorial, we will use Gaussian process regression, GPR (or equivalently, Kernel Ridge Regression, KRR) to train and predict charges of atoms in small organic molecules.</p>\n", - " </div>\n", - "</div>\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tutorials/analytics-asevisualization b/tutorials/analytics-asevisualization new file mode 160000 index 0000000000000000000000000000000000000000..b066d5008def2c7e6448228cc3906fb3e204f68e --- /dev/null +++ b/tutorials/analytics-asevisualization @@ -0,0 +1 @@ +Subproject commit b066d5008def2c7e6448228cc3906fb3e204f68e diff --git a/tutorials/analytics-band-structure-visualization b/tutorials/analytics-band-structure-visualization new file mode 160000 index 0000000000000000000000000000000000000000..6cb5a929b8518350bd78437e52b18316e2eddac3 --- /dev/null +++ b/tutorials/analytics-band-structure-visualization @@ -0,0 +1 @@ +Subproject commit 6cb5a929b8518350bd78437e52b18316e2eddac3 diff --git a/tutorials/analytics-compressed-sensing b/tutorials/analytics-compressed-sensing new file mode 160000 index 0000000000000000000000000000000000000000..4831aadd969af3a9b4e06de9156d8011c5f3320d --- /dev/null +++ b/tutorials/analytics-compressed-sensing @@ -0,0 +1 @@ +Subproject commit 4831aadd969af3a9b4e06de9156d8011c5f3320d diff --git a/tutorials/analytics-compressed-sensing-2018 b/tutorials/analytics-compressed-sensing-2018 new file mode 160000 index 0000000000000000000000000000000000000000..355bb9b94250f97c6b0b33ff3dae392a7e96a2ea --- /dev/null +++ b/tutorials/analytics-compressed-sensing-2018 @@ -0,0 +1 @@ +Subproject commit 355bb9b94250f97c6b0b33ff3dae392a7e96a2ea diff --git a/tutorials/analytics-convolutional-nn b/tutorials/analytics-convolutional-nn new file mode 160000 index 0000000000000000000000000000000000000000..5f56eeff559eb78d566a004542b238f65b94a598 --- /dev/null +++ b/tutorials/analytics-convolutional-nn @@ -0,0 +1 @@ +Subproject commit 5f56eeff559eb78d566a004542b238f65b94a598 diff --git a/tutorials/gap-si-surface b/tutorials/analytics-gap-si-surface similarity index 100% rename from tutorials/gap-si-surface rename to tutorials/analytics-gap-si-surface diff --git a/tutorials/analytics-grain-boundaries b/tutorials/analytics-grain-boundaries new file mode 160000 index 0000000000000000000000000000000000000000..349edc88d9e18f03b9d3a15cb6f11981919de914 --- /dev/null +++ b/tutorials/analytics-grain-boundaries @@ -0,0 +1 @@ +Subproject commit 349edc88d9e18f03b9d3a15cb6f11981919de914 diff --git a/tutorials/analytics-kaggle-competition b/tutorials/analytics-kaggle-competition new file mode 160000 index 0000000000000000000000000000000000000000..beff593b8420933e59a151fd8e677dcf41e49bf6 --- /dev/null +++ b/tutorials/analytics-kaggle-competition @@ -0,0 +1 @@ +Subproject commit beff593b8420933e59a151fd8e677dcf41e49bf6 diff --git a/tutorials/analytics-soap-atomic-charges b/tutorials/analytics-soap-atomic-charges new file mode 160000 index 0000000000000000000000000000000000000000..fdbadffaa584cb6f19fe3662c79d474db40b47e2 --- /dev/null +++ b/tutorials/analytics-soap-atomic-charges @@ -0,0 +1 @@ +Subproject commit fdbadffaa584cb6f19fe3662c79d474db40b47e2 diff --git a/tutorials/tcmi b/tutorials/analytics-tcmi similarity index 100% rename from tutorials/tcmi rename to tutorials/analytics-tcmi diff --git a/tutorials/asevisulization b/tutorials/asevisulization deleted file mode 160000 index 2feb55330b1dae4d4e7dc843601bb77d3a76a94f..0000000000000000000000000000000000000000 --- a/tutorials/asevisulization +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2feb55330b1dae4d4e7dc843601bb77d3a76a94f diff --git a/tutorials/band-structure-visualization b/tutorials/band-structure-visualization deleted file mode 160000 index 5a93375a303c720d94a9ad9ef614f1e748512c44..0000000000000000000000000000000000000000 --- a/tutorials/band-structure-visualization +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5a93375a303c720d94a9ad9ef614f1e748512c44 diff --git a/tutorials/compressed-sensing b/tutorials/compressed-sensing deleted file mode 160000 index aac054d78c43162020a159823db7bde8e72c9b4b..0000000000000000000000000000000000000000 --- a/tutorials/compressed-sensing +++ /dev/null @@ -1 +0,0 @@ -Subproject commit aac054d78c43162020a159823db7bde8e72c9b4b diff --git a/tutorials/compressed-sensing-2018 b/tutorials/compressed-sensing-2018 deleted file mode 160000 index 4c2e3c3b43222d807dab87b2f836e22629a10cb0..0000000000000000000000000000000000000000 --- a/tutorials/compressed-sensing-2018 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4c2e3c3b43222d807dab87b2f836e22629a10cb0 diff --git a/tutorials/convolutional-nn b/tutorials/convolutional-nn deleted file mode 160000 index e564a18bea59bacbddf7746df2c865821ed7fc11..0000000000000000000000000000000000000000 --- a/tutorials/convolutional-nn +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e564a18bea59bacbddf7746df2c865821ed7fc11 diff --git a/tutorials/face-of-crystals b/tutorials/face-of-crystals deleted file mode 160000 index 3843a5c1b6874877bf2525ef395821be69aeb8b3..0000000000000000000000000000000000000000 --- a/tutorials/face-of-crystals +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3843a5c1b6874877bf2525ef395821be69aeb8b3 diff --git a/tutorials/grain-boundaries b/tutorials/grain-boundaries deleted file mode 160000 index cd26180d9e52d7267ff069a1725f0ec27ba80c82..0000000000000000000000000000000000000000 --- a/tutorials/grain-boundaries +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cd26180d9e52d7267ff069a1725f0ec27ba80c82 diff --git a/tutorials/kaggle-competetion b/tutorials/kaggle-competetion deleted file mode 160000 index 82ca1eb9ecbd91c2bd54aaafd40c50d131b44977..0000000000000000000000000000000000000000 --- a/tutorials/kaggle-competetion +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 82ca1eb9ecbd91c2bd54aaafd40c50d131b44977 diff --git a/tutorials/soap-atomic-charges b/tutorials/soap-atomic-charges deleted file mode 160000 index 00913330c7ad7662838e29289c821afb5386bdd3..0000000000000000000000000000000000000000 --- a/tutorials/soap-atomic-charges +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 00913330c7ad7662838e29289c821afb5386bdd3 diff --git a/tutorials/test.ipynb b/tutorials/test.ipynb deleted file mode 100644 index fa6b90377a21344ba745a3779858640fa05bbf85..0000000000000000000000000000000000000000 --- a/tutorials/test.ipynb +++ /dev/null @@ -1,54 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2020-01-20T13:07:06.123939Z", - "start_time": "2020-01-20T13:07:06.120567Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "test\n" - ] - } - ], - "source": [ - "print('test')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}