Commit c3f33c84 authored by Yann Pouillon's avatar Yann Pouillon

Merge branch 'pouillon/E-CAM-Library-master' into 'master'

Correct some small spelling mistakes and update with respect to master

See merge request !1
parents f2050737 00449f00
Pipeline #5559 passed with stages
in 1 minute and 37 seconds
......@@ -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``.