Modernize docs

This commit is contained in:
Paul Kent 2021-04-08 12:15:09 -04:00
parent b1a4692e86
commit a527138478
3 changed files with 48 additions and 47 deletions

View File

@ -25,6 +25,7 @@ Notable changes to QMCPACK are documented in this file.
* Spin-density supported in batched code. [\#2840](https://github.com/QMCPACK/qmcpack/pull/2840).
* Reduced I/O operations during cmake. [\#2808](https://github.com/QMCPACK/qmcpack/pull/2808).
* Improved detection of unsupported-by-Intel combinations of Intel compilers and libstdc++. [\#2794](https://github.com/QMCPACK/qmcpack/pull/2794).
* Initial support for Andes at OLCF. [\#3073](https://github.com/QMCPACK/qmcpack/pull/3073).
* Deterministic tests expanded in scope and made reliable for more build types and compilers.
* Various minor bug fixes and feature improvements based on user requests for both real-space and AFQMC.
* Improved error handling throughout.

View File

@ -1,3 +1,5 @@
![QMCPACK Logo](docs/figs/QMCPACK_logo.png)
[![License](https://img.shields.io/badge/License-UIUC/NCSA-blue.svg)](https://opensource.org/licenses/NCSA)
[![Documentation Status](https://readthedocs.org/projects/qmcpack/badge/?version=develop)](https://qmcpack.readthedocs.io/en/develop/?badge=develop)
@ -7,10 +9,15 @@
[![GitHub Actions CI](https://github.com/QMCPACK/qmcpack/actions/workflows/ci-github-actions.yaml/badge.svg)](https://github.com/QMCPACK/qmcpack/actions/workflows/ci-github-actions.yaml)
[![codecov-deterministic](https://codecov.io/gh/QMCPACK/qmcpack/branch/develop/graph/badge.svg?token=35D0u6GlBm)](https://codecov.io/gh/QMCPACK/qmcpack)
# Getting and building QMCPACK
QMCPACK is an open-source production-level many-body ab initio Quantum Monte Carlo code for computing the electronic structure of
atoms, molecules, 2D nanomaterials and solids. The solid-state capabilities include metallic systems as well as insulators.
QMCPACK is expected to run well on workstations through to the latest generation supercomputers. Besides high performance,
particular emphasis is placed on code quality and reproducibility.
# Obtaining and installing QMCPACK
Obtain the latest release from https://github.com/QMCPACK/qmcpack/releases or clone the development source from
https://github.com/QMCPACK/qmcpack.
https://github.com/QMCPACK/qmcpack. A full installation guide and steps to perform an initial QMC calculation are given in the [extensive online documentation for QMCPACK](https://qmcpack.readthedocs.io/en/develop/index.html)
# Prerequisites
@ -103,9 +110,9 @@ make -j 8
## Set the environment
A number of environment variables affect the build. In particular
A number of environment variables affect the build. In particular,
they can control the default paths for libraries, the default
compilers, etc. The list of environment variables is given below:
compilers, etc. The list of environment variables is given below:
| Environment variable | Description |
|----------------------|-------------|
@ -275,12 +282,10 @@ Add extra include directories:
# Testing and validation of QMCPACK
Before using QMCPACK we highly encourage tests to be run.
QMCPACK includes extensive validation tests to ensure the correctness of the
code, compilers, tools, and runtime. The tests should ideally be run
each compilation, and certainly before any research use. The tests include
checks of the output against known mean-field, quantum chemistry, and
other QMC results.
We highly encourage tests to be run before using QMCPACK. Details are given in the [QMCPACK
manual](https://qmcpack.readthedocs.io/en/develop/index.html). QMCPACK includes extensive validation tests to ensure the
correctness of the code, compilers, tools, and runtime. The tests should ideally be run each compilation, and certainly before any
research use. The tests include checks of the output against known mean-field, quantum chemistry, and other QMC results.
While some tests are fully deterministic, due to QMCPACK's stochastic
nature some tests are statistical and can occasionally fail. We employ
@ -290,10 +295,8 @@ well as developmental tests that are known to fail. In particular,
tests known to be unstable (stochastically or otherwise) are labeled
unstable using ctest labels.
For more informaton, consult http://www.qmcpack.org and the manual.
The tests currently use up to 16 cores in various combinations of MPI
tasks and OpenMP threads. Current status for many systems can be
checked at https://cdash.qmcpack.org
The tests currently use up to 16 cores in various combinations of MPI tasks and OpenMP threads. Current status for many
combinations of systems, compilers, and libraries can be checked at https://cdash.qmcpack.org
Note that due to the small electron and walker counts used in the
tests, they should not be used for any performance measurements. These
@ -317,11 +320,9 @@ that are deterministic and known to be reliable.
ctest -R deterministic -LE unstable
```
These tests currently take a few seconds to run, and include all the
unit tests. All tests should pass. Failing tests likely indicate a
significant problem that should be solved before using QMCPACK
further. This ctest invocation can be used as part of an automated
installation verification process.
These tests currently take a few seconds to run, and include all the unit tests. All tests should pass. Failing tests likely
indicate a significant problem that should be solved before using QMCPACK further. This ctest invocation can be used as part of an
automated installation verification process.
## Run the short (quick) tests
@ -344,23 +345,22 @@ ctest -R name-of-test-to-run
# Documentation and support
For more informaton, consult QMCPACK pages at http://www.qmcpack.org,
the manual PDF at https://docs.qmcpack.org/qmcpack_manual.pdf,
or its sources in the manual directory.
For more information, consult QMCPACK pages at http://www.qmcpack.org,
the manual at https://qmcpack.readthedocs.io/en/develop/index.html,
or its sources in the docs directory.
If you have trouble using or building QMCPACK, or have questions about
its use, please post to the [Google QMCPACK group](https://groups.google.com/forum/#!forum/qmcpack) or contact a developer.
If you have trouble using or building QMCPACK, or have questions about its use, please post to the [Google QMCPACK
group](https://groups.google.com/forum/#!forum/qmcpack), create a GitHub issue at https://github.com/QMCPACK/qmcpack/issues or
contact a developer.
# Contributing
Contributions of any size are very welcome. Guidance for contributing
to QMCPACK is included in Chapter 1 of the manual
https://docs.qmcpack.org/qmcpack_manual.pdf . We use a git flow model
including pull request reviews. A continuous integration system runs
on pull requests. See https://github.com/QMCPACK/qmcpack/wiki for
details. For an extensive contribution, it can be helpful to discuss
on the [Google QMCPACK group](https://groups.google.com/forum/#!forum/qmcpack), to create a GitHub issue, or to talk
directly with a developer.
Contributions of any size are very welcome. Guidance for contributing to QMCPACK is included in Chapter 1 of the manual
https://qmcpack.readthedocs.io/en/develop/introduction.html#contributing-to-qmcpack. We use a git flow model including pull
request reviews. A continuous integration system runs on pull requests. See https://github.com/QMCPACK/qmcpack/wiki for details.
For an extensive contribution, it can be helpful to discuss on the [Google QMCPACK
group](https://groups.google.com/forum/#!forum/qmcpack), to create a GitHub issue, or to talk directly with a developer in
advance.
Contributions are made under the same UIUC/NCSA open source license
that covers QMCPACK. Please contact us if this is problematic.

View File

@ -278,9 +278,10 @@ Please note the following guidelines for contributions:
QMCPACK Roadmap
---------------
A general outline of the QMCPACK roadmap is given in the following sections. Suggestions for improvements are welcome,
particularly those that would facilitate new scientific applications. For example, if an interface to a particular quantum
chemical or density functional code would help, this would be given strong consideration.
A general outline of the QMCPACK roadmap is given in the following sections. Suggestions for improvements from current and
potential users are very welcome, particularly those that would facilitate new uses or new users. For example, if an interface to
a particular quantum chemical or density functional code, or an improved tutorial would be helpful, these would be given strong
consideration.
Code
~~~~
@ -290,22 +291,21 @@ improved workflow, integration with more quantum chemical and density functional
are very welcome, both from new users of QMC and from those experienced with other QMC codes.
A main development focus is the creation of a single performance portable version of the code. All features will consequently be
available on all platforms, including accelerators (GPUs) from NVIDIA, AMD, and Intel. The internal design is being updated for
greater simplicity. Overall we expect this to increase performance and improve the overall consistency and robustness of the code.
It will also enable us to remove legacy implementations.
available on all platforms, including accelerators (GPUs) from NVIDIA, AMD, and Intel. These new implementations are currently
referred to as the ``batched code''. As the initial batched implementation in matured, observables and other functionality will be
prioritized based on feedback received.
Documentation and examples
~~~~~~~~~~~~~~~~~~~~~~~~~~
This manual describes the core features of QMCPACK that are required for
routine research calculations and standard QMC workflows, i.e., the VMC and DMC methods, auxiliary field QMC, how to
obtain and optimize trial wavefunctions, and simple observables. This covers at least 95% of use cases.
This manual describes the core features of QMCPACK that are required for routine research calculations and standard QMC workflows,
i.e., the VMC and DMC methods, auxiliary field QMC, how to obtain and optimize trial wavefunctions, and simple observables. This
covers at least 95% of use cases, and nearly all production research calculations.
Because of its history as an academically developed research code, QMCPACK contains a variety of additional QMC methods, trial
wavefunction forms, potentials, etc., that, although far from critical, might be very useful for specialized calculations or
particular material or chemical systems. These “secret features” (every code has these) are not actually secret but simply lack
descriptions, example inputs, and tests. You are encouraged to browse and read the source code to find them. New descriptions will
be added over time but can also be prioritized and added on request (e.g., if a specialized Jastrow factor would help or a
historical Jastrow form is needed for benchmarking).
Because of its history as an academically developed research code, QMCPACK also contains a variety of additional QMC methods,
trial wavefunction forms, potentials, etc., that, although far from critical, might be very useful for specialized calculations or
particular material or chemical systems. If you are interested in these please ask - generally the features are immature, but we
might have historical inputs available. New descriptions will be added over time but can also be prioritized and added on request
(e.g., if a specialized Jastrow factor would help or a historical Jastrow form is needed for benchmarking).
.. bibliography:: /bibs/introduction.bib