|
1 | 1 | What is torch-pme
|
2 | 2 | =================
|
3 | 3 |
|
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 |
6 | 6 | <metatensor.torch.atomistic.System>` object.
|
7 | 7 |
|
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 |
11 | 12 |
|
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 |
13 | 24 | :ref:`calculators`, that compute pair :ref:`potentials` combining real-space and k-space
|
14 | 25 | 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`. |
0 commit comments