Skip to content

Commit 30aec6b

Browse files
committed
move some text and images from paper to docs
1 parent 17633bb commit 30aec6b

File tree

6 files changed

+594
-16
lines changed

6 files changed

+594
-16
lines changed

README.rst

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ torch-pme
99

1010
.. marker-introduction
1111
12-
``torch-pme`` enables efficient, auto-differentiable computation of long-range
12+
``torch-pme`` enables efficient and auto-differentiable computation of long-range
1313
interactions in *PyTorch*. Auto-differentiation is supported for particle *positions*,
14-
*charges*, and *cell* parameters, allowing not only the automatic computation of forces
15-
but also enabling general applications in machine learning tasks. The library offers
16-
classes for Particle-Particle Particle-Mesh Ewald (``P3M``), Particle Mesh Ewald (``PME``),
17-
standard ``Ewald``, and non-periodic methods, with the flexibility to calculate
18-
potentials beyond :math:`1/r` electrostatics, including arbitrary order :math:`1/r^p`
19-
potentials.
14+
*charges*, and *cell* parameters, allowing not only the computation of forces but also
15+
enabling general applications in machine learning tasks. The library offers classes for
16+
Particle-Particle Particle-Mesh Ewald (``P3M``), Particle Mesh Ewald (``PME``), standard
17+
``Ewald``, and non-periodic methods, with the flexibility to calculate potentials beyond
18+
:math:`1/r` electrostatics, including arbitrary order :math:`1/r^p` potentials.
2019

2120
Optimized for both CPU and GPU devices, ``torch-pme`` is fully `TorchScriptable`_,
2221
allowing it to be converted into a format that runs independently of Python, such as in
@@ -55,8 +54,8 @@ or conda
5554
5655
and ``import torchpme`` to use it in your projects!
5756

58-
We also provide bindings to `metatensor <https://docs.metatensor.org>`_ which
59-
can optionally be installed together and used as ``torchpme.metatensor`` via
57+
We also provide bindings to `metatensor <https://docs.metatensor.org>`_ which can
58+
optionally be installed together and used as ``torchpme.metatensor`` via
6059

6160
.. code-block:: bash
6261

docs/src/about.rst

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,39 @@
11
What is torch-pme
22
=================
33

4-
``torch-pme`` provides an interface in which the positions of the atoms in a structure
5-
are stored in :class:`torch.Tensor` objects, or in a :class:`metatensor.System
4+
``torch-pme`` provides an interface in which the ``positions`` of the atoms in a
5+
structure are stored in :class:`torch.Tensor` objects, or in a :class:`metatensor.System
66
<metatensor.torch.atomistic.System>` object.
77

8-
torch-pme can be used as an end-to-end library computing the potential from
9-
positions/charged and as a modular library to construct complex Fourier-domain
10-
architectures.
8+
The primary goal is to design a library to compute long-range interactions that can be
9+
easily integrated with existing short-range machine learning (ML) architectures,
10+
essentially providing an easy-to-use framework to build range separated models for
11+
atomistic machine learning. To this end, our reference ``torch-pme`` library provides
1112

12-
To use ``torch-pme`` as an end-to-end library the main entry point are
13+
1. A modular implementation of range-separated potentials working for arbitrary unit
14+
cells including triclinic ones, as well as for systems with free (non-prediodic)
15+
boundary condistions.
16+
2. Full integration with PyTorch, featuring differentiable and learnable parameters,
17+
3. Efficient particle-mesh-based computation with automatic hyperparameter tuning,
18+
4. Pure long-range descriptors, free of noisy short-range contributions,
19+
5. Support for arbitrary invariant and equivariant features and ML architectures.
20+
21+
``torch-pme`` can be used as an *end-to-end* library computing the potential from
22+
positions and charges and as a *modular* library to construct complex Fourier-domain
23+
architectures. To use ``torch-pme`` as an end-to-end a library the main entry points are
1324
:ref:`calculators`, that compute pair :ref:`potentials` combining real-space and k-space
1425
components. They take a description of a structure as input and return the calculated
15-
potential at the atomic positions as output.
26+
potential at the atomic positions as output. To use torch-pme as a modular library, we
27+
provide a set of building blocks that can be combined to build custom range-separated
28+
architectures, as shown in the figure below.
29+
30+
.. figure:: ../static/images/pme-structure.*
31+
:width: 650px
32+
:align: center
33+
34+
A schematic representation of the main building blocks that are contained inside a
35+
:ref:`calculators` of a range-separated architecture, that combines an evaluation of
36+
the short-range part of the :ref:`potentials` :math:`v_\mathrm{SR}(r)` based on
37+
local interatomic distance information with the evaluation of the long-range part
38+
:math:`v_\mathrm{LR}(k)` using grids via a :ref:`mesh_interpolator` and a
39+
:ref:`kspace_filter`.

docs/src/references/lib/kspace_filter.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _kspace_filter:
2+
13
Kspace filter
24
#############
35

docs/src/references/lib/mesh_interpolator.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _mesh_interpolator:
2+
13
Mesh Interpolator
24
#################
35

docs/static/images/pme-structure.png

93 KB
Loading

0 commit comments

Comments
 (0)