Commit 4d66ee24 authored by Alan O'Cais's avatar Alan O'Cais
Browse files

Remove outdated directory

Update contributing doc
parent 9995bd9d
......@@ -89,6 +89,17 @@ For example:
If you are working on several things at the same time, try and keep things isolated in separate branches, to keep it manageable (both for you, and for reviewing your contributions).
Contributing module documentation
---------------------------------
Your contribution to this repository will include a module documentation file. There are already several examples of these in the repository, but we provide a template for a generic module as a guide:
.. toctree::
:glob:
:maxdepth: 1
./modules/example_module/readme
Checking your contribution locally
----------------------------------
......
##########################
FDF - Flexible Data Format
##########################
Purpose of Module
_________________
FDF (Flexible Data Format) is an input file parser that offers an easy,
transferable and practical way for a Fortran program to read its input. It is
text (ASCII) based, and conceived for small data (input parameters). Every
input piece of data is introduced in a line of an input file (which can be
standard input) by writing a name-value pair, that is, a name characterising
the data, and its value. If the latter corresponds to a physical magnitude,
the units can also be specified after the value. Names can be long and should
be descriptive of the value it corresponds to. FDF blocks are used to input
structured data, in which case, the program using FDF reads the inside of the
block.
From the programming point of view, FDF allows for any data to be retrieved
whenever, from any part of the code, and in any order.
If a piece of data sought by FDF is not found in the input file, FDF will
return a default value, as set up in the call to the FDF routine.
Background Information
______________________
FDF is a software library and module to be used within a calling code. It is
developed as part of the Siesta DFT code (see `Source Code`_), but is
self-contained within a separate directory and can be used independently of the
main code.
Software Technical Information
______________________________
License
GPL
Language
Fortran 95
Documentation Tool
Source code documentation in progress.
Application Documentation
`ESL wiki <http://esl.cecam.org/FDF_-_Flexible_Data_Format>`_
Relevant Training Material
Creation of materials in progress.
Installation
____________
For now, FDF has to be compiled as part of Siesta; see the documentation in the
``Docs`` directory. Once compiled, the FDF library and module files can be
found in the ``fdf`` subdirectory of the building directory.
Source Code
___________
The source code is available from the `Launchpad`__ under the `siesta`__
project. The FDF directory can be found `here`__.
.. __: https://launchpad.net/
.. __: https://code.launchpad.net/siesta/
.. __: http://bazaar.launchpad.net/~siesta-maint/siesta/trunk/files/head:/Src/fdf/
############
MatrixSwitch
############
Purpose of Module
_________________
MatrixSwitch is a module which acts as an intermediary interface layer between
high-level routines for physics-related algorithms and low-level routines
dealing with matrix storage and manipulation. This allows the high-level
routines to be written in a way which is physically transparent, and enables
them to switch seamlessly between different software implementations of the
matrix operations.
Background Information
______________________
MatrixSwitch is a software library and module to be used within a calling code.
It is developed within the same repository project as other libraries (see
`Source Code`_), but all are self-contained within separate directories.
Software Technical Information
______________________________
License
Simplified BSD
Language
Fortran 2008
Documentation Tool
Source code documentation in progress.
Application Documentation
`ESL wiki <http://esl.cecam.org/MatrixSwitch>`_
Relevant Training Material
See usage examples in the ``examples`` directory of the source code.
Installation
____________
1. Enter the ``src`` directory.
2. Copy ``make.inc.example`` to ``make.inc`` and modify it to suit your needs.
Available options for ``FPPFLAGS`` are:
* ``-DMPI``: enable MPI parallel routines
* ``-DLAP``: enable LAPACK routines
* ``-DSLAP``: enable ScaLAPACK routines (requires MPI)
* ``-DCONV``: enable automatic conversion of scalar types (real/complex) to
agree with matrix definitions (real/complex). Note that conversions from
complex to real will simply discard the imaginary part.
3. Type ``make``.
Testing
_______
The ``examples`` directory contains a number of small programs that make use of
MatrixSwitch. These can be useful both for testing the installation and for
learning how to use the library. To compile them:
1. Enter the ``examples`` directory.
2. Copy ``make.inc.example`` to ``make.inc`` and modify it to suit your needs.
Be aware that ``make.inc`` in the ``src`` directory will also be used.
3. Type ``make``.
Each example contains a header explaining what the program does and providing
sample output to compare against.
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the `omm-bundle`__
project. The MatrixSwitch directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/omm/
.. __: https://gitlab.e-cam2020.eu/ESL/omm/tree/libommsp/MatrixSwitch
.. _example:
########
Libescdf
########
Libescdf is a library containing tools for reading and writing massive
data structures related to electronic structure calculations,
following the standards defined in the `Electronic Structure Common
Data Format
<http://esl.cecam.org/ESCDF_-_Electronic_Structure_Common_Data_Format>`_
Purpose of Module
_________________
Libescdf is a library created to exchange electronic-structure-related
data in a platform-independent and efficient manner. It is based on
the Electronic Structure Common Data Format Specifications, as well as
HDF5.
Software Technical Information
______________________________
License
L-GPL v3
Language
C with Fortran 2003 bindings.
Documentation Tool
Doxygen
Application Documentation
`ESL wiki <http://esl.cecam.org/Libescdf>`_
Testing
_______
Libescdf contains several unit tests that can be used to check the
compilation and to perform regression testing. These tests can be
executed by doing:
::
$ make check
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the `escdf`__
project. The Libescdf directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/escdf/
.. __: https://gitlab.e-cam2020.eu/ESL/escdf/tree/master
######
libOMM
######
Purpose of Module
_________________
libOMM solves the Kohn-Sham equation as a generalized eigenvalue problem for a
fixed Hamiltonian. It implements the orbital minimization method (OMM), which
works within a density matrix formalism. The basic strategy of the OMM is to
find the set of Wannier functions (WFs) describing the occupied subspace by
direct unconstrained minimization of an appropriately-constructed functional.
The density matrix can then be calculated from the WFs. The solver is usually
employed within an outer self-consistency (SCF) cycle. Therefore, the WFs
resulting from one SCF iteration can be saved and then re-used as the initial
guess for the next iteration.
Background Information
______________________
libOMM is a software library to be used within a calling code. It is built on
top of the MatrixSwitch library for dealing with matrix storage and operations.
Both libraries are developed within the same repository project (see
`Source Code`_), but are self-contained within separate directories.
Software Technical Information
______________________________
License
Simplified BSD
Language
Fortran 2008
Documentation Tool
Source code documentation in progress.
Application Documentation
`ESL wiki <http://esl.cecam.org/libOMM>`_
Relevant Training Material
See usage examples in the ``examples`` directory of the source code.
Installation
____________
1. Enter the ``src`` directory.
2. Copy ``make.inc.example`` to ``make.inc`` and modify it to suit your needs.
``MSLIBPATH`` should point to the MatrixSwitch directory (default in
``make.inc.example`` is for the version included in the distribution).
MatrixSwitch should be compiled with the ``-DCONV`` flag. Available options
for ``FPPFLAGS`` are:
* ``-DMPI``: enable MPI parallel routines
* ``-DLAP``: enable LAPACK routines (currently necessary for
preconditioning/Cholesky factorization)
* ``-DSLAP``: enable ScaLAPACK routines (requires ``-DMPI``)
* ``-DNORAND``: fixed seed for the random number generator. Enable for
testing purposes.
* ``-DCBIND``: use ISO_C_BINDING for LOGICAL inputs in the wrapper
interfaces. Enable for linking to C.
3. Type ``make``.
Testing
_______
The ``examples`` directory contains a number of small programs that make use of
libOMM with MatrixSwitch. These can be useful both for testing the installation
and for learning how to use the library. To compile them:
1. Enter the ``examples`` directory.
2. Copy ``make.inc.example`` to ``make.inc`` and modify it to suit your needs.
Be aware that ``make.inc`` in the ``src`` directory will also be used.
3. Type ``make``.
Each example contains a header explaining what the program does and providing
sample output to compare against.
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the `omm-bundle`__
project. The libOMM directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/omm/
.. __: https://gitlab.e-cam2020.eu/ESL/omm/tree/libommsp/libOMM
.. _example:
####
POKE
####
Poke is a solver for the Poisson equation designed for electronic structure codes
Purpose of Module
_________________
Poke provides a solver for Poisson's equation.
Software Technical Information
______________________________
License
LGPL v3
Language
Fortran 2008
Documentation Tool
All source code should be documented so please indicate what tool has been used for documentation. We can help you
with Doxygen and ReST but if you use other tools it might be harder for us to help if there are problems.
Application Documentation
Provide a link to any documentation
Relevant Training Material
Add a link to any relevant training material
Testing
_______
Provide the build information for the module here an explain how tests are run.
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the `poke`__
project. The libOMM directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/poke/
.. __: https://gitlab.e-cam2020.eu/ESL/poke/tree/develop
.. _pspio:
########
Libpspio
########
Libpspio is a pseudopotentials I/O library for Density-Functional
Theory (DFT) calculations. It can both read and write pseudopotential
data, which makes it suitable for use with pseudopotential generators
and electronic structure codes.
Purpose of Module
_________________
The main objective of Libpspio is to let any DFT code access or
produce pseudopotential information without having to care about file
formats. Libpspio is a valuable alternative to most error-prone
homemade implementations and is helpful in improving file format
specifications.
Background Information
______________________
If the modifications are to an existing code base then this would be the place to describe that codebase and how to get
access to it.
Software Technical Information
______________________________
Language
Libpspio is written in C, with bindings in Fortran 2003.
Documentation Tool
Doxygen
Application Documentation
Provide a link to any documentation
Relevant Training Material
Add a link to any relevant training material
Testing
_______
Libpspio contains several unit tests that can be used to check the
compilation and to perform regression testing. These tests can be
executed by doing:
::
$ make check
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the `pspio`__
project. The Libpspio directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/pspio/
.. __: https://gitlab.e-cam2020.eu/ESL/pspio/tree/master
.. _example:
################################
SQARE radial grids and functions
################################
SQARE (Solvers for quantum atomic radial equations) is a library of
utilities intented for dealing with functions discretized on radial
meshes, wave-equations with spherical symmetry and their corresponding
quantum states. The utilities are segregated into three levels: radial
grids and functions, ODE solvers, and states.
Purpose of Module
_________________
This module provides functions and structures to create radial meshes
and define discretized radial functions on those meshes.
Background Information
______________________
If the modifications are to an existing code base then this would be the place to describe that codebase and how to get
access to it.
Software Technical Information
______________________________
License
LGLP v3
Language
C with Fortran 2003 bindings.
Documentation Tool
Doxygen
Application Documentation
Provide a link to any documentation
Relevant Training Material
Add a link to any relevant training material
Testing
_______
SQARE contains several unit tests that can be used to check the
compilation and to perform regression testing. These tests can be
executed by doing:
::
$ make check
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the
`sqare`__ project. The SQARE directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/tree/master
.. _example:
#########
SQARE ODE
#########
SQARE (Solvers for quantum atomic radial equations) is a library of
utilities intented for dealing with functions discretized on radial
meshes, wave-equations with spherical symmetry and their corresponding
quantum states. The utilities are segregated into three levels: radial
grids and functions, ODE solvers, and states.
Purpose of Module
_________________
This module provides functions and structures to solve ordinary
differential equations on a radial mesh.
Background Information
______________________
If the modifications are to an existing code base then this would be the place to describe that codebase and how to get
access to it.
Software Technical Information
______________________________
License
LGLP v3
Language
C with Fortran 2003 bindings.
Documentation Tool
Doxygen
Application Documentation
Provide a link to any documentation
Relevant Training Material
Add a link to any relevant training material
Testing
_______
SQARE contains several unit tests that can be used to check the
compilation and to perform regression testing. These tests can be
executed by doing:
::
$ make check
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the
`sqare`__ project. The SQARE directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/tree/master
.. _example:
################################
SQARE radial grids and functions
################################
SQARE (Solvers for quantum atomic radial equations) is a library of
utilities intented for dealing with functions discretized on radial
meshes, wave-equations with spherical symmetry and their corresponding
quantum states. The utilities are segregated into three levels: radial
grids and functions, ODE solvers, and states.
Purpose of Module
_________________
This module provides functions and structures to solve radial wave-equations in various flavors
and obtain the corresponding eigenstates.
Background Information
______________________
If the modifications are to an existing code base then this would be the place to describe that codebase and how to get
access to it.
Software Technical Information
______________________________
License
LGLP v3
Language
C with Fortran 2003 bindings.
Documentation Tool
Doxygen
Application Documentation
Provide a link to any documentation
Relevant Training Material
Add a link to any relevant training material
Testing
_______
SQARE contains several unit tests that can be used to check the
compilation and to perform regression testing. These tests can be
executed by doing:
::
$ make check
Source Code
___________
The source code is available from the `E-CAM Gitlab`__ under the
`sqare`__ project. The SQARE directory can be found `here`__.
.. __: https://gitlab.e-cam2020.eu/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/
.. __: https://gitlab.e-cam2020.eu/ESL/sqare/tree/master
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment