...

Commits (27)
 ... ... @@ -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) _. 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) _. 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 _. 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/
 ... ... @@ -11,7 +11,7 @@ Spring Shooting in OpenPathSampling sections. Language Python (2.7, 3.5, 3.6) Python (2.7, 3.6, 3.7) Documentation Tool Sphinx, numpydoc format (ReST) ... ... @@ -127,7 +127,7 @@ reading: Testing _______ Tests in OpenPathSampling use the nose_ package. .. Tests in OpenPathSampling use the nose_ package. .. IF YOUR MODULE IS IN OPS CORE: ... ... @@ -140,8 +140,8 @@ Tests in OpenPathSampling use the nose_ package. The tests for this module can be run by downloading its source code (see the Source Code section below), installing its requirements and installing it by running python setup.py install from the root directory of the package. Test this module by running the command nosetests from the root directory of the repository. Test this module with the nose_ package, by running the command nosetests from the root directory of the repository. Examples ________ ... ...
 ... ... @@ -11,7 +11,7 @@ Transition State Ensemble in OpenPathSampling sections. Language Python (2.7) Python (3.7) Documentation Tool Sphinx, numpydoc format (ReST) ... ...
 ... ... @@ -11,7 +11,7 @@ Web Throwing in OpenPathSampling sections. Language Python (2.7) Python (2.7, 3.6, 3.7) Documentation Tool Sphinx, numpydoc format (ReST) ... ... @@ -122,7 +122,7 @@ reading: Testing _______ Tests in OpenPathSampling use the nose_ package. .. Tests in OpenPathSampling use the nose_ package. .. IF YOUR MODULE IS IN OPS CORE: ... ... @@ -136,8 +136,8 @@ The tests for this module can be run by installing OpenPathSampling_, downloading source code for the module (see the Source Code section below), and installing it by running by running python setup.py install from the root directory of the package. Test this module by running the command nosetests from the root directory of the repository. Test this module with the nose_ package, by running the command nosetests from the root directory of the repository. Examples ... ...
 .. 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 _ 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 _ . 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 _. pybop also links with 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 _ 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 _ for full details. The utilisation of Dask within the project came about as a result of the E-CAM High Throughput Computing ESDW _ 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 _ 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 _. An interactive notebook _ using binder is also available. Source Code ___________ .. Notice the syntax of a URL reference below Text _ the backticks matter! The source code _. 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 _ 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 _ 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 _ 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++ _ 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 _ for full details. The utilisation of Dask within the project came about as a result of the E-CAM High Throughput Computing ESDW _ held in Turin in 2018 and 2019. Building and Testing ____________________ **Installation** pyscal can be installed directly using Conda _ 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 _ 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 _. An interactive notebook _ using binder is also available. Source Code ___________ The source code _. of the module can be found on GitHub. .. [1] Steinhardt, P. J., Nelson, D. R., & Ronchetti, M. (1983). Physical Review B, 28 _. .. [2] Lechner, W., & Dellago, C. (2008). The Journal of Chemical Physics, 129 _. .. [3] Mickel, W., Kapfer, S. C., Schröder-Turk, G. E., & Mecke, K. (2013). The Journal of Chemical Physics, 138 _. .. [4] Auer, S., & Frenkel, D. (2005). Advances in Polymer Science, 173 _.
 ... ... @@ -86,6 +86,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 ------------- ... ... @@ -127,4 +140,17 @@ Below is a list of the modules developed directly within the context of the pilo ./modules/FFTXlib/readme ./modules/W90_cube_format_non-orthogonal/readme QMCPack interfaces ------------------ The following modules related to interfaces for the QMCPack code have been produced so far in the context of an associated Pilot Project _: .. toctree:: :glob: :maxdepth: 1 ./modules/ESInterfaceBase/readme ./modules/ESHDF5Interface/readme ./modules/ESPWSCFInterface/readme ./modules/QMCQEPack_qepatch/readme .. _E-CAM: https://www.e-cam2020.eu/
 .. sidebar:: Software Technical Information Name EasyBuild Language Python Licence 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 _. 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 _) 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 _ 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
 ... ... @@ -3,10 +3,10 @@ .. sidebar:: Software Technical Information Name QMCQEPack ESHDF5Interface Language C++, Fortran C++ Licence ... ... @@ -17,37 +17,28 @@ Not currently available Software Module Developed by Michele Ruggeri Michele Ruggeri, Raymond C. Clay III .. _QMCQEPack: .. _ESHDF5Interface: #################### QMCQEPack ESHDF5Interface #################### .. contents:: :local: QMCQEPack is an interface between the QMCPack software for Quantum Monte Carlo simulations of electronic structure and the DFT software Quantum Espresso, that allows the DFT computation on the fly of single electron orbitals to be included in trial wave functions for QMC simulations Purpose of Module _________________ To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term describing inter electron correlations and (2) a Slater determinant of suitable single particle orbitals. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory. To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term :math:J describing electronic correlations and (2) a Slater determinant of suitable single particle orbitals :math:\phi_i :math:\Psi({bf R}) = J({bf R}) \cdot \Det(\phi_i({\bf r}_j)) The QMCQEPack module allows to compute on the fly the single particle orbitals with Quantum Espresso, and to use them in QMC simulations with the QMCPack software. The main feature that distinguish QMCQEPack from other orbital converters is that all the computations are made on the fly, without having to write any output on the filesystem, allowing great efficiency and a considerable speed up in the overall workflow. where :math:R is the vector containing the position of all electrons and :math:r_i is the position of the :math:i-th electron. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory. Being able to efficiently recompute single particle orbitals during a single simulation allows to move ions during the QMC procedure, allowing for example geometry optimisation, relaxation and the implementation of the Coupled Electron Ion method or the computation of forces for Molecular Dynamics. The ESHDF5Interface module provides a derived class of ESInterfaceBase to generate single particle orbitals for QMC simulations performed using QMCPack from a suitable HDF5 file. Background Information ______________________ ... ... @@ -55,13 +46,10 @@ ______________________ QMCPack is available from the github repository _, and the documentation can be found at the QMCPack website _. Quantum Espresso is available from the github repository _, and the documentation can be found in _. Building and testing ____________________ The first step to install QMCQEPack is cloning the QMCQEPack branch of the QMCPack git repository The EHDF5Interface module can be found in the QMCQEPack branch of the QMCPack git repository _. After cloning and getting to the QMCQEPack branch with ... ... @@ -69,25 +57,15 @@ After cloning and getting to the QMCQEPack branch with git checkout QMCQEPack one has to install, patch and compile the required Quantum Espresso libraries. This can be done executing the QMCQEPack_download_and_patch_qe.sh script found in qmcpack/external_codes/quantum_espresso. Once the patching process is complete one just has to run the configure script in the resulting folder q-e-qe5.3 and finally build the libpwinterface.so library with make pw Note that in order to build this library the FFTW3 library must be compiled as position independent code (PIC); if that is not the case it is possible to use the internal version of FFTW library changing the __FFTW3 flag to __FFTW in make.sys. one can proceed to build the QMCPack software, as detailed in the official QMCPack documentation _, or in the manual available in the manual subdirectory in the main QMCPack directory. Once the libpwinterface.so library is compiled and included/linked to the library path one can proceed to build the QMCPack software, as detailed in the official QMCPack documentation _. To use the interface one must use the interfaceh5 keyword in the determinantset block in a QMCPack input file; further information can be found in Section 22.5.2 of the QMCPack manual, that can be compiled with the files in the manual directory. To test the code one can run the tests in the directory qmcpack/QMCQEPack_test; here there are folders with input files for some simulation examples each with their one Reference directory to check the results. A more detailed Readme file is also present there. The tests for this code are part of the deterministic unit tests for QMCPack, that can be run with the command It should be noted that the current version of this module only supports serial runs; a parallel version is currently in development. ctest -R deterministic Source Code ___________ ... ...
 :orphan: .. sidebar:: Software Technical Information Name ESInterfaceBase Language C++ Licence Documentation Tool Doxygen Relevant Training Material Not currently available Software Module Developed by Michele Ruggeri, Raymond C. Clay III .. _ESInterfaceBase: #################### ESInterfaceBase #################### .. contents:: :local: Purpose of Module _________________ To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term :math:J describing electronic correlations and (2) a Slater determinant of suitable single particle orbitals :math:\phi_i :math:\Psi({bf R}) = J({bf R}) \cdot \Det(\phi_i({\bf r}_j)) where :math:R is the vector containing the position of all electrons and :math:r_i is the position of the :math:i-th electron. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory. The ESInterfaceBase module provides a base class for a general interface to generate single particle orbitals for QMC simulations performed using QMCPack; implementations of specific interfaces as derived classes of ESInterfaceBase are available as separate modules. Background Information ______________________ QMCPack is available from the github repository _, and the documentation can be found at the QMCPack website _. Building and testing ____________________ The ESBaseInterface module can be found in the QMCQEPack branch of the QMCPack git repository _. After cloning and getting to the QMCQEPack branch with git clone https://github.com/michruggeri/qmcpack.git git checkout QMCQEPack one can proceed to build the QMCPack software, as detailed in the official QMCPack documentation _, or in the manual available in the manual subdirectory in the main QMCPack directory. The tests for this code are part of the deterministic unit tests for QMCPack, that can be run with the command ctest -R deterministic Source Code ___________ The source code is available available from _. .. 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
 :orphan: .. sidebar:: Software Technical Information Name ESPWSCFInterface Language C++ Licence Documentation Tool Doxygen Relevant Training Material Not currently available Software Module Developed by Michele Ruggeri, Raymond C. Clay III .. _ESPWSCFInterface: #################### ESPWSCFInterface #################### .. contents:: :local: Purpose of Module _________________ To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term :math:J describing electronic correlations and (2) a Slater determinant of suitable single particle orbitals :math:\phi_i :math:\Psi({bf R}) = J({bf R}) \cdot \Det(\phi_i({\bf r}_j)) where :math:R is the vector containing the position of all electrons and :math:r_i is the position of the :math:i-th electron. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory. The ESPWSCFInterface module provides a derived class of ESInterfaceBase to generate single particle orbitals for QMCPack via a DFT computation performed with Quantum Espresso. Background Information ______________________ QMCPack is available from the github repository _, and the documentation can be found in the QMCPack website _. Quantum Espresso can be installed using the module :doc:../QMCQEPack_qepatch/readme, and the documentation can be found in the Quantum Espresso website _. Building and testing ____________________ The EHDF5Interface module can be found in the QMCQEPack branch of the QMCPack git repository _. After cloning the repository and checking out the QMCQEPack branch with git clone https://github.com/michruggeri/qmcpack.git git checkout QMCQEPack one can proceed to download Quantum Espresso and build the libpwinterface.so library using the :doc:../QMCQEPack_qepatch/readme module. Once the library is built one can proceed to build and compile QMCPack, as detailed in the official QMCPack documentation _, or in the manual available in the manual subdirectory in the main QMCPack directory. Note that to use the Quantum Espresso interface the cmake options QE_INTERFACE must be used, typically with cmake -DQE_INTERFACE=1 -DQMC_COMPLEX=1  before compiling with make. To use the interface one must use the qmcqepack keyword in the determinantset block in a QMCPack input file; further information can be found in Section 22.5.3 of the QMCPack manual, that can be compiled with the files in the manual directory. The tests for this code are part of the deterministic unit tests for QMCPack, that can be run with the command ctest -R deterministic Source Code ___________ The source code is available available from _. .. 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
 :orphan: .. sidebar:: Software Technical Information Name QMCQEPack_qepatch Language Fortran90 Licence Documentation Tool Doxygen Relevant Training Material Not currently available Software Module Developed by Michele Ruggeri, Raymond C. Clay III .. _QMCQEPack_qepatch: #################### QMCQEPack_qepatch #################### .. contents:: :local: Purpose of Module _________________ To obtain accurate results with ground state Quantum Monte Carlo methods (such as Variational and Diffusion Monte Carlo) an accurate trial wave function is essential. Such a wave function for an electron system will be typically given by the product of two factors: (1) a Jastrow term :math:J describing electronic correlations and (2) a Slater determinant of suitable single particle orbitals :math:\phi_i :math:\Psi({bf R}) = J({bf R}) \cdot \Det(\phi_i({\bf r}_j)) where :math:R is the vector containing the position of all electrons and :math:r_i is the position of the :math:i-th electron. While there is great freedom in the definition of the Jastrow term, that can then be variationally optimized, the single particle orbitals have to be computed in using Density Functional Theory. The QMCQEPack_qepatch provides the files to properly patch Quantum Espresso 5.3 to build the libpwinterface.so library; this library is required to use the module :doc:../ESPWSCFInterface/readme to generate single particle orbitals during a QMCPack computation using Quantum Espresso. Background Information ______________________ QMCPack is available from the github repository _, and the documentation can be found in the QMCPack website _. Quantum Espresso can be installed using this module, and the documentation can be found in the Quantum Espresso website _. Building and testing ____________________ The QMCQEPack_qepatch module can be found in the QMCQEPack branch of the QMCPack git repository _. After cloning the repository and checking out the QMCQEPack branch with git clone https://github.com/michruggeri/qmcpack.git git checkout QMCQEPack one can proceed to build the libpwinterface.so library using the using the script QMCQEPack_download_and_patch_qe.sh in the external_codes/quantum_espresso directory. After patching the code one has to use the configure script in the resulting q-e-qe-5.3 directory and finally compile the libpwinterface.so library with make pw. Note that when building the code it may be required to use the internal Quantum Espresso version of the FFTW libraries. In order to do so if is sufficient to change in the DFLAGS field of the make.sys file generated by the configure script -D__FFTW3 with -D__FFTW. To use this library to perform DFT simulations QMCPack must be suitably compiled; the relevant information can be found in the documentation of the :doc:../ESPWSCFInterface/readme module. The tests for this code are part of the deterministic unit tests for QMCPack, that can be run with the command ctest -R deterministic Source Code ___________ The source code is available available from _. .. 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
 .. _esl-easyconfigs: ############### ESL Easyconfigs ############### .. sidebar:: Software Technical Information Language The easyconfigs are written in Python. Licence The building framework is distributed under the GPL _. For the licenses used in the different modules included in the Bundle, please check the corresponding documentation. Documentation Tool ReStructuredText Application Documentation README _ 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 _ 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
 .. 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 ... ... @@ -31,11 +21,12 @@ Software Module Developed by Rene Halver Polymer melt test is provided by Dr. Horacio V. Guzman Module Committed by Dr. Horacio V. Guzman .. 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:ALL_example"). You *MUST* change the reference below from "ALL_method_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). .. _ALL_tensor_method: ... ... @@ -43,54 +34,64 @@ ALL Tensor-Product method ######################### .. 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 this module was are created. The A Load Balancing Library (ALL) library aims to provide an easy way to include dynamic domain-based load balancing 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 _________________ .. Keep the helper text below around in your module by just adding ".. " in front of it, which turns it into a comment This module provides an additional method to the ALL library, up-to-date descriptions of the methods in the library can This module provides an additional method to the ALL library _ , up-to-date descriptions of the methods in the library can be found in the ALL README file _. For the Tensor-Product method, the work on all processes is reduced over the cartesian planes in the systems. This work For the Tensor-Product method, the work on all processes (subdomains) is reduced over the cartesian planes in the systems. This work is then equalized by adjusting the borders of the cartesian planes. 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 :ref:ALL_background for details. 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 ALL uses the CMake _ build system, specific build and installation requirements can be found in the ALL README file _. **Need to provide information on how to test the particular method here.** There are 3 tests of available for the Tensor-Product method in the ALL GitLab repository examples _ . 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: .. code:: bash export ALL_INSTALLATION=/path/to/my/loadbalancing/install cmake .. -DCMAKE_INSTALL_PREFIX=$ALL_INSTALLATION -DCM_ALL_FORTRAN=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 Within 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: 1. Y, 2. Polymer 3. rot_Y 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. Source Code ___________ .. Notice the syntax of a URL reference below Text _ the backticks matter! The implementation of the Tensor-Product method in ALL can be found in ALL_Tensor.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 **Here link the source code *that is relevant for the module*. If you are using Github or GitLab and the Gitflow Workflow _ you can point to your feature branch. Linking to your pull/merge requests is even better. Otherwise you can link to the explicit commits or locations in the source code.** 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. .. _ReST: http://www.sphinx-doc.org/en/stable/rest.html .. _Sphinx: http://www.sphinx-doc.org/en/stable/markup/index.html