...
 
Commits (59)
......@@ -3,7 +3,6 @@
# sphinx build folder
_build
_templates
# OS generated files #
######################
......
......@@ -22,7 +22,7 @@ pages:
- apt-get -y install dvipng
- pip3 install pygments --upgrade
- pip3 install Sphinx --upgrade
- pip3 install sphinx-bootstrap-theme --upgrade
- pip3 install sphinx-rtd-theme --upgrade
- READTHEDOCS=True sphinx-build -nWT -b html . _build/html
- mv _build/html/ public/
- echo -e "\n\n\e[1mYou can find your build of this documentation at \n\t\e[32m${CI_PAGES_URL}\e[0m\n\n"
......
......@@ -3,6 +3,13 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. _readme_classical_md:
********************
......@@ -12,13 +19,6 @@ Classical MD Modules
Introduction
============
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. image:: ./images/lipid.jpg
:width: 15 %
:align: left
......@@ -148,14 +148,14 @@ to enumerate -- both academics and industry will benefit greatly from having
software for these methods.
The modules listed here deal with software to perform path sampling methods,
as well as other approaches to rare events.
as well as other approaches to rare events.
OpenPathSampling
================
Several modules were developed based on
`OpenPathSampling (OPS) <http://openpathsampling.org>`_. These include modules
that have been incorporated into the core of OPS, as well as some that remain
Several modules were developed based on
`OpenPathSampling (OPS) <http://openpathsampling.org>`_. These include modules
that have been incorporated into the core of OPS, as well as some that remain
separate projects. The modules that were incorporated into the core are:
.. toctree::
......@@ -182,7 +182,7 @@ The modules that are based on OPS, but remain separate, are:
.. toctree::
:glob:
:maxdepth: 1
./modules/annotated_trajectories/readme
./modules/ops_piggybacker/readme
./modules/contact_maps/readme
......@@ -190,9 +190,9 @@ The modules that are based on OPS, but remain separate, are:
./modules/dw_dimer_testsystem/readme
./modules/lammps_ops/readme
Nine of these modules were part of
Nine of these modules were part of
`E-CAM Deliverable 1.2 <https://www.e-cam2020.eu/deliverables/>`_. Those modules
provided improvements and new features in software for trajectory sampling and
provided improvements and new features in software for trajectory sampling and
for studying the thermodynamics and kinetics of rare events.
Pilot Projects
......@@ -221,8 +221,8 @@ The following modules were developed specifically for the Classical MD pilot pro
Extended Software Development Workshops (ESDWs)
===============================================
The first ESDW for the Classical MD workpackage was held in Traunkirchen,
Austria, in November 2016, with a follow-up to be held in Vienna in April 2017.
The first ESDW for the Classical MD workpackage was held in Traunkirchen,
Austria, in November 2016, with a follow-up to be held in Vienna in April 2017.
The following modules have been produced:
.. toctree::
......@@ -234,7 +234,7 @@ The following modules have been produced:
./modules/OpenPathSampling/ops_maxlikelihood/readme
./modules/OpenPathSampling/ops_interface_optimization/readme
The second ESDW for the Classical MD workpackage was held in Leiden, Holland, in
The second ESDW for the Classical MD workpackage was held in Leiden, Holland, in
August 2017. The following modules have been produced:
.. toctree::
......@@ -255,6 +255,6 @@ The third ESDW for the Classical MD workpackage was held in Turin, Italy in July
:maxdepth: 1
./modules/HTC/decorators/readme
./modules/pybop/readme
./modules/pyscal/readme
.. _E-CAM: https://www.e-cam2020.eu/
.. In ReStructured Text (ReST) indentation and spacing are very important (it is how ReST knows what to do with your
document). For ReST to understand what you intend and to render it correctly please to keep the structure of this
template. Make sure that any time you use ReST syntax (such as for ".. sidebar::" below), it needs to be preceded
and followed by white space (if you see warnings when this file is built they this is a common origin for problems).
.. We allow the template to be standalone, so that the library maintainers add it in the right place
.. Firstly, let's add technical info as a sidebar and allow text below to wrap around it. This list is a work in
progress, please help us improve it. We use *definition lists* of ReST_ to make this readable.
.. sidebar:: Software Technical Information
Name
pybop
Language
Python (2.7, 3.4, 3.5, 3.6)
Licence
`GNU General Public License v3.0 <https://www.gnu.org/licenses/gpl-3.0.en.html>`_
Documentation Tool
Sphinx/RST
Application Documentation
https://srmnitc.github.io/pybop/html/index.html
Relevant Training Material
https://mybinder.org/v2/gh/srmnitc/pybop/master?filepath=examples%2F
Software Module Developed by
Sarath Menon
.. In the next line you have the name of how this module will be referenced in the main documentation (which you can
reference, in this case, as ":ref:`example`"). You *MUST* change the reference below from "example" to something
unique otherwise you will cause cross-referencing errors. The reference must come right before the heading for the
reference to work (so don't insert a comment between).
#####
pybop
#####
.. Let's add a local table of contents to help people navigate the page
.. contents:: :local:
.. Add an abstract for a *general* audience here. Write a few lines that explains the "helicopter view" of why you are
creating this module. For example, you might say that "This module is a stepping stone to incorporating XXXX effects
into YYYY process, which in turn should allow ZZZZ to be simulated. If successful, this could make it possible to
produce compound AAAA while avoiding expensive process BBBB and CCCC."
``pybop`` is a python module for calculation of bond orientational order parameters [#]_. The core functionality of ``pybop`` is written in C++ with python wrappers using `pybind11 <https://pybind11.readthedocs.io/en/stable/intro.html>`_ . This allows for fast calculations with possibilities for seamless expansion in python.
Purpose of Module
_________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
Bond orientational order parameters have been widely used in distinction of crystal structures in computational studies [#]_. Additionally, these parameters have also been used to distinguish between solid and liquid particles in studies of crystallisation during solidification [#]_.
``pybop`` provides a flexible post-processing python environment for these calculations, at the same time ensuring speed and efficiency as the core code is written in C++ with `pybind11 bindings <https://pybind11.readthedocs.io/en/stable/intro.html>`_. ``pybop`` also links with `Voro++ <http://math.lbl.gov/voro++/>`_ code to carry out calculations of voronoi volumes, indices and face areas.
Some of the major uses of ``pybop`` are listed below-
- calculations including the bond order parameters :math:`q_{i}` where :math:`i = \{2,3 \to 12\}`.
- averaged versions which has been to improve the resolution in identification of crystal structures [#]_.
- weighted :math:`q_{i}` where the contributions are weighted by the voronoi face area shared with adjacent atoms [#]_.
- distinction of liquid and solid atoms based on :math:`q_{6}` parameter.
- calculation of the parameters in non-orthogonal simulation boxes.
- other quantities like radial distribution function, coordination number and voronoi volume of individual particles.
``pybop`` can read in output data from LAMMPS [#]_ `dump format <https://lammps.sandia.gov/doc/dump.html>`_ and POSCAR files from VASP. The module also provides an easy interface for extension of the available data formats or linking with other codes to read in input data.
.. I will add information about the paper and results using pybop.
Background Information
______________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
See the `application documentation <https://srmnitc.github.io/pybop/html/index.html>`_ for full details.
The utilisation of Dask within the project came about as a result of the `E-CAM High Throughput Computing ESDW <https://www.e-cam2020.eu/event/4424/?instance_id=71>`_ held in Turin in 2018 and 2019.
Building and Testing
____________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
**Installation**
First, clone the ``pybop`` repository by ``git clone https://github.com/srmnitc/pybop.git``.
After cloning the repository, ``pybop`` can be installed by running ``python setup.py install`` from main code directory. It can be uninstalled by ``pip uninstall pybop``. All the dependencies of ``pybop`` are installed automatically.
**Testing**
``pybop`` also contains automated tests which use the `pytest <https://docs.pytest.org/en/latest/>`_ python library, which can be installed by ``pip install pytest``. The tests can be run by executing the command ``pytest tests/`` from the main code directory.
**Examples**
Examples uses of ``pybop`` can be found `here <https://srmnitc.github.io/pybop/html/examples.html>`_. An `interactive notebook <https://mybinder.org/v2/gh/srmnitc/pybop/master?filepath=examples%2F>`_ using binder is also available.
Source Code
___________
.. Notice the syntax of a URL reference below `Text <URL>`_ the backticks matter!
The `source code <https://github.com/srmnitc/pybop>`_. of the module can be found on GitHub.
.. [#] Steinhardt, PJ, Nelson, DR, Ronchetti, M. Phys. Rev. B 28, 1983.
.. [#] Lechner, W, Dellago, C, Bolhuis, P.G. J. Chem. Phys. 125, 2011., Diaz Leines, G, Drautz, R, Rogal, J. J. Chem. Phys. 146, 2017.
.. [#] Diaz Leines, G, Drautz, R, Rogal, J. J. Chem. Phys. 146, 2017.
.. [#] Lechner, W, Dellago, C. J. Chem. Phys. 129, 2008.
.. [#] Mickel, W, Kapfer, S.C, Schroder-Turk, G.E, Mecke, K. J. Chem. Phys. 138, 2013.
.. [#] Plimpton, S. J Comp. Phys. 117, 1995.
.. sidebar:: Software Technical Information
Name
pyscal
Language
Python (2.7, 3.4, 3.5, 3.6)
Licence
`GNU General Public License v3.0 <https://www.gnu.org/licenses/gpl-3.0.en.html>`_
Documentation Tool
Sphinx/RST
Application Documentation
https://pyscal.readthedocs.io/en/latest/
Relevant Training Material
https://mybinder.org/v2/gh/srmnitc/pyscal/master?filepath=examples%2F
Software Module Developed by
Sarath Menon
Grisell Díaz Leines
Jutta Rogal
######
pyscal
######
.. contents:: :local:
**pyscal** is a python module for the calculation of local atomic structural environments including Steinhardt's bond orientational order parameters [1]_ during post-processing
of atomistic simulation data. The core functionality of pyscal is written in C++ with python wrappers using
`pybind11 <https://pybind11.readthedocs.io/en/stable/intro.html>`_ which allows for fast calculations and
easy extensions in python.
Purpose of Module
_________________
Steinhardt's order parameters are widely used for the identification of crystal structures [3]_. They are also used to distinguish
if an atom is in a solid or liquid environment [4]_. pyscal is inspired by the
`BondOrderAnalysis <https://homepage.univie.ac.at/wolfgang.lechner/bondorderparameter.html>`_ code,
but has since incorporated many additional features and modifications. The pyscal module includes the following functionalities:
* calculation of Steinhardt's order parameters and their averaged version [2]_.
* links with the `Voro++ <http://math.lbl.gov/voro++/>`_ code, for the calculation of Steinhardt parameters weighted using the face areas of Voronoi polyhedra [3]_.
* classification of atoms as solid or liquid [4]_.
* clustering of particles based on a user defined property.
* methods for calculating radial distribution functions, Voronoi volumes of particles, number of vertices and face area of Voronoi polyhedra, and coordination numbers.
Background Information
______________________
See the `application documentation <https://pyscal.readthedocs.io/en/latest/>`_ for full details.
The utilisation of Dask within the project came about as a result of the `E-CAM High Throughput Computing ESDW <https://www.e-cam2020.eu/event/4424/?instance_id=71>`_ held in Turin in 2018 and 2019.
Building and Testing
____________________
**Installation**
pyscal can be installed directly using `Conda <https://docs.conda.io/en/latest/>`_ by the following statement-
.. code:: console
conda install -c pyscal pyscal
pyscal can be built from the repository by-
.. code:: console
git clone https://github.com/srmnitc/pyscal.git
cd pyscal
python setup.py install --user
**Testing**
pyscal contains automated tests which
use the `pytest <https://docs.pytest.org/en/latest/>`_ python library, which can be installed by ``pip install pytest``.
The tests can be run by executing the command ``pytest tests/`` from the main code directory.
**Examples**
Examples using pyscal can be found `here <https://pyscal.readthedocs.io/en/latest/examples.html>`_.
An `interactive notebook <https://mybinder.org/v2/gh/srmnitc/pyscal/master?filepath=examples%2F>`_
using binder is also available.
Source Code
___________
The `source code <https://github.com/srmnitc/pyscal>`_. of the module can be found on GitHub.
.. [1] `Steinhardt, P. J., Nelson, D. R., & Ronchetti, M. (1983). Physical Review B, 28 <https://journals.aps.org/prb/abstract/10.1103/PhysRevB.28.784>`_.
.. [2] `Lechner, W., & Dellago, C. (2008). The Journal of Chemical Physics, 129 <https://aip.scitation.org/doi/full/10.1063/1.2977970>`_.
.. [3] `Mickel, W., Kapfer, S. C., Schröder-Turk, G. E., & Mecke, K. (2013). The Journal of Chemical Physics, 138 <https://aip.scitation.org/doi/full/10.1063/1.4774084>`_.
.. [4] `Auer, S., & Frenkel, D. (2005). Advances in Polymer Science, 173 <https://link.springer.com/chapter/10.1007/b99429>`_.
......@@ -3,6 +3,13 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. _readme_electronic_structure:
****************************
......@@ -12,14 +19,7 @@ Electronic Structure Modules
Introduction
============
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. figure:: ./images/wake_nova-rgb.png
.. figure:: ./images/protein-metal-cluster.png
:figwidth: 25 %
:align: left
......@@ -87,6 +87,19 @@ The ESDW in Lausanne in February 2018 was the starting point for the modules bel
:maxdepth: 1
./modules/esl-bundle/readme
./modules/ELPA_easyblock/readme
ESDW Dublin 2019
-----------------
The ESDW in Dublin in January 2019 was the starting point for the modules below.
.. toctree::
:glob:
:maxdepth: 1
./modules/esl-easyconfigs/readme
Other Modules
-------------
......
.. sidebar:: Software Technical Information
Name
EasyBuild
Language
Python
Licence
`GPL-2.0 <https://opensource.org/licenses/GPL-2.0>`_
Documentation Tool
ReST_
Application Documentation
https://easybuild.readthedocs.io
Relevant Training Material
See documentation
Software Module Developed by
Micael Oliveira
.. In the next line you have the name of how this module will be referenced in the main documentation (which you can
reference, in this case, as ":ref:`example`"). You *MUST* change the reference below from "example" to something
unique otherwise you will cause cross-referencing errors. The reference must come right before the heading for the
reference to work (so don't insert a comment between).
.. _elpa_easyblock:
###############################
Add ELPA easyblock to EasyBuild
###############################
.. Let's add a local table of contents to help people navigate the page
.. contents:: :local:
.. Add an abstract for a *general* audience here. Write a few lines that explains the "helicopter view" of why you are
creating this module. For example, you might say that "This module is a stepping stone to incorporating XXXX effects
into YYYY process, which in turn should allow ZZZZ to be simulated. If successful, this could make it possible to
produce compound AAAA while avoiding expensive process BBBB and CCCC."
EasyBuild is used by a number of large HPC sites and integrating targeted support for ELPA ensures that those sites
use optimally built versions of ELPA.
Purpose of Module
_________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
Automate the selection of appropriate configuration flags for ELPA within EasyBuild depending on the type of CPU and available features.
Include additional options as appropriate. Build single and double precision versions of ELPA and also ensure it is linked against the expected version of the linear algebra libraries.
Background Information
______________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High
Performance Computing (HPC) systems in an efficient way. Full details on can be found in the
`EasyBuild documentation <https://easybuild.readthedocs.io/en/latest/>`_.
EasyBuild already had limited support for ELPA, this module allows for automated hardware specific configuration and optimisations.
Building and Testing
____________________
.. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment
To build the software requires EasyBuild (see
`installation instructions for EasyBuild here <https://easybuild.readthedocs.io/en/latest/Installation.html>`_) and an
example build command would be:
::
eb ELPA-2018.11.001-intel-2019a.eb
Source Code
___________
.. Notice the syntax of a URL reference below `Text <URL>`_ the backticks matter!
There are two relevant Pull Requests in the main EasyBuild repositories:
* https://github.com/easybuilders/easybuild-easyblocks/pull/1621
* https://github.com/easybuilders/easybuild-easyconfigs/pull/8360
.. Here are the URL references used (which is alternative method to the one described above)
.. _ReST: http://www.sphinx-doc.org/en/stable/rest.html
.. _Sphinx: http://www.sphinx-doc.org/en/stable/markup/index.html
......@@ -47,7 +47,7 @@ available modules reached a sufficient level of usability and completeness to
be used widely within the whole community. However, documenting every single
module properly so that developers of electronic-structure software can
integrate them seamlessly into their own codes would have been a daunting
task. The challenge was double:
task. The challenge was two-fold:
- How do we provide usable and comprehensive documentation and keep it
accurate, while all the ESL projects are evolving asynchronously, each at
......@@ -65,7 +65,7 @@ Doxygen, to provide relevant explanations about how to use each ESL component
in the appropriate context. In this case, such an approach is much more
suitable than traditional documentation, mainly because instead of having to
document between 10 and 20 components separately, the ESL developers only have
to take care of one meta-component.
to take care of one meta-component, therefore:
- it requires less effort from less people;
- it can be put into action by anyone with a working build environment;
......@@ -96,7 +96,7 @@ as illustrated in the following table:
| Self-Consistent Field |
+------------------+---------------------+------------------------+
| Eigensolvers | Eigensolvers | Smearing |
+------------------+---------------------+ Echange-Correlation +
+------------------+---------------------+ Exchange-Correlation +
| HΨ | Hamiltonian Builder | Poisson Solver |
| | | Mixing |
+------------------+---------------------+ Ion-Ion Interaction +
......@@ -114,11 +114,11 @@ available, as well as imports/exports data related to the current calculation.
In the middle layer, itself divided into 3 sub-levels, it implements the
quantum-mechanical equations in the framework of Density-Functional Theory
(DFT). At the top level, it drives the operations of the lower layers and
applies completion crtieria. All cells of the table but the Self-Consistent
applies completion criteria. All cells of the table but the Self-Consistent
Field correspond to the use of one or more ESL components.
`esl-demo`_ is available from the `E-CAM Gitlab Repository`_ and mirrored on
GitHub_. It can be downloaded witb Git. Please note that only the E-CAM
GitHub_. It can be downloaded with Git. Please note that only the E-CAM
version is guaranteed to be up-to-date.
......@@ -142,12 +142,13 @@ Here is a typical sequence to follow to build the code::
mkdir my_build
cd my_build
cmake ..
cmake .. -DBUILD_TESTING=1
make -j8
To run `esl-demo`_, you will need at least a pseudopotential and a FDF input
file. Some examples are provided in the `tests/` subdirectory of the source
tree.
tree (which will now also be found in your ``my_build`` directory). You can
run the test suite in the ``my_build`` directory with ``make test``.
.. note::
......
.. _esl-easyconfigs:
###############
ESL Easyconfigs
###############
.. sidebar:: Software Technical Information
Language
The easyconfigs are written in Python.
Licence
The building framework is distributed under the `GPL <https://opensource.org/licenses/gpl-license>`_.
For the licenses used in the different modules included in the Bundle, please check the corresponding documentation.
Documentation Tool
ReStructuredText
Application Documentation
`README <https://gitlab.com/ElectronicStructureLibrary/esl-easyconfigs/blob/master/Readme.rst>`_
Relevant Training Material
Not currently available.
Software Module Developed by
The ESL Easyconfigs was created by Micael Oliveira, Yann Pouillon and Alin Marin Elena.
.. contents:: :local:
The ESL Easyconfigs aims at providing for all the `CECAM Electronic
Structure Library <http://esl.cecam.org>`_ modules and their dependencies
easybuild easyconfigs to allow easy installaiton on supercomputers around
the world that use EasyBuild package manager.
Purpose of Module
_________________
The ESL Easyconfig is a collection of Easybuild easyconfigs
that allow to easily build on a supercomputer all the libraries and utilities broadly
used in electronic structure calculations, put together to make their
use easier by researchers and scientific software developers. It
includes a set of recipes for building the libraries and their dependencies helping users,
developers and packagers in obtaining a working installation of complex combinations of
software packages without having to track the dependencies themselves.
We are aiming at providing the recipes up to date for two of the most common toolchains
foss and intel. Once considered mature enough the recipes will be upstreamed to EasyBuild
official catalogue.
Installation
____________
One needs to install firstly `Easybuild`__ by following the preferred instructions
To install the full set of ESL modules and their dependencies for foss toolchain version
2019a (latest release at time of wrtiing) one needs to do
.. code-block:: bash
eb easyconfigs/e/esl-bundle/esl-bundle-0.3.1-foss-2019a.eb -r .
One shall note that in organizing the files the easyconfig recipes and their needed patches
we follow the same convention as EasyBuild itself.
Source Code
___________
The source code is available from the `Gitlab`__ under the `esl-easyconfigs`__
project. The ESL Bundle directory can be found `here`__.
.. __: EasyBuild https://easybuild.readthedocs.io
.. __: https://gitlab.com
.. __: https://gitlab.com/ElectronicStructureLibrary/esl-easyconfigs
.. __: https://gitlab.com/ElectronicStructureLibrary/esl-easyconfigs/tree/master
......@@ -3,6 +3,13 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. _readme_meso_multi:
*****************************
......@@ -12,13 +19,6 @@ Meso- and Multi-scale Modules
Introduction
============
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. image:: ./images/DPD1.jpg
:width: 10 %
:align: left
......@@ -170,3 +170,7 @@ time-to-solution of the applications.
:maxdepth: 1
./modules/ALL_library/tensor_method/readme
./modules/ALL_library/staggered_method/readme
./modules/ALL_library/unstructured_method/readme
./modules/ALL_library/voronoi_method/readme
./modules/ALL_library/histogram_method/readme
.. sidebar:: Software Technical Information
Name
A Load Balancing Library (ALL)
Language
C++, Fortran interfaces available
Licence
`BSD 3-Clause <https://choosealicense.com/licenses/bsd-3-clause/>`_
Documentation Tool
No tool used in source code, repo documentation written in `Markdown <https://en.wikipedia.org/wiki/Markdown>`_
Application Documentation
See `ALL repository <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_
Relevant Training Material
None available
Software Module Developed by
Rene Halver
.. _ALL_histogram:
#########################################
ALL Histogram-based Staggered Grid Method
#########################################
.. contents:: :local:
A Load-Balancing Library (ALL) library aims to provide an easy and portable way
to include dynamic domain-based load balancing into particle based simulation
codes. The library is developed in the Simulation Laboratory Molecular Systems
of the Juelich Supercomputing Centre at Forschungszentrum Juelich.
Purpose of Module
_________________
This module provides an additional method to the `ALL library <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_,
up-to-date descriptions of the methods in the library can be found in the
`ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
The *histogram-based staggered-grid* scheme
results in the same grid as the staggered-grid scheme (see :ref:`ALL_staggered`), this scheme uses
the cumulative work function in each of the three cartesian directions in
order to generate this grid. Using histograms and the previously defined
distribution of process domains in a cartesian grid, this scheme generates
in three steps a staggered-grid result, in which the work is distributed as
evenly as the resolution of the underlying histogram allows. In contrast to
the other schemes this scheme depends on a global exchange of
work between processes.
Background Information
______________________
See :ref:`ALL_background` for details.
Building and Testing
____________________
See :ref:`ALL_testing` for details.
Source Code
___________
The implementation of the method in ALL can be found in
`ALL_Histogram.hpp <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/include/ALL_Histogram.hpp>`_.
The source code to the ALL library is available as a git repository at https://gitlab.version.fz-juelich.de/SLMS/loadbalancing . To obtain a copy of the repository you can use
.. code:: bash
git clone https://gitlab.version.fz-juelich.de/SLMS/loadbalancing.git
However, please note that the source code is currently under embargo until an associated paper is published, if you would like to be obtain a copy of the code, please contact Prof. Godehard Sutmann at ``g.sutmann@fz-juelich.de``.
.. sidebar:: Software Technical Information
Name
A Load Balancing Library (ALL)
Language
C++, Fortran interfaces available
Licence
`BSD 3-Clause <https://choosealicense.com/licenses/bsd-3-clause/>`_
Documentation Tool
No tool used in source code, repo documentation written in `Markdown <https://en.wikipedia.org/wiki/Markdown>`_
Application Documentation
See `ALL repository <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_
Relevant Training Material
None available
Software Module Developed by
Rene Halver
.. _ALL_staggered:
#########################
ALL Staggered Grid Method
#########################
.. contents:: :local:
A Load-Balancing Library (ALL) library aims to provide an easy and portable way
to include dynamic domain-based load balancing into particle based simulation
codes. The library is developed in the Simulation Laboratory Molecular Systems
of the Juelich Supercomputing Centre at Forschungszentrum Juelich.
Purpose of Module
_________________
This module provides an additional method to the `ALL library <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_,
up-to-date descriptions of the methods in the library can be found in the
`ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
In the *staggered-grid* scheme, a 3-step hierarchical approach is applied,
where:
* work over the cartesian planes is reduced, before the borders of these planes
are adjusted;
* in each of the cartesian planes the work is reduced for each cartesian column.
These columns are then adjusted to each other to homogenize the work in each
column;
* the work between neighboring domains in each column is adjusted.
Each adjustment is done locally with the neighboring planes, columns or domains
by adjusting the adjacent boundaries.
Background Information
______________________
See :ref:`ALL_background` for details.
Building and Testing
____________________
See :ref:`ALL_testing` for details.
Source Code
___________
The implementation of the method in ALL can be found in `ALL_Staggered.hpp <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/include/ALL_Staggered.hpp>`_.
The source code to the ALL library is available as a git repository at https://gitlab.version.fz-juelich.de/SLMS/loadbalancing . To obtain a copy of the repository you can use
.. code:: bash
git clone https://gitlab.version.fz-juelich.de/SLMS/loadbalancing.git
However, please note that the source code is currently under embargo until an associated paper is published, if you would like to be obtain a copy of the code, please contact Prof. Godehard Sutmann at ``g.sutmann@fz-juelich.de``.
......@@ -28,7 +28,7 @@
Dr. Horacio V. Guzman
.. _ALL_tensor_method:
.. _ALL_tensor:
#########################
ALL Tensor-Product method
......@@ -54,33 +54,84 @@ ______________________
See :ref:`ALL_background` for details.
Building and Testing
____________________
.. _ALL_testing:
ALL uses the `CMake <https://cmake.org/runningcmake/>`_ build system, specific build and installation requirements can
be found in the `ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
ALL: Building and Testing
_________________________
ALL is a C++ header only library using template programming, strictly speaking
there is no need to install the library, you simply include the header files in
your application. In order to provide examples, ALL uses the
`CMake <https://cmake.org/runningcmake/>`_ build system, specific build and
installation requirements can be found in the
`ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
If you wish to use/test the topological mesh scheme, you will need an MPI-enabled
installation of the `VTK <https://vtk.org/>`_ package.
There are 3 tests of available for the Tensor-Product method in the `ALL GitLab repository examples <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/tree/master/example>`_ . Namely: (1) Simple Wye-shape biosystem; (2) Heterogeneous polymer melt and (3) A rotated version of the Wye-shaped biosystem. They can be run by executing the commands below:
To build ALL, begin in the root directory of the package and use
.. code:: bash
export ALL_INSTALLATION=/path/to/my/loadbalancing/install
cmake .. -DCMAKE_INSTALL_PREFIX=$ALL_INSTALLATION -DCM_ALL_FORTRAN=ON
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$ALL_INSTALLATION -DCM_ALL_VTK_OUTPUT=ON -DCM_ALL_VORONOI=ON
make -j
make install
cd example/jube/
ln -s $ALL_INSTALLATION/bin/ALL_test
# JUBE must be available in the environment
jube run ALL_benchmark.xml --tag Polymer --type 1
cd ..
This will create an installation of ALL in the path pointed to by
``ALL_INSTALLATION``. ``ALL_test`` (in the ``bin`` folder) is the binary that
performs the tests. If you omit the option ``-DCM_ALL_VTK_OUTPUT=ON`` you will
not require the VTK dependency (but cannot use the unstructured mesh method).
In the ``example/jube/input`` subdirectory there are 3 test data sets available,
namely:
1. Simple Wye-shape biosystem;
2. Heterogeneous polymer melt and
3. A rotated version of the Wye-shaped biosystem.
These data sets are in raw ascii format and need to be translated into a format
that can be consumed by ``ALL_test``. A utility ``ASCII2MPIBIN`` is provided to
do the conversion, with the command line options:
.. code:: bash
ASCII2MPIBIN <in_file (ASCII)> <out_file (binary)> <n_x> <n_y> <n_z>
where ``n_x``, ``n_y``, ``n_z`` are the number of (MPI) processes (in the X, Y
and Z directions) that will be used.
Within `ALL_benchmark.xml <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/refactor/example/jube/ALL_benchmark.xml>`_ you can find different options depending on the method and test you would like to run. For example the tests can be chosen by the ``--tag`` and using:
``ALL_test`` takes a number of options,
1. ``Y``,
2. ``Polymer``
3. ``rot_Y``
.. code:: bash
ALL_test <Method> <Number of iterations> <gamma> <weighted> <input file> <system size: x, y, z> <domain layout: x, y, z>
``Method`` (integer) is the load-balancing scheme to use of which there are 5 options:
.. code:: bash
In addition, the ``--type`` flag is used to choose the method 1 for the Tensor Product. Note that the second example is the most illustrative and hence recommended example to understand how the borders of the cartesian planes are adjusted.
0 : Tensor
1 : Staggered
2 : Unstructured
3 : Voronoi
4 : Histogram
, ``gamma`` (double) is a relaxation which controls the convergence of the
load-balancing methods, ``weighted`` (boolean) indicates whether points should
be assigned a weight. The system size and domain layout are provided in the
output of the call to ``ASCII2MPIBIN``.
An example execution using the polymer melt data set on 125 processors looks
like
.. code:: bash
ASCII2MPIBIN globalBlockCoordsPolymer.txt input.bin 5 5 5
mpirun -n 125 ALL_test 0 50 8.0 0 input.bin 80 80 450 5 5 5
Source Code
___________
......
.. sidebar:: Software Technical Information
Name
A Load Balancing Library (ALL)
Language
C++, Fortran interfaces available
Licence
`BSD 3-Clause <https://choosealicense.com/licenses/bsd-3-clause/>`_
Documentation Tool
No tool used in source code, repo documentation written in `Markdown <https://en.wikipedia.org/wiki/Markdown>`_
Application Documentation
See `ALL repository <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_
Relevant Training Material
None available
Software Module Developed by
Rene Halver
.. _ALL_unstructured:
############################
ALL Unstructured Mesh Method
############################
.. contents:: :local:
A Load-Balancing Library (ALL) library aims to provide an easy and portable way
to include dynamic domain-based load balancing into particle based simulation
codes. The library is developed in the Simulation Laboratory Molecular Systems
of the Juelich Supercomputing Centre at Forschungszentrum Juelich.
Purpose of Module
_________________
This module provides an additional method to the `ALL library <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_,
up-to-date descriptions of the methods in the library can be found in the
`ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
In contrast to :ref:`ALL_tensor` and :ref:`ALL_staggered`, the *unstructured mesh* method adjusts
domains not by moving boundaries but vertices, i.e. corner points, of
domains. For each vertex a force, based on the differences
in work of the neighboring domains, is computed and the
vertex is shifted in a way to equalize the work between these
neighboring domains.
Background Information
______________________
See :ref:`ALL_background` for details.
Building and Testing
____________________
See :ref:`ALL_testing` for details.
Source Code
___________
The implementation of the method in ALL can be found in `ALL_Unstructured.hpp <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/include/ALL_Unstructured.hpp>`_.
The source code to the ALL library is available as a git repository at https://gitlab.version.fz-juelich.de/SLMS/loadbalancing . To obtain a copy of the repository you can use
.. code:: bash
git clone https://gitlab.version.fz-juelich.de/SLMS/loadbalancing.git
However, please note that the source code is currently under embargo until an associated paper is published, if you would like to be obtain a copy of the code, please contact Prof. Godehard Sutmann at ``g.sutmann@fz-juelich.de``.
.. sidebar:: Software Technical Information
Name
A Load Balancing Library (ALL)
Language
C++, Fortran interfaces available
Licence
`BSD 3-Clause <https://choosealicense.com/licenses/bsd-3-clause/>`_
Documentation Tool
No tool used in source code, repo documentation written in `Markdown <https://en.wikipedia.org/wiki/Markdown>`_
Application Documentation
See `ALL repository <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_
Relevant Training Material
None available
Software Module Developed by
Rene Halver
.. _ALL_voronoi:
#######################
ALL Voronoi Mesh Method
#######################
.. contents:: :local:
A Load-Balancing Library (ALL) library aims to provide an easy and portable way
to include dynamic domain-based load balancing into particle based simulation
codes. The library is developed in the Simulation Laboratory Molecular Systems
of the Juelich Supercomputing Centre at Forschungszentrum Juelich.
Purpose of Module
_________________
This module provides an additional method to the `ALL library <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing>`_,
up-to-date descriptions of the methods in the library can be found in the
`ALL README file <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/README.md>`_.
Similar to the topological mesh method (:ref:`ALL_unstructured`), the *Voronoi mesh* method computes a
force, based on work differences. In contrast to the topological mesh
method, the force acts on a Voronoi point rather than a vertex, i.e. a
point defining a Voronoi cell, which describes the domain. Consequently,
the number of neighbors is not a conserved quantity, i.e. the topology
may change over time. ALL uses the Voro++ library published by the
Lawrance Berkeley Laboratory for the generation of the Voronoi mesh.
Background Information
______________________
See :ref:`ALL_background` for details.
Building and Testing
____________________
See :ref:`ALL_testing` for details.
Source Code
___________
The implementation of the method in ALL can be found in `ALL_Voronoi.hpp <https://gitlab.version.fz-juelich.de/SLMS/loadbalancing/blob/master/include/ALL_Voronoi.hpp>`_.
The source code to the ALL library is available as a git repository at https://gitlab.version.fz-juelich.de/SLMS/loadbalancing . To obtain a copy of the repository you can use
.. code:: bash
git clone https://gitlab.version.fz-juelich.de/SLMS/loadbalancing.git
However, please note that the source code is currently under embargo until an associated paper is published, if you would like to be obtain a copy of the code, please contact Prof. Godehard Sutmann at ``g.sutmann@fz-juelich.de``.
......@@ -3,23 +3,22 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. _readme_quantum_dynamics:
************************
Quantum Dynamics Modules
************************
Introduction
============
.. sidebar:: General Information
.. contents:: :depth: 2
* :ref:`contributing`
* :ref:`search`
.. image:: ./images/AltLogo.png
:width: 30 %
:align: left
......@@ -240,7 +239,6 @@ The **PhysConst** enables the use of physical constants and the correct isotopic
The **QuantumModelLib** use potential energy surfaces extracted from the literature and can be linked to quantum dynamics codes.
PaPIM
-----
......@@ -423,6 +421,16 @@ The **Zagreb_sh** module is an interface between between Quantics package and th
The **Quantics_openmp** module is an initial effort at OpenMP parallelisation improvements to Quantics.
.. toctree::
:glob:
:maxdepth: 1
./modules/guessoc/guessoc_readme
The **Spin orbit coupling smoothing** module is to smooth spin orbit couplings along internuclear distance.
References
==========
......
......@@ -97,7 +97,7 @@ Notice that the quantum momentum tracks the spatial variation of the nuclear den
Applications of the Module
__________________________
The module is designed to apply the CTMQC procedure to one-, two-, and three-dimensional model systems where an arbitrary number of electronic states are coupled via the nuclear dynamics. Tully model systems [Tully]_ are within the class of problems that can be treated by the module, as well as a wide class of multidimensional problems involving, for instance, ultrafast radiationless relaxation of photo-excited molecules [CI]_ through conical intersections.
The module is designed to apply the CTMQC procedure to one-, two-, and three-dimensional model systems where an arbitrary number of electronic states are coupled via the nuclear dynamics. Tully model systems [Tully]_ are within the class of problems that can be treated by the module, as well as a wide class of multidimensional problems involving, for instance, ultrafast radiationless relaxation of photo-excited molecules [CI1]_ through conical intersections.
Installation
......@@ -259,7 +259,7 @@ __________
**93** (1990) 1061 `DOI: 10.1063/1.459170
<https://doi.org/10.1063/1.459170>`_
.. [CI] B. F. E. Curchod, F. Agostini, *J. Phys. Chem. Lett.*
.. [CI1] B. F. E. Curchod, F. Agostini, *J. Phys. Chem. Lett.*
**8** (2017) 831 `DOI: 10.1021/acs.jpclett.7b00043
<https://doi.org/10.1021/acs.jpclett.7b00043>`_
.. In ReStructured Text (ReST) indentation and spacing are very important (it is how ReST knows what to do with your
document). For ReST to understand what you intend and to render it correctly please to keep the structure of this
template. Make sure that any time you use ReST syntax (such as for ".. sidebar::" below), it needs to be preceded
and followed by white space (if you see warnings when this file is built they this is a common origin for problems).
.. We allow the template to be standalone, so that the library maintainers add it in the right place
.. Firstly, let's add technical info as a sidebar and allow text below to wrap around it. This list is a work in
progress, please help us improve it. We use *definition lists* of ReST_ to make this readable.
.. _guessoc:
#############################
Spin orbit coupling smoothing
#############################
.. sidebar:: Software Technical Information
Name
Guessoc
Language
Fortran 90
Licence
GNU General Lesser Public License
Documentation Tool
Documentation provided in a README file together with the source code.
Application Documentation
Detailed documentation related to the running of the module can found here 'https://gitlab.e-cam2020.eu:10443/sanz/durham-ecam/blob/master/README'
Relevant Training Material
Training material is available through the test example
Software Module Developed by
Cristina Sanz Sanz
.. contents:: :local:
.. Add technical info as a sidebar and allow text below to wrap around it
Purpose of Module
_________________
This module is a standalone program that allows to smooth the off diagonal values (this program is created for spin-orbit couplings) of an
electronic structure calculation. The purpose of the module is to remove the sudden changes in the off-diagonal elements (spin-orbit couplings) due to the
swap between near states and sign changes that electronic structure calculation programs produce along one of the coordinates (internuclear distance in
the test example). The way to remove the discontinuities is based in the idea that after the diagonalisation of the matrix, the eigenvalues are the spin-orbit states that are obtained from the electronic structure calculation, so the (spin-orbit) coupling elements can be optimised (using conjugate gradient in this program) so that after the diagonalisation using the optimised value the eigenvalue is as near as possible as the one obtained from the electronic structure calculation. We ensure the continuity using the couplings of a point near to the point that we want to optimised. Further details can be found in PCCP, 21, 14429 (2019).
The module is particularly thought for computational chemists that need to fit the spin-orbit couplings to use them in quantum and/or classical dynamics simulations.
It is a very practical code that save time to scientist that need to remove discontinuities in the off-diagonal values of the (spin-orbit) couplings. It is particularly
useful for matrices bigger 3x3 or 4x4 where the number of couplings makes it difficult to smooth manually.
The applicability of the code is general for all type of dynamical simulations that require the (spin-orbit) couplings as an analytical function or requires the derivatives of the
(spin-orbit) couplings.
The code has been already used for the control of the photodissociation of IBr system, where the total number of the states for the simulations is 36, producing a total number of (spin-orbit) couplings equal to 1260. All the couplings needed to be fit to use them in a wavepacket propagation. (Sanz-Sanz C., Worth, G.A., PCCP, 21, 14429-14439 (2019)).
Building and Testing
____________________
The module includes a Makefile. To compile you need: a Fortran compiler (gfortran); lapack and blas libraries installed. Adjust library path according to your installation. The compiler included in the Makefile is gfotran and no specification is given for the location of lapack and blas subroutines. Be sure that you have access to the compiler and libraries. Otherwise, change the compiler to use and include the full path of the libraries.
Once the executable is created the user can run it just typing ./guessSO.exe. The program reads the input files from the directory inpmat/. For the testing run there are 36x36 elements, each element of the matrix is in a different file. Open one of the files to see the structure of the input files. The program creates intermediate files, ssXX-XX.dat, so that the user can see the evolution of the running. The final output files are adia.dat, adiai.dat, soXX-XX.dat. Where adiai.dat are the initial eigenvalues of the non-optimised matrix (spin-orbit states in this example), adia.dat are the eigenvalues with the optimised matrix and the soXX-XX.dat are the individual elements of the optimised matrix in which the off-diagonal values should be now smooth and suitable for fitting.
Source Code
___________
The source code for this module can be download via gitlab_. You firstly need to make an account (at gitlab). The code of the guessoc module has its own repository so you can clone it typing:
git clone ssh://git@gitlab.e-cam2020.eu:10022/sanz/durham-ecam.git or
git clone https://gitlab.e-cam2020.eu:10443/sanz/durham-ecam.git
.. _gitlabssh: ssh://git@gitlab.e-cam2020.eu:10022/sanz/durham-ecam.git
.. _gitlab: https://gitlab.e-cam2020.eu:10443/sanz/durham-ecam.git
/* main styles */
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 100%;
color: {{ theme_textcolor }};
margin: 0;
padding: 0;
line-height: 135%;
}
a {
color: #3498db;
text-decoration: none;
}
a:visited {
color: #9b59b6;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
_static/images/ecam_logo.png

2.31 KB | W: | H:

_static/images/ecam_logo.png

65.4 KB | W: | H:

_static/images/ecam_logo.png
_static/images/ecam_logo.png
_static/images/ecam_logo.png
_static/images/ecam_logo.png
  • 2-up
  • Swipe
  • Onion skin
.wy-nav-content {
max-width: none;
}
.wy-side-nav-search, .wy-nav-top {
background: #FCFCFC;
}
.wy-side-nav-search>div.version {
color: #455A64;
}
.wy-nav-side {
background: #FCFCFC;
}
.rst-versions .rst-current-version {
background: #FCFCFC;
}
/* Fix stuff in (right) sidebar */
.rst-content .sidebar p, .rst-content .sidebar ul, .rst-content .sidebar dl {
font-size: 100%;
margin: 6px;
}
.rst-content .sidebar .sidebar-title {
font-family: "Verdana", Verdana, sans-serif;
}
.rst-content .section ol p, .rst-content .section ul p {
margin-bottom: 0px;
}
body {
color: #263238;
}
h1 {
color: #455A64;
}
h2 {
color: #455A64;
}
h3 {
color: #455A64;
}
h4 {
color: #455A64;
}
a:link {
color: #21618C;
}
/* visited link */
a:visited {
color: #633974;
}
/* mouse over link */
a:hover {
text-decoration: underline;
}
/* selected link */
a:active {
color: blue;
}
p {
font-family: "Verdana", Verdana, sans-serif;
}
li a, h1, h2, h3, h4 {
font-family: "Verdana", Verdana, sans-serif;
}
li a:hover {
background-color: #B0BEC5;
color: #263238;
}
li a:hover:not(.active) {
background-color: #B0BEC5;
color: #263238;
}
......@@ -3,12 +3,6 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. _best_practices:
==================================
Scientific Software Best Practices
==================================
.. sidebar:: General Information
.. contents:: :local:
......@@ -16,6 +10,12 @@ Scientific Software Best Practices
* :ref:`contributing`
* :ref:`search`
.. _best_practices:
==================================
Scientific Software Best Practices
==================================
.. image:: ./images/512px-Waterfall_model.svg.png
:alt: "By Peter Kemp / Paul Smith [CC BY 3.0], via Wikimedia Commons"
:width: 15%
......
......@@ -15,6 +15,7 @@
import sys
import os
import sphinx_rtd_theme
# 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
......@@ -56,7 +57,7 @@ master_doc = 'index'
# General information about the project.
project = 'E-CAM Software Library'
copyright = '2017, E-CAM Centre of Excellence'
copyright = '2019, E-CAM Centre of Excellence'
author = 'Alan O\'Cais'
# The version info for the project you're documenting, acts as replacement for
......@@ -64,9 +65,9 @@ author = 'Alan O\'Cais'
# built documents.
#
# The short X.Y version.
version = '0.1'
version = 'E-CAM Software Library'
# The full version, including alpha/beta/rc tags.
release = '0.1'
release = '0.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
......@@ -122,88 +123,13 @@ numfig = True
# a list of builtin themes.
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
if on_rtd:
import sphinx_bootstrap_theme
html_theme = 'bootstrap'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
# Navigation bar title. (Default: ``project`` value)
'navbar_title': "Software Library",
# Tab name for entire site. (Default: "Site")
'navbar_site_name': "Site",
# Tab name for the current pages TOC. (Default: "Page")
'navbar_pagenav_name': "Page",
# A list of tuples containing pages or urls to link to.
# Valid tuples should be in the following forms:
# (name, page) # a link to a page
# (name, "/aa/bb", 1) # a link to an arbitrary relative url
# (name, "http://example.com", True) # arbitrary absolute url
# Note the "1" or "True" value above as the third argument to indicate
# an arbitrary url.
# 'navbar_links': [
# ("Examples", "examples"),
# ("Link", "http://example.com", True),
# ],
# Global TOC depth for "site" navbar tab. (Default: 1)
# Switching to -1 shows all levels.
'globaltoc_depth': 2,
# Include hidden TOCs in Site navbar?
#
# Note: If this is "false", you cannot have mixed ``:hidden:`` and
# non-hidden ``toctree`` directives in the same page, or else the build
# will break.
#
# Values: "true" (default) or "false"
'globaltoc_includehidden': "true",
# HTML navbar class (Default: "navbar") to attach to <div> element.
# For black navbar, do "navbar navbar-inverse"
'navbar_class': "navbar",
# Fix navigation bar to top of page?
# Values: "true" (default) or "false"
'navbar_fixed_top': "true",
# Location of link to source.
# Options are "nav" (default), "footer" or anything else to exclude.
'source_link_position': "footer",
# Bootswatch (http://bootswatch.com/) theme.
#
# Options are nothing (default) or the name of a valid theme such
# as "amelia" or "cosmo".
#
# Example themes:
# * flatly
# * sandstone (v3 only)
# * united
# * yeti (v3 only)
'bootswatch_theme': "sandstone",
# Choose Bootstrap version.
# Values: "3" (default) or "2" (in quotes)
'bootstrap_version': "3",
}
# Add any paths that contain custom themes here, relative to this directory.
# ``get_html_theme_path`` returns a list, so you can concatenate with
# any other theme directories you would like.
html_theme_path = sphinx_bootstrap_theme.get_html_theme_path()
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
else:
html_theme = 'default'
html_theme_options = {}
html_theme = 'default'
html_theme = 'sphinx_rtd_theme'
html_theme_options = {
'logo_only' : True,
'navigation_depth': 4,
'includehidden': True,
}
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = "Demo"
......@@ -220,7 +146,9 @@ html_favicon = '_static/images/ecam_logo.ico'
# 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"]
html_static_path = ['./_static']
def setup(app):
app.add_stylesheet("theme_extra.css")
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
......
......@@ -5,11 +5,9 @@
.. _readme:
**************************
The E-CAM Software Library
**************************
.. sidebar:: Links
.. sidebar:: Scientific Areas
**Scientific Areas**
* :ref:`readme_classical_md`
* :ref:`readme_electronic_structure`
......@@ -20,18 +18,22 @@ The E-CAM Software Library
* :ref:`best_practices`
**Quicklinks**
**On this page**
.. contents:: :local:
* :ref:`search`
.. figure:: ./Electronic-Structure-Modules/images/wake_nova-rgb.png
:figwidth: 25 %
**************************
The E-CAM Software Library
**************************
.. figure:: ./Electronic-Structure-Modules/images/protein-metal-cluster.png
:figwidth: 35 %
:align: left