diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9fd1497d0f..92323f50f5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,6 +17,16 @@ repos: entry: '(# Maintainer:|\/\/ Maintainer:)' language: pygrep types_or: [python, c, c++, cuda, inc] +- repo: local + hooks: + - id: generate_toctree + name: Generate Sphinx toctree + language: python + entry: python3 sphinx-doc/generate-toctree.py + pass_filenames: false + always_run: true + additional_dependencies: + - numpy==2.1.0 - repo: https://github.com/pre-commit/pre-commit-hooks rev: 'v5.0.0' hooks: @@ -40,7 +50,7 @@ repos: ^sphinx-doc/tutorial/| ^sphinx-doc/howto/ ) - types_or: [python, c, c++, cuda, inc, rst] + types_or: [python, c, c++, cuda, inc] args: - --license-file=LICENSE - --add=Part of HOOMD-blue, released under the BSD 3-Clause License. @@ -68,6 +78,11 @@ repos: # These also need to be removed in setup.cfg exclude: | (?x)( + ^hoomd/_hoomd.py| + ^hoomd/version_config.py| + ^hoomd/md/_md.py| + ^hoomd/hpmc/_hpmc.py| + ^hoomd/mpcd/_mpcd.py| ^hoomd/extern/| ^hoomd/metal/ ) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 554bbd1e2f..9d83890ea5 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -18,7 +18,7 @@ Each minor and major release of HOOMD-blue at a minimum supports: ### Continuous integration -[Github Actions] performs continuous integration testing on HOOMD-blue. GitHub +[GitHub Actions] performs continuous integration testing on HOOMD-blue. GitHub Actions compiles HOOMD-blue, runs the unit tests, and reports the status to GitHub pull requests. A number of parallel builds test a variety of compiler and build configurations as defined above. @@ -160,7 +160,7 @@ a shared pointer to the HPMC integrator to access this information. There are two MD integrators: `IntegratorTwoStep` implements normal MD simulations and `FIREENergyMinimizer` implements energy minimization. In MD, the integrator maintains the list of user-supplied forces (`ForceCompute`) to apply to particles. Both integrators also maintain a list -of user-supplied integration methos (`IntegrationMethodTwoStep`). Each method instance operates +of user-supplied integration methods (`IntegrationMethodTwoStep`). Each method instance operates on a single particle group (`ParticleGroup`) and is solely responsible for integrating the equations of motion of all particles in that group. @@ -195,19 +195,19 @@ even when the use of that code is used only in host code. To work around these c kernels in HOOMD-blue are called via minimal driver functions. These driver functions are not member functions of their respective class, and therefore must take a long C-style argument list consisting of bare pointers to data arrays, array sizes, etc... The ABI for these calls is not strictly C, as -driver functions may be templated on functor classes and/or accept lightwight C++ objects as +driver functions may be templated on functor classes and/or accept lightweight C++ objects as parameters (such as `BoxDim`). ## Autotuning HOOMD-blue automatically tunes kernel block sizes, threads per particle, and other kernel launch -paramters. The `Autotuner` class manages the sparse multi-dimensional of parameters for each kernel. +parameters. The `Autotuner` class manages the sparse multidimensional of parameters for each kernel. It dynamically cycles through the possible parameters and records the performance of each using CUDA events. After scanning through all parameters, it selects the best performing one to continue executing. GPU code in HOOMD-blue should instantiate and use one `Autotuner` for each kernel. Classes that use have `Autotuner` member variables should inherit from `Autotuned` which tracks all the autotuners and provides a UI to users. When needed, classes should override the base class -`isAutotuningComplete` and `startAutotuning` as to pass the calls on to child objects. not otherwise +`isAutotuningComplete` and `startAutotuning` as to pass the calls on to child objects not otherwise managed by the `Simulation`. For example, `PotentialPair::isAutotuningComplete`, calls both `ForceCompute::isAutotuningComplete` and `m_nlist->isAutotuningComplete` and combines the results. @@ -300,13 +300,13 @@ specification defining the validation logic for its keys. `ParameterDict` contains logic when given a pybind11 produced Python object can sync between C++ and Python. See `ParameterDict.__setitem__` for this logic. Attribute specific logic can be created using the `_getters` and `_setters` attributes. The logic -requires (outside custom getters and setters that all `ParameterDict` keys be +requires (outside custom getters and setters) that all `ParameterDict` keys be available as properties of the C++ object using the pybind11 property implementation (https://pybind11.readthedocs.io/en/stable/classes.html#instance-and-static-fields). Properties can be read-only which means they will never be set through `ParameterDict`, but can be through the C++ class constructor. Attempting to set -such a property after attaching will result in an `MutabilityError` being thrown. +such a property after attaching will result in a `MutabilityError` being thrown. This class should be used to define all attributes shared with C++ member variables that are on a per-object basis (i.e. not per type). Examples of @@ -399,18 +399,18 @@ written in Python. See the examples in `hoomd/write/table.py` and ### Pickling -By default all Python subclasses of `hoomd.operation._HOOMDBaseObject` support +By default, all Python subclasses of `hoomd.operation._HOOMDBaseObject` support pickling. This is to facilitate restartability and reproducibility of simulations. For understanding what *pickling* and Python's supported magic -methods regarding it are see https://docs.python.org/3/library/pickle.html. In -general we prefer using `__getstate__` and `__setstate__` if possible to make +methods regarding it see https://docs.python.org/3/library/pickle.html. In +general, we prefer using `__getstate__` and `__setstate__` if possible to make class's picklable. For the implementation of the default pickling support for `hoomd.operation._HOOMDBaseObject` see the class's `__getstate__` method. *Notice* that we do not implement a generic `__setstate__`. We rely on Python's default generally which is somewhat equivalent to `self.__dict__ = self.__getstate__()`. Adding a custom `__setstate__` method is fine if necessary (see [hoomd/write/table.py](hoomd/write/table.py)). However, using `__reduce__` -is an appropriate alternative if is significantly reduces code complexity or has +is an appropriate alternative if significantly reduces code complexity or has demonstrable advantages; see [hoomd/filter/set\_.py](hoomd/filter/set_.py) for an example of this approach. _Note_ that `__reduce__` requires that a function be able to fully recreate the current state of the object (this means that often @@ -436,7 +436,7 @@ wrappers, supporting pickling using pybind11 (see https://pybind11.readthedocs.io/en/stable/advanced/classes.html#pickling-support) is acceptable as well. Care just needs to be made that users are not exposed to C++ classes that "slip" out of their Python subclasses which can happen if no -reference in Python remains to a unpickled object. See +reference in Python remains to an unpickled object. See [hoomd/Trigger.cc](hoomd/Trigger.cc) for examples of using pybind11. **Supporting Class Changes** @@ -457,7 +457,7 @@ internal attributes should not cause problems as well. HOOMD allows for C++ classes to expose their GPU and CPU data buffers directly in Python using the `__cuda_array_interface__` and `__array_interface__`. This -behavior is controlled using the `hoomd.data.local_access._LocalAcces` class in +behavior is controlled using the `hoomd.data.local_access._LocalAccess` class in Python and the classes found in `hoomd/PythonLocalDataAccess.h`. See these files for more details. For example implementations look at `hoomd/ParticleData.h`. @@ -475,12 +475,48 @@ The top level directories are: ## User -The user facing documentation is compiled into a human readable document by Sphinx. The +The user facing documentation is compiled into a human-readable document by Sphinx. The documentation consists of `.rst` files in the `sphinx-doc` directory and the docstrings of user-facing Python classes in the implementation (imported by the Sphinx autodoc extension). HOOMD-blue's Sphinx configuration defines mocked imports so that the documentation may be built from -the source directory without needing to compile the C++ source code. This is greatly beneficial when -building the documentation on readthedocs. +the source directory without needing to compile the C++ source code. + +`autodoc` defaults to one HTML page per module. Users find it more convenient to read +documentation with one page per class. The file `sphinx-doc/generate-toctree.py` +imports `hoomd`, reads the `__all__` member and then recursively generates `.rst` files +for each module and class. `generate-toctree.py` is run as a `pre-commit` hook to ensure +that the documentation is always updated. + +Users also strongly prefer not to navigate up the super class chain in the documentation +in order to discover the members of a given class. Unfortunately, we are not able to +use Sphinx'x automatic inherit-documentation because HOOMD extensively uses +`__getattr__/__setattr__`. To meet this need, HOOMD based classes define a class-level +`_doc_inherited` string that summarizes the inherited members. Classes should append +this string to `__doc__` and _then_ add their inherited members (if any) to +`_doc_inherited`. + +Sybil parses only docstrings, so there can be no Sybil codeblock examples in +`_doc_inherited`. At the same time, Sphinx always adds autodoc members **after** the +docstring contents. To work around this and provide documentation in a consistent and +meaningful order: class docstrints should include the text `{inherited}` and update the +docstring with `__doc__ = __doc__.replace("{inherited}", Parent._doc_inherited)`. + +After `{inherited}`, the docstring should include the lines +``` +---------- + +**Members defined in** `ThisClassName`: +``` +Similarly, any additions to `_doc_inherited` should start with +``` +---------- + +**Members inherited from** `ThisClassName :` +``` +Together, these visually break up the sections and allow the user to see which +methods come from where. Each entry in `_doc_inherited` should repeat only the brief +description and provide a link to the full description (follow +the examples in the codebase when writing your own). The tutorial portion of the documentation is written in Jupyter notebooks housed in the [hoomd-examples][hoomd_examples] repository. HOOMD-blue includes these in the generated Sphinx diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0ab6368c1a..bcea77bf63 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Change Log ========== @@ -43,6 +40,8 @@ Change Log * ``hoomd.hpmc.external.field.Harmonic`` is now ``hoomd.hpmc.external.Harmonic`` and works with ``IntegratorHPMC.external_potentials`` (`#1941 `__). +* Document one class per html page and show inherited members in class documentation + (`#1952 `__). *Removed* @@ -266,7 +265,7 @@ Change Log * ``hoomd.variant.box.InverseVolumeRamp`` - Linearly ramp the inverse volume of the system (`#1685 `__). * ``hoomd.hpmc.update.QuickCompress`` now accepts a ``hoomd.variant.box.BoxVariant`` object for - `target_box` (`#1736 `__). + ``target_box`` (`#1736 `__). * ``box`` argument to ``hoomd.update.BoxResize`` that accepts a ``hoomd.variant.box.BoxVariant`` (`#1740 `__). * ``hoomd.hpmc.pair.Union`` computes pair potentials between unions of points. Replaces diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 9333d64825..878f9c288b 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -88,15 +88,9 @@ User documentation Write user documentation ________________________ -Document public-facing API with Python docstrings in Google style. - -Document version status -_______________________ - -Add `versionadded, versionchanged, and deprecated Sphinx directives -`__ -to each user-facing Python class, method, etc., so that users will be aware of how functionality -changes from version to version. Remove this when breaking APIs in major releases. +Document public-facing API with Python docstrings in Google style, use the ``_doc_inherited`` +member as documented in ``ARCHITECTURE.md`` and list new public classes and functions in +``__all__``. Add developer to the credits ____________________________ diff --git a/hoomd/__init__.py b/hoomd/__init__.py index 4957c6a62f..31bf65bc3f 100644 --- a/hoomd/__init__.py +++ b/hoomd/__init__.py @@ -28,7 +28,7 @@ * `hoomd.md` - Molecular dynamics. See Also: - Tutorial: :doc:`tutorial/00-Introducing-HOOMD-blue/00-index` + Tutorial: :doc:`/tutorial/00-Introducing-HOOMD-blue/00-index` .. rubric:: Signal handling @@ -42,6 +42,8 @@ import os import signal +__all__ = [] + # Work around /usr/lib64/slurm/auth_munge.so: undefined symbol: slurm_conf # error on Purdue Anvil. if os.environ.get('RCAC_CLUSTER') == 'anvil': @@ -64,7 +66,8 @@ from hoomd import version from hoomd import trigger -from hoomd.box import Box, box_like +from hoomd import box +from hoomd.box import Box from hoomd import variant from hoomd import data from hoomd import filter @@ -74,6 +77,8 @@ from hoomd import update from hoomd import communicator from hoomd import util +from hoomd import operation + from hoomd import write from hoomd import wall from hoomd import _hoomd @@ -115,3 +120,32 @@ def _hoomd_sys_excepthook(type, value, traceback): signal.signal(signal.SIGTERM, lambda n, f: sys.exit(1)) except ValueError: pass + +__all__ = [ + 'version', + 'trigger', + 'box', + 'Box', + 'variant', + 'data', + 'filter', + 'device', + 'error', + 'mesh', + 'update', + 'communicator', + 'util', + 'operation', + 'write', + 'wall', + 'tune', + 'logging', + 'custom', + 'hpmc', + 'md', + 'mpcd', + 'Simulation', + 'State', + 'Operations', + 'Snapshot', +] diff --git a/hoomd/_hoomd.py b/hoomd/_hoomd.py new file mode 100644 index 0000000000..1742390fc1 --- /dev/null +++ b/hoomd/_hoomd.py @@ -0,0 +1,205 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Mocked module for use in documentation builds.""" + + +class BuildInfo: + + @staticmethod + def getVersion(): + pass + + @staticmethod + def getCompileFlags(): + pass + + @staticmethod + def getEnableGPU(): + pass + + @staticmethod + def getGPUAPIVersion(): + pass + + @staticmethod + def getGPUPlatform(): + pass + + @staticmethod + def getCXXCompiler(): + pass + + @staticmethod + def getEnableMPI(): + pass + + @staticmethod + def getSourceDir(): + pass + + @staticmethod + def getInstallDir(): + pass + + @staticmethod + def getFloatingPointPrecision(): + pass + + +class Trigger: + pass + + +class PeriodicTrigger: + pass + + +class BeforeTrigger: + pass + + +class OnTrigger: + pass + + +class AfterTrigger: + pass + + +class NotTrigger: + pass + + +class AndTrigger: + pass + + +class OrTrigger: + pass + + +def make_scalar3(): + pass + + +def make_int3(): + pass + + +def make_char3(): + pass + + +class Variant: + pass + + +class VariantConstant: + pass + + +class VariantRamp: + + def __init__(*args): + pass + + +class VariantCycle: + pass + + +class VariantPower: + pass + + +class VectorVariantBox: + pass + + +class VectorVariantBoxConstant: + pass + + +class VectorVariantBoxInterpolate: + pass + + +class VectorVariantBoxInverseVolumeRamp: + pass + + +class LocalParticleDataHost: + pass + + +class LocalBondDataHost: + pass + + +class LocalAngleDataHost: + pass + + +class LocalDihedralDataHost: + pass + + +class LocalImproperDataHost: + pass + + +class LocalConstraintDataHost: + pass + + +class LocalPairDataHost: + pass + + +class ParticleFilter: + pass + + +class ParticleFilterAll: + pass + + +class ParticleFilterNull: + pass + + +class ParticleFilterRigid: + pass + + +class ParticleFilterSetDifference: + pass + + +class ParticleFilterUnion: + pass + + +class ParticleFilterIntersection: + pass + + +class ParticleFilterTags: + pass + + +class ParticleFilterType: + pass + + +class MPIConfiguration: + pass + + +class LocalForceComputeDataHost: + pass + + +def abort_mpi(*args): + pass diff --git a/hoomd/box.py b/hoomd/box.py index 2bd8b7100a..d610f0623b 100644 --- a/hoomd/box.py +++ b/hoomd/box.py @@ -1,7 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Implement Box.""" +""":py:class:`Box`-adjacent types.""" import abc import typing @@ -67,7 +67,7 @@ class Box: xz (float): tilt factor xz :math:`[\\mathrm{dimensionless}]`. yz (float): tilt factor yz :math:`[\\mathrm{dimensionless}]`. - .. image:: box.svg + .. image:: /box.svg :alt: Example simulation box labelled with lengths and vectors. Particles in a simulation exist in a triclinic box with @@ -760,3 +760,8 @@ def yz(self) -> float: If any of ``Lz, xy, xz, yz`` for these different types are not provided, they are considered 0. """ + +__all__ = [ + 'BoxInterface', + 'box_like', +] diff --git a/hoomd/communicator.py b/hoomd/communicator.py index 44c71f00d7..f1fe9ec204 100644 --- a/hoomd/communicator.py +++ b/hoomd/communicator.py @@ -1,13 +1,11 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""MPI communicator. - -When compiled without MPI support, `Communicator` acts as if there is one MPI -rank and 1 partition. To use MPI, :doc:`compile HOOMD-blue ` with the +"""When compiled without MPI support, `Communicator` acts as if there is one MPI +rank and 1 partition. To use MPI, :doc:`compile HOOMD-blue ` with the option ``ENABLE_MPI=on`` and use the appropriate MPI launcher to launch Python. Then the `Communicator` class will configure and query MPI ranks and partitions. -By default, `Communicator` starts with the ``MPI_COMM_WOLRD`` MPI communicator, +By default, `Communicator` starts with the ``MPI_COMM_WOLRD`` MPI communicator and the communicator is not available for user scripts. `Communicator` also accepts MPI communicators from ``mpi4py``. Use this to @@ -15,9 +13,9 @@ calls in user code (e.g. genetic algorithms, umbrella sampling). See Also: - :doc:`tutorial/03-Parallel-Simulations-With-MPI/00-index` + :doc:`/tutorial/03-Parallel-Simulations-With-MPI/00-index` - :doc:`tutorial/05-Organizing-and-Executing-Simulations/00-index` + :doc:`/tutorial/05-Organizing-and-Executing-Simulations/00-index` .. invisible-code-block: python @@ -276,3 +274,7 @@ def walltime(self): # to the world communicator, but users can opt in to a more specific # communicator using the Device.localize_abort context manager _current_communicator = Communicator() + +__all__ = [ + 'Communicator', +] diff --git a/hoomd/custom/__init__.py b/hoomd/custom/__init__.py index 199220ed50..cd830c7e16 100644 --- a/hoomd/custom/__init__.py +++ b/hoomd/custom/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Custom operations. - -`CustomOperation` provides a mechanism for users to insert Python code +"""`CustomOperation` provides a mechanism for users to insert Python code via an `Action` subclass that executes during the simulation's run loop. Use this to prototype new simulation methods in Python, analyze the system state while the simulation progresses, or write output to custom file formats. @@ -21,3 +19,8 @@ from hoomd.custom.custom_action import Action, _InternalAction from hoomd.custom.custom_operation import (CustomOperation, _InternalCustomOperation) + +__all__ = [ + 'Action', + 'CustomOperation', +] diff --git a/hoomd/custom/custom_operation.py b/hoomd/custom/custom_operation.py index e2835b011d..327dcd7de3 100644 --- a/hoomd/custom/custom_operation.py +++ b/hoomd/custom/custom_operation.py @@ -23,7 +23,7 @@ class CustomOperation(TriggeredOperation, metaclass=_AbstractLoggable): so they can be added to the simulation operations. This class also implements a "pass-through" system for attributes. - Attributes and methods from the passed in `action` will be available + Attributes and methods from the passed in :py:attr:`action` will be available directly in this class. This does not apply to attributes with these names: ``trigger``, ``_action``, and ``action``. @@ -34,9 +34,30 @@ class CustomOperation(TriggeredOperation, metaclass=_AbstractLoggable): Note: This object should not be instantiated or subclassed by an user. - Attributes: - trigger (hoomd.trigger.Trigger): A trigger to determine when the - wrapped `hoomd.custom.Action` is run. + {inherited} + + ---------- + + **Members defined in** `CustomOperation`: + """ + + __doc__ = __doc__.replace("{inherited}", TriggeredOperation._doc_inherited) + + _doc_inherited = TriggeredOperation._doc_inherited + """ + ---------- + + **Members inherited from** + `CustomOperation `: + + .. py:method:: act + + Perform the action of the custom action if attached + `Read more... ` + + .. py:property:: action + + Action that this operation wraps. + `Read more... ` """ _override_setattr = {'_action', "_export_dict", "_simulation"} @@ -98,7 +119,7 @@ def act(self, timestep): @property def action(self): - """`hoomd.custom.Action` The action the operation wraps.""" + """hoomd.custom.Action: Action that this operation wraps.""" return self._action def __setstate__(self, state): diff --git a/hoomd/data/__init__.py b/hoomd/data/__init__.py index ffcb8df95c..25bdc13737 100644 --- a/hoomd/data/__init__.py +++ b/hoomd/data/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Access State data on the local rank. - -`LocalSnapshot`, `LocalSnapshotGPU`, and related classes provide direct access +"""`LocalSnapshot`, `LocalSnapshotGPU`, and related classes provide direct access to the data buffers managed by `hoomd.State`. See Also: @@ -17,3 +15,19 @@ ParticleLocalAccessBase) from .local_access_cpu import LocalSnapshot from .local_access_gpu import LocalSnapshotGPU +from .typeparam import TypeParameter + +__all__ = [ + 'HOOMDArray', + 'HOOMDGPUArray', + 'AngleLocalAccessBase', + 'BondLocalAccessBase', + 'ConstraintLocalAccessBase', + 'DihedralLocalAccessBase', + 'ImproperLocalAccessBase', + 'PairLocalAccessBase', + 'ParticleLocalAccessBase', + 'LocalSnapshot', + 'LocalSnapshotGPU', + 'TypeParameter', +] diff --git a/hoomd/data/local_access.py b/hoomd/data/local_access.py index 42fc429ba2..6d5d231d1b 100644 --- a/hoomd/data/local_access.py +++ b/hoomd/data/local_access.py @@ -82,7 +82,7 @@ def _exit(self): class ParticleLocalAccessBase(_LocalAccess): - """Class for directly accessing HOOMD-blue particle data. + """Directly access particle data in the simulation state. Note: Changing some attributes (such as ``velocity`` and ``acceleration``) @@ -96,53 +96,53 @@ class ParticleLocalAccessBase(_LocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_particles) `hoomd.data.array` object of ``float``): + typeid ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``float``): The integer type of a particle. - tag ((N_particles) `hoomd.data.array` object of ``int``): + tag ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The particle tags. Spatial sorting and MPI domain migration - reorder particles in memory. The particle tag identifies each + reorders particles in memory. The particle tag identifies each particle in the order it existed in the initial configuration. - rtag ((N_particles_global) `hoomd.data.array` object of ``int``): + rtag ((N_particles_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The particle reverse tags. For a given particle tag ``tag``, ``i = particles.rtag[tag]`` is the array index holding that particle. - position ((N_particles, 3) `hoomd.data.array` object of ``float``): + position ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle positions :math:`[\\mathrm{length}]`. - image ((N_particles, 3) `hoomd.data.array` object of ``int``): + image ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``int``): A count of how many times each particle crosses the periodic box boundaries. - velocity ((N_particles, 3) `hoomd.data.array` object of ``float``): + velocity ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle velocities :math:`[\\mathrm{velocity}]`. - acceleration ((N_particles, 3) `hoomd.data.array` object of ``float``): + acceleration ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle accelerations :math:`[\\mathrm{velocity} \\cdot \\mathrm{time}^{-1}]`. - mass ((N_particles) `hoomd.data.array` object of ``float``): + mass ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle masses :math:`[\\mathrm{mass}]`. - orientation ((N_particles, 4) `hoomd.data.array` object of ``float``): + orientation ((N_particles, 4) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle orientations expressed as quaternions. - angmom ((N_particles, 4) `hoomd.data.array` object of \ + angmom ((N_particles, 4) `HOOMDArray` or `HOOMDGPUArray` of \ ``float``): Particle angular momenta expressed as quaternions :math:`[\\mathrm{mass} \\cdot \\mathrm{velocity} \\cdot \\mathrm{length}]`. - moment_inertia ((N_particles, 3) `hoomd.data.array` object of \ + moment_inertia ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of \ ``float``): Particle principal moments of inertia :math:`[\\mathrm{mass} \\cdot \\mathrm{length}^2]`. - charge ((N_particles) `hoomd.data.array` object of ``float``): + charge ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle electrical charges :math:`[\\mathrm{charge}]`. - diameter ((N_particles) `hoomd.data.array` object of ``float``): + diameter ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Particle diameters :math:`[\\mathrm{length}]`. - body ((N_particles) `hoomd.data.array` object of ``int``): + body ((N_particles) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The id of the rigid body the particle is in. - net_force ((N_particles, 3) `hoomd.data.array` object of ``float``): + net_force ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Net force on particle :math:`[\\mathrm{force}]`. - net_torque ((N_particles, 3) `hoomd.data.array` object of ``float``): + net_torque ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Net torque on particle :math:`[\\mathrm{force} \\cdot \\mathrm{length}]`. - net_virial ((N_particles, 6) `hoomd.data.array` object of ``float``): + net_virial ((N_particles, 6) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Net virial on particle :math:`[\\mathrm{energy}]`. - net_energy ((N_particles,) `hoomd.data.array` object of ``float``): + net_energy ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Net energy of a particle :math:`[\\mathrm{energy}]`. """ @@ -203,7 +203,7 @@ def __init__(self, state): class BondLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue bond data. + """Directly access bond data in the simulation state. See Also: * `hoomd.State` @@ -211,15 +211,15 @@ class BondLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_bonds) `hoomd.data.array` object of ``int``): + typeid ((N_bonds) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The integer type of a bond. - members ((N_bonds, 2) `hoomd.data.array` object of ``int``): + members ((N_bonds, 2) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The tags of particles in a bond. - tag ((N_bonds) `hoomd.data.array` object of ``int``): - The bond tags. MPI domain migration reorder bonds in memory. The + tag ((N_bonds) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The bond tags. MPI domain migration reorders bonds in memory. The bond tag identifies each bond in the order it existed in the initial configuration. - rtag ((N_bonds_global) `hoomd.data.array` object of ``int``): the + rtag ((N_bonds_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): the The bond reverse tags. For a given bond tag ``tag``, ``i = bonds.rtag[tag]`` is the array index holding that bond. @@ -228,7 +228,7 @@ class BondLocalAccessBase(_GroupLocalAccess): class AngleLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue angle data. + """Directly access angle data in the simulation state. See Also: * `hoomd.State` @@ -236,15 +236,15 @@ class AngleLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_angles) `hoomd.data.array` object of ``int``): + typeid ((N_angles) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The integer type of a angle. - members ((N_angles, 3) `hoomd.data.array` object of ``int``): + members ((N_angles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The tags of particles in a angle. - tag ((N_angles) `hoomd.data.array` object of ``int``): - The angle tags. MPI domain migration reorder angles in memory. + tag ((N_angles) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The angle tags. MPI domain migration reorders angles in memory. The angle tag identifies each angle in the order it existed in the initial configuration. - rtag ((N_angles_global) `hoomd.data.array` object of ``int``): + rtag ((N_angles_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The angle reverse tags. For a given angle tag ``tag``, ``i = angles.rtag[tag]`` is the array index holding that angle. """ @@ -252,7 +252,7 @@ class AngleLocalAccessBase(_GroupLocalAccess): class DihedralLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue dihedral data. + """Direct access dihedral data in the simulation state. See Also: * `hoomd.State` @@ -260,15 +260,15 @@ class DihedralLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_dihedrals) `hoomd.data.array` object of ``int``): The integer + typeid ((N_dihedrals) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The integer type of a dihedral. - members ((N_dihedrals, 4) `hoomd.data.array` object of ``int``): the + members ((N_dihedrals, 4) `HOOMDArray` or `HOOMDGPUArray` of ``int``): the tags of particles in a dihedral. - tag ((N_dihedrals) `hoomd.data.array` object of ``int``): - The dihedral tags. MPI domain migration reorder dihedrals in + tag ((N_dihedrals) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The dihedral tags. MPI domain migration reorders dihedrals in memory. The dihedral tag identifies each dihedral in the order it existed in the initial configuration. - rtag ((N_dihedrals_global) `hoomd.data.array` object of ``int``): + rtag ((N_dihedrals_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The dihedral reverse tags. For a given dihedral tag ``tag``, ``i = dihedrals.rtag[tag]`` is the array index holding that dihedral. """ @@ -276,7 +276,7 @@ class DihedralLocalAccessBase(_GroupLocalAccess): class ImproperLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue improper data. + """Directly access improper data in the simulation state. See Also: * `hoomd.State` @@ -284,15 +284,15 @@ class ImproperLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_impropers) `hoomd.data.array` object of ``int``): + typeid ((N_impropers) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The integer type of a improper. - members ((N_impropers, 3) `hoomd.data.array` object of ``int``): + members ((N_impropers, 3) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The tags of particles in a improper. - tag ((N_impropers) `hoomd.data.array` object of ``int``): - The improper tags. MPI domain migration reorder impropers in + tag ((N_impropers) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The improper tags. MPI domain migration reorders impropers in memory. The improper tag identifies each improper in the order it existed in the initial configuration. - rtag ((N_impropers_global) `hoomd.data.array` object of ``int``): + rtag ((N_impropers_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The improper reverse tags. For a given improper tag ``tag``, ``i = impropers.rtag[tag]`` is the array index holding that improper. """ @@ -300,7 +300,7 @@ class ImproperLocalAccessBase(_GroupLocalAccess): class ConstraintLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue constraint data. + """Directly access constraint data in the simulation state. See Also: * `hoomd.State` @@ -308,15 +308,15 @@ class ConstraintLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - value ((N_constraints) `hoomd.data.array` object of ``float``): The - constaint value. - members ((N_constraints, 3) `hoomd.data.array` object of ``int``): the + value ((N_constraints) `HOOMDArray` or `HOOMDGPUArray` of ``float``): The + constraint value. + members ((N_constraints, 3) `HOOMDArray` or `HOOMDGPUArray` of ``int``): the tags of particles in a constraint. - tag ((N_constraints) `hoomd.data.array` object of ``int``): - The constraint tags. MPI domain migration reorder constraints in + tag ((N_constraints) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The constraint tags. MPI domain migration reorders constraints in memory. The constraint tag identifies each constraint in the order it existed in the initial configuration. - rtag ((N_constraints_global) `hoomd.data.array` object of ``int``): + rtag ((N_constraints_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The constraint reverse tags. For a given constraint tag ``tag``, ``i = constraints.rtag[tag]`` is the array index holding that constraint. @@ -331,7 +331,7 @@ class ConstraintLocalAccessBase(_GroupLocalAccess): class PairLocalAccessBase(_GroupLocalAccess): - """Class for directly accessing HOOMD-blue special pair data. + """Directly access special pair data in the simulation state. See Also: * `hoomd.State` @@ -339,15 +339,15 @@ class PairLocalAccessBase(_GroupLocalAccess): * `hoomd.data.LocalSnapshotGPU` Attributes: - typeid ((N_pairs) `hoomd.data.array` object of ``float``): The type of + typeid ((N_pairs) `HOOMDArray` or `HOOMDGPUArray` of ``float``): The type of special pair. - members ((N_pairs, 3) `hoomd.data.array` object of ``int``): the tags of + members ((N_pairs, 3) `HOOMDArray` or `HOOMDGPUArray` of ``int``): the tags of particles in a special pair. - tag ((N_special_pairs) `hoomd.data.array` object of ``int``): - The special pair tags. MPI domain migration reorder special + tag ((N_special_pairs) `HOOMDArray` or `HOOMDGPUArray` of ``int``): + The special pair tags. MPI domain migration reorders special pairs in memory. The special pair tag identifies each special pair in the order it existed in the initial configuration. - rtag ((N_special_pairs_global) `hoomd.data.array` object of ``int``): + rtag ((N_special_pairs_global) `HOOMDArray` or `HOOMDGPUArray` of ``int``): The special pair reverse tags. For a given special pair tag ``tag``, ``i = pairs.rtag[tag]`` is the array index holding that special pair. diff --git a/hoomd/device.py b/hoomd/device.py index 65b5c193a0..6160af801e 100644 --- a/hoomd/device.py +++ b/hoomd/device.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Devices. - -Use a `Device` class to choose which hardware device(s) should execute the +"""Use a `Device` class to choose which hardware device should execute the simulation. `Device` also sets where to write log messages and how verbose the message output should be. Pass a `Device` object to `hoomd.Simulation` on instantiation to set the options for that simulation. @@ -97,7 +95,7 @@ def flush(self): class Device: - """Base class device object. + """Base class device. Provides methods and properties common to `CPU` and `GPU`, including those that control where status messages are stored (`message_filename`) how many @@ -105,7 +103,38 @@ class Device: provided status messages (`notice`). Warning: - `Device` cannot be used directly. Instantate a `CPU` or `GPU` object. + `Device` cannot be used directly. Instiatate a `CPU` or `GPU` object. + """ + + _doc_inherited = """ + ---------- + + **Members inherited from** `Device `: + + .. py:attribute:: communicator + + The MPI Communicator. + `Read more... ` + + .. py:property:: notice_level + + Minimum level of messages to print. + `Read more... ` + + .. py:property:: message_filename + + Filename to write messages to. + `Read more... ` + + .. py:property:: device + + Descriptions of the active hardware device. + `Read more... ` + + .. py:method:: notice + + Write a notice message. + `Read more... ` """ def __init__(self, communicator, notice_level, message_filename): @@ -251,7 +280,7 @@ def _create_messenger(mpi_config, notice_level, message_filename): class GPU(Device): - """Select a GPU or GPU(s) to execute simulations. + """Select a GPU to execute simulations. Args: communicator (hoomd.communicator.Communicator): MPI communicator object. @@ -301,8 +330,15 @@ class GPU(Device): gpu = hoomd.device.GPU() + {inherited} + + ---------- + + **Members defined in** `GPU`: """ + __doc__ = __doc__.replace("{inherited}", Device._doc_inherited) + def __init__( self, communicator=None, @@ -431,6 +467,8 @@ class CPU(Device): cpu = hoomd.device.CPU() """ + __doc__ += Device._doc_inherited + def __init__( self, communicator=None, @@ -464,7 +502,7 @@ def auto_select( notice_level (int): Minimum level of messages to print. Returns: - Instance of `GPU` if availabile, otherwise `CPU`. + Instance of `GPU` if available, otherwise `CPU`. .. rubric:: Example: @@ -477,3 +515,12 @@ def auto_select( return GPU(communicator, message_filename, notice_level) else: return CPU(communicator, message_filename, notice_level) + + +__all__ = [ + 'NoticeFile', + 'Device', + 'GPU', + 'CPU', + 'auto_select', +] diff --git a/hoomd/error.py b/hoomd/error.py index fae282c3ec..5c724f7de4 100644 --- a/hoomd/error.py +++ b/hoomd/error.py @@ -74,3 +74,15 @@ def __str__(self): return ("The data structure is removed from its original data source, " "and updates will no longer modify the previously composing " "object. Call obj.to_base() to remove this warning.") + + +__all__ = [ + 'MutabilityError', + 'DataAccessError', + 'TypeConversionError', + 'GPUNotAvailableError', + 'MPINotAvailableError', + 'IncompleteSpecificationError', + 'SimulationDefinitionError', + 'IsolationWarning', +] diff --git a/hoomd/filter/__init__.py b/hoomd/filter/__init__.py index 9c2b573591..e6242a8e1a 100644 --- a/hoomd/filter/__init__.py +++ b/hoomd/filter/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Particle filters. - -Particle filters describe criteria to select subsets of particles in the +"""Particle filters describe criteria to select subsets of particles in the system for use by various operations throughout HOOMD. To maintain high performance, filters are **not** re-evaluated on every use. Instead, each unique particular filter (defined by the class name and hash) is mapped to a **group**, @@ -42,3 +40,17 @@ Either a subclass of `ParticleFilter` or `CustomFilter`. """ + +__all__ = [ + 'ParticleFilter', + 'All', + 'Null', + 'Rigid', + 'Intersection', + 'SetDifference', + 'Union', + 'Tags', + 'Type', + 'CustomFilter', + 'filter_like', +] diff --git a/hoomd/filter/all_.py b/hoomd/filter/all_.py index 115c5139d6..11bd8a2f3b 100644 --- a/hoomd/filter/all_.py +++ b/hoomd/filter/all_.py @@ -10,8 +10,6 @@ class All(ParticleFilter, ParticleFilterAll): """Select all particles in the system. - Base: `ParticleFilter` - .. rubric:: Example: .. code-block:: python @@ -19,6 +17,8 @@ class All(ParticleFilter, ParticleFilterAll): all_ = hoomd.filter.All() """ + __doc__ += ParticleFilter._doc_inherited + def __init__(self): ParticleFilter.__init__(self) ParticleFilterAll.__init__(self) diff --git a/hoomd/filter/filter_.py b/hoomd/filter/filter_.py index 72ad107e7a..6ac1837a58 100644 --- a/hoomd/filter/filter_.py +++ b/hoomd/filter/filter_.py @@ -18,9 +18,34 @@ class ParticleFilter(_hoomd.ParticleFilter): This class provides methods common to all particle filters. - Attention: - Users should instantiate one of the subclasses. Calling `ParticleFilter` - directly may result in an error. + Note: + Users should instantiate one of the subclasses. + """ + + _doc_inherited = """ + ---------- + + **Members inherited from** `ParticleFilter `: + + .. py:method:: __hash__ + + Return a hash of the filter parameters. + `Read more... ` + + .. py:method:: __eq__ + + Test for equality between two particle filters. + `Read more... ` + + .. py:method:: __str__ + + Format a human readable string describing the filter. + `Read more... ` + + .. py:method:: __call__ + + Evaluate the filter. + `Read more... ` """ def __hash__(self): diff --git a/hoomd/filter/null.py b/hoomd/filter/null.py index 4ec8116ea2..e0af96aa66 100644 --- a/hoomd/filter/null.py +++ b/hoomd/filter/null.py @@ -10,8 +10,6 @@ class Null(ParticleFilter, ParticleFilterNull): """Select no particles. - Base: `ParticleFilter` - .. rubric:: Example: .. code-block:: python @@ -19,6 +17,8 @@ class Null(ParticleFilter, ParticleFilterNull): null = hoomd.filter.Null() """ + __doc__ += ParticleFilter._doc_inherited + def __init__(self): ParticleFilter.__init__(self) ParticleFilterNull.__init__(self) diff --git a/hoomd/filter/rigid.py b/hoomd/filter/rigid.py index 9176f27568..0951cbfbef 100644 --- a/hoomd/filter/rigid.py +++ b/hoomd/filter/rigid.py @@ -33,6 +33,8 @@ class Rigid(ParticleFilter, ParticleFilterRigid): rigid_center = hoomd.filter.Rigid(flags=('center',)) """ + __doc__ += ParticleFilter._doc_inherited + def __init__(self, flags=("center",)): if not all(flag in {"center", "constituent", "free"} for flag in flags): raise ValueError( diff --git a/hoomd/filter/set_.py b/hoomd/filter/set_.py index e60b51ac10..c464824780 100644 --- a/hoomd/filter/set_.py +++ b/hoomd/filter/set_.py @@ -77,8 +77,6 @@ class SetDifference(_ParticleFilterSetOperations, `SetDifference` is a composite filter. It selects particles in the set difference :math:`f \setminus g`. - Base: `ParticleFilter` - .. rubric:: Example: .. code-block:: python @@ -87,6 +85,7 @@ class SetDifference(_ParticleFilterSetOperations, """ _cpp_cls_name = 'ParticleFilterSetDifference' _symmetric = False + __doc__ += ParticleFilter._doc_inherited class Union(_ParticleFilterSetOperations, _hoomd.ParticleFilterUnion): @@ -99,8 +98,6 @@ class Union(_ParticleFilterSetOperations, _hoomd.ParticleFilterUnion): `Union` is a composite filter. It selects particles in the set union :math:`f \cup g`. - Base: `ParticleFilter` - .. rubric:: Example: .. code-block:: python @@ -109,6 +106,7 @@ class Union(_ParticleFilterSetOperations, _hoomd.ParticleFilterUnion): """ _cpp_cls_name = 'ParticleFilterUnion' _symmetric = True + __doc__ += ParticleFilter._doc_inherited class Intersection(_ParticleFilterSetOperations, @@ -122,8 +120,6 @@ class Intersection(_ParticleFilterSetOperations, `Intersection` is a composite filter. It selects particles in the set intersection :math:`f \cap g`. - Base: `ParticleFilter` - .. rubric:: Example: .. code-block:: python @@ -132,3 +128,4 @@ class Intersection(_ParticleFilterSetOperations, """ _cpp_cls_name = 'ParticleFilterIntersection' _symmetric = True + __doc__ += ParticleFilter._doc_inherited diff --git a/hoomd/filter/tags.py b/hoomd/filter/tags.py index 396bce391d..8866cc557c 100644 --- a/hoomd/filter/tags.py +++ b/hoomd/filter/tags.py @@ -25,8 +25,16 @@ class Tags(ParticleFilter, ParticleFilterTags): .. code-block:: python tags = hoomd.filter.Tags([0, 1, 2]) + + {inherited} + + ---------- + + **Members defined in** `Tags`: """ + __doc__ = __doc__.replace("{inherited}", ParticleFilter._doc_inherited) + def __init__(self, tags): ParticleFilter.__init__(self) self._tags = np.ascontiguousarray(np.unique(tags), dtype=np.uint32) diff --git a/hoomd/filter/type_.py b/hoomd/filter/type_.py index a4d723101f..0cdeb58f04 100644 --- a/hoomd/filter/type_.py +++ b/hoomd/filter/type_.py @@ -20,8 +20,16 @@ class Type(ParticleFilter, ParticleFilterType): .. code-block:: python type_A_B = hoomd.filter.Type(['A', 'B']) + + {inherited} + + ---------- + + **Members defined in** `Type`: """ + __doc__ = __doc__.replace("{inherited}", ParticleFilter._doc_inherited) + def __init__(self, types): ParticleFilter.__init__(self) types = set(types) diff --git a/hoomd/hpmc/__init__.py b/hoomd/hpmc/__init__.py index 48a9b78590..6005cf6b37 100644 --- a/hoomd/hpmc/__init__.py +++ b/hoomd/hpmc/__init__.py @@ -1,12 +1,10 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Hard particle Monte Carlo. - -In hard particle Monte Carlo (HPMC) simulations, the particles in the system +"""In hard particle Monte Carlo (HPMC) simulations, the particles in the system state have extended shapes. The potential energy of the system is infinite when -any particle shapes overlap. Pair (:doc:`module-hpmc-pair`) and external -(:doc:`module-hpmc-external`) potentials compute the potential energy when there +any particle shapes overlap. Pair (`hoomd.hpmc.pair`) and external +(`hoomd.hpmc.external`) potentials compute the potential energy when there are no shape overlaps. `hpmc` employs the Metropolis Monte Carlo algorithm to sample equilibrium configurations of the system. @@ -33,3 +31,14 @@ from hoomd.hpmc import external from hoomd.hpmc import nec from hoomd.hpmc import shape_move + +__all__ = [ + 'integrate', + 'update', + 'compute', + 'tune', + 'pair', + 'external', + 'nec', + 'shape_move', +] diff --git a/hoomd/hpmc/_hpmc.py b/hoomd/hpmc/_hpmc.py new file mode 100644 index 0000000000..ea023ed82b --- /dev/null +++ b/hoomd/hpmc/_hpmc.py @@ -0,0 +1,4 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Mocked module for use in documentation builds.""" diff --git a/hoomd/hpmc/compute.py b/hoomd/hpmc/compute.py index 0a41c35cd8..c1ffc38379 100644 --- a/hoomd/hpmc/compute.py +++ b/hoomd/hpmc/compute.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Compute properties of hard particle configurations. - -The HPMC compute classes analyze the system configuration and provide results +"""The HPMC compute classes analyze the system configuration and provide results as loggable quantities for use with `hoomd.logging.Logger` or by direct access via the Python API. `FreeVolume` computes the free volume available to small particles and `SDF` samples the pressure. @@ -92,6 +90,12 @@ class FreeVolume(Compute): num_samples=1000) + {inherited} + + ---------- + + **Members defined in** `FreeVolume`: + Attributes: test_particle_type (str): Test particle type. @@ -99,6 +103,8 @@ class FreeVolume(Compute): """ + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + def __init__(self, test_particle_type, num_samples): # store metadata param_dict = ParameterDict(test_particle_type=str, num_samples=int) @@ -314,6 +320,12 @@ class SDF(Compute): where particles may overlap with non-primary images of other particles, including self overlap. + {inherited} + + ---------- + + **Members defined in** `SDF`: + Attributes: xmax (float): Maximum *x* value at the right hand side of the rightmost bin :math:`[\mathrm{length}]`. @@ -321,6 +333,8 @@ class SDF(Compute): dx (float): Bin width :math:`[\mathrm{length}]`. """ + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + def __init__(self, xmax, dx): # store metadata param_dict = ParameterDict( @@ -480,3 +494,9 @@ def P(self): # noqa: N802 - allow function name return result * integrator.kT(self._simulation.timestep) else: return None + + +__all__ = [ + 'FreeVolume', + 'SDF', +] diff --git a/hoomd/hpmc/external/__init__.py b/hoomd/hpmc/external/__init__.py index f08e205606..de7903d421 100644 --- a/hoomd/hpmc/external/__init__.py +++ b/hoomd/hpmc/external/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""External fields for Monte Carlo. - -Define :math:`U_{\\mathrm{external},i}` for use with +"""External potentials define :math:`U_{\\mathrm{external},i}` for use with `hoomd.hpmc.integrate.HPMCIntegrator`. Add external potential instances to your integrator's `external_potentials ` list @@ -14,3 +12,10 @@ from .linear import Linear from .harmonic import Harmonic from .wall import WallPotential + +__all__ = [ + 'External', + 'Linear', + 'Harmonic', + 'WallPotential', +] diff --git a/hoomd/hpmc/external/external.py b/hoomd/hpmc/external/external.py index 98f86c080f..22a5991d98 100644 --- a/hoomd/hpmc/external/external.py +++ b/hoomd/hpmc/external/external.py @@ -34,6 +34,17 @@ class External(hoomd.operation._HOOMDBaseObject): _ext_module = _hpmc + _doc_inherited = """ + ---------- + + **Members inherited from** `External `: + + .. py:property:: energy + + Potential energy contributed by this potential :math:`[\\mathrm{energy}]`. + `Read more... ` + """ + def _make_cpp_obj(self): cpp_sys_def = self._simulation.state._cpp_sys_def cls = getattr(self._ext_module, self._cpp_class_name) diff --git a/hoomd/hpmc/external/harmonic.py b/hoomd/hpmc/external/harmonic.py index 6853db45a9..9db1c2490e 100644 --- a/hoomd/hpmc/external/harmonic.py +++ b/hoomd/hpmc/external/harmonic.py @@ -58,6 +58,12 @@ class Harmonic(External): Note: `Harmonic` does not support execution on GPUs. + {inherited} + + ---------- + + **Members defined in** `Harmonic`: + Attributes: k_translational (hoomd.variant.Variant): The translational spring constant :math:`[\mathrm{energy} \cdot \mathrm{length}^{-2}]`. @@ -75,6 +81,8 @@ class Harmonic(External): :math:`[\mathrm{dimensionless}]`. """ + __doc__ = __doc__.replace("{inherited}", External._doc_inherited) + def __init__(self, reference_positions, reference_orientations, k_translational, k_rotational, symmetries): param_dict = ParameterDict( diff --git a/hoomd/hpmc/external/linear.py b/hoomd/hpmc/external/linear.py index ccb1b53ebf..c0488bdb36 100644 --- a/hoomd/hpmc/external/linear.py +++ b/hoomd/hpmc/external/linear.py @@ -49,6 +49,12 @@ class Linear(External): linear.alpha['A'] = 0.2 simulation.operations.integrator.external_potentials = [linear] + {inherited} + + ---------- + + **Members defined in** `Linear`: + .. py:attribute:: alpha The linear energy coefficient :math:`\\alpha` by particle type. @@ -70,6 +76,7 @@ class Linear(External): Type: (`float`, `float`, `float`) """ _cpp_class_name = "ExternalPotentialLinear" + __doc__ = __doc__.replace("{inherited}", External._doc_inherited) def __init__(self, default_alpha=None, diff --git a/hoomd/hpmc/external/wall.py b/hoomd/hpmc/external/wall.py index d95c99b20f..82a690a881 100644 --- a/hoomd/hpmc/external/wall.py +++ b/hoomd/hpmc/external/wall.py @@ -153,8 +153,16 @@ class WallPotential(External): walls = [hoomd.wall.Sphere(radius=4.0)] wall_potential = hoomd.hpmc.external.wall.WallPotential(walls) simulation.operations.integrator.external_potentials = [wall_potential] + + {inherited} + + ---------- + + **Members defined in** `WallPotential`: """ + __doc__ = __doc__.replace("{inherited}", External._doc_inherited) + def __init__(self, walls): self._walls = _HPMCWallsMetaList(self, walls, _to_hpmc_cpp_wall) diff --git a/hoomd/hpmc/integrate.py b/hoomd/hpmc/integrate.py index f763c611df..cbfadddcd1 100644 --- a/hoomd/hpmc/integrate.py +++ b/hoomd/hpmc/integrate.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Hard particle Monte Carlo integrators. - -.. rubric:: Metropolis Monte Carlo +r""".. rubric:: Metropolis Monte Carlo The hard particle Monte Carlo (HPMC) integrator `HPMCIntegrator` samples equilibrium system states using the Metropolis Monte Carlo method. In this @@ -160,12 +158,12 @@ \sum_{i=0}^\mathrm{N_particles-1} U_{\mathrm{external},i}(\vec{r}_i, \mathbf{q}_i) -Potential classes in :doc:`module-hpmc-pair` evaluate +Potential classes in `hoomd.hpmc.pair` evaluate :math:`U_{\mathrm{pair},ij}`. HPMC sums all the `Pair ` potentials in `pair_potentials ` during integration. -Similarly, potential classes in :doc:`module-hpmc-external` evaluate +Similarly, potential classes in `hoomd.hpmc.external` evaluate :math:`U_{\mathrm{external},i}`. Add instances of these classes to `external_potentials ` to apply during integration. @@ -304,7 +302,11 @@ class HPMCIntegrator(Integrator): All HPMC integrators use reduced precision floating point arithmetic when checking for particle overlaps in the local particle reference frame. - .. rubric:: Parameters + {inherited} + + ---------- + + **Members defined in** `HPMCIntegrator`: Attributes: a (`TypeParameter` [``particle type``, `float`]): @@ -330,13 +332,98 @@ class HPMCIntegrator(Integrator): kT (hoomd.variant.Variant): Temperature set point :math:`[\\mathrm{energy}]`. - - .. rubric:: Attributes """ _ext_module = _hpmc _remove_for_pickling = Integrator._remove_for_pickling + ('_cpp_cell',) _skip_for_equality = Integrator._skip_for_equality | {'_cpp_cell'} _cpp_cls = None + __doc__ = __doc__.replace("{inherited}", Integrator._doc_inherited) + _doc_inherited = Integrator._doc_inherited + """ + ---------- + + **Members inherited from** + `HPMCIntegrator `: + + .. py:attribute:: a + + Maximum size of the rotation trial moves. + `Read more... ` + + .. py:attribute:: d + + Maximum size of displacement trial moves + `Read more... ` + + .. py:attribute:: interaction_matrix + + Set which types interact with other types. + `Read more... ` + + .. py:attribute:: translation_move_probability + + Fraction of moves to be selected as translation moves. + `Read more... ` + + .. py:attribute:: nselect + + Number of trial moves to perform per particle per timestep. + `Read more... ` + + .. py:attribute:: kT + + Temperature set point. + `Read more... ` + + .. py:property:: counters + + Trial move counters. + `Read more... ` + + .. py:property:: external_energy + + Total external energy contributed by all external potentials. + `Read more... ` + + .. py:property:: external_potentials + + External potentials to apply. + `Read more... ` + + .. py:property:: map_overlaps + + List of overlapping particles. + `Read more... ` + + .. py:property:: mps + + Number of trial moves performed per second. + `Read more... ` + + .. py:property:: overlaps + + Number of overlapping particle pairs. + `Read more... ` + + .. py:property:: pair_energy + + Total potential energy contributed by all pair potentials. + `Read more... ` + + .. py:property:: pair_potentials + + Pair potentials to apply. + `Read more... ` + + .. py:property:: rotate_moves + + Count of the accepted and rejected rotate moves. + `Read more... ` + + .. py:property:: translate_moves + + Count of the accepted and rejected translate moves. + `Read more... ` + """ def __init__(self, default_d, default_a, translation_move_probability, nselect, kT): @@ -606,6 +693,12 @@ class Sphere(HPMCIntegrator): mc.shape["C"] = dict(diameter=1.0, orientable=True) print('diameter = ', mc.shape["A"]["diameter"]) + {inherited} + + ---------- + + **Members defined in** `Sphere`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -619,6 +712,7 @@ class Sphere(HPMCIntegrator): allow rotation moves on this particle type. """ _cpp_cls = 'IntegratorHPMCMonoSphere' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -673,7 +767,7 @@ class ConvexPolygon(HPMCIntegrator): of a convex polygon includes the points inside and on the surface of the convex hull of the vertices (see `shape`). For example: - .. image:: convex-polygon.svg + .. image:: /convex-polygon.svg :alt: Example of a convex polygon with vertex labels. Important: @@ -695,6 +789,12 @@ class ConvexPolygon(HPMCIntegrator): (-0.5, 0.5)]); print('vertices = ', mc.shape["A"]["vertices"]) + {inherited} + + ---------- + + **Members defined in** `ConvexPolygon`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): @@ -722,6 +822,7 @@ class ConvexPolygon(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoConvexPolygon' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -777,7 +878,7 @@ class ConvexSpheropolygon(HPMCIntegrator): surface of the convex hull of the vertices plus a disk (with radius ``sweep_radius``)swept along the perimeter (see `shape`). For example: - .. image:: convex-spheropolygon.svg + .. image:: /convex-spheropolygon.svg :alt: Example of a convex spheropolygon with vertex and sweep labels. Important: @@ -812,6 +913,12 @@ class ConvexSpheropolygon(HPMCIntegrator): print('vertices = ', mc.shape["A"]["vertices"]) + {inherited} + + ---------- + + **Members defined in** `ConvexSpheropolygon`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -837,6 +944,7 @@ class ConvexSpheropolygon(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoSpheropolygon' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -890,7 +998,7 @@ class SimplePolygon(HPMCIntegrator): a simple polygon includes the points inside and on the surface of the simple polygon defined by the vertices (see `shape`). For example: - .. image:: simple-polygon.svg + .. image:: /simple-polygon.svg :alt: Example of a simple polygon with vertex labels. Important: @@ -912,6 +1020,11 @@ class SimplePolygon(HPMCIntegrator): (0.5, -0.5)]); print('vertices = ', mc.shape["A"]["vertices"]) + {inherited} + + ---------- + + **Members defined in** `SimplePolygon`: Attributes: shape (`TypeParameter` [``particle type``, `dict`]): @@ -940,6 +1053,7 @@ class SimplePolygon(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoSimplePolygon' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1033,6 +1147,12 @@ class Polyhedron(HPMCIntegrator): print('vertices = ', mc.shape["A"]["vertices"]) print('faces = ', mc.shape["A"]["faces"]) + {inherited} + + ---------- + + **Members defined in** `Polyhedron`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1078,6 +1198,7 @@ class Polyhedron(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoPolyhedron' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1140,7 +1261,7 @@ class ConvexPolyhedron(HPMCIntegrator): of a convex polyhedron includes the points inside and on the surface of the convex hull of the vertices (see `shape`). For example: - .. image:: convex-polyhedron.svg + .. image:: /convex-polyhedron.svg :alt: Example of a convex polyhedron with vertex labels. See Also: @@ -1159,6 +1280,12 @@ class ConvexPolyhedron(HPMCIntegrator): (-0.5, -0.5, 0.5)]); print('vertices = ', mc.shape["A"]["vertices"]) + {inherited} + + ---------- + + **Members defined in** `ConvexPolyhedron`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1184,6 +1311,7 @@ class ConvexPolyhedron(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoConvexPolyhedron' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1274,6 +1402,12 @@ class FacetedEllipsoid(HPMCIntegrator): print('a = {}, b = {}, c = {}', mc.shape["A"]["a"], mc.shape["A"]["b"], mc.shape["A"]["c"]) + {inherited} + + ---------- + + **Members defined in** `FacetedEllipsoid`: + Attributes: shape (TypeParameter[``particle type``, dict]): The shape parameters for each particle type. The dictionary has the @@ -1314,6 +1448,7 @@ class FacetedEllipsoid(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoFacetedEllipsoid' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1383,6 +1518,12 @@ class Sphinx(HPMCIntegrator): mc.shape["A"] = dict(centers=[(0,0,0),(1,0,0)], diameters=[1,.25]) print('diameters = ', mc.shape["A"]["diameters"]) + {inherited} + + ---------- + + **Members defined in** `Sphinx`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1399,6 +1540,7 @@ class Sphinx(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoSphinx' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1459,6 +1601,12 @@ class ConvexSpheropolyhedron(HPMCIntegrator): (-0.5, 0.5, -0.5), (-0.5, -0.5, 0.5)]); + {inherited} + + ---------- + + **Members defined in** `ConvexSpheropolyhedron`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1485,6 +1633,7 @@ class ConvexSpheropolyhedron(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoSpheropolyhedron' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1560,6 +1709,12 @@ class Ellipsoid(HPMCIntegrator): mc.shape["A"]["b"], mc.shape["A"]["c"]) + {inherited} + + ---------- + + **Members defined in** `Ellipsoid`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1576,6 +1731,7 @@ class Ellipsoid(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoEllipsoid' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1659,6 +1815,12 @@ class SphereUnion(HPMCIntegrator): mc.shape["A"]["shapes"][0]["diameter"]) print('center of the first sphere = ', mc.shape["A"]["positions"][0]) + {inherited} + + ---------- + + **Members defined in** `SphereUnion`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1689,6 +1851,7 @@ class SphereUnion(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoSphereUnion' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1801,6 +1964,12 @@ class ConvexSpheropolyhedronUnion(HPMCIntegrator): print('orientation of the first cube = ', mc.shape_param["A"]["orientations"][0]) + {inherited} + + ---------- + + **Members defined in** `ConvexSpheropolyhedronUnion`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1831,6 +2000,7 @@ class ConvexSpheropolyhedronUnion(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoConvexPolyhedronUnion' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -1954,6 +2124,12 @@ class FacetedEllipsoidUnion(HPMCIntegrator): print('vertices of the first faceted ellipsoid = ', mc.shape["A"]["shapes"][0]["vertices"] + {inherited} + + ---------- + + **Members defined in** `FacetedEllipsoidUnion`: + Attributes: shape (`TypeParameter` [``particle type``, `dict`]): The shape parameters for each particle type. The dictionary has the @@ -1984,6 +2160,7 @@ class FacetedEllipsoidUnion(HPMCIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoFacetedEllipsoidUnion' + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -2025,3 +2202,21 @@ def __init__(self, 'overlap': None })) self._add_typeparam(typeparam_shape) + + +__all__ = [ + 'HPMCIntegrator', + 'Sphere', + 'ConvexPolygon', + 'ConvexSpheropolygon', + 'SimplePolygon', + 'Polyhedron', + 'ConvexPolyhedron', + 'FacetedEllipsoid', + 'Sphinx', + 'ConvexSpheropolyhedron', + 'Ellipsoid', + 'SphereUnion', + 'ConvexSpheropolyhedronUnion', + 'FacetedEllipsoidUnion', +] diff --git a/hoomd/hpmc/nec/__init__.py b/hoomd/hpmc/nec/__init__.py index f344f86841..733a4bf7c3 100644 --- a/hoomd/hpmc/nec/__init__.py +++ b/hoomd/hpmc/nec/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Newtonian event chain Monte Carlo. - -The integrators in `hoomd.hpmc.nec` implement Newtonian event chain Monte Carlo +"""The integrators in `hoomd.hpmc.nec` implement Newtonian event chain Monte Carlo as described in `Klement 2021 `__. Newtonian event chain Monte Carlo combines rejection free particle chain @@ -50,3 +48,8 @@ from . import integrate from . import tune + +__all__ = [ + 'integrate', + 'tune', +] diff --git a/hoomd/hpmc/nec/integrate.py b/hoomd/hpmc/nec/integrate.py index 73034e8d0c..520ff80300 100644 --- a/hoomd/hpmc/nec/integrate.py +++ b/hoomd/hpmc/nec/integrate.py @@ -21,8 +21,42 @@ class HPMCNECIntegrator(HPMCIntegrator): Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + + {inherited} + + ---------- + + **Members defined in** `HPMCNECIntegrator`: """ _cpp_cls = None + _doc_inherited = HPMCIntegrator._doc_inherited + """ + ---------- + + **Members inherited from** + `HPMCNECIntegrator `: + + .. py:attribute:: chains_in_space + + Rate of chain events that did neither collide nor end. + `Read more... ` + + .. py:attribute:: nec_counters + + Trial move counters + `Read more... ` + + .. py:attribute:: particles_per_chain + + Particles per chain. + `Read more... ` + + .. py:attribute:: virial_pressure + + Virial pressure. + `Read more... ` + """ + + __doc__ = __doc__.replace("{inherited}", HPMCIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -133,7 +167,7 @@ class Sphere(HPMCNECIntegrator): """HPMC chain integration for spheres (2D/3D). Args: - default_d (`float`, optional): Default colission search distance + default_d (`float`, optional): Default collision search distance :math:`[\\mathrm{length}]`, defaults to 0.1. chain_time (`float`, optional): Length of a chain :math:`[\\mathrm{time}]`, defaults to 0.5. @@ -163,6 +197,12 @@ class Sphere(HPMCNECIntegrator): mc = hoomd.hpmc.integrate.nec.Sphere(d=0.05, update_fraction=0.05) mc.chain_time = 0.05 + {inherited} + + ---------- + + **Members defined in** `Sphere`: + Attributes: chain_time (float): Length of a chain :math:`[\\mathrm{time}]`. @@ -181,6 +221,7 @@ class Sphere(HPMCNECIntegrator): """ _cpp_cls = 'IntegratorHPMCMonoNECSphere' + __doc__ = __doc__.replace("{inherited}", HPMCNECIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -222,7 +263,7 @@ class ConvexPolyhedron(HPMCNECIntegrator): """HPMC integration for convex polyhedra (3D) with nec. Args: - default_d (`float`, optional): Default colission search distance + default_d (`float`, optional): Default collision search distance :math:`[\\mathrm{length}]`, defaults to 0.1. default_a (`float`, optional): Default maximum size of rotation trial moves :math:`[\\mathrm{dimensionless}]`, defaults to 0.1. @@ -259,6 +300,12 @@ class ConvexPolyhedron(HPMCNECIntegrator): mc.shape['A'] = dict(vertices=[[1,1,1], [1,1,-1], [1,-1,1], [1,-1,-1], [-1,1,1], [-1,1,-1], [-1,-1,1], [-1,-1,-1]]) + {inherited} + + ---------- + + **Members defined in** `ConvexPolyhedron`: + Attributes: chain_probability (float): Probability of making a chain move instead of a rotation move. @@ -290,6 +337,7 @@ class ConvexPolyhedron(HPMCNECIntegrator): Undefined behavior will result when they are violated. """ _cpp_cls = 'IntegratorHPMCMonoNECConvexPolyhedron' + __doc__ = __doc__.replace("{inherited}", HPMCNECIntegrator._doc_inherited) def __init__(self, default_d=0.1, @@ -326,3 +374,10 @@ def type_shapes(self): [-0.5, 0.5, -0.5], [-0.5, -0.5, 0.5]]}] """ return super(ConvexPolyhedron, self)._return_type_shapes() + + +__all__ = [ + 'HPMCNECIntegrator', + 'Sphere', + 'ConvexPolyhedron', +] diff --git a/hoomd/hpmc/nec/tune.py b/hoomd/hpmc/nec/tune.py index 23fda55ccd..ea1623af13 100644 --- a/hoomd/hpmc/nec/tune.py +++ b/hoomd/hpmc/nec/tune.py @@ -10,6 +10,7 @@ from hoomd.tune.attr_tuner import _TuneDefinition from hoomd.tune import RootSolver, ScaleSolver, SecantSolver from hoomd.hpmc.nec.integrate import HPMCNECIntegrator +from hoomd.operation import Tuner class _ChainTimeTuneDefinition(_TuneDefinition): @@ -199,9 +200,13 @@ class ChainTime(_InternalCustomTuner): reach the specified target. max_chain_time (float): The maximum value of chain time to attempt. + {inherited} + + ---------- + + **Members defined in** `ChainTime`: + Attributes: - trigger (hoomd.trigger.Trigger): ``Trigger`` to determine when to run - the tuner. target (float): The acceptance rate for trial moves that is desired. The value should be between 0 and 1. solver (hoomd.tune.RootSolver): A solver that tunes move sizes to reach @@ -209,6 +214,7 @@ class ChainTime(_InternalCustomTuner): max_chain_time (float): The maximum value of chain time to attempt. """ _internal_class = _InternalChainTime + __doc__ = __doc__.replace("{inherited}", Tuner._doc_inherited) @classmethod def scale_solver(cls, @@ -278,3 +284,8 @@ def secant_solver(cls, """ solver = SecantSolver(gamma, tol) return cls(trigger, target, solver, max_chain_time) + + +__all__ = [ + 'ChainTime', +] diff --git a/hoomd/hpmc/pair/__init__.py b/hoomd/hpmc/pair/__init__.py index 073079e59e..a5dfbdef96 100644 --- a/hoomd/hpmc/pair/__init__.py +++ b/hoomd/hpmc/pair/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Pair Potentials for Monte Carlo. - -Define :math:`U_{\\mathrm{pair},ij}` for use with `HPMCIntegrator +"""Define :math:`U_{\\mathrm{pair},ij}` for use with `HPMCIntegrator `, which will sum all the energy from all `Pair` potential instances in the `pair_potentials ` list. @@ -35,3 +33,14 @@ from .union import Union from .angular_step import AngularStep from .step import Step + +__all__ = [ + 'Pair', + 'LennardJones', + 'ExpandedGaussian', + 'LJGauss', + 'OPP', + 'Union', + 'AngularStep', + 'Step', +] diff --git a/hoomd/hpmc/pair/angular_step.py b/hoomd/hpmc/pair/angular_step.py index ef0ee1f489..377ce86cf0 100644 --- a/hoomd/hpmc/pair/angular_step.py +++ b/hoomd/hpmc/pair/angular_step.py @@ -76,6 +76,12 @@ class AngularStep(Pair): that represent the patch locations on a particle, and deltas are the half opening angles of the patch in radian. + {inherited} + + ---------- + + **Members defined in** `AngularStep`: + .. py:attribute:: mask The mask definition. @@ -94,6 +100,7 @@ class AngularStep(Pair): Type: `TypeParameter` [``particle_type``, `dict`] """ _cpp_class_name = "PairPotentialAngularStep" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, isotropic_potential): mask = TypeParameter( diff --git a/hoomd/hpmc/pair/expanded_gaussian.py b/hoomd/hpmc/pair/expanded_gaussian.py index 8f611259f7..304293c51a 100644 --- a/hoomd/hpmc/pair/expanded_gaussian.py +++ b/hoomd/hpmc/pair/expanded_gaussian.py @@ -48,6 +48,12 @@ class ExpandedGaussian(Pair): r_cut=2.5) simulation.operations.integrator.pair_potentials = [expanded_gaussian] + {inherited} + + ---------- + + **Members defined in** `ExpandedGaussian`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -82,6 +88,7 @@ class ExpandedGaussian(Pair): Type: `str` """ _cpp_class_name = "PairPotentialExpandedGaussian" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, default_r_cut=None, default_r_on=0.0, mode='none'): if default_r_cut is None: diff --git a/hoomd/hpmc/pair/lennard_jones.py b/hoomd/hpmc/pair/lennard_jones.py index 9391b76bd4..8bff8693c7 100644 --- a/hoomd/hpmc/pair/lennard_jones.py +++ b/hoomd/hpmc/pair/lennard_jones.py @@ -44,6 +44,12 @@ class LennardJones(Pair): lennard_jones.params[('A', 'A')] = dict(epsilon=1, sigma=1, r_cut=2.5) simulation.operations.integrator.pair_potentials = [lennard_jones] + {inherited} + + ---------- + + **Members defined in** `LennardJones`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -75,6 +81,7 @@ class LennardJones(Pair): Type: `str` """ _cpp_class_name = "PairPotentialLennardJones" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, default_r_cut=None, default_r_on=0.0, mode='none'): if default_r_cut is None: diff --git a/hoomd/hpmc/pair/lj_gauss.py b/hoomd/hpmc/pair/lj_gauss.py index 1bbbee2834..8f248b3a05 100644 --- a/hoomd/hpmc/pair/lj_gauss.py +++ b/hoomd/hpmc/pair/lj_gauss.py @@ -47,6 +47,12 @@ class LJGauss(Pair): ) simulation.operations.integrator.pair_potentials = [lj_gauss] + {inherited} + + ---------- + + **Members defined in** `LJGauss`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -81,6 +87,7 @@ class LJGauss(Pair): Type: `str` """ _cpp_class_name = "PairPotentialLJGauss" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, default_r_cut=None, default_r_on=0.0, mode='none'): if default_r_cut is None: diff --git a/hoomd/hpmc/pair/opp.py b/hoomd/hpmc/pair/opp.py index b52007a19e..5f7e6c765f 100644 --- a/hoomd/hpmc/pair/opp.py +++ b/hoomd/hpmc/pair/opp.py @@ -46,6 +46,12 @@ class OPP(Pair): ) simulation.operations.integrator.pair_potentials = [opp] + {inherited} + + ---------- + + **Members defined in** `OPP`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -88,6 +94,7 @@ class OPP(Pair): Type: `str` """ _cpp_class_name = "PairPotentialOPP" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, default_r_cut=None, default_r_on=0.0, mode='none'): if default_r_cut is None: diff --git a/hoomd/hpmc/pair/pair.py b/hoomd/hpmc/pair/pair.py index c78051b3fb..5bfe5a75ae 100644 --- a/hoomd/hpmc/pair/pair.py +++ b/hoomd/hpmc/pair/pair.py @@ -37,6 +37,17 @@ class Pair(hoomd.operation._HOOMDBaseObject): _ext_module = _hpmc + _doc_inherited = """ + ---------- + + **Members inherited from** `Pair `: + + .. py:property:: energy + + Potential energy contributed by this potential :math:`[\\mathrm{energy}]`. + `Read more... ` + """ + def _make_cpp_obj(self): cpp_sys_def = self._simulation.state._cpp_sys_def cls = getattr(self._ext_module, self._cpp_class_name) diff --git a/hoomd/hpmc/pair/step.py b/hoomd/hpmc/pair/step.py index 0f4b00fbb0..851d1a9003 100644 --- a/hoomd/hpmc/pair/step.py +++ b/hoomd/hpmc/pair/step.py @@ -45,6 +45,12 @@ class Step(Pair): step.params[('A', 'A')] = dict(epsilon=[1, -1], r=[0.5, 1.5]) simulation.operations.integrator.pair_potentials = [step] + {inherited} + + ---------- + + **Members defined in** `Step`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -59,6 +65,7 @@ class Step(Pair): `dict`] """ _cpp_class_name = "PairPotentialStep" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self): params = hoomd.data.typeparam.TypeParameter( diff --git a/hoomd/hpmc/pair/union.py b/hoomd/hpmc/pair/union.py index 8f8f69b016..dbfa0c27f3 100644 --- a/hoomd/hpmc/pair/union.py +++ b/hoomd/hpmc/pair/union.py @@ -52,7 +52,7 @@ class Union(Pair): where :math:`N_{\mathrm{constituents},i}` is the number of constituents on the :math:`i` particle and :math:`U_\mathrm{constituent}` is the potential evaluated by the given ``constituent_potential``. :math:`\vec{P}_{i,a}` and - :math:`\mathbf{Q}_{i,a}` are the constituent postitions and orientations + :math:`\mathbf{Q}_{i,a}` are the constituent positions and orientations with index :math:`a` on the :math:`i` particle. :math:`U_\mathrm{constituent}` also depends on the constituent particle types and charges (not shown in the equation). @@ -92,6 +92,12 @@ class Union(Pair): As shown above, set the body for constituent types to ``None`` (which is equivalent to ``dict(types=[], positions=[])``). + {inherited} + + ---------- + + **Members defined in** `Union`: + .. py:attribute:: body The body definition. @@ -129,6 +135,7 @@ class Union(Pair): union.leaf_capacity = 4 """ _cpp_class_name = "PairPotentialUnion" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, constituent_potential, leaf_capacity=0): body = TypeParameter( diff --git a/hoomd/hpmc/shape_move.py b/hoomd/hpmc/shape_move.py index 66e02129e8..e43b5190ae 100644 --- a/hoomd/hpmc/shape_move.py +++ b/hoomd/hpmc/shape_move.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Shape moves for a for alchemical simulations in extended ensembles. - -`ShapeMove` subclasses extend the Hamiltonian of the system by adding degrees of +"""`ShapeMove` subclasses extend the Hamiltonian of the system by adding degrees of freedom to the shape of the hard particle. See Also: @@ -41,7 +39,18 @@ class ShapeMove(_HOOMDBaseObject): of shape trial moves. """ - _suported_shapes = None + _doc_inherited = """ + ---------- + + **Members inherited from** `ShapeMove `: + + .. py:attribute:: step_size + + Maximum size of the shape trial moves. + `Read more... ` + """ + + _supported_shapes = None def __init__(self, default_step_size=None): if default_step_size is None: @@ -62,7 +71,7 @@ def _attach_hook(self): raise RuntimeError("Integrator is not attached yet.") integrator_name = integrator.__class__.__name__ - if integrator_name in self._suported_shapes: + if integrator_name in self._supported_shapes: self._move_cls = getattr(_hpmc, self.__class__.__name__ + integrator_name) else: @@ -91,7 +100,7 @@ class Elastic(ShapeMove): stiffness (hoomd.variant.variant_like): Shape stiffness against deformations. - mc (`type` or `hoomd.hpmc.integrate.HPMCIntegrator`): The class of + mc (`hoomd.hpmc.integrate.HPMCIntegrator`): The class of the MC shape integrator or an instance (see `hoomd.hpmc.integrate`) to use with this elastic shape. Must be a compatible class. We use this argument to create validation for `reference_shape`. @@ -122,13 +131,16 @@ class Elastic(ShapeMove): elastic_move.stiffness = 100 elastic_move.reference_shape["A"] = verts + {inherited} + + ---------- + + **Members defined in** `Elastic`: + Attributes: stiffness (hoomd.variant.Variant): Shape stiffness against deformations. - step_size (`TypeParameter` [``particle type``, `float`]): Maximum size - of shape trial moves. - reference_shape (`TypeParameter` [``particle type``, `dict`]): Reference shape against to which compute the deformation energy. @@ -136,7 +148,8 @@ class Elastic(ShapeMove): deformation trial moves (**default**: 0.5). """ - _suported_shapes = {'ConvexPolyhedron'} + _supported_shapes = {'ConvexPolyhedron'} + __doc__ = __doc__.replace("{inherited}", ShapeMove._doc_inherited) def __init__(self, stiffness, @@ -155,11 +168,11 @@ def _get_shape_param(self, mc): cls = mc.__class__ else: cls = mc - if cls.__name__ not in self._suported_shapes: + if cls.__name__ not in self._supported_shapes: raise ValueError(f"Unsupported integrator type {cls}. Supported " - f"types are {self._suported_shapes}") + f"types are {self._supported_shapes}") # Class can only be used for this type of integrator now. - self._suported_shapes = {cls.__name__} + self._supported_shapes = {cls.__name__} shape = cls().shape shape.name = "reference_shape" return shape @@ -226,6 +239,12 @@ def __call__(self, type, param_list): return dict("vertices":verts, **self.default_dict)) move = hpmc.shape_move.ShapeSpace(callback = ExampleCallback) + {inherited} + + ---------- + + **Members defined in** `ShapeSpace`: + Attributes: callback (``callable`` [`str`, `list`], `dict` ]): The python function that will be called to map the given shape parameters to a shape @@ -234,9 +253,6 @@ def __call__(self, type, param_list): definition whose keys **must** match the shape definition of the integrator: ``callable[[str, list], dict]``. - step_size (`TypeParameter` [``particle type``, `float`]): Maximum size - of shape trial moves. - params (`TypeParameter` [``particle type``, `list`]): List of tunable parameters to be updated. The length of the list defines the dimension of the shape space for each particle type. @@ -245,9 +261,10 @@ def __call__(self, type, param_list): parameters to change each timestep (**default**: 1). """ - _suported_shapes = { + _supported_shapes = { 'ConvexPolyhedron', 'ConvexSpheropolyhedron', 'Ellipsoid' } + __doc__ = __doc__.replace("{inherited}", ShapeMove._doc_inherited) def __init__(self, callback, @@ -308,10 +325,13 @@ class Vertex(ShapeMove): vertex_move = shape_move.Vertex() vertex_move.volume["A"] = 1 - Attributes: - step_size (`TypeParameter` [``particle type``, `float`]): Maximum size - of shape trial moves. + {inherited} + + ---------- + + **Members defined in** `Vertex`: + Attributes: vertex_move_probability (`float`): Average fraction of vertices to change during each shape move. @@ -320,7 +340,8 @@ class Vertex(ShapeMove): maintain this volume. """ - _suported_shapes = {'ConvexPolyhedron'} + _supported_shapes = {'ConvexPolyhedron'} + __doc__ = __doc__.replace("{inherited}", ShapeMove._doc_inherited) def __init__(self, default_step_size=None, vertex_move_probability=1): super().__init__(default_step_size) @@ -332,3 +353,11 @@ def __init__(self, default_step_size=None, vertex_move_probability=1): param_dict=TypeParameterDict( float, len_keys=1)) self._add_typeparam(typeparam_volume) + + +__all__ = [ + 'ShapeMove', + 'Elastic', + 'ShapeSpace', + 'Vertex', +] diff --git a/hoomd/hpmc/tune/__init__.py b/hoomd/hpmc/tune/__init__.py index d98f63970c..688d2b1253 100644 --- a/hoomd/hpmc/tune/__init__.py +++ b/hoomd/hpmc/tune/__init__.py @@ -5,3 +5,8 @@ from hoomd.hpmc.tune.move_size import MoveSize from hoomd.hpmc.tune.boxmc_move_size import BoxMCMoveSize + +__all__ = [ + 'MoveSize', + 'BoxMCMoveSize', +] diff --git a/hoomd/hpmc/tune/boxmc_move_size.py b/hoomd/hpmc/tune/boxmc_move_size.py index 940094c90e..010a520069 100644 --- a/hoomd/hpmc/tune/boxmc_move_size.py +++ b/hoomd/hpmc/tune/boxmc_move_size.py @@ -13,6 +13,7 @@ from hoomd.hpmc.integrate import HPMCIntegrator from hoomd.hpmc.tune import mc_move_tune +from hoomd.operation import Tuner class _MoveSizeTuneDefinition(mc_move_tune._MCTuneDefinition): @@ -184,7 +185,7 @@ class BoxMCMoveSize(_InternalCustomTuner): conditions change the move sizes will continue to change and the tuner will no longer be ``tuned``. The changes to the move size are completely controlled by the given `hoomd.tune.RootSolver` instance. See the - doumentation at `hoomd.tune` for more information. + documentation at `hoomd.tune` for more information. Warning: The tuner should be removed from the simulation once tuned to prevent @@ -208,9 +209,22 @@ class BoxMCMoveSize(_InternalCustomTuner): the `moves` attribute documentation. Defaults to no maximum ``None`` for each move type. + Warning: + Over-limiting the maximum move sizes can lead to the inability to + converge to the desired acceptance rate. + + Warning: + Since each dimension of length and shear moves are tuned independently + but the acceptance statistics are collected collectively, the reachable + target acceptance rates is limited by the other dimensions. + + {inherited} + + ---------- + + **Members defined in** `BoxMCMoveSize`: + Attributes: - trigger (hoomd.trigger.Trigger): ``Trigger`` to determine when to run - the tuner. boxmc (hoomd.hpmc.update.BoxMC): The `hoomd.hpmc.update.BoxMC` object to tune. moves (list[str]): A list of types of moves to tune. Available options @@ -224,18 +238,10 @@ class BoxMCMoveSize(_InternalCustomTuner): max_move_size (float): The maximum volume move size to attempt for each move time. See the available moves in the `moves` attribute documentation. - - Warning: - Over-limiting the maximum move sizes can lead to the inability to - converge to the desired acceptance rate. - - Warning: - Since each dimension of length and shear moves are tuned independently - but the acceptance statistics are collected collectively, the reachable - target acceptance rates is limited by the other dimensions. """ _internal_class = _InternalBoxMCMoveSize _wrap_methods = ("tuned",) + __doc__ = __doc__.replace("{inherited}", Tuner._doc_inherited) @classmethod def scale_solver(cls, diff --git a/hoomd/hpmc/tune/move_size.py b/hoomd/hpmc/tune/move_size.py index 31a879eead..25b9308b1f 100644 --- a/hoomd/hpmc/tune/move_size.py +++ b/hoomd/hpmc/tune/move_size.py @@ -11,6 +11,7 @@ from hoomd.tune import ScaleSolver, SecantSolver from hoomd.hpmc.integrate import HPMCIntegrator from hoomd.hpmc.tune import mc_move_tune +from hoomd.operation import Tuner class _MoveSizeTuneDefinition(mc_move_tune._MCTuneDefinition): @@ -208,23 +209,6 @@ class methods to create a `MoveSize` tuner with built-in solvers; see max_rotation_move (float): The maximum value of a rotational move size to attempt. - Attributes: - trigger (hoomd.trigger.Trigger): ``Trigger`` to determine when to - run the tuner. - moves (list[str]): A list of types of moves to tune. Available options - are ``'a'`` and ``'d'``. - target (float): The acceptance rate for trial moves that is desired. The - value should be between 0 and 1. - solver (hoomd.tune.RootSolver): A solver that tunes move sizes to reach - the specified target. - types (list[str]): A list of string particle - types to tune the move size for, defaults to None which upon - attaching will tune all types in the system currently. - max_translation_move (float): The maximum value of a translational move - size to attempt :math:`[\\mathrm{length}]`. - max_rotation_move (float): The maximum value of a rotational move size - to attempt. - Note: Limiting the maximum move sizes can lead to the inability to converge to the desired acceptance rate. Also, not limiting the move size can lead @@ -246,9 +230,30 @@ class methods to create a `MoveSize` tuner with built-in solvers; see ``ignore_statistics`` flag of the shape property of the HPMC integrator for all other types to ``True``. + {inherited} + + ---------- + + **Members defined in** `MoveSize`: + + Attributes: + moves (list[str]): A list of types of moves to tune. Available options + are ``'a'`` and ``'d'``. + target (float): The acceptance rate for trial moves that is desired. The + value should be between 0 and 1. + solver (hoomd.tune.RootSolver): A solver that tunes move sizes to reach + the specified target. + types (list[str]): A list of string particle + types to tune the move size for, defaults to None which upon + attaching will tune all types in the system currently. + max_translation_move (float): The maximum value of a translational move + size to attempt :math:`[\\mathrm{length}]`. + max_rotation_move (float): The maximum value of a rotational move size + to attempt. """ _internal_class = _InternalMoveSize _wrap_methods = ("tuned",) + __doc__ = __doc__.replace("{inherited}", Tuner._doc_inherited) @classmethod def scale_solver(cls, diff --git a/hoomd/hpmc/update.py b/hoomd/hpmc/update.py index 1dc47a0873..d82b2130c6 100644 --- a/hoomd/hpmc/update.py +++ b/hoomd/hpmc/update.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""HPMC updaters. - -HPMC updaters work with the `hpmc.integrate.HPMCIntegrator` to apply changes to +"""HPMC updaters work with the `hpmc.integrate.HPMCIntegrator` to apply changes to the system consistent with the particle shape and defined interaction energies. The `BoxMC`, `GCA`, and `MuVT` updaters apply trial moves that enable enhanced sampling or the equilibration of different ensembles. `QuickCompress` @@ -219,22 +217,13 @@ class BoxMC(Updater): `BoxMC` uses reduced precision floating point arithmetic when checking for particle overlaps in the local particle reference frame. - Attributes: - P (hoomd.variant.Variant): The pressure :math:`P` - :math:`[\mathrm{energy} \ \mathrm{length}^{-2}]` in 2D or - :math:`[\mathrm{energy} \ \mathrm{length}^{-3}]` in 3D. + {inherited} - volume (dict): - Parameters for isobaric volume moves that scale the box lengths - uniformly. The dictionary has the following keys: + ---------- - * ``weight`` (float) - Relative weight of volume box moves. - * ``mode`` (str) - ``standard`` proposes changes to the box volume - and ``ln`` proposes changes to the logarithm of the volume. - Initially starts off in 'standard' mode. - * ``delta`` (float) - Maximum change in **V** or **ln(V)** where V - is box area (2D) or volume (3D) :math:`\delta_\mathrm{volume}`. + **Members defined in** `BoxMC`: + Attributes: aspect (dict): Parameters for isovolume aspect ratio moves. The dictionary has the following keys: @@ -243,6 +232,11 @@ class BoxMC(Updater): * ``delta`` (float) - Maximum relative change of box aspect ratio :math:`\delta_\mathrm{aspect} [\mathrm{dimensionless}]`. + instance (int): + When using multiple `BoxMC` updaters in a single simulation, + give each a unique value for `instance` so they generate + different streams of random numbers. + length (dict): Parameters for isobaric box length moves that change box lengths independently. The dictionary has the following keys: @@ -254,6 +248,21 @@ class BoxMC(Updater): \delta_{\mathrm{length},y}, \delta_{\mathrm{length},z}) [\mathrm{length}]`. + P (hoomd.variant.Variant): The pressure :math:`P` + :math:`[\mathrm{energy} \ \mathrm{length}^{-2}]` in 2D or + :math:`[\mathrm{energy} \ \mathrm{length}^{-3}]` in 3D. + + volume (dict): + Parameters for isobaric volume moves that scale the box lengths + uniformly. The dictionary has the following keys: + + * ``weight`` (float) - Relative weight of volume box moves. + * ``mode`` (str) - ``standard`` proposes changes to the box volume + and ``ln`` proposes changes to the logarithm of the volume. + Initially starts off in 'standard' mode. + * ``delta`` (float) - Maximum change in **V** or **ln(V)** where V + is box area (2D) or volume (3D) :math:`\delta_\mathrm{volume}`. + shear (dict): Parameters for isovolume box shear moves. The dictionary has the following keys: @@ -266,13 +275,10 @@ class BoxMC(Updater): * ``reduce`` (float) - Maximum number of lattice vectors of shear to allow before applying lattice reduction. Values less than 0.5 disable shear reduction. - - instance (int): - When using multiple `BoxMC` updaters in a single simulation, - give each a unique value for `instance` so they generate - different streams of random numbers. """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, trigger, P): super().__init__(trigger) @@ -404,19 +410,26 @@ class MuVT(Updater): with the ``ngibbs`` option to update.muvt(), where the number of partitions can be a multiple of ``ngibbs``. + {inherited} + + ---------- + + **Members defined in** `MuVT`: + Attributes: - trigger (int): Select the timesteps on which to perform cluster moves. - transfer_types (list): List of type names that are being transferred - from/to the reservoir or between boxes + fugacity (`TypeParameter` [ ``particle type``, `float`]): + Particle fugacity + :math:`[\mathrm{energy}] \cdot [\mathrm{volume}^{-1}]` (**default:** 0). max_volume_rescale (float): Maximum step size in ln(V) (applies to Gibbs ensemble) move_ratio (float): The ratio between volume and exchange/transfer moves (applies to Gibbs ensemble) - fugacity (`TypeParameter` [ ``particle type``, `float`]): - Particle fugacity - :math:`[\mathrm{energy}] \cdot [\mathrm{volume}^{-1}]` (**default:** 0). + transfer_types (list): List of type names that are being transferred + from/to the reservoir or between boxes """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, transfer_types, ngibbs=1, @@ -548,9 +561,13 @@ class Shape(Updater): type_select=1, nsweeps=1) - Attributes: - trigger (Trigger): Call the updater on triggered time steps. + {inherited} + + ---------- + **Members defined in** `Shape`: + + Attributes: shape_move (ShapeMove): Type of shape move to apply when updating shape definitions @@ -565,6 +582,8 @@ class Shape(Updater): triggered timesteps. """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, trigger, shape_move, @@ -667,16 +686,21 @@ class GCA(Updater): `GCA` uses reduced precision floating point arithmetic when checking for particle overlaps in the local particle reference frame. + {inherited} + + ---------- + + **Members defined in** `GCA`: + Attributes: - pivot_move_probability (float): Set the probability for attempting a - pivot move. flip_probability (float): Set the probability for transforming an individual cluster. - trigger (Trigger): Select the timesteps on which to perform cluster - moves. + pivot_move_probability (float): Set the probability for attempting a + pivot move. """ _remove_for_pickling = Updater._remove_for_pickling + ('_cpp_cell',) _skip_for_equality = Updater._skip_for_equality | {'_cpp_cell'} + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) def __init__(self, pivot_move_probability=0.5, @@ -884,9 +908,13 @@ class QuickCompress(Updater): `QuickCompress` uses reduced precision floating point arithmetic when checking for particle overlaps in the local particle reference frame. - Attributes: - trigger (Trigger): Update the box dimensions on triggered time steps. + {inherited} + + ---------- + + **Members defined in** `QuickCompress`: + Attributes: target_box (BoxVariant): The variant for the dimensions of the target box. @@ -902,9 +930,12 @@ class QuickCompress(Updater): give each a unique value for `instance` so that they generate different streams of random numbers. - allow_unsafe_resize (bool): Flag that determines whether + allow_unsafe_resize (bool): When `True`, box moves are proposed + independent of particle translational move sizes. """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, trigger, target_box, @@ -951,3 +982,12 @@ def complete(self): return False return self._cpp_obj.isComplete() + + +__all__ = [ + 'BoxMC', + 'MuVT', + 'Shape', + 'GCA', + 'QuickCompress', +] diff --git a/hoomd/logging.py b/hoomd/logging.py index efa1fb94c2..618a744ade 100644 --- a/hoomd/logging.py +++ b/hoomd/logging.py @@ -1,17 +1,15 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Logging infrastructure. - -Use the `Logger` class to collect loggable quantities (e.g. kinetic temperature, +"""Use the `Logger` class to collect loggable quantities (e.g. kinetic temperature, pressure, per-particle energy) during the simulation run. Pass the `Logger` to a backend such as `hoomd.write.GSD` or `hoomd.write.Table` to write the logged values to a file. See Also: - Tutorial: :doc:`tutorial/02-Logging/00-index` + Tutorial: :doc:`/tutorial/02-Logging/00-index` - Tutorial: :doc:`tutorial/04-Custom-Actions-In-Python/00-index` + Tutorial: :doc:`/tutorial/04-Custom-Actions-In-Python/00-index` .. invisible-code-block: python @@ -35,7 +33,7 @@ class LoggerCategories(Flag): """Enum that marks all accepted logger types. The attribute names of `LoggerCategories` are valid strings for the - category argument of `Logger` constructor and the `log` method. + category argument of `Logger` constructor and the :py:func:`log` method. Attributes: scalar: `float` or `int` object. @@ -246,7 +244,7 @@ def __init__(self, name, cls, category='scalar', default=True): elif isinstance(category, LoggerCategories): self.category = category else: - raise ValueError("Flag must be a string convertable into " + raise ValueError("Flag must be a string convertible into " "LoggerCategories or a LoggerCategories object.") self.default = bool(default) @@ -406,7 +404,7 @@ def log(func=None, requires_run=False): """Creates loggable quantities for classes of type Loggable. - Use `log` with `hoomd.custom.Action` to expose loggable quantities from a + Use :py:func:`log` with `hoomd.custom.Action` to expose loggable quantities from a custom action. Args: @@ -414,7 +412,7 @@ def log(func=None, arguments, func should not be set. is_property (`bool`, optional): Whether to make the method a property, defaults to True. Keyword only argument. - category (`str`, optional): The string represention of the type of + category (`str`, optional): The string representation of the type of loggable quantity, defaults to 'scalar'. See `LoggerCategories` for available types. Keyword only argument. default (`bool`, optional): Whether the quantity should be logged @@ -446,7 +444,7 @@ def loggable(self): classes as they already use this metaclass. See Also: - Tutorial: :doc:`tutorial/04-Custom-Actions-In-Python/00-index` + Tutorial: :doc:`/tutorial/04-Custom-Actions-In-Python/00-index` """ def helper(func): @@ -614,7 +612,7 @@ class they come from. For instance, the `hoomd.md.pair.LJ` class has a Note: The logger provides a way for users to create their own logger back - ends. See `log` for details on the intermediate representation. + ends. See :py:func:`log` for details on the intermediate representation. `LoggerCategories` defines the various categories available to specify logged quantities. Custom backends should be a subclass of `hoomd.custom.Action` and used with `hoomd.write.CustomWriter`. @@ -945,3 +943,11 @@ def modify(cls): return modify return modify(cls) + + +__all__ = [ + 'LoggerCategories', + 'log', + 'Logger', + 'modify_namespace', +] diff --git a/hoomd/md/__init__.py b/hoomd/md/__init__.py index fce205a797..fed5b37b7b 100644 --- a/hoomd/md/__init__.py +++ b/hoomd/md/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Molecular dynamics. - -In molecular dynamics simulations, HOOMD-blue numerically integrates the degrees +"""In molecular dynamics simulations, HOOMD-blue numerically integrates the degrees of freedom in the system as a function of time under the influence of forces. To perform MD simulations, assign a MD `Integrator` to the `hoomd.Simulation` operations. Provide the `Integrator` with lists of integration methods, forces, @@ -16,7 +14,7 @@ the system state. See Also: - Tutorial: :doc:`tutorial/01-Introducing-Molecular-Dynamics/00-index` + Tutorial: :doc:`/tutorial/01-Introducing-Molecular-Dynamics/00-index` """ from hoomd.md import alchemy @@ -42,3 +40,29 @@ from hoomd.md import many_body from hoomd.md import tune from hoomd.md.half_step_hook import HalfStepHook + +__all__ = [ + 'alchemy', + 'angle', + 'bond', + 'compute', + 'constrain', + 'data', + 'dihedral', + 'external', + 'force', + 'improper', + 'Integrator', + 'long_range', + 'manifold', + 'minimize', + 'nlist', + 'pair', + 'update', + 'special_pair', + 'methods', + 'mesh', + 'many_body', + 'tune', + 'HalfStepHook', +] diff --git a/hoomd/md/_md.py b/hoomd/md/_md.py new file mode 100644 index 0000000000..b8f40ce31d --- /dev/null +++ b/hoomd/md/_md.py @@ -0,0 +1,12 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Mocked module for use in documentation builds.""" + + +class LocalNeighborListDataHost: + pass + + +class HalfStepHook: + pass diff --git a/hoomd/md/alchemy/__init__.py b/hoomd/md/alchemy/__init__.py index 653d58d05c..5164b06ab6 100644 --- a/hoomd/md/alchemy/__init__.py +++ b/hoomd/md/alchemy/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Alchemical molecular dynamics. - -Implements molecular dynamics simulations of an extended statistical +"""`alchemy` implements molecular dynamics simulations of an extended statistical mechanical ensemble that includes alchemical degrees of freedom describing particle attributes as thermodynamic variables. @@ -21,9 +19,12 @@ ) integrator.methods.insert(0, alchemostat) sim.run(n_steps) - -.. versionadded:: 3.1.0 """ from . import methods from . import pair + +__all__ = [ + 'methods', + 'pair', +] diff --git a/hoomd/md/alchemy/methods.py b/hoomd/md/alchemy/methods.py index c77c34cf8b..c7ab223184 100644 --- a/hoomd/md/alchemy/methods.py +++ b/hoomd/md/alchemy/methods.py @@ -19,7 +19,25 @@ class Alchemostat(Method): Users should use the subclasses and not instantiate `Alchemostat` directly. - .. versionadded:: 3.1.0 + {inherited} + + ---------- + + **Members defined in** `Alchemostat`: + """ + + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + + _doc_inherited = Method._doc_inherited + """ + ---------- + + **Members inherited from** + `Alchemostat `: + + .. py:attribute:: alchemical_dof + + List of alchemical degrees of freedom. + `Read more... ` """ def __init__(self, alchemical_dof): @@ -79,18 +97,21 @@ class NVT(Alchemostat): See Also: `Zhou et al. 2019 `_. - .. versionadded:: 3.1.0 + {inherited} + + ---------- + + **Members defined in** `NVT`: Attributes: alchemical_kT (hoomd.variant.Variant): Temperature set point for the alchemostat :math:`[\mathrm{energy}]`. - alchemical_dof (`list` [`hoomd.md.alchemy.pair.AlchemicalDOF`]): List of - alchemical degrees of freedom. - period (int): Timesteps between applications of the alchemostat. """ + __doc__ = __doc__.replace("{inherited}", Alchemostat._doc_inherited) + def __init__(self, alchemical_kT, alchemical_dof, period=1): # store metadata @@ -106,3 +127,9 @@ def _attach_hook(self): self._cpp_obj = cpp_class(cpp_sys_def, self.period, self.alchemical_kT) self._cpp_obj.setNextAlchemicalTimestep(self._simulation.timestep) super()._attach_hook() + + +__all__ = [ + 'Alchemostat', + 'NVT', +] diff --git a/hoomd/md/alchemy/pair.py b/hoomd/md/alchemy/pair.py index fab619a3b6..9e2a4a4f40 100644 --- a/hoomd/md/alchemy/pair.py +++ b/hoomd/md/alchemy/pair.py @@ -37,8 +37,6 @@ class AlchemicalDOFStore(Mapping): The class acts as a cache so once an alchemical DOF is queried it is returned and not recreated when queried again. - - .. versionadded:: 3.1.0 """ def __init__(self, name, pair_instance, dof_cls): @@ -140,8 +138,6 @@ class AlchemicalDOF(_HOOMDBaseObject): To access an alchemical degree of freedom for a particular type pair, query the corresponding attribute in the alchemical pair force instance. - .. versionadded:: 3.1.0 - Attributes: mass (float): The mass of the alchemical degree of freedom. mu (float): The value of the alchemical potential. @@ -152,7 +148,7 @@ class AlchemicalDOF(_HOOMDBaseObject): """ def __init__(self, - force: _AlchemicalPairForce, + force, name: str = '', typepair: tuple = None, alpha: float = 1.0, @@ -287,7 +283,11 @@ class LJGauss(BaseLJGauss, _AlchemicalPairForce): `hoomd.md.alchemy.pair.LJGauss` does not support MPI parallel simulations. - .. versionadded:: 3.1.0 + {inherited} + + ---------- + + **Members defined in** `LJGauss`: .. py:attribute:: params @@ -327,6 +327,7 @@ class LJGauss(BaseLJGauss, _AlchemicalPairForce): ``particle_type``], `AlchemicalDOF`]) """ _alchemical_dofs = ['epsilon', 'sigma', 'r0'] + __doc__ = __doc__.replace("{inherited}", BaseLJGauss._doc_inherited) def __init__(self, nlist, @@ -364,3 +365,10 @@ def __init__(self, mode='none'): _AlchemicalPairForce.__init__(self) super().__init__(nlist, default_r_cut, default_r_on, mode) + + +__all__ = [ + 'AlchemicalDOFStore', + 'AlchemicalDOF', + 'LJGauss', +] diff --git a/hoomd/md/angle.py b/hoomd/md/angle.py index 699a0af84d..13f6f97448 100644 --- a/hoomd/md/angle.py +++ b/hoomd/md/angle.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Angle forces. - -Angle force classes apply a force and virial on every particle in the simulation +r"""Angle force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -14,7 +12,7 @@ `hoomd.State` member ``angle_group``. HOOMD-blue does not construct angle groups, users must explicitly define angles in the initial condition. -.. image:: md-angle.svg +.. image:: /md-angle.svg :alt: Definition of the angle bond between particles i, j, and k. In the angle group (i,j,k), :math:`\theta` is the angle between the vectors @@ -51,6 +49,8 @@ class Angle(Force): for `isinstance` or `issubclass` checks. """ + __doc__ += Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -82,6 +82,18 @@ class Harmonic(Angle): U(\theta) = \frac{1}{2} k \left( \theta - \theta_0 \right)^2 + Examples:: + + harmonic = angle.Harmonic() + harmonic.params['A-A-A'] = dict(k=3.0, t0=0.7851) + harmonic.params['A-B-A'] = dict(k=100.0, t0=1.0) + + {inherited} + + ---------- + + **Members defined in** `Harmonic`: + Attributes: params (TypeParameter[``angle type``, dict]): The parameter of the harmonic bonds for each particle type. @@ -92,16 +104,10 @@ class Harmonic(Angle): * ``t0`` (`float`, **required**) - rest angle :math:`\theta_0` :math:`[\mathrm{radians}]` - - Examples:: - - harmonic = angle.Harmonic() - harmonic.params['A-A-A'] = dict(k=3.0, t0=0.7851) - harmonic.params['A-B-A'] = dict(k=100.0, t0=1.0) - """ _cpp_class_name = 'HarmonicAngleForceCompute' + __doc__ = __doc__.replace("{inherited}", Angle._doc_inherited) def __init__(self): super().__init__() @@ -122,6 +128,18 @@ class CosineSquared(Angle): `CosineSquared` is used in the gromos96 and MARTINI force fields. + Examples:: + + cosinesq = angle.CosineSquared() + cosinesq.params['A-A-A'] = dict(k=3.0, t0=0.7851) + cosinesq.params['A-B-A'] = dict(k=100.0, t0=1.0) + + {inherited} + + ---------- + + **Members defined in** `CosineSquared`: + Attributes: params (TypeParameter[``angle type``, dict]): The parameter of the harmonic bonds for each particle type. @@ -132,15 +150,10 @@ class CosineSquared(Angle): * ``t0`` (`float`, **required**) - rest angle :math:`\theta_0` :math:`[\mathrm{radians}]` - - Examples:: - - cosinesq = angle.CosineSquared() - cosinesq.params['A-A-A'] = dict(k=3.0, t0=0.7851) - cosinesq.params['A-B-A'] = dict(k=100.0, t0=1.0) """ _cpp_class_name = 'CosineSqAngleForceCompute' + __doc__ = __doc__.replace("{inherited}", Angle._doc_inherited) def __init__(self): super().__init__() @@ -172,9 +185,15 @@ class Table(Angle): :math:`U_\\mathrm{table}(\\theta)` on evenly spaced grid points points in the range :math:`\\theta \\in [0,\\pi]`. `Table` linearly interpolates values when :math:`\\theta` lies between grid points. The - torque must be specificed commensurate with the potential: :math:`\\tau = + torque must be commensurate with the potential: :math:`\\tau = -\\frac{\\partial U}{\\partial \\theta}`. + {inherited} + + ---------- + + **Members defined in** `Table`: + Attributes: params (`TypeParameter` [``angle type``, `dict`]): The potential parameters. The dictionary has the following keys: @@ -190,6 +209,8 @@ class Table(Angle): width (int): Number of points in the table. """ + __doc__ = __doc__.replace("{inherited}", Angle._doc_inherited) + def __init__(self, width): super().__init__() param_dict = hoomd.data.parameterdicts.ParameterDict(width=int) @@ -212,3 +233,11 @@ def _attach_hook(self): cpp_cls = _md.TableAngleForceComputeGPU self._cpp_obj = cpp_cls(self._simulation.state._cpp_sys_def, self.width) + + +__all__ = [ + 'Angle', + 'Harmonic', + 'CosineSquared', + 'Table', +] diff --git a/hoomd/md/bond.py b/hoomd/md/bond.py index 72af360a76..fb555060f2 100644 --- a/hoomd/md/bond.py +++ b/hoomd/md/bond.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Bond forces. - -Bond force classes apply a force and virial on every particle in the simulation +r"""Bond force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -14,7 +12,7 @@ `hoomd.State` member ``bond_group``. HOOMD-blue does not construct bond groups, users must explicitly define bonds in the initial condition. -.. image:: md-bond.svg +.. image:: /md-bond.svg :alt: Definition of the bond between particles j and k. In the bond group (j,k), :math:`r` is the length of the bond between the @@ -52,6 +50,8 @@ class Bond(Force): for `isinstance` or `issubclass` checks. """ + __doc__ += Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -79,6 +79,18 @@ class Harmonic(Bond): U(r) = \frac{1}{2} k \left( r - r_0 \right)^2 + Examples:: + + harmonic = bond.Harmonic() + harmonic.params['A-A'] = dict(k=3.0, r0=2.38) + harmonic.params['A-B'] = dict(k=10.0, r0=1.0) + + {inherited} + + ---------- + + **Members defined in** `Harmonic`: + Attributes: params (TypeParameter[``bond type``, dict]): The parameter of the harmonic bonds for each particle type. @@ -89,14 +101,9 @@ class Harmonic(Bond): * ``r0`` (`float`, **required**) - rest length :math:`[\mathrm{length}]` - - Examples:: - - harmonic = bond.Harmonic() - harmonic.params['A-A'] = dict(k=3.0, r0=2.38) - harmonic.params['A-B'] = dict(k=10.0, r0=1.0) """ _cpp_class_name = "PotentialBondHarmonic" + __doc__ = __doc__.replace("{inherited}", Bond._doc_inherited) def __init__(self): super().__init__() @@ -131,6 +138,20 @@ class FENEWCA(Bond): bond, :math:`\varepsilon` is the repulsive interaction energy, and :math:`\sigma` is the repulsive interaction width. + Examples:: + + fenewca = bond.FENEWCA() + fenewca.params['A-A'] = dict(k=3.0, r0=2.38, epsilon=1.0, sigma=1.0, + delta=0.0) + fenewca.params['A-B'] = dict(k=10.0, r0=1.0, epsilon=0.8, sigma=1.2, + delta=0.0) + + {inherited} + + ---------- + + **Members defined in** `FENEWCA`: + Attributes: params (TypeParameter[``bond type``, dict]): The parameter of the FENEWCA potential bonds. @@ -150,17 +171,9 @@ class FENEWCA(Bond): * ``delta`` (`float`, **required**) - radial shift :math:`\Delta` :math:`[\mathrm{length}]`. - - Examples:: - - fenewca = bond.FENEWCA() - fenewca.params['A-A'] = dict(k=3.0, r0=2.38, epsilon=1.0, sigma=1.0, - delta=0.0) - fenewca.params['A-B'] = dict(k=10.0, r0=1.0, epsilon=0.8, sigma=1.2, - delta=0.0) - """ _cpp_class_name = "PotentialBondFENE" + __doc__ = __doc__.replace("{inherited}", Bond._doc_inherited) def __init__(self): super().__init__() @@ -221,9 +234,15 @@ class Table(Bond): evenly spaced grid points points between :math:`r_{\\mathrm{min}}` and :math:`r_{\\mathrm{max}}`. `Table` linearly interpolates values when :math:`r` lies between grid points and between the last grid point and - :math:`r=r_{\\mathrm{max}}`. The force must be specificed commensurate with + :math:`r=r_{\\mathrm{max}}`. The force must be commensurate with the potential: :math:`F = -\\frac{\\partial U}{\\partial r}`. + {inherited} + + ---------- + + **Members defined in** `Table`: + Attributes: params (`TypeParameter` [``bond type``, `dict`]): The potential parameters. The dictionary has the following keys: @@ -247,6 +266,8 @@ class Table(Bond): width (int): Number of points in the table. """ + __doc__ = __doc__.replace("{inherited}", Bond._doc_inherited) + def __init__(self, width): super().__init__() param_dict = hoomd.data.parameterdicts.ParameterDict(width=int) @@ -309,6 +330,18 @@ class Tether(Bond): .. math:: l_{min} < l_{c1} < l_{c0} < l_{max} + Examples:: + + bond_potential = bond.Tether() + bond_potential.params['A-A'] = dict(k_b=10.0, l_min=0.9, l_c1=1.2, + l_c0=1.8, l_max=2.1) + + {inherited} + + ---------- + + **Members defined in** `Tether`: + Attributes: params (TypeParameter[``bond type``, dict]): The parameter of the Tethering potential bonds. @@ -328,14 +361,9 @@ class Tether(Bond): * ``l_max`` (`float`, **required**) - maximum bond length :math:`[\mathrm{length}]` - - Examples:: - - bond_potential = bond.Tether() - bond_potential.params['A-A'] = dict(k_b=10.0, l_min=0.9, l_c1=1.2, - l_c0=1.8, l_max=2.1) """ _cpp_class_name = "PotentialBondTether" + __doc__ = __doc__.replace("{inherited}", Bond._doc_inherited) def __init__(self): super().__init__() @@ -348,3 +376,12 @@ def __init__(self): l_max=float, len_keys=1)) self._add_typeparam(params) + + +__all__ = [ + 'Bond', + 'Harmonic', + 'FENEWCA', + 'Table', + 'Tether', +] diff --git a/hoomd/md/compute.py b/hoomd/md/compute.py index 529ae6cb2a..b1d4b194b6 100644 --- a/hoomd/md/compute.py +++ b/hoomd/md/compute.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Compute properties of molecular dynamics simulations. - -The MD compute classes compute instantaneous properties of the simulation state +"""The MD compute classes compute instantaneous properties of the simulation state and provide results as loggable quantities for use with `hoomd.logging.Logger` or by direct access via the Python API. """ @@ -38,8 +36,16 @@ class ThermodynamicQuantities(Compute): f = filter.Type('A') compute.ThermodynamicQuantities(filter=f) + + {inherited} + + ---------- + + **Members defined in** `ThermodynamicQuantities`: """ + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + def __init__(self, filter): super().__init__() self._filter = filter @@ -337,6 +343,11 @@ class HarmonicAveragedThermodynamicQuantities(Compute): hma = hoomd.compute.HarmonicAveragedThermodynamicQuantities( filter=hoomd.filter.Type('A'), kT=1.0) + {inherited} + + ---------- + + **Members defined in** `HarmonicAveragedThermodynamicQuantities`: Attributes: filter (hoomd.filter.filter_like): Subset of particles compute @@ -349,6 +360,8 @@ class HarmonicAveragedThermodynamicQuantities(Compute): :math:`[\\mathrm{pressure}]`. """ + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + def __init__(self, filter, kT, harmonic_pressure=0): # store metadata @@ -381,3 +394,9 @@ def pressure(self): """Average pressure :math:`[\\mathrm{pressure}]`.""" self._cpp_obj.compute(self._simulation.timestep) return self._cpp_obj.pressure + + +__all__ = [ + 'ThermodynamicQuantities', + 'HarmonicAveragedThermodynamicQuantities', +] diff --git a/hoomd/md/constrain.py b/hoomd/md/constrain.py index a6bfdc7eb1..c1ec36c821 100644 --- a/hoomd/md/constrain.py +++ b/hoomd/md/constrain.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Constraints. - -Constraint force classes apply forces and the resulting virial to particles that +"""Constraint force classes apply forces and the resulting virial to particles that enforce specific constraints on the positions of the particles. The constraint is satisfied at all times, so there is no potential energy associated with the constraint. @@ -37,6 +35,8 @@ class Constraint(Force): for `isinstance` or `issubclass` checks. """ + __doc__ += Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -100,11 +100,18 @@ class Distance(Constraint): issue a warning message. It does not influence the computation of the constraint force. + {inherited} + + ---------- + + **Members defined in** `Distance`: + Attributes: tolerance (float): Relative tolerance for constraint violation warnings. """ _cpp_class_name = "ForceDistanceConstraint" + __doc__ = __doc__.replace("{inherited}", Constraint._doc_inherited) def __init__(self, tolerance=1e-3): self._param_dict.update(ParameterDict(tolerance=float(tolerance))) @@ -259,6 +266,12 @@ class Rigid(Constraint): changing rigid body definitions or adding/removing particles from the simulation. + {inherited} + + ---------- + + **Members defined in** `Rigid`: + .. py:attribute:: body `body` is a mapping from the central particle type to a body definition @@ -286,6 +299,7 @@ class Rigid(Constraint): """ _cpp_class_name = "ForceComposite" + __doc__ = __doc__.replace("{inherited}", Constraint._doc_inherited) def __init__(self): body = TypeParameter( @@ -327,3 +341,10 @@ def _attach_hook(self): # positions and orientations are accurate before integration. self._cpp_obj.validateRigidBodies() self._cpp_obj.updateCompositeParticles(0) + + +__all__ = [ + 'Constraint', + 'Distance', + 'Rigid', +] diff --git a/hoomd/md/data/__init__.py b/hoomd/md/data/__init__.py index 82fec0437f..43bf13d290 100644 --- a/hoomd/md/data/__init__.py +++ b/hoomd/md/data/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Force data local access. - -`ForceLocalAccess`, `ForceLocalAccessGPU`, and related classes provide direct +"""`ForceLocalAccess`, `ForceLocalAccessGPU`, and related classes provide direct access to the data buffers managed by `hoomd.md.force.Force`. This means that MPI rank locality must be considered in accessing the arrays in a multi-rank simulation. @@ -17,3 +15,10 @@ from .local_access import _ForceLocalAccessBase, _NeighborListLocalAccessBase from .local_access_cpu import ForceLocalAccess, NeighborListLocalAccess from .local_access_gpu import ForceLocalAccessGPU, NeighborListLocalAccessGPU + +__all__ = [ + 'ForceLocalAccess', + 'ForceLocalAccessGPU', + 'NeighborListLocalAccess', + 'NeighborListLocalAccessGPU', +] diff --git a/hoomd/md/data/local_access_cpu.py b/hoomd/md/data/local_access_cpu.py index f01661c81c..a587b0f350 100644 --- a/hoomd/md/data/local_access_cpu.py +++ b/hoomd/md/data/local_access_cpu.py @@ -14,13 +14,13 @@ class ForceLocalAccess(_ForceLocalAccessBase): """Access HOOMD-Blue force data buffers on the CPU. Attributes: - force ((N_particles, 3) `hoomd.data.array` of ``float``): + force ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local force data. :math:`[\\mathrm{force}]` - potential_energy ((N_particles,) `hoomd.data.array` of ``float``): + potential_energy ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local potential energy data. :math:`[\\mathrm{energy}]` - torque ((N_particles, 3) `hoomd.data.array` of ``float``): + torque ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local torque data. :math:`[\\mathrm{force} \\cdot \\mathrm{length}]` - virial ((N_particles, 6) `hoomd.data.array` of ``float``): + virial ((N_particles, 6) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local virial data. :math:`[\\mathrm{energy}]` """ @@ -46,11 +46,11 @@ class NeighborListLocalAccess(_NeighborListLocalAccessBase): are stored twice, once in each domain rank. Attributes: - head_list ((N_particles,) `hoomd.data.array` of ``unsigned long``): + head_list ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned long``): Local head list. - n_neigh ((N_particles,) `hoomd.data.array` of ``unsigned int``): + n_neigh ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned int``): Number of neighbors. - nlist ((...) `hoomd.data.array` of ``unsigned int``): + nlist ((...) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned int``): Raw neighbor list data. half_nlist (``bool``): Convenience property to check if the storage mode is 'half'. diff --git a/hoomd/md/data/local_access_gpu.py b/hoomd/md/data/local_access_gpu.py index 0bb0246d33..5856a58c42 100644 --- a/hoomd/md/data/local_access_gpu.py +++ b/hoomd/md/data/local_access_gpu.py @@ -38,13 +38,13 @@ class NeighborListLocalAccessGPU(_NoGPU): Access HOOMD-Blue force data buffers on the GPU. Attributes: - force ((N_particles, 3) `hoomd.data.array` of ``float``): + force ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local force data. :math:`[\\mathrm{force}]` - potential_energy ((N_particles,) `hoomd.data.array` of ``float``): + potential_energy ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local potential energy data. :math:`[\\mathrm{energy}]` - torque ((N_particles, 3) `hoomd.data.array` of ``float``): + torque ((N_particles, 3) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local torque data. :math:`[\\mathrm{force} \\cdot \\mathrm{length}]` - virial ((N_particles, 6) `hoomd.data.array` of ``float``): + virial ((N_particles, 6) `HOOMDArray` or `HOOMDGPUArray` of ``float``): Local virial data. :math:`[\\mathrm{energy}]` """ @@ -68,11 +68,11 @@ class NeighborListLocalAccessGPU(_NoGPU): are stored twice, once in each domain rank. Attributes: - head_list ((N_particles,) `hoomd.data.array` of ``unsigned long``): + head_list ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned long``): Local head list. - n_neigh ((N_particles,) `hoomd.data.array` of ``unsigned int``): + n_neigh ((N_particles,) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned int``): Number of neighbors. - nlist ((...) `hoomd.data.array` of ``unsigned int``): + nlist ((...) `HOOMDArray` or `HOOMDGPUArray` of ``unsigned int``): Raw neighbor list data. half_nlist (``bool``): Convenience property to check if the storage mode is 'half'. diff --git a/hoomd/md/dihedral.py b/hoomd/md/dihedral.py index d855450b42..575efc0295 100644 --- a/hoomd/md/dihedral.py +++ b/hoomd/md/dihedral.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Dihedral forces. - -Dihedral force classes apply a force and virial on every particle in the +r"""Dihedral force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -15,7 +13,7 @@ `hoomd.State` member ``dihedral_group``. HOOMD-blue does not construct dihedral groups, users must explicitly define dihedrals in the initial condition. -.. image:: md-dihedral.svg +.. image:: /md-dihedral.svg :alt: Definition of the dihedral bond between particles i, j, k, and l. In the dihedral group (i,j,k,l), :math:`\phi` is the signed dihedral angle @@ -60,6 +58,8 @@ class Dihedral(Force): for `isinstance` or `issubclass` checks. """ + __doc__ += Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -94,6 +94,18 @@ class Periodic(Dihedral): U(\phi) = \frac{1}{2}k \left( 1 + d \cos\left(n \phi - \phi_0 \right) \right) + Examples:: + + harmonic = dihedral.Periodic() + harmonic.params['A-A-A-A'] = dict(k=3.0, d=-1, n=3, phi0=0) + harmonic.params['A-B-C-D'] = dict(k=100.0, d=1, n=4, phi0=math.pi/2) + + {inherited} + + ---------- + + **Members defined in** `Periodic`: + Attributes: params (`TypeParameter` [``dihedral type``, `dict`]): The parameter of the harmonic bonds for each dihedral type. The @@ -105,14 +117,9 @@ class Periodic(Dihedral): * ``n`` (`int`, **required**) - angle multiplicity factor :math:`n` * ``phi0`` (`float`, **required**) - phase shift :math:`\phi_0` :math:`[\mathrm{radians}]` - - Examples:: - - harmonic = dihedral.Periodic() - harmonic.params['A-A-A-A'] = dict(k=3.0, d=-1, n=3, phi0=0) - harmonic.params['A-B-C-D'] = dict(k=100.0, d=1, n=4, phi0=math.pi/2) """ _cpp_class_name = "HarmonicDihedralForceCompute" + __doc__ = __doc__.replace("{inherited}", Dihedral._doc_inherited) def __init__(self): super().__init__() @@ -145,9 +152,15 @@ class Table(Dihedral): :math:`U_\\mathrm{table}(\\phi)` on evenly spaced grid points points in the range :math:`\\phi \\in [-\\pi,\\pi]`. `Table` linearly interpolates values when :math:`\\phi` lies between grid points. The - torque must be specificed commensurate with the potential: :math:`\\tau = + torque must be commensurate with the potential: :math:`\\tau = -\\frac{\\partial U}{\\partial \\phi}`. + {inherited} + + ---------- + + **Members defined in** `Table`: + Attributes: params (`TypeParameter` [``dihedral type``, `dict`]): The potential parameters. The dictionary has the following keys: @@ -163,6 +176,8 @@ class Table(Dihedral): width (int): Number of points in the table. """ + __doc__ = __doc__.replace("{inherited}", Dihedral._doc_inherited) + def __init__(self, width): super().__init__() param_dict = hoomd.data.parameterdicts.ParameterDict(width=int) @@ -202,6 +217,17 @@ class OPLS(Dihedral): :math:`k_n` are the force coefficients in the Fourier series. + Examples:: + + opls = dihedral.OPLS() + opls.params['A-A-A-A'] = dict(k1=1.0, k2=1.0, k3=1.0, k4=1.0) + + {inherited} + + ---------- + + **Members defined in** `OPLS`: + Attributes: params (`TypeParameter` [``dihedral type``, `dict`]): The parameter of the OPLS bonds for each particle type. @@ -218,13 +244,9 @@ class OPLS(Dihedral): * ``k4`` (`float`, **required**) - force constant of the fourth term :math:`[\mathrm{energy}]` - - Examples:: - - opls = dihedral.OPLS() - opls.params['A-A-A-A'] = dict(k1=1.0, k2=1.0, k3=1.0, k4=1.0) """ _cpp_class_name = "OPLSDihedralForceCompute" + __doc__ = __doc__.replace("{inherited}", Dihedral._doc_inherited) def __init__(self): super().__init__() @@ -237,3 +259,11 @@ def __init__(self): k4=float, len_keys=1)) self._add_typeparam(params) + + +__all__ = [ + 'Dihedral', + 'Periodic', + 'Table', + 'OPLS', +] diff --git a/hoomd/md/external/__init__.py b/hoomd/md/external/__init__.py index 50e59b0b65..9bf59a2178 100644 --- a/hoomd/md/external/__init__.py +++ b/hoomd/md/external/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""External forces for molecular dynamics. - -External force classes apply forces to particles that result from an external +r"""External force classes apply forces to particles that result from an external field as a function of particle position and orientation: .. math:: @@ -13,3 +11,8 @@ from . import field from . import wall + +__all__ = [ + 'field', + 'wall', +] diff --git a/hoomd/md/external/field.py b/hoomd/md/external/field.py index 6af25b50bf..0f2cd9a4b9 100644 --- a/hoomd/md/external/field.py +++ b/hoomd/md/external/field.py @@ -27,6 +27,8 @@ class Field(force.Force): for `isinstance` or `issubclass` checks. """ + __doc__ += force.Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -59,6 +61,21 @@ class Periodic(Field): `Periodic` results in no virial stress due functional dependence on box scaled coordinates. + .. rubric:: Example: + + .. code-block:: python + + periodic = hoomd.md.external.field.Periodic() + periodic.params['A'] = dict(A=1.0, i=0, w=0.02, p=3) + periodic.params['B'] = dict(A=-1.0, i=0, w=0.02, p=3) + simulation.operations.integrator.forces = [periodic] + + {inherited} + + ---------- + + **Members defined in** `Periodic`: + .. py:attribute:: params The `Periodic` external potential parameters. The dictionary has the @@ -76,17 +93,9 @@ class Periodic(Field): modulation :math:`[\\mathrm{dimensionless}]`. Type: `TypeParameter` [``particle_type``, `dict`] - - .. rubric:: Example: - - .. code-block:: python - - periodic = hoomd.md.external.field.Periodic() - periodic.params['A'] = dict(A=1.0, i=0, w=0.02, p=3) - periodic.params['B'] = dict(A=-1.0, i=0, w=0.02, p=3) - simulation.operations.integrator.forces = [periodic] """ _cpp_class_name = "PotentialExternalPeriodic" + __doc__ = __doc__.replace("{inherited}", Field._doc_inherited) def __init__(self): params = TypeParameter( @@ -110,6 +119,20 @@ class Electric(Field): vector. The field vector :math:`\\vec{E}` must be set per unique particle type. + .. rubric:: Example: + + .. code-block:: python + + electric = hoomd.md.external.field.Electric() + electric.E['A'] = (1, 0, 0) + simulation.operations.integrator.forces = [electric] + + {inherited} + + ---------- + + **Members defined in** `Electric`: + .. py:attribute:: E The electric field vector :math:`\\vec{E}` as a tuple @@ -118,16 +141,9 @@ class Electric(Field): Type: `TypeParameter` [``particle_type``, `tuple` [`float`, `float`, `float`]] - - .. rubric:: Example: - - .. code-block:: python - - electric = hoomd.md.external.field.Electric() - electric.E['A'] = (1, 0, 0) - simulation.operations.integrator.forces = [electric] """ _cpp_class_name = "PotentialExternalElectricField" + __doc__ = __doc__.replace("{inherited}", Field._doc_inherited) def __init__(self): params = TypeParameter( @@ -150,6 +166,20 @@ class Magnetic(Field): where :math:`\\vec{\\mu}_i` is the magnetic dipole moment of particle :math:`i` and :math:`\\vec{B}` is the field vector. + .. rubric:: Example: + + .. code-block:: python + + magnetic = hoomd.md.external.field.Magnetic() + magnetic.params['A'] = dict(B=(1.0,0.0,0.0), mu=(1.0,0.0,0.0)) + simulation.operations.integrator.forces = [magnetic] + + {inherited} + + ---------- + + **Members defined in** `Electric`: + .. py:attribute:: params The `Magnetic` external potential parameters. The dictionary has the @@ -165,16 +195,9 @@ class Magnetic(Field): \\cdot \\mathrm{time}^{-1}]`. Type: `TypeParameter` [``particle_type``, `dict`] - - .. rubric:: Example: - - .. code-block:: python - - magnetic = hoomd.md.external.field.Magnetic() - magnetic.params['A'] = dict(B=(1.0,0.0,0.0), mu=(1.0,0.0,0.0)) - simulation.operations.integrator.forces = [magnetic] """ _cpp_class_name = "PotentialExternalMagneticField" + __doc__ = __doc__.replace("{inherited}", Field._doc_inherited) def __init__(self): params = TypeParameter( @@ -183,3 +206,11 @@ def __init__(self): mu=(float, float, float), len_keys=1)) self._add_typeparam(params) + + +__all__ = [ + 'Field', + 'Periodic', + 'Electric', + 'Magnetic', +] diff --git a/hoomd/md/external/wall.py b/hoomd/md/external/wall.py index da25676c42..a001f463a1 100644 --- a/hoomd/md/external/wall.py +++ b/hoomd/md/external/wall.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Wall forces. - -Wall potential classes compute forces, virials, and energies between all +r"""Wall potential classes compute forces, virials, and energies between all particles and the given walls consistent with the energy: .. math:: @@ -65,12 +63,12 @@ using the Gaussian potential with :math:`\epsilon=1, \sigma=1` and ``inside=True``: -.. image:: md-wall-potential.svg +.. image:: /md-wall-potential.svg :alt: Example plot of wall potential. When ``inside=False``, the potential becomes: -.. image:: md-wall-potential-outside.svg +.. image:: /md-wall-potential-outside.svg :alt: Example plot of an outside wall potential. .. rubric:: Extrapolated Mode: @@ -104,7 +102,7 @@ Below is an example of extrapolation with ``r_extrap=1.1`` for a LJ potential with :math:`\epsilon=1, \sigma=1`. -.. image:: md-wall-extrapolate.svg +.. image:: /md-wall-extrapolate.svg :alt: Example plot demonstrating potential extrapolation. To use extrapolated mode ``r_extrap`` must be set per particle type. @@ -178,6 +176,26 @@ class WallPotential(force.Force): `WallPotential` should not be used directly. It is a base class that provides features and documentation common to all standard wall potentials. + + {inherited} + + ---------- + + **Members defined in** `WallPotential`: + """ + + __doc__ = __doc__.replace("{inherited}", force.Force._doc_inherited) + + _doc_inherited = force.Force._doc_inherited + """ + ---------- + + **Members inherited from** + `WallPotential `: + + .. py:attribute:: walls + + A list of wall definitions to use for the force. + `Read more... ` """ # Module where the C++ class is defined. Reassign this when developing an @@ -251,6 +269,12 @@ class LJ(WallPotential): lj.params[['A','B']] = {"epsilon": 2.0, "sigma": 1.0, "r_cut": 2.8} lj.params["A"] = {"r_extrap": 1.1} + {inherited} + + ---------- + + **Members defined in** `LJ`: + .. py:attribute:: params The potential parameters per type. The dictionary has the following @@ -270,6 +294,7 @@ class LJ(WallPotential): """ _cpp_class_name = "WallsPotentialLJ" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -304,9 +329,11 @@ class Gaussian(WallPotential): gaussian_wall.params[['A','B']] = { "epsilon": 2.0, "sigma": 1.0, "r_cut": 1.0} - Attributes: - walls (`list` [`hoomd.wall.WallGeometry` ]): A list of wall definitions - to use for the force. + {inherited} + + ---------- + + **Members defined in** `Gaussian`: .. py:attribute:: params @@ -327,6 +354,7 @@ class Gaussian(WallPotential): """ _cpp_class_name = "WallsPotentialGauss" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -362,9 +390,11 @@ class Yukawa(WallPotential): yukawa_wall.params[['A','B']] = { "epsilon": 0.5, "kappa": 3.0, "r_cut": 3.2} - Attributes: - walls (`list` [`hoomd.wall.WallGeometry` ]): A list of wall definitions - to use for the force. + {inherited} + + ---------- + + **Members defined in** `Yukawa`: .. py:attribute:: params @@ -385,6 +415,7 @@ class Yukawa(WallPotential): """ _cpp_class_name = "WallsPotentialYukawa" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -421,9 +452,11 @@ class Morse(WallPotential): morse_wall.params[['A','B']] = { "D0": 0.5, "alpha": 3.0, "r0": 1.0, "r_cut": 3.2} - Attributes: - walls (`list` [`hoomd.wall.WallGeometry` ]): A list of wall definitions - to use for the force. + {inherited} + + ---------- + + **Members defined in** `Morse`: .. py:attribute:: params @@ -444,6 +477,7 @@ class Morse(WallPotential): """ _cpp_class_name = "WallsPotentialMorse" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -482,9 +516,11 @@ class ForceShiftedLJ(WallPotential): shifted_lj_wall.params[['A','B']] = { "epsilon": 0.5, "sigma": 3.0, "r_cut": 3.2} - Attributes: - walls (`list` [`hoomd.wall.WallGeometry` ]): A list of wall definitions - to use for the force. + {inherited} + + ---------- + + **Members defined in** `ForceShiftedLJ`: .. py:attribute:: params @@ -505,6 +541,7 @@ class ForceShiftedLJ(WallPotential): """ _cpp_class_name = "WallsPotentialForceShiftedLJ" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -540,9 +577,11 @@ class Mie(WallPotential): mie_wall.params[['A','B']] = { "epsilon": 0.5, "sigma": 3.0, "n": 49, "m": 50, "r_cut": 3.2} - Attributes: - walls (`list` [`hoomd.wall.WallGeometry` ]): A list of wall definitions - to use for the force. + {inherited} + + ---------- + + **Members defined in** `Mie`: .. py:attribute:: params @@ -563,6 +602,7 @@ class Mie(WallPotential): """ _cpp_class_name = "WallsPotentialMie" + __doc__ = __doc__.replace("{inherited}", WallPotential._doc_inherited) def __init__(self, walls): @@ -579,3 +619,14 @@ def __init__(self, walls): r_extrap=0.0, len_keys=1)) self._add_typeparam(params) + + +__all__ = [ + 'WallPotential', + 'LJ', + 'Gaussian', + 'Yukawa', + 'Morse', + 'ForceShiftedLJ', + 'Mie', +] diff --git a/hoomd/md/force.py b/hoomd/md/force.py index 10397292c4..f26b08f82f 100644 --- a/hoomd/md/force.py +++ b/hoomd/md/force.py @@ -69,6 +69,66 @@ class Force(Compute): Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + + {inherited} + + ---------- + + **Members defined in** `Force`: + """ + + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + + _doc_inherited = Compute._doc_inherited + """ + ---------- + + **Members inherited from** + `Force `: + + .. py:attribute:: additional_energy + + Additional energy term. + `Read more... ` + + .. py:attribute:: additional_virial + + Additional virial tensor term :math:`W_\\mathrm{additional}`. + `Read more... ` + + .. py:attribute:: cpu_local_force_arrays + + Local force arrays on the CPU. + `Read more... ` + + .. py:attribute:: energies + + Energy contribution :math:`U_i` from each particle. + `Read more... ` + + .. py:attribute:: energy + + The potential energy :math:`U` of the system from this force. + `Read more... ` + + .. py:attribute:: forces + + The force :math:`\\vec{F}_i` applied to each particle. + `Read more... ` + + .. py:attribute:: gpu_local_force_arrays + + Local force arrays on the GPU. + `Read more... ` + + .. py:attribute:: torques + + The torque :math:`\\vec{\\tau}_i` applied to each particle. + `Read more... ` + + .. py:attribute:: virials + + Virial tensor contribution :math:`W_i` from each particle. + `Read more... ` """ def __init__(self): @@ -158,7 +218,7 @@ def additional_virial(self): @property def cpu_local_force_arrays(self): - """hoomd.md.data.ForceLocalAccess: Expose force arrays on the CPU. + """hoomd.md.data.ForceLocalAccess: Local force arrays on the CPU. Provides direct access to the force, potential energy, torque, and virial data of the particles in the system on the cpu through a context @@ -189,7 +249,7 @@ def cpu_local_force_arrays(self): @property def gpu_local_force_arrays(self): - """hoomd.md.data.ForceLocalAccessGPU: Expose force arrays on the GPU. + """hoomd.md.data.ForceLocalAccessGPU: Local force arrays on the GPU. Provides direct access to the force, potential energy, torque, and virial data of the particles in the system on the gpu through a context @@ -231,11 +291,13 @@ class Custom(Force): Derive a custom force class from `Custom`, and override the `set_forces` method to compute forces on particles. Users have direct, zero-copy access - to the C++ managed buffers via either the `cpu_local_force_arrays` or - `gpu_local_force_arrays` property. Choose the property that corresponds to - the device you wish to alter the data on. In addition to zero-copy access to - force buffers, custom forces have access to the local snapshot API via the - ``_state.cpu_local_snapshot`` or the ``_state.gpu_local_snapshot`` property. + to the C++ managed buffers via either the + `cpu_local_force_arrays ` or + `gpu_local_force_arrays ` property. Choose the + property that corresponds to the device you wish to alter the data on. In + addition to zero-copy access to force buffers, custom forces have access + to the local snapshot API via the ``_state.cpu_local_snapshot`` or the + ``_state.gpu_local_snapshot`` property. See Also: See the documentation in `hoomd.State` for more information on the local @@ -293,9 +355,11 @@ def set_forces(self, timestep): Note: Access to the force buffers is constant (O(1)) time. - .. versionchanged:: 3.1.0 - `Custom` zeros the force, torque, energy, and virial arrays before - calling the user-provided `set_forces`. + {inherited} + + ---------- + + **Members defined in** `Custom`: """ def __init__(self, aniso=False): @@ -363,6 +427,12 @@ class Active(Force): The energy and virial associated with the active force are 0. + {inherited} + + ---------- + + **Members defined in** `Active`: + Attributes: filter (`hoomd.filter`): Subset of particles on which to apply active forces. @@ -386,6 +456,8 @@ class Active(Force): `float`]] """ + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + def __init__(self, filter): super().__init__() # store metadata @@ -480,6 +552,12 @@ class ActiveOnManifold(Active): active.active_force['A','B'] = (1,0,0) active.active_torque['A','B'] = (0,0,0) + {inherited} + + ---------- + + **Members defined in** `ActiveOnManifold`: + Attributes: filter (`hoomd.filter`): Subset of particles on which to apply active forces. @@ -504,6 +582,8 @@ class ActiveOnManifold(Active): `float`]] """ + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + def __init__(self, filter, manifold_constraint): # store metadata super().__init__(filter) @@ -559,6 +639,12 @@ class Constant(Force): The energy and virial associated with the constant force are 0. + {inherited} + + ---------- + + **Members defined in** `Constant`: + Attributes: filter (`hoomd.filter`): Subset of particles on which to apply constant forces. @@ -582,6 +668,8 @@ class Constant(Force): `float`]] """ + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + def __init__(self, filter): super().__init__() # store metadata @@ -614,3 +702,12 @@ def _attach_hook(self): self._cpp_obj = my_class(sim.state._cpp_sys_def, sim.state._get_group(self.filter)) + + +__all__ = [ + 'Force', + 'Custom', + 'Active', + 'ActiveOnManifold', + 'Constant', +] diff --git a/hoomd/md/improper.py b/hoomd/md/improper.py index 0ed663fd65..3a56a33e15 100644 --- a/hoomd/md/improper.py +++ b/hoomd/md/improper.py @@ -1,17 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Improper forces. - -.. skip: next if(not hoomd.version.md_built) - -.. invisible-code-block: python - - if hoomd.version.md_built: - simulation = hoomd.util.make_example_simulation() - simulation.operations.integrator = hoomd.md.Integrator(dt=0.001) - -Improper force classes apply a force and virial on every particle in the +r"""Improper force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -23,7 +13,7 @@ `hoomd.State` member ``improper_group``. HOOMD-blue does not construct improper groups, users must explicitly define impropers in the initial condition. -.. image:: md-improper.svg +.. image:: /md-improper.svg :alt: Definition of the improper bond between particles i, j, k, and l. In an improper group (i,j,k,l), :math:`\chi` is the signed improper angle @@ -42,6 +32,14 @@ U_{ijkl}(\chi) [m=i \lor m=j \lor m=k \lor m=l] and similarly for virials. + +.. skip: next if(not hoomd.version.md_built) + +.. invisible-code-block: python + + if hoomd.version.md_built: + simulation = hoomd.util.make_example_simulation() + simulation.operations.integrator = hoomd.md.Integrator(dt=0.001) """ import hoomd @@ -59,6 +57,8 @@ class Improper(md.force.Force): for `isinstance` or `issubclass` checks. """ + __doc__ += md.force.Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -92,6 +92,17 @@ class Harmonic(Improper): U(r) = \\frac{1}{2}k \\left( \\chi - \\chi_{0} \\right )^2 + Example:: + + harmonic = hoomd.md.improper.Harmonic() + harmonic.params['A-B-C-D'] = dict(k=1.0, chi0=0) + + {inherited} + + ---------- + + **Members defined in** `Harmonic`: + Attributes: params(`TypeParameter` [``improper type``, `dict`]): The parameter of the harmonic impropers for each improper type. The @@ -101,13 +112,9 @@ class Harmonic(Improper): :math:`[\\mathrm{energy}]`. * ``chi0`` (`float`, **required**), equilibrium angle :math:`\\chi_0` :math:`[\\mathrm{radian}]`. - - Example:: - - harmonic = hoomd.md.improper.Harmonic() - harmonic.params['A-B-C-D'] = dict(k=1.0, chi0=0) """ _cpp_class_name = "HarmonicImproperForceCompute" + __doc__ = __doc__.replace("{inherited}", Improper._doc_inherited) def __init__(self): super().__init__() @@ -130,6 +137,19 @@ class Periodic(Improper): U(\\chi) = k \\left( 1 + d \\cos(n \\chi - \\chi_{0}) \\right ) + .. rubric:: Example: + + .. code-block:: python + + periodic = hoomd.md.improper.Periodic() + periodic.params['A-B-C-D'] = dict(k=1.0, n = 1, chi0=0, d=1.0) + + {inherited} + + ---------- + + **Members defined in** `Periodic`: + Attributes: params(`TypeParameter` [``improper type``, `dict`]): The parameter of the harmonic impropers for each improper type. The @@ -143,16 +163,9 @@ class Periodic(Improper): :math:`n` :math:`[\\mathrm{dimensionless}]`. * ``d`` (`float`, **required**), sign factor :math:`d` :math:`[\\mathrm{dimensionless}]`. - - .. rubric:: Example: - - .. code-block:: python - - periodic = hoomd.md.improper.Periodic() - periodic.params['A-B-C-D'] = dict(k=1.0, n = 1, chi0=0, d=1.0) - """ _cpp_class_name = "PeriodicImproperForceCompute" + __doc__ = __doc__.replace("{inherited}", Improper._doc_inherited) def __init__(self): super().__init__() @@ -165,3 +178,10 @@ def __init__(self): chi0=hoomd.data.typeconverter.nonnegative_real, len_keys=1)) self._add_typeparam(params) + + +__all__ = [ + 'Improper', + 'Harmonic', + 'Periodic', +] diff --git a/hoomd/md/integrate.py b/hoomd/md/integrate.py index 14959225ad..6fc2dba59f 100644 --- a/hoomd/md/integrate.py +++ b/hoomd/md/integrate.py @@ -197,7 +197,7 @@ class Integrator(_DynamicIntegrator): It *optionally* integrates one or more rotational degrees of freedom for a given particle *i* when all the following conditions are met: - * The intergration method supports rotational degrees of freedom. + * The integration method supports rotational degrees of freedom. * `integrate_rotational_dof` is ``True``. * The moment of inertia is non-zero :math:`I^d_i > 0`. @@ -242,26 +242,81 @@ class Integrator(_DynamicIntegrator): integrator = hoomd.md.Integrator(dt=0.001, methods=[nve], forces=[lj]) sim.operations.integrator = integrator + {inherited} + + ---------- + + **Members defined in** `Integrator`: + Attributes: - dt (float): Integrator time step size :math:`[\mathrm{time}]`. + constraints (list[hoomd.md.constrain.Constraint]): List of + constraint forces applied to the particles in the system. - methods (list[hoomd.md.methods.Method]): List of integration methods. + dt (float): Integrator time step size :math:`[\mathrm{time}]`. forces (list[hoomd.md.force.Force]): List of forces applied to the particles in the system. + half_step_hook (hoomd.md.HalfStepHook): User-defined implementation to + perform computations during the half-step of the integration. + integrate_rotational_dof (bool): When True, integrate rotational degrees of freedom. - constraints (list[hoomd.md.constrain.Constraint]): List of - constraint forces applied to the particles in the system. + methods (list[hoomd.md.methods.Method]): List of integration methods. rigid (hoomd.md.constrain.Rigid): The rigid body definition for the simulation associated with the integrator. + """ + + __doc__ = __doc__.replace("{inherited}", + hoomd.operation.Integrator._doc_inherited) + _doc_inherited = hoomd.operation.Integrator._doc_inherited + """ + ---------- + + **Members inherited from** `Integrator `: + + .. py:attribute:: constraints + + List of constraint forces applied to the system. + `Read more... ` + + .. py:attribute:: dt + + Integrator time step size. + `Read more... ` + + .. py:attribute:: forces + + List of the forces applied to the system. + `Read more... ` + + .. py:attribute:: half_step_hook + + User-defined method that executes between the half steps. + `Read more... ` + + .. py:attribute:: integrate_rotational_dof + + When True, integrate rotational degrees of freedom. + `Read more... ` + + .. py:attribute:: methods + + List of integration methods applied to the system. + `Read more... ` + + .. py:attribute:: rigid + + Rigid body constraint. + `Read more... ` + + .. py:property:: linear_momentum + + The linear momentum of the system. + `Read more... ` - half_step_hook (hoomd.md.HalfStepHook): User defined implementation to - perform computations during the half-step of the integration. """ def __init__(self, @@ -293,7 +348,7 @@ def _attach_hook(self): super()._attach_hook() def __setattr__(self, attr, value): - """Hande group DOF update when setting integrate_rotational_dof.""" + """Handle group DOF update when setting integrate_rotational_dof.""" super().__setattr__(attr, value) if (attr == 'integrate_rotational_dof' and self._simulation is not None and self._simulation.state is not None): diff --git a/hoomd/md/long_range/__init__.py b/hoomd/md/long_range/__init__.py index 6506b54243..5828676adf 100644 --- a/hoomd/md/long_range/__init__.py +++ b/hoomd/md/long_range/__init__.py @@ -4,3 +4,7 @@ """Long-range potentials for molecular dynamics.""" from . import pppm + +__all__ = [ + 'pppm', +] diff --git a/hoomd/md/long_range/pppm.py b/hoomd/md/long_range/pppm.py index fc57bc5449..e2d3ebee07 100644 --- a/hoomd/md/long_range/pppm.py +++ b/hoomd/md/long_range/pppm.py @@ -46,7 +46,7 @@ def make_pppm_coulomb_forces(nlist, resolution, order, r_cut, alpha=0): Note: In HOOMD-blue, the :math:`\\frac{1}{4\\pi\\epsilon_0}` factor is - included in the `units of charge `. + included in the `units of charge `. The particle particle particle mesh (PPPM) method splits this computation into real space and reciprocal space components. @@ -110,8 +110,8 @@ def make_pppm_coulomb_forces(nlist, resolution, order, r_cut, alpha=0): Add both of these forces to the integrator. Warning: - `make_pppm_coulomb_forces` sets all parameters for the returned `Force` - objects given the input resolution and order. Do not change the + :py:func:`make_pppm_coulomb_forces` sets all parameters for the returned + `Force` objects given the input resolution and order. Do not change the parameters of the returned objects directly. .. _J. W. Eastwood, R. W. Hockney, and D. N. Lawrence 1980: @@ -142,10 +142,16 @@ class Coulomb(Force): """Reciprocal space part of the PPPM Coulomb forces. Note: - Use `make_pppm_coulomb_forces` to create a connected pair of + Use :py:func:`make_pppm_coulomb_forces` to create a connected pair of `md.pair.Ewald` and `md.long_range.pppm.Coulomb` instances that together implement the PPPM method for electrostatics. + {inherited} + + ---------- + + **Members defined in** `Coulomb`: + Attributes: resolution (tuple[int, int, int]): Number of grid points in the x, y, and z directions :math:`\\mathrm{[dimensionless]}`. @@ -157,6 +163,8 @@ class Coulomb(Force): :math:`\\mathrm{[length^{-1}]}`. """ + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + def __init__(self, nlist, resolution, order, r_cut, alpha, pair_force): super().__init__() self._nlist = hoomd.data.typeconverter.OnlyTypes( @@ -324,3 +332,9 @@ def _rms(h, prd, N, order, kappa, q2): value = q2 * pow(h * kappa, order) * math.sqrt( kappa * prd * math.sqrt(2.0 * math.pi) * sum / N) / prd / prd return value + + +__all__ = [ + 'make_pppm_coulomb_forces', + 'Coulomb', +] diff --git a/hoomd/md/manifold.py b/hoomd/md/manifold.py index 398603fb75..20dc6e1269 100644 --- a/hoomd/md/manifold.py +++ b/hoomd/md/manifold.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Manifolds. - -A `Manifold` defines a lower dimensional manifold embedded in 3D space with an +"""A `Manifold` defines a lower dimensional manifold embedded in 3D space with an implicit function :math:`F(x,y,z) = 0`. Use `Manifold` classes to define positional constraints to a given set of particles with: @@ -372,3 +370,15 @@ def _attach_hook(self): self.r, _hoomd.make_scalar3(self.P[0], self.P[1], self.P[2])) super()._attach(self._simulation) + + +__all__ = [ + 'Manifold', + 'Cylinder', + 'Diamond', + 'Ellipsoid', + 'Gyroid', + 'Plane', + 'Primitive', + 'Sphere', +] diff --git a/hoomd/md/many_body.py b/hoomd/md/many_body.py index ce368f889e..cbbf1b95ba 100644 --- a/hoomd/md/many_body.py +++ b/hoomd/md/many_body.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Implement many body potentials. - -Triplet force classes apply a force and virial on every particle in the +r"""Triplet force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -57,10 +55,22 @@ class Triplet(Force): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + Warning: + Currently HOOMD-blue does not support reverse force communication + between MPI domains on the GPU. Since reverse force communication is + required for the calculation of three-body forces, attempting to use + this potential on the GPU with MPI will result in an error. + + {inherited} + + ---------- + + **Members defined in** `Triplet`: + .. py:attribute:: r_cut - *r_cut* :math:`[\\mathrm{length}]`, *optional*: defaults to the value - ``default_r_cut`` specified on construction. + *r_cut* :math:`[\\mathrm{length}]`, Cuttoff radius beyond which the energy and + force are 0. Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `float`]) @@ -70,12 +80,24 @@ class Triplet(Force): Neighbor list used to compute the triplet potential. Type: `hoomd.md.nlist.NeighborList` + """ - Warning: - Currently HOOMD-blue does not support reverse force communication - between MPI domains on the GPU. Since reverse force communication is - required for the calculation of three-body forces, attempting to use - this potential on the GPU with MPI will result in an error. + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + _doc_inherited = Force._doc_inherited + """ + ---------- + + **Members inherited from** + `Triplet `: + + .. py:attribute:: r_cut + + Cuttoff radius beyond which the energy and force are 0. + `Read more... ` + + .. py:attribute:: nlist + + Neighbor list used to compute the triplet potential. + `Read more... ` """ def __init__(self, nlist, default_r_cut=None): @@ -189,6 +211,19 @@ class Tersoff(Triplet): g(\theta_{ijk}) = 1 + \frac{c^2}{d^2} - \frac{c^2}{d^2 + |m - \cos(\theta_{ijk})|^2} + + Example:: + + nl = md.nlist.Cell() + tersoff = md.many_body.Tersoff(default_r_cut=1.3, nlist=nl) + tersoff.params[('A', 'B')] = dict(magnitudes=(2.0, 1.0), lambda3=5.0) + + {inherited} + + ---------- + + **Members defined in** `Tersoff`: + .. py:attribute:: params The Tersoff potential parameters. The dictionary has the following @@ -224,14 +259,9 @@ class Tersoff(Triplet): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - Example:: - - nl = md.nlist.Cell() - tersoff = md.many_body.Tersoff(default_r_cut=1.3, nlist=nl) - tersoff.params[('A', 'B')] = dict(magnitudes=(2.0, 1.0), lambda3=5.0) """ _cpp_class_name = "PotentialTersoff" + __doc__ = __doc__.replace("{inherited}", Triplet._doc_inherited) def __init__(self, nlist, default_r_cut=None): super().__init__(nlist, default_r_cut) @@ -332,6 +362,22 @@ class RevCross(Triplet): three-body term is not enough to compensate the energy of multiple bonds, so it may cause nonphysical situations. + Example:: + + nl = md.nlist.Cell() + bond_swap = md.many_body.RevCross(default_r_cut=1.3,nlist=nl) + bond_swap.params[('A', 'A'), ('B', 'B')] = { + "sigma":0,"n": 0, "epsilon": 0, "lambda3": 0} + # a bond can be made only between A-B and not A-A or B-B + bond_swap.params[('A','B')] = { + "sigma": 1, "n": 100, "epsilon": 10, "lambda3": 1} + + {inherited} + + ---------- + + **Members defined in** `RevCross`: + .. py:attribute:: params The revcross potential parameters. The dictionary has the following @@ -351,18 +397,9 @@ class RevCross(Triplet): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - Example:: - - nl = md.nlist.Cell() - bond_swap = md.many_body.RevCross(default_r_cut=1.3,nlist=nl) - bond_swap.params[('A', 'A'), ('B', 'B')] = { - "sigma":0,"n": 0, "epsilon": 0, "lambda3": 0} - # a bond can be made only between A-B and not A-A or B-B - bond_swap.params[('A','B')] = { - "sigma": 1, "n": 100, "epsilon": 10, "lambda3": 1} """ _cpp_class_name = "PotentialRevCross" + __doc__ = __doc__.replace("{inherited}", Triplet._doc_inherited) def __init__(self, nlist, default_r_cut=None): super().__init__(nlist, default_r_cut) @@ -413,6 +450,25 @@ class SquareDensity(Triplet): n_i = \sum\limits_{j\neq i} w_{ij} \left(\big| \vec r_i - \vec r_j \big|\right) + Example:: + + nl = nlist.Cell() + sqd = md.many_body.SquareDensity(nl, default_r_cut=3.0) + sqd.params[('A', 'B')] = dict(A=1.0, B=2.0) + sqd.params[('B', 'B')] = dict(A=2.0, B=2.0, default_r_on=1.0) + + For further details regarding this multibody potential, see + + [1] P. B. Warren, "Vapor-liquid coexistence in many-body dissipative + particle dynamics" Phys. Rev. E. Stat. Nonlin. Soft Matter Phys., vol. 68, + no. 6 Pt 2, p. 066702, 2003. + + {inherited} + + ---------- + + **Members defined in** `SquareDensity`: + .. py:attribute:: params The SquareDensity potential parameters. The dictionary has the @@ -428,24 +484,20 @@ class SquareDensity(Triplet): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - Example:: - - nl = nlist.Cell() - sqd = md.many_body.SquareDensity(nl, default_r_cut=3.0) - sqd.params[('A', 'B')] = dict(A=1.0, B=2.0) - sqd.params[('B', 'B')] = dict(A=2.0, B=2.0, default_r_on=1.0) - - For further details regarding this multibody potential, see - - [1] P. B. Warren, "Vapor-liquid coexistence in many-body dissipative - particle dynamics" Phys. Rev. E. Stat. Nonlin. Soft Matter Phys., vol. 68, - no. 6 Pt 2, p. 066702, 2003. """ _cpp_class_name = "PotentialSquareDensity" + __doc__ = __doc__.replace("{inherited}", Triplet._doc_inherited) def __init__(self, nlist, default_r_cut=None): super().__init__(nlist, default_r_cut) params = TypeParameter('params', 'particle_types', TypeParameterDict(A=0.0, B=float, len_keys=2)) self._add_typeparam(params) + + +__all__ = [ + 'Triplet', + 'Tersoff', + 'RevCross', + 'SquareDensity', +] diff --git a/hoomd/md/mesh/__init__.py b/hoomd/md/mesh/__init__.py index 91dfa00c4b..63e27e70d4 100644 --- a/hoomd/md/mesh/__init__.py +++ b/hoomd/md/mesh/__init__.py @@ -5,3 +5,10 @@ from .potential import MeshPotential from . import bending, bond, conservation + +__all__ = [ + 'MeshPotential', + 'bending', + 'bond', + 'conservation', +] diff --git a/hoomd/md/mesh/bending.py b/hoomd/md/mesh/bending.py index 313684790b..1423373583 100644 --- a/hoomd/md/mesh/bending.py +++ b/hoomd/md/mesh/bending.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Mesh Bending potentials. - -Mesh bending force classes apply a force and virial to every mesh vertex +r"""Mesh bending force classes apply a force and virial to every mesh vertex particle based on the local curvature :math:`K` of the given mesh triangulation. .. math:: @@ -35,6 +33,9 @@ class BendingRigidity(MeshPotential): r"""Bending potential. + Args: + mesh (`hoomd.mesh.Mesh`): Mesh data structure constraint. + `BendingRigidity` specifies a bending energy applied to all mesh triangles in ``mesh``. @@ -46,8 +47,18 @@ class BendingRigidity(MeshPotential): with :math:`\theta_{ij}` is the angle between the two normal directors of the bordering triangles of bond :math:`i` and :math:`j`. - Args: - mesh (`hoomd.mesh.Mesh`): Mesh data structure constraint. + .. rubric:: Example: + + .. code-block:: python + + bending_potential = hoomd.md.mesh.bending.BendingRigidity(mesh) + bending_potential.params["mesh"] = dict(k=10.0) + + {inherited} + + ---------- + + **Members defined in** `BendingRigidity`: Attributes: params (TypeParameter[``mesh name``,dict]): @@ -57,15 +68,9 @@ class BendingRigidity(MeshPotential): * ``k`` (`float`, **required**) - bending stiffness :math:`[\mathrm{energy}]` - - .. rubric:: Example: - - .. code-block:: python - - bending_potential = hoomd.md.mesh.bending.BendingRigidity(mesh) - bending_potential.params["mesh"] = dict(k=10.0) """ _cpp_class_name = "BendingRigidityMeshForceCompute" + __doc__ = __doc__.replace("{inherited}", MeshPotential._doc_inherited) def __init__(self, mesh): params = TypeParameter("params", "types", @@ -78,6 +83,9 @@ def __init__(self, mesh): class Helfrich(MeshPotential): r"""Helfrich bending potential. + Args: + mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure constraint. + `Helfrich` specifies a Helfrich bending energy applied to all particles within the mesh. @@ -101,8 +109,20 @@ class Helfrich(MeshPotential): Attention: `Helfrich` is NOT implemented for MPI parallel execution! - Args: - mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure constraint. + .. rubric:: Example: + + .. skip: next if(hoomd.version.mpi_enabled) + + .. code-block:: python + + helfrich_potential = hoomd.md.mesh.bending.Helfrich(mesh) + helfrich_potential.params["mesh"] = dict(k=10.0) + + {inherited} + + ---------- + + **Members defined in** `Helfrich`: Attributes: params (TypeParameter[dict]): @@ -113,16 +133,9 @@ class Helfrich(MeshPotential): * ``k`` (`float`, **required**) - bending stiffness :math:`[\mathrm{energy}]` - .. rubric:: Example: - - .. skip: next if(hoomd.version.mpi_enabled) - - .. code-block:: python - - helfrich_potential = hoomd.md.mesh.bending.Helfrich(mesh) - helfrich_potential.params["mesh"] = dict(k=10.0) """ _cpp_class_name = "HelfrichMeshForceCompute" + __doc__ = __doc__.replace("{inherited}", MeshPotential._doc_inherited) def __init__(self, mesh): @@ -138,3 +151,9 @@ def _attach_hook(self): super()._attach_hook() else: raise MPINotAvailableError("Helfrich is not implemented for MPI") + + +__all__ = [ + 'BendingRigidity', + 'Helfrich', +] diff --git a/hoomd/md/mesh/bond.py b/hoomd/md/mesh/bond.py index 24fbdce519..b5735042c5 100644 --- a/hoomd/md/mesh/bond.py +++ b/hoomd/md/mesh/bond.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Mesh Bond forces. - -Mesh bond force classes apply a force and virial between every mesh vertex +r"""Mesh bond force classes apply a force and virial between every mesh vertex particle and their neighbors based on the given mesh triangulation. .. math:: @@ -57,11 +55,24 @@ class Harmonic(MeshPotential): r"""Harmonic bond potential. + Args: + mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + `Harmonic` computes forces, virials, and energies on all mesh bonds in ``mesh`` with the harmonic potential (see `hoomd.md.bond.Harmonic`). - Args: - mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + .. rubric:: Example: + + .. code-block:: python + + harmonic = hoomd.md.mesh.bond.Harmonic(mesh) + harmonic.params["mesh"] = dict(k=10.0, r0=1.0) + + {inherited} + + ---------- + + **Members defined in** `Harmonic`: Attributes: params (TypeParameter[``mesh name``,dict]): @@ -74,15 +85,9 @@ class Harmonic(MeshPotential): * ``r0`` (`float`, **required**) - rest length :math:`[\mathrm{length}]` - - .. rubric:: Example: - - .. code-block:: python - - harmonic = hoomd.md.mesh.bond.Harmonic(mesh) - harmonic.params["mesh"] = dict(k=10.0, r0=1.0) """ _cpp_class_name = "PotentialMeshBondHarmonic" + __doc__ = __doc__.replace("{inherited}", MeshPotential._doc_inherited) def __init__(self, mesh): params = TypeParameter("params", "types", @@ -95,11 +100,25 @@ def __init__(self, mesh): class FENEWCA(MeshPotential): r"""FENE and WCA bond potential. + Args: + mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + `FENEWCA` computes forces, virials, and energies on all mesh bonds in ``mesh`` with the harmonic potential (see `hoomd.md.bond.FENEWCA`). - Args: - mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + .. rubric:: Example: + + .. code-block:: python + + bond_potential = hoomd.md.mesh.bond.FENEWCA(mesh) + bond_potential.params["mesh"] = dict(k=10.0, r0=1.0, + epsilon=0.8, sigma=1.2, delta=0.0) + + {inherited} + + ---------- + + **Members defined in** `FENEWCA`: Attributes: params (TypeParameter[``bond type``, dict]): @@ -121,17 +140,9 @@ class FENEWCA(MeshPotential): * ``delta`` (`float`, **required**) - radial shift :math:`\Delta` :math:`[\mathrm{length}]`. - - .. rubric:: Example: - - .. code-block:: python - - bond_potential = hoomd.md.mesh.bond.FENEWCA(mesh) - bond_potential.params["mesh"] = dict(k=10.0, r0=1.0, - epsilon=0.8, sigma=1.2, delta=0.0) - """ _cpp_class_name = "PotentialMeshBondFENE" + __doc__ = __doc__.replace("{inherited}", MeshPotential._doc_inherited) def __init__(self, mesh): params = TypeParameter( @@ -150,11 +161,25 @@ def __init__(self, mesh): class Tether(MeshPotential): r"""Tethering bond potential. + Args: + mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + `Tether` computes forces, virials, and energies on all mesh bonds in ``mesh`` with the harmonic potential (see `hoomd.md.bond.Tether`). - Args: - mesh (hoomd.mesh.Mesh): Mesh data structure constraint. + .. rubric:: Example: + + .. code-block:: python + + bond_potential = hoomd.md.mesh.bond.Tether(mesh) + bond_potential.params["mesh"] = dict(k_b=10.0, l_min=0.9, l_c1=1.2, + l_c0=1.8, l_max=2.1) + + {inherited} + + ---------- + + **Members defined in** `Tether`: Attributes: params (TypeParameter[``mesh name``,dict]): @@ -176,16 +201,9 @@ class Tether(MeshPotential): * ``l_max`` (`float`, **required**) - maximum bond length :math:`[\mathrm{length}]` - - .. rubric:: Example: - - .. code-block:: python - - bond_potential = hoomd.md.mesh.bond.Tether(mesh) - bond_potential.params["mesh"] = dict(k_b=10.0, l_min=0.9, l_c1=1.2, - l_c0=1.8, l_max=2.1) """ _cpp_class_name = "PotentialMeshBondTether" + __doc__ = __doc__.replace("{inherited}", MeshPotential._doc_inherited) def __init__(self, mesh): params = TypeParameter( @@ -199,3 +217,10 @@ def __init__(self, mesh): self._add_typeparam(params) super().__init__(mesh) + + +__all__ = [ + 'Harmonic', + 'FENEWCA', + 'Tether', +] diff --git a/hoomd/md/mesh/conservation.py b/hoomd/md/mesh/conservation.py index 0bf575db46..676eeca2c1 100644 --- a/hoomd/md/mesh/conservation.py +++ b/hoomd/md/mesh/conservation.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Mesh Conservation potential. - -Mesh conservation force classes apply a force and virial to every mesh vertex +r"""Mesh conservation force classes apply a force and virial to every mesh vertex particle based on a global or local quantity :math:`A` of the given mesh triangulation :math:`T`. @@ -32,6 +30,12 @@ class Area(MeshConservationPotential): r"""Area conservation potential. + Args: + mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. + ignore_type (`bool`, *optional*): ignores mesh type if set to `True` + and calculates the conservation energy considering all triangles in + the mesh. Defaults to `False`. + `Area` specifies a global area conservation energy for each mesh type. @@ -42,11 +46,18 @@ class Area(MeshConservationPotential): with :math:`A_t` is the instantaneous total area of all triangles of type :math:`t`. - Args: - mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. - ignore_type (`bool`, *optional*): ignores mesh type if set to `True` - and calculates the conservation energy considering all triangles in - the mesh. Defaults to `False`. + .. rubric:: Example: + + .. code-block:: python + + area_conservation_potential = hoomd.md.mesh.conservation.Area(mesh) + area_conservation_potential.params["mesh"] = dict(k=10.0, A0=250) + + {inherited} + + ---------- + + **Members defined in** `Area`: Attributes: parameter (TypeParameter[dict]): @@ -58,15 +69,10 @@ class Area(MeshConservationPotential): * ``A0`` (`float`, **required**) - targeted global surface area :math:`[\mathrm{length}]^2]` - - .. rubric:: Example: - - .. code-block:: python - - area_conservation_potential = hoomd.md.mesh.conservation.Area(mesh) - area_conservation_potential.params["mesh"] = dict(k=10.0, A0=250) """ _cpp_class_name = "AreaConservationMeshForceCompute" + __doc__ = __doc__.replace("{inherited}", + MeshConservationPotential._doc_inherited) def __init__(self, mesh, ignore_type=False): params = TypeParameter("params", "types", @@ -84,6 +90,9 @@ def area(self): class TriangleArea(MeshPotential): r"""Triangle Area conservation potential. + Args: + mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. + `TriangleArea` specifies an area conservation energy by applying an area constraint to each triangle of the mesh. @@ -98,8 +107,19 @@ class TriangleArea(MeshPotential): mesh. The number of triangles in the mesh are symbolized by :math:`N_\mathrm{tri}`. - Args: - mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. + .. rubric:: Example: + + .. code-block:: python + + tringle_area_conservation_potential = \ + hoomd.md.mesh.conservation.TriangleArea(mesh) + tringle_area_conservation_potential.params["mesh"] = dict(k=10.0, A0=250) + + {inherited} + + ---------- + + **Members defined in** `TriangleArea`: Attributes: parameter (TypeParameter[dict]): @@ -112,16 +132,10 @@ class TriangleArea(MeshPotential): * ``A0`` (`float`, **required**) - target surface area of a single triangle in the mesh :math:`[\mathrm{length}]^2` - - .. rubric:: Example: - - .. code-block:: python - - tringle_area_conservation_potential = \ - hoomd.md.mesh.conservation.TriangleArea(mesh) - tringle_area_conservation_potential.params["mesh"] = dict(k=10.0, A0=250) """ _cpp_class_name = "TriangleAreaConservationMeshForceCompute" + __doc__ = __doc__.replace("{inherited}", + MeshConservationPotential._doc_inherited) def __init__(self, mesh): params = TypeParameter("params", "types", @@ -139,6 +153,12 @@ def area(self): class Volume(MeshConservationPotential): r"""Volume conservation potential. + Args: + mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. + ignore_type (`bool`, *optional*): ignores mesh type if set to `True` + and calculates the conservation energy considering all triangles in + the mesh. Defaults to `False`. + :py:class:`Volume` specifies a volume constraint on the whole mesh surface: @@ -146,11 +166,18 @@ class Volume(MeshConservationPotential): U(r) = k \frac{( V(r) - V_0 )^2}{2 \cdot V_0} - Args: - mesh (:py:mod:`hoomd.mesh.Mesh`): Mesh data structure. - ignore_type (`bool`, *optional*): ignores mesh type if set to `True` - and calculates the conservation energy considering all triangles in - the mesh. Defaults to `False`. + .. rubric:: Example: + + .. code-block:: python + + volume = hoomd.md.mesh.conservation.Volume(mesh) + volume.params["mesh"] = dict(k=10.0, V0=100) + + {inherited} + + ---------- + + **Members defined in** `Volume`: Attributes: parameter (TypeParameter[dict]): @@ -162,15 +189,10 @@ class Volume(MeshConservationPotential): * ``V0`` (`float`, **required**) - target volume :math:`[\mathrm{length}^{3}]` - - .. rubric:: Example: - - .. code-block:: python - - volume = hoomd.md.mesh.conservation.Volume(mesh) - volume.params["mesh"] = dict(k=10.0, V0=100) """ _cpp_class_name = "VolumeConservationMeshForceCompute" + __doc__ = __doc__.replace("{inherited}", + MeshConservationPotential._doc_inherited) def __init__(self, mesh, ignore_type=False): params = TypeParameter("params", "types", @@ -183,3 +205,11 @@ def __init__(self, mesh, ignore_type=False): def volume(self): """Volume of the mesh triangulation.""" return self._cpp_obj.getVolume() + + +__all__ = [ + 'Area', + 'TriangleArea', + 'Volume', + 'MeshConservationPotential', +] diff --git a/hoomd/md/mesh/potential.py b/hoomd/md/mesh/potential.py index 8d38d43834..5d77eb68e4 100644 --- a/hoomd/md/mesh/potential.py +++ b/hoomd/md/mesh/potential.py @@ -22,6 +22,25 @@ class MeshPotential(Force): Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + + {inherited} + + ---------- + + **Members defined in** `MeshPotential`: + """ + + __doc__ = __doc__.replace("{inherited}", Force._doc_inherited) + _doc_inherited = Force._doc_inherited + """ + ---------- + + **Members inherited from** + `MeshPotential `: + + .. py:attribute:: mesh + + Mesh data structure used to compute the bond potential. + `Read more... ` """ def __init__(self, mesh): @@ -33,7 +52,7 @@ def _attach_hook(self): warnings.warn( f"{self} object is creating a new equivalent mesh structure." f" This is happending since the force is moving to a new " - f"simulation. To supress the warning explicitly set new mesh.", + f"simulation. To suppress the warning explicitly set new mesh.", RuntimeWarning) self._mesh = copy.deepcopy(self._mesh) self.mesh._attach(self._simulation) @@ -83,6 +102,8 @@ class MeshConservationPotential(MeshPotential): for `isinstance` or `issubclass` checks. """ + __doc__ += MeshPotential._doc_inherited + def __init__(self, mesh, ignore_type): super().__init__(mesh) self._ignore_type = ignore_type @@ -93,7 +114,7 @@ def _attach_hook(self): warnings.warn( f"{self} object is creating a new equivalent mesh structure." f" This is happending since the force is moving to a new " - f"simulation. To supress the warning explicitly set new mesh.", + f"simulation. To suppress the warning explicitly set new mesh.", RuntimeWarning) self._mesh = copy.deepcopy(self._mesh) self.mesh._attach(self._simulation) diff --git a/hoomd/md/methods/__init__.py b/hoomd/md/methods/__init__.py index da6cea22e0..937994f2dc 100644 --- a/hoomd/md/methods/__init__.py +++ b/hoomd/md/methods/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Integration methods for molecular dynamics. - -Integration methods work with `hoomd.md.Integrator` to define the equations +"""Integration methods work with `hoomd.md.Integrator` to define the equations of motion for the system. Each individual method applies the given equations of motion to a subset of particles. @@ -21,3 +19,16 @@ from .methods import (Method, Langevin, Brownian, Thermostatted, ConstantVolume, ConstantPressure, DisplacementCapped, OverdampedViscous) from . import thermostats + +__all__ = [ + 'rattle', + 'thermostats', + 'Method', + 'Langevin', + 'Brownian', + 'Thermostatted', + 'ConstantVolume', + 'ConstantPressure', + 'DisplacementCapped', + 'OverdampedViscous', +] diff --git a/hoomd/md/methods/methods.py b/hoomd/md/methods/methods.py index c70934fe3b..77ca988b3c 100644 --- a/hoomd/md/methods/methods.py +++ b/hoomd/md/methods/methods.py @@ -34,6 +34,8 @@ class Method(AutotunedObject): Users should use the subclasses and not instantiate `Method` directly. """ + __doc__ += AutotunedObject._doc_inherited + def _attach_hook(self): self._simulation.state.update_group_dof() @@ -50,11 +52,51 @@ class Thermostatted(Method): Note: Users should use the subclasses and not instantiate `Thermostatted` directly. + + .. invisible-code-block: python + + nvt = hoomd.md.methods.ConstantVolume( + filter=hoomd.filter.All(), + thermostat=hoomd.md.methods.thermostats.Bussi(kT=1.5)) + simulation.operations.integrator.methods = [nvt] + + {inherited} + + ---------- + + **Members defined in** `Thermostatted`: + + Attributes: + thermostat (hoomd.md.methods.thermostats.Thermostat): Temperature + control for the integrator. + + .. rubric:: Examples: + + .. code-block:: python + + nvt.thermostat.kT = 1.0 + + .. code-block:: python + + nvt.thermostat = hoomd.md.methods.thermostats.Bussi(kT=0.5) """ _remove_for_pickling = AutotunedObject._remove_for_pickling + ("_thermo",) _skip_for_equality = AutotunedObject._skip_for_equality | { "_thermo", } + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + + _doc_inherited = Method._doc_inherited + """ + ---------- + + **Members inherited from** + `Thermostatted `: + + .. py:attribute:: thermostat + + Temperature control for the integrator. + `Read more... ` + """ def _setattr_param(self, attr, value): if attr == "thermostat": @@ -122,24 +164,31 @@ class ConstantVolume(Thermostatted): thermostat=hoomd.md.methods.thermostats.Bussi(kT=1.5)) simulation.operations.integrator.methods = [nvt] + {inherited} + + ---------- + + **Members defined in** `ConstantVolume`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles on which to apply this method. - thermostat (hoomd.md.methods.thermostats.Thermostat): Temperature - control for the integrator. - - .. rubric:: Examples: + .. _Kamberaj 2005: https://dx.doi.org/10.1063/1.1906216 + """ - .. code-block:: python + __doc__ = __doc__.replace("{inherited}", Thermostatted._doc_inherited) - nvt.thermostat.kT = 1.0 + _doc_inherited = Thermostatted._doc_inherited + """ + ---------- - .. code-block:: python + **Members inherited from** + `ConstantVolume `: - nvt.thermostat = hoomd.md.methods.thermostats.Bussi(kT=0.5) + .. py:attribute:: filter - .. _Kamberaj 2005: https://dx.doi.org/10.1063/1.1906216 + Subset of particles on which to apply this method. + `Read more... ` """ def __init__(self, filter, thermostat=None): @@ -364,14 +413,16 @@ class ConstantPressure(Thermostatted): thermostat=hoomd.md.methods.thermostats.Bussi(kT=1.5)) simulation.operations.integrator.methods = [npt] + {inherited} + + ---------- + + **Members defined in** `ConstantPressure`: Attributes: filter (hoomd.filter.filter_like): Subset of particles on which to apply this method. - thermostat (hoomd.md.methods.thermostats.Thermostat): Temperature - control for the integrator. - S (tuple[hoomd.variant.Variant,...]): Stress components set point for the barostat. In Voigt notation, @@ -462,6 +513,8 @@ class ConstantPressure(Thermostatted): npt.barostat_dof = numpy.load(file=path / 'barostat_dof.npy') """ + __doc__ = __doc__.replace("{inherited}", Thermostatted._doc_inherited) + def __init__(self, filter, S, @@ -583,12 +636,6 @@ def barostat_energy(self): class DisplacementCapped(ConstantVolume): r"""Newtonian dynamics with a cap on the maximum displacement per time step. - The method limits particle motion to a maximum displacement allowed each - time step which may be helpful to relax a high energy initial condition. - - Warning: - This method does not conserve energy or momentum. - Args: filter (hoomd.filter.filter_like): Subset of particles on which to apply this method. @@ -596,6 +643,12 @@ class DisplacementCapped(ConstantVolume): displacement allowed for a particular timestep :math:`[\mathrm{length}]`. + The method limits particle motion to a maximum displacement allowed each + time step which may be helpful to relax a high energy initial condition. + + Warning: + This method does not conserve energy or momentum. + `DisplacementCapped` integrates integrates translational and rotational degrees of freedom using modified microcanoncial dynamics. See `NVE` for the basis of the algorithm. @@ -609,10 +662,13 @@ class DisplacementCapped(ConstantVolume): maximum_displacement=1e-3) simulation.operations.integrator.methods = [displacement_capped] - Attributes: - filter (hoomd.filter.filter_like): Subset of particles on which to - apply this method. + {inherited} + + ---------- + **Members defined in** `DisplacementCapped`: + + Attributes: maximum_displacement (hoomd.variant.variant_like): The maximum displacement allowed for a particular timestep :math:`[\mathrm{length}]`. @@ -622,6 +678,8 @@ class DisplacementCapped(ConstantVolume): displacement_capped.maximum_displacement = 1e-5 """ + __doc__ = __doc__.replace("{inherited}", ConstantVolume._doc_inherited) + def __init__(self, filter, maximum_displacement: hoomd.variant.variant_like): @@ -702,7 +760,7 @@ class Langevin(Method): based on `Kamberaj 2005`_. The attributes `gamma` and `gamma_r` set the translational and rotational - damping coefficients, respectivley, by particle type. + damping coefficients, respectively, by particle type. .. rubric:: Example: @@ -713,6 +771,12 @@ class Langevin(Method): .. _Kamberaj 2005: https://dx.doi.org/10.1063/1.1906216 + {inherited} + + ---------- + + **Members defined in** `Langevin`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. @@ -764,6 +828,8 @@ class Langevin(Method): langevin.gamma_r['A'] = [1.0, 2.0, 3.0] """ + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + def __init__( self, filter, @@ -924,7 +990,7 @@ class Brownian(Method): temperatures and pressures when logged or used by other methods. The attributes `gamma` and `gamma_r` set the translational and rotational - damping coefficients, respectivley, by particle type. + damping coefficients, respectively, by particle type. .. rubric:: Example: @@ -933,6 +999,12 @@ class Brownian(Method): brownian = hoomd.md.methods.Brownian(filter=hoomd.filter.All(), kT=1.5) simulation.operations.integrator.methods = [brownian] + {inherited} + + ---------- + + **Members defined in** `Brownian`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. @@ -974,6 +1046,8 @@ class Brownian(Method): brownian.gamma_r['A'] = [1.0, 2.0, 3.0] """ + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + def __init__( self, filter, @@ -1059,7 +1133,7 @@ class OverdampedViscous(Method): rotational drag coefficient (`gamma_r`). The attributes `gamma` and `gamma_r` set the translational and rotational - damping coefficients, respectivley, by particle type. + damping coefficients, respectively, by particle type. Warning: @@ -1087,6 +1161,12 @@ class OverdampedViscous(Method): filter=hoomd.filter.All()) simulation.operations.integrator.methods = [overdamped_viscous] + {inherited} + + ---------- + + **Members defined in** `OverdampedViscous`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. @@ -1113,6 +1193,8 @@ class OverdampedViscous(Method): overdamped_viscous.gamma_r['A'] = [1.0, 2.0, 3.0] """ + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + def __init__( self, filter, diff --git a/hoomd/md/methods/rattle.py b/hoomd/md/methods/rattle.py index 7a1e0a5feb..d5275de0f7 100644 --- a/hoomd/md/methods/rattle.py +++ b/hoomd/md/methods/rattle.py @@ -43,6 +43,45 @@ class MethodRATTLE(Method): Note: Users should use the subclasses and not instantiate `MethodRATTLE` directly. + + {inherited} + + ---------- + + **Members defined in** `MethodRATTLE`: + + Attributes: + filter (hoomd.filter.filter_like): Subset of particles on which to apply + this method. + + manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint + which is used by and as a trigger for the RATTLE algorithm of this + method. + + tolerance (float): Defines the tolerated error particles are allowed to + deviate from the manifold in terms of the implicit function. The + units of tolerance match that of the selected manifold's implicit + function. Defaults to 1e-6 + """ + + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) + + _doc_inherited = Method._doc_inherited + """ + ---------- + + **Members inherited from** + `MethodRATTLE `: + + .. py:attribute:: manifold_constraint + + Manifold constraint. + `Read more... ` + + .. py:attribute:: tolerance + + Defines the tolerated error particles are allowed to + deviate from the manifold in terms of the implicit function. + `Read more... ` """ def __init__(self, manifold_constraint, tolerance): @@ -93,20 +132,28 @@ class NVE(MethodRATTLE): manifold_constraint=sphere) simulation.operations.integrator.methods = [nve_rattle] + {inherited} + + ---------- + + **Members defined in** `NVE`: Attributes: filter (hoomd.filter.filter_like): Subset of particles on which to apply this method. + """ - manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint - which is used by and as a trigger for the RATTLE algorithm of this - method. + __doc__ = __doc__.replace("{inherited}", MethodRATTLE._doc_inherited) + _doc_inherited = MethodRATTLE._doc_inherited + """ + ---------- - tolerance (float): Defines the tolerated error particles are allowed to - deviate from the manifold in terms of the implicit function. The - units of tolerance match that of the selected manifold's implicit - function. Defaults to 1e-6 + **Members inherited from** + `NVE `: + .. py:attribute:: filter + + Subset of particles on which to apply this method. + `Read more... ` """ def __init__(self, filter, manifold_constraint, tolerance=0.000001): @@ -179,22 +226,20 @@ class DisplacementCapped(NVE): manifold_constraint=sphere) simulation.operations.integrator.methods = [relax_rattle] + {inherited} + + ---------- + + **Members defined in** `DisplacementCapped`: + Attributes: - filter (hoomd.filter.filter_like): Subset of particles on which to apply - this method. maximum_displacement (hoomd.variant.variant_like): The maximum displacement allowed for a particular timestep :math:`[\mathrm{length}]`. - manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint - which is used by and as a trigger for the RATTLE algorithm of this - method. - tolerance (float): Defines the tolerated error particles are allowed to - deviate from the manifold in terms of the implicit function. The - units of tolerance match that of the selected manifold's implicit - function. Defaults to 1e-6 - """ + __doc__ = __doc__.replace("{inherited}", NVE._doc_inherited) + def __init__(self, filter: hoomd.filter.filter_like, maximum_displacement: hoomd.variant.variant_like, @@ -264,6 +309,12 @@ class Langevin(MethodRATTLE): default_gamma_r=(1.0, 1.0, 1.0)) simulation.operations.integrator.methods = [langevin_rattle] + {inherited} + + ---------- + + **Members defined in** `Langevin`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. @@ -271,15 +322,6 @@ class Langevin(MethodRATTLE): kT (hoomd.variant.Variant): Temperature of the simulation :math:`[\mathrm{energy}]`. - manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint - which is used by and as a trigger for the RATTLE algorithm of this - method. - - tolerance (float): Defines the tolerated error particles are allowed - to deviate from the manifold in terms of the implicit function. - The units of tolerance match that of the selected manifold's - implicit function. Defaults to 1e-6 - gamma (TypeParameter[ ``particle type``, `float` ]): The drag coefficient for each particle type :math:`[\mathrm{mass} \cdot \mathrm{time}^{-1}]`. @@ -289,6 +331,8 @@ class Langevin(MethodRATTLE): :math:`[\mathrm{time}^{-1}]`. """ + __doc__ = __doc__.replace("{inherited}", MethodRATTLE._doc_inherited) + def __init__( self, filter, @@ -391,6 +435,12 @@ class Brownian(MethodRATTLE): default_gamma_r=(1.0, 1.0, 1.0)) simulation.operations.integrator.methods = [brownian_rattle] + {inherited} + + ---------- + + **Members defined in** `Brownian`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. @@ -398,15 +448,6 @@ class Brownian(MethodRATTLE): kT (hoomd.variant.Variant): Temperature of the simulation :math:`[\mathrm{energy}]`. - manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint - which is used by and as a trigger for the RATTLE algorithm of this - method. - - tolerance (float): Defines the tolerated error particles are allowed to - deviate from the manifold in terms of the implicit function. - The units of tolerance match that of the selected manifold's - implicit function. Defaults to 1e-6 - gamma (TypeParameter[ ``particle type``, `float` ]): The drag coefficient for each particle type :math:`[\mathrm{mass} \cdot \mathrm{time}^{-1}]`. @@ -416,6 +457,8 @@ class Brownian(MethodRATTLE): :math:`[\mathrm{time}^{-1}]`. """ + __doc__ = __doc__.replace("{inherited}", MethodRATTLE._doc_inherited) + def __init__(self, filter, kT, @@ -510,19 +553,16 @@ class OverdampedViscous(MethodRATTLE): default_gamma_r=(1.0, 1.0, 1.0)) simulation.operations.integrator.methods = [odv_rattle] + {inherited} + + ---------- + + **Members defined in** `OverdampedViscous`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles to apply this method to. - manifold_constraint (hoomd.md.manifold.Manifold): Manifold constraint - which is used by and as a trigger for the RATTLE algorithm of this - method. - - tolerance (float): Defines the tolerated error particles are allowed to - deviate from the manifold in terms of the implicit function. The - units of tolerance match that of the selected manifold's implicit - function. Defaults to 1e-6 - gamma (TypeParameter[ ``particle type``, `float` ]): The drag coefficient for each particle type :math:`[\mathrm{mass} \cdot \mathrm{time}^{-1}]`. @@ -532,6 +572,8 @@ class OverdampedViscous(MethodRATTLE): :math:`[\mathrm{time}^{-1}]`. """ + __doc__ = __doc__.replace("{inherited}", MethodRATTLE._doc_inherited) + def __init__(self, filter, manifold_constraint, @@ -581,3 +623,13 @@ def _attach_hook(self): self.manifold_constraint._cpp_obj, hoomd.variant.Constant(0.0), True, True, self.tolerance) + + +__all__ = [ + 'MethodRATTLE', + 'NVE', + 'DisplacementCapped', + 'Langevin', + 'Brownian', + 'OverdampedViscous', +] diff --git a/hoomd/md/methods/thermostats.py b/hoomd/md/methods/thermostats.py index f990a82a6c..e38a19f1d1 100644 --- a/hoomd/md/methods/thermostats.py +++ b/hoomd/md/methods/thermostats.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Provide classes for thermostatting simulations. - -The thermostat classes are for use with `hoomd.md.methods.ConstantVolume` and +"""The thermostat classes are for use with `hoomd.md.methods.ConstantVolume` and `hoomd.md.methods.ConstantPressure`. .. invisible-code-block: python @@ -216,11 +214,11 @@ def energy(self): def thermalize_dof(self): r"""Set the thermostat momenta to random values. - `thermalize_dof` sets a random value for the momentum - :math:`\xi`. When `Integrator.integrate_rotational_dof` is `True`, it - also sets a random value for the rotational thermostat momentum - :math:`\xi_{\mathrm{rot}}`. Call `thermalize_dof` to set a - new random state for the thermostat. + `thermalize_dof` sets a random value for the momentum :math:`\xi`. + When `hoomd.md.Integrator.integrate_rotational_dof` is `True`, + it also sets a random value for the rotational thermostat + momentum :math:`\xi_{\mathrm{rot}}`. Call `thermalize_dof` to set a new + random state for the thermostat. .. rubric:: Example @@ -395,3 +393,11 @@ def _attach_hook(self): self._cpp_obj = _md.BerendsenThermostat( self.kT, group, self._thermo, self._simulation.state._cpp_sys_def, self.tau) + + +__all__ = [ + 'Thermostat', + 'MTTK', + 'Bussi', + 'Berendsen', +] diff --git a/hoomd/md/minimize/__init__.py b/hoomd/md/minimize/__init__.py index 2211322026..46cbbb0d91 100644 --- a/hoomd/md/minimize/__init__.py +++ b/hoomd/md/minimize/__init__.py @@ -4,3 +4,7 @@ """Energy minimizer for molecular dynamics.""" from hoomd.md.minimize.fire import FIRE + +__all__ = [ + 'FIRE', +] diff --git a/hoomd/md/nlist.py b/hoomd/md/nlist.py index 9c33b079d3..430ba4bde0 100644 --- a/hoomd/md/nlist.py +++ b/hoomd/md/nlist.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Neighbor list acceleration structures. - -Pair forces (`hoomd.md.pair`) use neighbor list data structures to find +r"""Pair forces (`hoomd.md.pair`) use neighbor list data structures to find neighboring particle pairs (those within a distance of :math:`r_\mathrm{cut}`) efficiently. HOOMD-blue provides a several types of neighbor list construction algorithms that you can select from: `Cell`, `Tree`, and `Stencil`. @@ -48,8 +46,10 @@ Attention: Users should only set this attribute when utilizing the accessor APIs, - `pair_list`, `local_pair_list`, `cpu_local_nlist_arrays`, or - `gpu_local_nlist_arrays`. + `pair_list `, + `local_pair_list `, + `cpu_local_nlist_arrays `, or + `gpu_local_nlist_arrays `. .. rubric:: Exclusions @@ -93,16 +93,20 @@ class NeighborList(Compute): Users should not instantiate this class directly. The class can be used for `isinstance` or `issubclass` checks. + {inherited} + + ---------- + + **Members defined in** `NeighborList`: + Attributes: buffer (float): Buffer width :math:`[\mathrm{length}]`. + check_dist (bool): Flag to enable / disable distance checking. exclusions (tuple[str]): Defines which particles to exclude from the - neighbor list, see more details above. + neighbor list, as described in `hoomd.md.nlist`. + mesh (Mesh): Associated mesh data structure. rebuild_check_delay (int): How often to attempt to rebuild the neighbor list. - check_dist (bool): Flag to enable / disable distance checking. - mesh (Mesh): mesh data structure (optional) - default_r_cut (float): Default cutoff distance :math:`[\mathrm{length}]` - (optional). .. py:attribute:: r_cut @@ -114,6 +118,76 @@ class NeighborList(Compute): `float`]) """ + __doc__ = __doc__.replace("{inherited}", Compute._doc_inherited) + + _doc_inherited = Compute._doc_inherited + """ + ---------- + + **Members inherited from** + `NeighborList `: + + .. py:attribute:: buffer + + Buffer width. + `Read more... ` + + .. py:attribute:: check_dist + + Flag to enable / disable distance checking. + `Read more... ` + + .. py:attribute:: exclusions + + Defines which particles to exclude from the neighbor list. + `Read more... ` + + .. py:attribute:: mesh + + Associated mesh data structure. + `Read more... ` + + .. py:attribute:: rebuild_check_delay + + How often to attempt to rebuild the neighbor list. + `Read more... ` + + .. py:attribute:: r_cut + + Base cutoff radius for neighbor list queries. + `Read more... ` + + .. py:property:: cpu_local_nlist_arrays + + Local nlist arrays on the CPU. + `Read more... ` + + .. py:property:: gpu_local_nlist_arrays + + Local nlist arrays on the GPU. + `Read more... ` + + .. py:property:: local_pair_list + + Local pair list. + `Read more... ` + + .. py:property:: num_builds + + The number of neighbor list builds. + `Read more... ` + + .. py:property:: pair_list + + Global pair list. + `Read more... ` + + .. py:property:: shortest_rebuild + + The shortest period between neighbor list rebuilds. + `Read more... ` + + """ + def __init__(self, buffer, exclusions, rebuild_check_delay, check_dist, mesh, default_r_cut): @@ -152,14 +226,14 @@ def _detach_hook(self): @property def cpu_local_nlist_arrays(self): - """hoomd.md.data.NeighborListLocalAccess: Expose nlist arrays on the \ + """hoomd.md.data.NeighborListLocalAccess: Local nlist arrays on the \ CPU. - Provides direct acces to the neighbor list arrays on the cpu. All data + Provides direct access to the neighbor list arrays on the cpu. All data is MPI rank-local. The `hoomd.md.data.NeighborListLocalAccess` object exposes the internal - data representation to efficently iterate over the neighbor list. + data representation to efficiently iterate over the neighbor list. Note: The local arrays are read only. @@ -192,7 +266,7 @@ def gpu_local_nlist_arrays(self): is MPI rank-local. The `hoomd.md.data.NeighborListLocalAccessGPU` object exposes the - internal data representation to efficently iterate over the neighbor + internal data representation to efficiently iterate over the neighbor list. Note: @@ -349,7 +423,7 @@ class Cell(NeighborList): is usually the best option for most users when the asymmetry between the largest and smallest cutoff radius is less than 2:1. - .. image:: cell_list.png + .. image:: /cell_list.png :width: 250 px :align: center :alt: Cell list schematic @@ -367,11 +441,19 @@ class Cell(NeighborList): cell = nlist.Cell() + {inherited} + + ---------- + + **Members defined in** `Cell`: + Attributes: deterministic (bool): When `True`, sort neighbors to help provide deterministic simulation runs. """ + __doc__ = __doc__.replace("{inherited}", NeighborList._doc_inherited) + def __init__(self, buffer, exclusions=('bond',), @@ -443,7 +525,7 @@ class Stencil(NeighborList): cutoff radius (`P.J. in't Veld et al. 2008 `_): - .. image:: stencil_schematic.png + .. image:: /stencil_schematic.png :width: 300 px :align: center :alt: Stenciled cell list schematic @@ -472,6 +554,12 @@ class Stencil(NeighborList): describes this neighbor list implementation. Cite it if you utilize `Stencil` in your research. + {inherited} + + ---------- + + **Members defined in** `Stencil`: + Attributes: cell_width (float): The underlying stencil bin width for the cell list :math:`[\\mathrm{length}]`. @@ -479,6 +567,8 @@ class Stencil(NeighborList): deterministic simulation runs. """ + __doc__ = __doc__.replace("{inherited}", NeighborList._doc_inherited) + def __init__(self, cell_width, buffer, @@ -532,7 +622,7 @@ class Tree(NeighborList): per type.) The user should carefully benchmark neighbor list build times to select the appropriate neighbor list construction type. - .. image:: tree_schematic.png + .. image:: /tree_schematic.png :width: 400 px :align: center :alt: BVH tree schematic @@ -554,6 +644,8 @@ class Tree(NeighborList): nl_t = nlist.Tree(check_dist=False) """ + __doc__ += NeighborList._doc_inherited + def __init__(self, buffer, exclusions=('bond',), @@ -573,3 +665,11 @@ def _attach_hook(self): self._cpp_obj = nlist_cls(self._simulation.state._cpp_sys_def, self.buffer) super()._attach_hook() + + +__all__ = [ + 'NeighborList', + 'Cell', + 'Stencil', + 'Tree', +] diff --git a/hoomd/md/pair/__init__.py b/hoomd/md/pair/__init__.py index 5f4755509c..c3bf4f45d4 100644 --- a/hoomd/md/pair/__init__.py +++ b/hoomd/md/pair/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Pair Potentials for molecular dynamics. - -Pair force classes apply a force and virial on every particle in the +r"""Pair force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -161,3 +159,33 @@ TWF, LJGauss, ) + +__all__ = [ + 'aniso', + 'Pair', + 'LJ', + 'Gaussian', + 'ExpandedLJ', + 'ExpandedGaussian', + 'Yukawa', + 'Ewald', + 'Morse', + 'DPD', + 'DPDConservative', + 'DPDLJ', + 'ForceShiftedLJ', + 'Moliere', + 'ZBL', + 'Mie', + 'ExpandedMie', + 'ReactionField', + 'DLVO', + 'Buckingham', + 'LJ1208', + 'LJ0804', + 'Fourier', + 'OPP', + 'Table', + 'TWF', + 'LJGauss', +] diff --git a/hoomd/md/pair/aniso.py b/hoomd/md/pair/aniso.py index f73ad545ff..f85994d95a 100644 --- a/hoomd/md/pair/aniso.py +++ b/hoomd/md/pair/aniso.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Anisotropic pair forces. - -Anisotropic pair force classes apply a force, torque, and virial on every +r"""Anisotropic pair force classes apply a force, torque, and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -24,7 +22,6 @@ simulation.operations.integrator = hoomd.md.Integrator( dt=0.001, integrate_rotational_dof = True) - """ from collections.abc import Sequence @@ -47,15 +44,8 @@ class AnisotropicPair(Pair): Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. - - Args: - nlist (hoomd.md.nlist.NeighborList) : The neighbor list. - default_r_cut (`float`, optional) : The default cutoff for the - potential, defaults to ``None`` which means no cutoff - :math:`[\mathrm{length}]`. - mode (`str`, optional) : the energy shifting mode, defaults to "none". """ - + __doc__ += Pair._doc_inherited _accepted_modes = ("none", "shift") def __init__(self, nlist, default_r_cut=None, mode="none"): @@ -106,6 +96,12 @@ class Dipole(AnisotropicPair): dipole.params[('A', 'B')] = dict(A=1.0, kappa=4.0) dipole.mu['A'] = (4.0, 1.0, 0.0) + {inherited} + + ---------- + + **Members defined in** `Dipole`: + .. py:attribute:: params The dipole potential parameters. The dictionary has the following @@ -131,6 +127,7 @@ class Dipole(AnisotropicPair): `float` ]] """ _cpp_class_name = "AnisoPotentialPairDipole" + __doc__ = __doc__.replace("{inherited}", AnisotropicPair._doc_inherited) def __init__(self, nlist, default_r_cut=None): super().__init__(nlist, default_r_cut, 'none') @@ -181,6 +178,8 @@ class GayBerne(AnisotropicPair): (\vec{e_i} \otimes \vec{e_i} + \vec{e_j} \otimes \vec{e_j}), and :math:`\sigma_{\mathrm{min}} = 2 \min(\ell_\perp, \ell_\parallel)`. + The parallel direction is aligned with *z* axis in the particle's + reference frame. The cut-off parameter :math:`r_{\mathrm{cut}}` is defined for two particles oriented parallel along the **long** axis, i.e. @@ -198,6 +197,12 @@ class GayBerne(AnisotropicPair): gay_berne.params[('A', 'A')] = dict(epsilon=1.0, lperp=0.45, lpar=0.5) gay_berne.r_cut[('A', 'B')] = 2 ** (1.0 / 6.0) + {inherited} + + ---------- + + **Members defined in** `GayBerne`: + .. py:attribute:: params The Gay-Berne potential parameters. The dictionary has the following @@ -214,6 +219,7 @@ class GayBerne(AnisotropicPair): `dict`] """ _cpp_class_name = "AnisoPotentialPairGB" + __doc__ = __doc__.replace("{inherited}", AnisotropicPair._doc_inherited) def __init__(self, nlist, default_r_cut=None, mode='none'): super().__init__(nlist, default_r_cut, mode) @@ -398,59 +404,12 @@ class ALJ(AnisotropicPair): Changing dimension in a simulation will invalidate this force and will lead to error or unrealistic behavior. - .. py:attribute:: params - - The ALJ potential parameters. The dictionary has the following keys: - - * ``epsilon`` (`float`, **required**) - base energy scale - :math:`\varepsilon` :math:`[energy]`. - * ``sigma_i`` (`float`, **required**) - the insphere diameter of the - first particle type, :math:`\sigma_i` :math:`[length]`. - * ``sigma_j`` (`float`, **required**) - the insphere diameter of the - second particle type, :math:`\sigma_j` :math:`[length]`. - * ``alpha`` (`int`, **required**) - Integer 0-3 indicating whether or - not to include the attractive component of the interaction (see - above for details). - * ``contact_ratio_i`` (`float`, **optional**) - :math:`\beta_i`, the - ratio of the contact sphere diameter of the first type with - ``sigma_i``. - Defaults to 0.15. - * ``contact_ratio_j`` (`float`, **optional**) - :math:`\beta_j`, the - ratio of the contact sphere diameter of the second type with - ``sigma_j``. - Defaults to 0.15. - * ``average_simplices`` (`bool`, **optional**) - Whether to average over - simplices. Defaults to ``True``. See class documentation for more - information. - - Type: `hoomd.data.typeparam.TypeParameter` [`tuple` [``particle_types``, - ``particle_types``], `dict`] - Note: While the evaluation of the potential is symmetric with respect to the potential parameter labels ``i`` and ``j``, the parameters which physically represent a specific particle type must appear in all sets of pair parameters which include that particle type. - .. py:attribute:: shape - - The shape of a given type. The dictionary has the following keys per - type: - - * ``vertices`` (`list` [`tuple` [`float`, `float`, `float`]], - **required**) - The vertices of a convex polytope in 2 or 3 - dimensions. The third dimension in 2D is ignored. - * ``rounding_radii`` (`tuple` [`float`, `float`, `float`] or `float`) - - The semimajor axes of a rounding ellipsoid - :math:`R_{\mathrm{rounding},i}`. If a single value is specified, the - rounding ellipsoid is a sphere. Defaults to (0.0, 0.0, 0.0). - * ``faces`` (`list` [`list` [`int`]], **required**) - The faces of the - polyhedron specified as a list of list of integers. The indices - corresponding to the vertices must be ordered counterclockwise with - respect to the face normal vector pointing outward from the origin. - - Type: `hoomd.data.typeparam.TypeParameter` [``particle_types``, `dict`] - Example:: nl = hoomd.md.nlist.Cell(buffer=0.4) @@ -516,8 +475,62 @@ class ALJ(AnisotropicPair): alj.shape["A"] = dict(vertices=cube.vertices, faces=cube.faces) + {inherited} + + ---------- + + **Members defined in** `ALJ`: + + .. py:attribute:: params + + The ALJ potential parameters. The dictionary has the following keys: + + * ``epsilon`` (`float`, **required**) - base energy scale + :math:`\varepsilon` :math:`[energy]`. + * ``sigma_i`` (`float`, **required**) - the insphere diameter of the + first particle type, :math:`\sigma_i` :math:`[length]`. + * ``sigma_j`` (`float`, **required**) - the insphere diameter of the + second particle type, :math:`\sigma_j` :math:`[length]`. + * ``alpha`` (`int`, **required**) - Integer 0-3 indicating whether or + not to include the attractive component of the interaction (see + above for details). + * ``contact_ratio_i`` (`float`, **optional**) - :math:`\beta_i`, the + ratio of the contact sphere diameter of the first type with + ``sigma_i``. + Defaults to 0.15. + * ``contact_ratio_j`` (`float`, **optional**) - :math:`\beta_j`, the + ratio of the contact sphere diameter of the second type with + ``sigma_j``. + Defaults to 0.15. + * ``average_simplices`` (`bool`, **optional**) - Whether to average over + simplices. Defaults to ``True``. See class documentation for more + information. + + Type: `hoomd.data.typeparam.TypeParameter` [`tuple` [``particle_types``, + ``particle_types``], `dict`] + + .. py:attribute:: shape + + The shape of a given type. The dictionary has the following keys per + type: + + * ``vertices`` (`list` [`tuple` [`float`, `float`, `float`]], + **required**) - The vertices of a convex polytope in 2 or 3 + dimensions. The third dimension in 2D is ignored. + * ``rounding_radii`` (`tuple` [`float`, `float`, `float`] or `float`) + - The semimajor axes of a rounding ellipsoid + :math:`R_{\mathrm{rounding},i}`. If a single value is specified, the + rounding ellipsoid is a sphere. Defaults to (0.0, 0.0, 0.0). + * ``faces`` (`list` [`list` [`int`]], **required**) - The faces of the + polyhedron specified as a list of list of integers. The indices + corresponding to the vertices must be ordered counterclockwise with + respect to the face normal vector pointing outward from the origin. + + Type: `hoomd.data.typeparam.TypeParameter` [``particle_types``, `dict`] """ + __doc__ = __doc__.replace("{inherited}", AnisotropicPair._doc_inherited) + # We don't define a _cpp_class_name since the dimension is a template # parameter in C++, so use an instance level attribute instead that is # created in _attach based on the dimension of the associated simulation. @@ -568,7 +581,7 @@ def type_shapes(self): with GSD files for visualization. This is not meant to be used for access to shape information in Python. - See the attribute ``shape`` for programatic assess. Use this property to + See the attribute ``shape`` for programmatic assess. Use this property to log shape for visualization and storage through the GSD file type. """ return self._return_type_shapes() @@ -613,7 +626,7 @@ class Patchy(AnisotropicPair): f_{min} &= \big( 1 + e^{-\omega (-1 - \cos{\alpha}) } \big)^{-1} \\ \end{align} - .. image:: patchy-pair.svg + .. image:: /patchy-pair.svg :align: center :height: 400px :alt: Two dashed circles not quite touching. Circle i on the left has a faded @@ -628,7 +641,7 @@ class Patchy(AnisotropicPair): :math:`cos(\theta_i) = \mathbf{q} \hat{d} \mathbf{q}^* \cdot \hat{r}_{ij}` and :math:`cos(\theta_j) = \mathbf{q} \hat{d} \mathbf{q}^* \cdot -\hat{r}_{ij}`. - .. image:: patchy-def.svg + .. image:: /patchy-def.svg :align: center :height: 400px :alt: A single dashed circle centered at the origin of Cartesian x y axes. @@ -638,7 +651,7 @@ class Patchy(AnisotropicPair): :math:`\alpha` and :math:`\omega` control the shape of the patch: - .. image:: patchy-modulator.svg + .. image:: /patchy-modulator.svg :alt: Plots of modulator f with alpha equals pi over 3 for omegas of 2, 5, 10, 20 and 50. For omega of 50, the plot is a barely rounded step from 0 to 1 at negative pi over 3 and back down to 0 at pi over 3. The omega 2 line is so @@ -668,6 +681,12 @@ class Patchy(AnisotropicPair): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + {inherited} + + ---------- + + **Members defined in** `Patchy`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -712,17 +731,11 @@ class Patchy(AnisotropicPair): patchy.directors['A'] = [] """ + __doc__ = __doc__.replace("{inherited}", AnisotropicPair._doc_inherited) + _doc_inherited = AnisotropicPair._doc_inherited + r""" + ---------- - _doc_args = r""" - Args: - nlist (hoomd.md.nlist.NeighborList): Neighbor list - default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. - mode (str): energy shifting/smoothing mode. - """ - - _doc_inherited = r""" - - **Inherited from:** `Patchy ` + **Members inherited from** `Patchy `: .. py:attribute:: directors @@ -759,8 +772,13 @@ def _check_0_pi(input): class PatchyLJ(Patchy): - """Modulate `hoomd.md.pair.LJ` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.LJ` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -775,6 +793,12 @@ class PatchyLJ(Patchy): patchylj.directors['A'] = [(1,0,0)] simulation.operations.integrator.forces = [patchylj] + {inherited} + + ---------- + + **Members defined in** `PatchyLJ`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -793,17 +817,21 @@ class PatchyLJ(Patchy): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyLJ" _pair_params = {"epsilon": float, "sigma": float} class PatchyExpandedGaussian(Patchy): - """Modulate `hoomd.md.pair.ExpandedGaussian` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.ExpandedGaussian` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -820,6 +848,12 @@ class PatchyExpandedGaussian(Patchy): patchy_expanded_gaussian.directors['A'] = [(1,0,0), (1,1,1)] simulation.operations.integrator.forces = [patchy_expanded_gaussian] + {inherited} + + ---------- + + **Members defined in** `PatchyExpandedGaussian`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -842,14 +876,19 @@ class PatchyExpandedGaussian(Patchy): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyExpandedGaussian" _pair_params = {"epsilon": float, "sigma": float, "delta": float} class PatchyExpandedLJ(Patchy): - """Modulate `hoomd.md.pair.ExpandedLJ` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.ExpandedLJ` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric: Example: .. code-block:: python @@ -862,8 +901,13 @@ class PatchyExpandedLJ(Patchy): patchylj.params[('A', 'A')] = dict(pair_params=lj_params, envelope_params=envelope_params) patchylj.directors['A'] = [(1,0,0)] - simulation.operation.integrator.forces = [patchylj] + simulation.operations.integrator.forces = [patchylj] + {inherited} + + ---------- + + **Members defined in** `PatchyExpandedLJ`: .. py:attribute:: params @@ -887,14 +931,19 @@ class PatchyExpandedLJ(Patchy): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyExpandedLJ" _pair_params = {"epsilon": float, "sigma": float, "delta": float} class PatchyExpandedMie(Patchy): - """Modulate `hoomd.md.pair.ExpandedMie` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.ExpandedMie` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -906,11 +955,17 @@ class PatchyExpandedMie(Patchy): patchy_expanded_mie = hoomd.md.pair.aniso.PatchyExpandedMie( nlist=neighbor_list, default_r_cut=3.0) patchy_expanded_mie.params[('A', 'A')] = dict( - pair_params=expanded_mie_params + pair_params=expanded_mie_params, envelope_params=envelope_params) patchy_expanded_mie.directors['A'] = [(1,0,0)] simulation.operations.integrator.forces = [patchy_expanded_mie] + {inherited} + + ---------- + + **Members defined in** `PatchyExpandedMie`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -937,7 +992,7 @@ class PatchyExpandedMie(Patchy): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyExpandedMie" _pair_params = { "epsilon": float, @@ -949,8 +1004,13 @@ class PatchyExpandedMie(Patchy): class PatchyGaussian(Patchy): - """Modulate `hoomd.md.pair.Gaussian` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.Gaussian` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -965,6 +1025,12 @@ class PatchyGaussian(Patchy): patchy_gaussian.directors['A'] = [(1,0,0)] simulation.operations.integrator.forces = [patchy_gaussian] + {inherited} + + ---------- + + **Members defined in** `PatchyGaussian`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -991,14 +1057,19 @@ class PatchyGaussian(Patchy): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyGauss" _pair_params = {"epsilon": float, "sigma": float} class PatchyMie(Patchy): - """Modulate `hoomd.md.pair.Mie` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.Mie` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -1008,11 +1079,17 @@ class PatchyMie(Patchy): patchy_mie = hoomd.md.pair.aniso.PatchyMie(nlist=neighbor_list, default_r_cut=3.0) - patchy_mie.params[('A', 'A')] = dict(pair_params=mie_params + patchy_mie.params[('A', 'A')] = dict(pair_params=mie_params, envelope_params = envelope_params) patchy_mie.directors['A'] = [(1,0,0)] simulation.operations.integrator.forces = [patchy_mie] + {inherited} + + ---------- + + **Members defined in** `PatchyMie`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -1037,14 +1114,19 @@ class PatchyMie(Patchy): `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyMie" _pair_params = {"epsilon": float, "sigma": float, "n": float, "m": float} class PatchyYukawa(Patchy): - """Modulate `hoomd.md.pair.Yukawa` with angular patches.""" - _doc = r""" + r"""Modulate `hoomd.md.pair.Yukawa` with angular patches. + + Args: + nlist (hoomd.md.nlist.NeighborList): Neighbor list + default_r_cut (float): Default cutoff radius :math:`[\mathrm{length}]`. + mode (str): energy shifting/smoothing mode. + .. rubric:: Example: .. code-block:: python @@ -1054,11 +1136,17 @@ class PatchyYukawa(Patchy): patchy_yukawa = hoomd.md.pair.aniso.PatchyYukawa(nlist=neighbor_list, default_r_cut=5.0) - patchy_yukawa.params[('A', 'A')] = dict(pair_params=yukawa_params + patchy_yukawa.params[('A', 'A')] = dict(pair_params=yukawa_params, envelope_params=envelope_params) patchy_yukawa.directors['A'] = [(1,0,0)] simulation.operations.integrator.forces = [patchy_yukawa] + {inherited} + + ---------- + + **Members defined in** `PatchyYukawa`: + .. py:attribute:: params The Patchy potential parameters unique to each pair of particle types. The @@ -1079,6 +1167,22 @@ class PatchyYukawa(Patchy): `dict`] """ - __doc__ += "\n" + Patchy._doc_args + _doc + Patchy._doc_inherited + __doc__ = __doc__.replace("{inherited}", Patchy._doc_inherited) _cpp_class_name = "AnisoPotentialPairPatchyYukawa" _pair_params = {"epsilon": float, "kappa": float} + + +__all__ = [ + 'AnisotropicPair', + 'Dipole', + 'GayBerne', + 'ALJ', + 'Patchy', + 'PatchyLJ', + 'PatchyExpandedGaussian', + 'PatchyExpandedLJ', + 'PatchyExpandedMie', + 'PatchyGaussian', + 'PatchyMie', + 'PatchyYukawa', +] diff --git a/hoomd/md/pair/pair.py b/hoomd/md/pair/pair.py index 1c32dea4fa..2473b763b2 100644 --- a/hoomd/md/pair/pair.py +++ b/hoomd/md/pair/pair.py @@ -24,6 +24,25 @@ class Pair(force.Force): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + {inherited} + + ---------- + + **Members defined in** `Pair`: + + .. py:attribute:: nlist + + Neighbor list used to compute the pair force. + + Type: `hoomd.md.nlist.NeighborList` + + .. py:attribute:: mode + + *mode*, *optional*: defaults to ``"none"``. + Possible values: ``"none"``, ``"shift"``, ``"xplor"`` + + Type: `str` + .. py:attribute:: r_cut Cuttoff radius beyond which the energy and force are 0 @@ -41,19 +60,39 @@ class Pair(force.Force): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `float`]) + """ - .. py:attribute:: mode - - *mode*, *optional*: defaults to ``"none"``. - Possible values: ``"none"``, ``"shift"``, ``"xplor"`` + __doc__ = __doc__.replace("{inherited}", force.Force._doc_inherited) + _doc_inherited = force.Force._doc_inherited + """ + ---------- - Type: `str` + **Members inherited from** + `Pair `: .. py:attribute:: nlist Neighbor list used to compute the pair force. + `Read more... ` - Type: `hoomd.md.nlist.NeighborList` + .. py:attribute:: mode + + Energy smoothing/cutoff mode. + `Read more... ` + + .. py:attribute:: r_cut + + Cuttoff radius beyond which the energy and force are 0. + `Read more... ` + + .. py:attribute:: r_on + + Radius at which the XPLOR smoothing function starts. + `Read more... ` + + .. py:method:: compute_energy + + Compute the energy between two sets of particles. + `Read more... ` """ # The accepted modes for the potential. Should be reset by subclasses with @@ -186,6 +225,12 @@ class LJ(Pair): lj.params[('A', 'A')] = {'sigma': 1.0, 'epsilon': 1.0} lj.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `LJ`: + .. py:attribute:: params The LJ potential parameters. The dictionary has the following keys: @@ -198,12 +243,6 @@ class LJ(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` - .. py:attribute:: tail_correction Whether to apply the isotropic integrated long range tail correction. @@ -211,6 +250,7 @@ class LJ(Pair): Type: `bool` """ _cpp_class_name = "PotentialPairLJ" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, @@ -250,6 +290,12 @@ class Gaussian(Pair): gauss.params[('A', 'A')] = dict(epsilon=1.0, sigma=1.0) gauss.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `Gaussian`: + .. py:attribute:: params The Gauss potential parameters. The dictionary has the following @@ -262,14 +308,9 @@ class Gaussian(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairGauss" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -303,6 +344,12 @@ class ExpandedGaussian(Pair): sigma=1.0, delta=0.5) expanded_gauss.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `ExpandedGaussian`: + .. py:attribute:: params The expanded Gaussian potential parameters. The dictionary has the @@ -317,14 +364,9 @@ class ExpandedGaussian(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairExpandedGaussian" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -367,6 +409,12 @@ class ExpandedLJ(Pair): delta=0.75) expanded_lj.params[('B', 'B')] = dict(epsilon=1.0, sigma=1.0, delta=0.5) + {inherited} + + ---------- + + **Members defined in** `ExpandedLJ`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -380,14 +428,9 @@ class ExpandedLJ(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = 'PotentialPairExpandedLJ' + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -425,26 +468,27 @@ class Yukawa(Pair): yukawa.params[('A', 'A')] = dict(epsilon=1.0, kappa=1.0) yukawa.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `Yukawa`: + .. py:attribute:: params The Yukawa potential parameters. The dictionary has the following keys: * ``epsilon`` (`float`, **required**) - energy parameter - :math:`\varepsilon` :math:`[\mathrm{energy}]` + :math:`\varepsilon` :math:`[\mathrm{energy}] [\mathrm{length}]` * ``kappa`` (`float`, **required**) - scaling parameter :math:`\kappa` :math:`[\mathrm{length}^{-1}]` Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairYukawa" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -484,6 +528,12 @@ class Ewald(Pair): ewald.params[('A', 'A')] = dict(kappa=1.0, alpha=1.5) ewald.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `Ewald`: + .. py:attribute:: params The Ewald potential parameters. The dictionary has the following keys: @@ -495,14 +545,9 @@ class Ewald(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``. - - Type: `str` """ _cpp_class_name = "PotentialPairEwald" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__(self, nlist, default_r_cut=None): @@ -559,7 +604,7 @@ class Table(Pair): evenly spaced grid points points between :math:`r_{\\mathrm{min}}` and :math:`r_{\\mathrm{cut}}`. `Table` linearly interpolates values when :math:`r` lies between grid points and between the last grid point and - :math:`r=r_{\\mathrm{cut}}`. The force must be specificed commensurate with + :math:`r=r_{\\mathrm{cut}}`. The force must be commensurate with the potential: :math:`F = -\\frac{\\partial U}{\\partial r}`. `Table` does not support energy shifting or smoothing modes. @@ -581,6 +626,12 @@ class Table(Pair): There must be at least one element in U and F, and the ``r_cut`` value of 0 disables the interaction entirely. + {inherited} + + ---------- + + **Members defined in** `Table`: + Attributes: params (`TypeParameter` [\ `tuple` [``particle_type``, ``particle_type``],\ @@ -597,10 +648,9 @@ class Table(Pair): * ``F`` ((*N*,) `numpy.ndarray` of `float`, **required**) - the tabulated force values :math:`[\\mathrm{force}]`. Must have the same length as ``U``. - - mode (str): Energy shifting/smoothing mode: ``"none"``. """ _cpp_class_name = "PotentialPairTable" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__(self, nlist, default_r_cut=None): @@ -642,6 +692,12 @@ class Morse(Pair): morse.params[('A', 'A')] = dict(D0=1.0, alpha=3.0, r0=1.0) morse.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `Morse`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -655,15 +711,10 @@ class Morse(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairMorse" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -735,6 +786,12 @@ class DPD(Pair): dpd.params[('B', 'B')] = dict(A=25.0, gamma=4.5) dpd.params[(['A', 'B'], ['C', 'D'])] = dict(A=40.0, gamma=4.5) + {inherited} + + ---------- + + **Members defined in** `DPD`: + .. py:attribute:: params The force parameters. The dictionary has the following keys: @@ -745,14 +802,9 @@ class DPD(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``. - - Type: `str` """ _cpp_class_name = "PotentialPairDPDThermoDPD" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__( @@ -805,6 +857,12 @@ class DPDConservative(Pair): dpdc.params[('A', 'B')] = dict(A=2.0, r_cut = 1.0) dpdc.params[(['A', 'B'], ['C', 'D'])] = dict(A=3.0) + {inherited} + + ---------- + + **Members defined in** `DPDConservative`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -813,14 +871,9 @@ class DPDConservative(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``. - - Type: `str` """ _cpp_class_name = "PotentialPairConservativeDPD" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__(self, nlist, default_r_cut=None): @@ -887,6 +940,12 @@ class DPDLJ(Pair): epsilon=3.0, sigma=1.0, gamma=1.2) dpdlj.r_cut[('B', 'B')] = 2.0**(1.0/6.0) + {inherited} + + ---------- + + **Members defined in** `DPDLJ`: + .. py:attribute:: params The DPDLJ potential parameters. The dictionary has the following keys: @@ -900,14 +959,9 @@ class DPDLJ(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"`` or ``"shift"``. - - Type: `str` """ _cpp_class_name = "PotentialPairDPDThermoLJ" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none", "shift") def __init__(self, nlist, kT, default_r_cut=None, mode='none'): @@ -968,6 +1022,12 @@ class ForceShiftedLJ(Pair): fslj = pair.ForceShiftedLJ(nlist=nl, default_r_cut=1.5) fslj.params[('A', 'A')] = dict(epsilon=1.0, sigma=1.0) + {inherited} + + ---------- + + **Members defined in** `ForceShiftedLJ`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -979,14 +1039,9 @@ class ForceShiftedLJ(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``. - - Type: `str` """ _cpp_class_name = "PotentialPairForceShiftedLJ" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__(self, nlist, default_r_cut=None): @@ -1044,6 +1099,12 @@ class Moliere(Pair): moliere.params[('A', 'B')] = dict(qi=Zi*e, qj=Zj*e, aF=aF) + {inherited} + + ---------- + + **Members defined in** `Moliere`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1061,14 +1122,9 @@ class Moliere(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairMoliere" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1122,6 +1178,12 @@ class ZBL(Pair): zbl.params[('A', 'B')] = dict(qi=Zi*e, qj=Zj*e, aF=aF) + {inherited} + + ---------- + + **Members defined in** `ZBL`: + .. py:attribute:: params The ZBL potential parameters. The dictionary has the following keys: @@ -1136,14 +1198,9 @@ class ZBL(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``. - - Type: `str` """ _cpp_class_name = "PotentialPairZBL" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none",) def __init__(self, nlist, default_r_cut=None, default_r_on=0.): @@ -1181,6 +1238,12 @@ class Mie(Pair): mie.r_on[('A', 'A')] = 2.0 mie.params[(['A', 'B'], ['C', 'D'])] = dict(epsilon=1.5, sigma=2.0) + {inherited} + + ---------- + + **Members defined in** `Mie`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1196,14 +1259,9 @@ class Mie(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairMie" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): @@ -1250,6 +1308,12 @@ class ExpandedMie(Pair): "epsilon": 1.5, "sigma": 2.0, "n": 12, "m": 6, "delta": 0.5} + {inherited} + + ---------- + + **Members defined in** `ExpandedMie`: + .. py:attribute:: params The Expanded Mie potential parameters. @@ -1268,14 +1332,9 @@ class ExpandedMie(Pair): Type: `TypeParameter` [ `tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairExpandedMie" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): @@ -1338,6 +1397,12 @@ class ReactionField(Pair): reaction_field.params[('B', 'B')] = dict( epsilon=1.0, eps_rf=0.0, use_charge=True) + {inherited} + + ---------- + + **Members defined in** `ReactionField`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1351,14 +1416,9 @@ class ReactionField(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairReactionField" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1411,6 +1471,12 @@ class DLVO(Pair): dlvo.params[('A', 'B')] = dict(A=2.0, kappa=0.5, Z=3, a1=1, a2=3) dlvo.params[('B', 'B')] = dict(A=2.0, kappa=0.5, Z=3, a1=3, a2=3) + {inherited} + + ---------- + + **Members defined in** `DLVO`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1428,14 +1494,9 @@ class DLVO(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"`` or ``"shift"``. - - Type: `str` """ _cpp_class_name = "PotentialPairDLVO" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none", "shift") def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): @@ -1479,6 +1540,12 @@ class Buckingham(Pair): buck.params[('A', 'B')] = dict(A=1.0, rho=1.0, C=1.0) buck.params[('B', 'B')] = dict(A=2.0, rho=2.0, C=2.0) + {inherited} + + ---------- + + **Members defined in** `Buckingham`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1490,15 +1557,10 @@ class Buckingham(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairBuckingham" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1531,6 +1593,12 @@ class LJ1208(Pair): U(r) = 4 \varepsilon \left[ \left( \frac{\sigma}{r} \right)^{12} - \left( \frac{\sigma}{r} \right)^{8} \right] + {inherited} + + ---------- + + **Members defined in** `LJ1208`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1542,14 +1610,9 @@ class LJ1208(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairLJ1208" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1583,6 +1646,12 @@ class LJ0804(Pair): lj0804.params[('A', 'B')] = dict(epsilon=2.0, sigma=1.0) lj0804.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `LJ0804`: + .. py:attribute:: params The LJ potential parameters. The dictionary has the following keys: @@ -1594,14 +1663,9 @@ class LJ0804(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairLJ0804" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1643,6 +1707,12 @@ class Fourier(Pair): fourier = pair.Fourier(default_r_cut=3.0, nlist=nl) fourier.params[('A', 'A')] = dict(a=[a2,a3,a4], b=[b2,b3,b4]) + {inherited} + + ---------- + + **Members defined in** `Fourier`: + .. py:attribute:: params The Fourier potential parameters. The dictionary has the following @@ -1655,14 +1725,9 @@ class Fourier(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"`` or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairFourier" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) _accepted_modes = ("none", "xplor") def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): @@ -1705,6 +1770,12 @@ class OPP(Pair): 'eta2': 3, 'k': 1.0, 'phi': 3.14} opp.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `OPP`: + .. py:attribute:: params The OPP potential parameters. The dictionary has the following keys: @@ -1728,14 +1799,9 @@ class OPP(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairOPP" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, default_r_cut=None, default_r_on=0., mode='none'): super().__init__(nlist, default_r_cut, default_r_on, mode) @@ -1781,6 +1847,12 @@ class TWF(Pair): twf.params[('A', 'A')] = {'sigma': 1.0, 'epsilon': 1.0, 'alpha': 50.0} twf.r_cut[('A', 'B')] = 3.0 + {inherited} + + ---------- + + **Members defined in** `TWF`: + .. py:attribute:: params The LJ potential parameters. The dictionary has the following keys: @@ -1794,14 +1866,9 @@ class TWF(Pair): Type: `TypeParameter` [`tuple` [``particle_type``, ``particle_type``], `dict`] - - .. py:attribute:: mode - - Energy shifting/smoothing mode: ``"none"``, ``"shift"``, or ``"xplor"``. - - Type: `str` """ _cpp_class_name = "PotentialPairTWF" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, @@ -1837,6 +1904,20 @@ class LJGauss(Pair): \epsilon \exp \left[- \frac{\left(r - r_{0}\right)^{2}}{2 \sigma^{2}} \right] + Example:: + + nl = hoomd.md.nlist.Cell() + ljg = pair.LJGauss(nl) + ljg.params[('A', 'A')] = dict(epsilon=1.0, sigma=0.02, r0=1.6) + ljg.params[('A', 'B')] = {'epsilon' : 2.0, 'sigma' : 0.02, 'r0' : 1.6} + ljg.params[('A', 'B')] = {'epsilon' : 2.0, 'sigma' : 0.02, 'r0' : 1.6} + + {inherited} + + ---------- + + **Members defined in** `TWF`: + .. py:attribute:: params The potential parameters. The dictionary has the following keys: @@ -1847,18 +1928,9 @@ class LJGauss(Pair): Gaussian width :math:`\sigma > 0` :math:`[\mathrm{length}]` * ``r0`` (`float`, **required**) - Gaussian center :math:`r_0` :math:`[\mathrm{length}]` - - Example:: - - nl = hoomd.md.nlist.Cell() - ljg = pair.LJGauss(nl) - ljg.params[('A', 'A')] = dict(epsilon=1.0, sigma=0.02, r0=1.6) - ljg.params[('A', 'B')] = {'epsilon' : 2.0, 'sigma' : 0.02, 'r0' : 1.6} - ljg.params[('A', 'B')] = {'epsilon' : 2.0, 'sigma' : 0.02, 'r0' : 1.6} - - .. versionadded:: 3.1.0 """ _cpp_class_name = "PotentialPairLJGauss" + __doc__ = __doc__.replace("{inherited}", Pair._doc_inherited) def __init__(self, nlist, diff --git a/hoomd/md/special_pair.py b/hoomd/md/special_pair.py index 17abe48a00..f720d9e3ba 100644 --- a/hoomd/md/special_pair.py +++ b/hoomd/md/special_pair.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""Special pair forces. - -Special pair force classes apply a force and virial on every particle in the +r"""Special pair force classes apply a force and virial on every particle in the simulation state commensurate with the potential energy: .. math:: @@ -18,7 +16,7 @@ `hoomd.State` member ``pair_group``. HOOMD-blue does not compute special pair groups, users must explicitly define special pairs in the initial condition. -.. image:: md-bond.svg +.. image:: /md-bond.svg :alt: Definition of the special pair between particles j and k. In the special pair group (j,k), :math:`r` is the length of the vector between @@ -55,6 +53,8 @@ class SpecialPair(Force): for `isinstance` or `issubclass` checks. """ + __doc__ += Force._doc_inherited + # Module where the C++ class is defined. Reassign this when developing an # external plugin. _ext_module = _md @@ -96,6 +96,18 @@ class LJ(SpecialPair): fields, such as the scaled 1-4 interactions in OPLS where both the 1-4 `LJ` and `Coulomb` interactions are scaled by 0.5. + Examples:: + + lj = special_pair.LJ() + lj.params['cluster'] = dict(epsilon=3, sigma=0.5) + lj.r_cut['cluster'] = 5 + + {inherited} + + ---------- + + **Members defined in** `LJ`: + Attributes: params (TypeParameter[``special pair type``, dict]): The parameter of the lj forces for each particle type. @@ -110,15 +122,10 @@ class LJ(SpecialPair): r_cut (TypeParameter[``special pair type``, float]): The cut-off distance for special pair potential :math:`[\mathrm{length}]` - - Examples:: - - lj = special_pair.LJ() - lj.params['cluster'] = dict(epsilon=3, sigma=0.5) - lj.r_cut['cluster'] = 5 """ _cpp_class_name = "PotentialSpecialPairLJ" + __doc__ = __doc__.replace("{inherited}", SpecialPair._doc_inherited) def __init__(self): super().__init__() @@ -151,6 +158,18 @@ class Coulomb(SpecialPair): fields, such as the scaled 1-4 interactions in OPLS where both the 1-4 `LJ` and `Coulomb` interactions are scaled by 0.5. + Examples:: + + coulomb = special_pair.Coulomb() + coulomb.params['cluster'] = dict(alpha=1.0) + coulomb.r_cut['cluster'] = 2 + + {inherited} + + ---------- + + **Members defined in** `Coulomb`: + Attributes: params (TypeParameter[``special pair type``, dict]): The parameter of the Coulomb forces for each particle type. @@ -162,15 +181,10 @@ class Coulomb(SpecialPair): r_cut (TypeParameter[``special pair type``, float]): The cut-off distance for special pair potential :math:`[\mathrm{length}]` - - Examples:: - - coulomb = special_pair.Coulomb() - coulomb.params['cluster'] = dict(alpha=1.0) - coulomb.r_cut['cluster'] = 2 """ _cpp_class_name = "PotentialSpecialPairCoulomb" + __doc__ = __doc__.replace("{inherited}", SpecialPair._doc_inherited) def __init__(self): super().__init__() @@ -179,3 +193,10 @@ def __init__(self): r_cut = TypeParameter("r_cut", "special_pair_types", TypeParameterDict(float, len_keys=1)) self._extend_typeparam([params, r_cut]) + + +__all__ = [ + 'SpecialPair', + 'LJ', + 'Coulomb', +] diff --git a/hoomd/md/tune/__init__.py b/hoomd/md/tune/__init__.py index 550e2009f7..7496d40312 100644 --- a/hoomd/md/tune/__init__.py +++ b/hoomd/md/tune/__init__.py @@ -4,3 +4,7 @@ """Tuners for the MD subpackage.""" from .nlist_buffer import NeighborListBuffer + +__all__ = [ + 'NeighborListBuffer', +] diff --git a/hoomd/md/update.py b/hoomd/md/update.py index 46e086e557..78de0298aa 100644 --- a/hoomd/md/update.py +++ b/hoomd/md/update.py @@ -45,6 +45,8 @@ class ZeroMomentum(Updater): hoomd.trigger.Periodic(100)) """ + __doc__ += Updater._doc_inherited + def __init__(self, trigger): # initialize base class super().__init__(trigger) @@ -58,21 +60,6 @@ def _attach_hook(self): class ReversePerturbationFlow(Updater): """Reverse Perturbation method to establish shear flow. - "Florian Mueller-Plathe. Reversing the perturbation in nonequilibrium - molecular dynamics: An easy way to calculate the shear viscosity of fluids. - Phys. Rev. E, 59:4894-4898, May 1999." - - The simulation box is divided in a number of slabs. Two distinct slabs of - those are chosen. The "max" slab searches for the maximum velocity component - in flow direction while the "min" slab searches for the minimum velocity - component. Afterward, both velocity components are swapped. - - This introduces a momentum flow, which drives the flow. The strength of this - flow is set through the `flow_target` argument, which defines a target value - for the time-integrated momentum flux. The searching and swapping is - repeated until the target is reached. Depending on the target sign, the - "max" and "min" slab might be swapped. - Args: filter (hoomd.filter.filter_like): Subset of particles on which to apply this updater. @@ -101,12 +88,26 @@ class ReversePerturbationFlow(Updater): min_slab (int): Id < n_slabs where the min velocity component is search for. If set < 0 the value is set to its default 0. + "Florian Mueller-Plathe. Reversing the perturbation in nonequilibrium + molecular dynamics: An easy way to calculate the shear viscosity of fluids. + Phys. Rev. E, 59:4894-4898, May 1999." + + The simulation box is divided in a number of slabs. Two distinct slabs of + those are chosen. The "max" slab searches for the maximum velocity component + in flow direction while the "min" slab searches for the minimum velocity + component. Afterward, both velocity components are swapped. + + This introduces a momentum flow, which drives the flow. The strength of this + flow is set through the `flow_target` argument, which defines a target value + for the time-integrated momentum flux. The searching and swapping is + repeated until the target is reached. Depending on the target sign, the + "max" and "min" slab might be swapped. + Attention: * This updater uses ``hoomd.trigger.Periodic(1)`` as a trigger, meaning it is applied every timestep. * This updater works currently only with orthorhombic boxes. - Note: The attributes of this updater are immutable once the updater is attached to a simulation. @@ -122,6 +123,12 @@ class ReversePerturbationFlow(Updater): flow_direction="X", n_slabs=20) + {inherited} + + ---------- + + **Members defined in** `ReversePerturbationFlow`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles on which to apply this updater. @@ -143,6 +150,8 @@ class ReversePerturbationFlow(Updater): searched for. """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, filter, flow_target, @@ -257,15 +266,21 @@ class ActiveRotationalDiffusion(Updater): Use `hoomd.md.force.Active.create_diffusion_updater` to construct a `ActiveRotationalDiffusion` instance. + {inherited} + + ---------- + + **Members defined in** `ActiveRotationalDiffusion`: + Attributes: - trigger (hoomd.trigger.Trigger): Select the timesteps to update - rotational diffusion. active_force (hoomd.md.force.Active): The active force associated with the updater. This is not settable after construction. rotational_diffusion (hoomd.variant.Variant): The rotational diffusion as a function of time. """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, trigger, active_force, rotational_diffusion): super().__init__(trigger) param_dict = ParameterDict(rotational_diffusion=hoomd.variant.Variant, @@ -301,3 +316,10 @@ def _setattr_param(self, attr, value): if attr == "active_force": raise ValueError("active_force is not settable after construction.") super()._setattr_param(attr, value) + + +__all__ = [ + 'ZeroMomentum', + 'ReversePerturbationFlow', + 'ActiveRotationalDiffusion', +] diff --git a/hoomd/mesh.py b/hoomd/mesh.py index 6578bb3208..e1b4b9eb08 100644 --- a/hoomd/mesh.py +++ b/hoomd/mesh.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Triangulated mesh data structure. - -The mesh data structure combines particles into a connected triangulated +"""The mesh data structure combines particles into a connected triangulated network. The particles act as vertices of the triangulation and are linked with their neighbors in both pairs via mesh bonds and triplets via mesh triangles. @@ -145,3 +143,6 @@ def size(self): if self.triangulation is None: return 0 return len(self.triangulation["triangles"]) + + +__all__ = ['Mesh'] diff --git a/hoomd/mpcd/__init__.py b/hoomd/mpcd/__init__.py index c46a133ffb..5118b5ef3c 100644 --- a/hoomd/mpcd/__init__.py +++ b/hoomd/mpcd/__init__.py @@ -63,8 +63,18 @@ from hoomd.mpcd import fill from hoomd.mpcd import force from hoomd.mpcd import geometry -from hoomd.mpcd import integrate from hoomd.mpcd.integrate import Integrator from hoomd.mpcd import methods from hoomd.mpcd import stream from hoomd.mpcd import tune + +__all__ = [ + 'collide', + 'fill', + 'force', + 'geometry', + 'Integrator', + 'methods', + 'stream', + 'tune', +] diff --git a/hoomd/mpcd/_mpcd.py b/hoomd/mpcd/_mpcd.py new file mode 100644 index 0000000000..ea023ed82b --- /dev/null +++ b/hoomd/mpcd/_mpcd.py @@ -0,0 +1,4 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Mocked module for use in documentation builds.""" diff --git a/hoomd/mpcd/collide.py b/hoomd/mpcd/collide.py index 62608d1a51..b2fc87ea49 100644 --- a/hoomd/mpcd/collide.py +++ b/hoomd/mpcd/collide.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""MPCD collision methods. - -An MPCD collision method is required to update the particle velocities over +"""An MPCD collision method is required to update the particle velocities over time. Particles are binned into cells based on their positions, and all particles in a cell undergo a stochastic collision that updates their velocities while conserving linear momentum. Collision rules can optionally be extended to @@ -49,6 +47,12 @@ class CellList(Compute): cell_list = simulation.operations.integrator.cell_list + {inherited} + + ---------- + + **Members defined in** `CellList`: + Attributes: shift (bool): When True, randomly shift underlying collision cells. @@ -60,6 +64,8 @@ class CellList(Compute): """ + __doc__ = __doc__.replace("{inherited}", Operation._doc_inherited) + def __init__(self, shift=True): super().__init__() @@ -88,6 +94,12 @@ class CollisionMethod(Operation): embedded_particles (hoomd.filter.filter_like): HOOMD particles to include in collision. + {inherited} + + ---------- + + **Members defined in** `CollisionMethod`: + Attributes: embedded_particles (hoomd.filter.filter_like): HOOMD particles to include in collision (*read only*). @@ -118,6 +130,24 @@ class CollisionMethod(Operation): """ + __doc__ = __doc__.replace("{inherited}", Operation._doc_inherited) + _doc_inherited = Operation._doc_inherited + """ + ---------- + + **Members inherited from** + `CollisionMethod `: + + .. py:attribute:: embedded_particiles + + HOOMD particles to include in collision. + `Read more... ` + + .. py:attribute:: period + + Number of integration steps between collisions. + `Read more... ` + """ + def __init__(self, period, embedded_particles=None): super().__init__() @@ -172,6 +202,12 @@ class AndersenThermostat(CollisionMethod): embedded_particles=hoomd.filter.All()) simulation.operations.integrator.collision_method = andersen_thermostat + {inherited} + + ---------- + + **Members defined in** `AndersenThermostat`: + Attributes: kT (hoomd.variant.variant_like): Temperature of the thermostat :math:`[\mathrm{energy}]`. @@ -195,6 +231,8 @@ class AndersenThermostat(CollisionMethod): """ + __doc__ = __doc__.replace("{inherited}", CollisionMethod._doc_inherited) + def __init__(self, period, kT, embedded_particles=None): super().__init__(period, embedded_particles) @@ -282,6 +320,12 @@ class StochasticRotationDynamics(CollisionMethod): embedded_particles=hoomd.filter.All()) simulation.operations.integrator.collision_method = srd + {inherited} + + ---------- + + **Members defined in** `StochasticRotationDynamics`: + Attributes: angle (float): Rotation angle (in degrees) @@ -310,6 +354,8 @@ class StochasticRotationDynamics(CollisionMethod): """ + __doc__ = __doc__.replace("{inherited}", CollisionMethod._doc_inherited) + def __init__(self, period, angle, kT=None, embedded_particles=None): super().__init__(period, embedded_particles) @@ -339,3 +385,11 @@ def _attach_hook(self): sim.state._get_group(self.embedded_particles)) super()._attach_hook() + + +__all__ = [ + 'CellList', + 'CollisionMethod', + 'AndersenThermostat', + 'StochasticRotationDynamics', +] diff --git a/hoomd/mpcd/fill.py b/hoomd/mpcd/fill.py index 512d016bfa..5027692b22 100644 --- a/hoomd/mpcd/fill.py +++ b/hoomd/mpcd/fill.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD virtual-particle fillers. - -Virtual particles are MPCD particles that are added to ensure MPCD +r"""Virtual particles are MPCD particles that are added to ensure MPCD collision cells that are sliced by solid boundaries do not become "underfilled". From the perspective of the MPCD algorithm, the number density of particles in these sliced cells is lower than the average density, and so the transport @@ -44,15 +42,13 @@ class VirtualParticleFiller(Operation): kT=1.0) simulation.operations.integrator.virtual_particle_fillers = [filler] - Attributes: - type (str): Type of particles to fill. - - .. rubric:: Example: + {inherited} - .. code-block:: python + ---------- - filler.type = "A" + **Members defined in** `VirtualParticleFiller`: + Attributes: density (float): Particle number density. .. rubric:: Example: @@ -77,6 +73,37 @@ class VirtualParticleFiller(Operation): filler.kT = hoomd.variant.Ramp(1.0, 2.0, 0, 100) + type (str): Type of particles to fill. + + .. rubric:: Example: + + .. code-block:: python + + filler.type = "A" + + """ + + __doc__ = __doc__.replace("{inherited}", Operation._doc_inherited) + _doc_inherited = Operation._doc_inherited + """ + ---------- + + **Members inherited from** + `VirtualParticleFiller `: + + .. py:attribute:: density + + Particle number density. + `Read more... ` + + .. py:attribute:: kT + + Temperature of particles. + `Read more... ` + + .. py:attribute:: type + + Type of particles to fill. + `Read more... ` """ def __init__(self, type, density, kT): @@ -118,12 +145,19 @@ class GeometryFiller(VirtualParticleFiller): geometry=plates) simulation.operations.integrator.virtual_particle_fillers = [filler] + {inherited} + + ---------- + + **Members defined in** `GeometryFiller`: + Attributes: geometry (hoomd.mpcd.geometry.Geometry): Surface to fill around (*read only*). - """ + __doc__ = __doc__.replace("{inherited}", + VirtualParticleFiller._doc_inherited) _cpp_class_map = {} def __init__(self, type, density, kT, geometry): @@ -173,3 +207,8 @@ def _register_cpp_class(cls, geometry, module, cpp_class_name): GeometryFiller._register_cpp_class(ParallelPlates, _mpcd, "ParallelPlateGeometryFiller") + +__all__ = [ + 'VirtualParticleFiller', + 'GeometryFiller', +] diff --git a/hoomd/mpcd/force.py b/hoomd/mpcd/force.py index 0ab1842a4e..63370a0d5c 100644 --- a/hoomd/mpcd/force.py +++ b/hoomd/mpcd/force.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD particle body forces. - -MPCD can apply a body force to each MPCD particle as a function of position. +r"""MPCD can apply a body force to each MPCD particle as a function of position. The external force should be compatible with the chosen :class:`~hoomd.mpcd.geometry.Geometry`. Global momentum conservation can be broken by adding a body force, so care should be chosen that the entire model @@ -231,3 +229,11 @@ def __init__(self, amplitude, wavenumber): def _attach_hook(self): self._cpp_obj = _mpcd.SineForce(self.amplitude, self.wavenumber) super()._attach_hook() + + +__all__ = [ + 'BodyForce', + 'BlockForce', + 'ConstantForce', + 'SineForce', +] diff --git a/hoomd/mpcd/geometry.py b/hoomd/mpcd/geometry.py index 317e809656..f2265dc0b5 100644 --- a/hoomd/mpcd/geometry.py +++ b/hoomd/mpcd/geometry.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD geometries. - -A geometry defines solid boundaries that cannot be penetrated. These +r"""A geometry defines solid boundaries that cannot be penetrated. These geometries are used for various operations in the MPCD algorithm including: * Bounce-back streaming for MPCD particles @@ -49,6 +47,18 @@ class Geometry(_HOOMDBaseObject): """ + _doc_inherited = """ + ---------- + + **Members inherited from** + `Geometry `: + + .. py:attribute:: no_slip + + Plates have a no-slip boundary condition when True. + `Read more... ` + """ + def __init__(self, no_slip): super().__init__() @@ -101,6 +111,12 @@ class ConcentricCylinders(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=cylinders) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `ConcentricCylinders`: + Attributes: inner_radius (float): Radius of inner cylinder (*read only*). @@ -113,6 +129,8 @@ class ConcentricCylinders(Geometry): """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, inner_radius, outer_radius, @@ -165,16 +183,22 @@ class CosineChannel(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=channel) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `CosineChannel`: + Attributes: amplitude (float): Amplitude of cosine (*read only*). repeat_length (float): Repeat length (period) of cosine. (*read only*). separation (float): Distance between walls (*read only*). - - """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, amplitude, repeat_length, separation, no_slip=True): super().__init__(no_slip) @@ -224,6 +248,12 @@ class CosineExpansionContraction(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=channel) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `CosineExpansionContraction`: + Attributes: contraction_separation (float): Distance between channel walls at the minimum contraction (*read only*). @@ -232,9 +262,10 @@ class CosineExpansionContraction(Geometry): maximum expansion (*read only*). repeat_length (float): Repeat length (period) of cosine. (*read only*). - """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, expansion_separation, contraction_separation, @@ -300,6 +331,12 @@ class ParallelPlates(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=plates) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `ParallelPlates`: + Attributes: separation (float): Distance between plates (*read only*). @@ -310,6 +347,8 @@ class ParallelPlates(Geometry): """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, separation, speed=0.0, no_slip=True): super().__init__(no_slip) param_dict = ParameterDict( @@ -349,6 +388,12 @@ class PlanarPore(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=pore) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `PlanarPore`: + Attributes: separation (float): Distance between pore walls (*read only*). @@ -356,6 +401,8 @@ class PlanarPore(Geometry): """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, separation, length, no_slip=True): super().__init__(no_slip) @@ -400,11 +447,19 @@ class Sphere(Geometry): stream = hoomd.mpcd.stream.BounceBack(period=1, geometry=sphere) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `Sphere`: + Attributes: radius (float): Radius of sphere (*read only*). """ + __doc__ = __doc__.replace("{inherited}", Geometry._doc_inherited) + def __init__(self, radius, no_slip=True): super().__init__(no_slip) param_dict = ParameterDict(radius=float(radius),) @@ -413,3 +468,14 @@ def __init__(self, radius, no_slip=True): def _attach_hook(self): self._cpp_obj = _mpcd.Sphere(self.radius, self.no_slip) super()._attach_hook() + + +__all__ = [ + 'Geometry', + 'ConcentricCylinders', + 'CosineChannel', + 'CosineExpansionContraction', + 'ParallelPlates', + 'PlanarPore', + 'Sphere', +] diff --git a/hoomd/mpcd/integrate.py b/hoomd/mpcd/integrate.py index 2020735265..9e39c61cdb 100644 --- a/hoomd/mpcd/integrate.py +++ b/hoomd/mpcd/integrate.py @@ -148,6 +148,12 @@ class Integrator(_MDIntegrator): mpcd_particle_sorter=hoomd.mpcd.tune.ParticleSorter(trigger=20)) simulation.operations.integrator = integrator + {inherited} + + ---------- + + **Members defined in** `hoomd.mpcd.Integrator`: + Attributes: collision_method (hoomd.mpcd.collide.CollisionMethod): Collision method for the MPCD particles and any embedded particles. @@ -157,9 +163,10 @@ class Integrator(_MDIntegrator): streaming_method (hoomd.mpcd.stream.StreamingMethod): Streaming method for the MPCD particles. - """ + __doc__ = __doc__.replace("{inherited}", _MDIntegrator._doc_inherited) + def __init__( self, dt, diff --git a/hoomd/mpcd/methods.py b/hoomd/mpcd/methods.py index 8f8708b22e..0a920207d0 100644 --- a/hoomd/mpcd/methods.py +++ b/hoomd/mpcd/methods.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD integration methods. - -Extra integration methods for solutes (MD particles) embedded in an MPCD +r"""Extra integration methods for solutes (MD particles) embedded in an MPCD fluid. These methods are not restricted to MPCD simulations: they can be used as methods of `hoomd.md.Integrator`. For example, `BounceBack` might be used to run DPD simulations with surfaces. @@ -73,16 +71,22 @@ class BounceBack(Method): filter=hoomd.filter.All(), geometry=plates) simulation.operations.integrator.methods.append(nve) + {inherited} + + ---------- + + **Members defined in** `BounceBack`: + Attributes: filter (hoomd.filter.filter_like): Subset of particles on which to apply this method (*read only*). geometry (hoomd.mpcd.geometry.Geometry): Surface to bounce back from (*read only*). - """ _cpp_class_map = {} + __doc__ = __doc__.replace("{inherited}", Method._doc_inherited) def __init__(self, filter, geometry): super().__init__() @@ -138,3 +142,8 @@ def _detach_hook(self): @classmethod def _register_cpp_class(cls, geometry, module, cpp_class_name): cls._cpp_class_map[geometry] = (module, cpp_class_name) + + +__all__ = [ + 'BounceBack', +] diff --git a/hoomd/mpcd/stream.py b/hoomd/mpcd/stream.py index f5e58b68bf..0e0fee40cd 100644 --- a/hoomd/mpcd/stream.py +++ b/hoomd/mpcd/stream.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD streaming methods. - -An MPCD streaming method is required to update the particle positions over time. +r"""An MPCD streaming method is required to update the particle positions over time. It is meant to be used in conjunction with an :class:`.mpcd.Integrator` and :class:`~hoomd.mpcd.collide.CollisionMethod`. Particle positions are propagated ballistically according to Newton's equations using a velocity-Verlet scheme for @@ -45,6 +43,12 @@ class StreamingMethod(Operation): period (int): Number of integration steps covered by streaming step. mpcd_particle_force (BodyForce): Force on MPCD particles. + {inherited} + + ---------- + + **Members defined in** `StreamingMethod`: + Attributes: period (int): Number of integration steps covered by streaming step (*read only*). @@ -63,7 +67,24 @@ class StreamingMethod(Operation): The `mpcd_particle_force` cannot be changed after the `StreamingMethod` is constructed, but its attributes can be modified. + """ + __doc__ = __doc__.replace("{inherited}", Operation._doc_inherited) + + _doc_inherited = Operation._doc_inherited + """ + ---------- + + **Members inherited from** + `StreamingMethod `: + + .. py:attribute:: period + + Number of integration steps covered by streaming step. + `Read more... ` + .. py:attribute:: mpcd_particle_force + + Body force on MPCD particles. + `Read more... ` """ def __init__(self, period, mpcd_particle_force=None): @@ -105,9 +126,10 @@ class Bulk(StreamingMethod): period=1, mpcd_particle_force=hoomd.mpcd.force.ConstantForce((1, 0, 0))) simulation.operations.integrator.streaming_method = stream - """ + __doc__ += StreamingMethod._doc_inherited + def _attach_hook(self): sim = self._simulation @@ -214,13 +236,19 @@ class BounceBack(StreamingMethod): mpcd_particle_force=hoomd.mpcd.force.ConstantForce((1, 0, 0))) simulation.operations.integrator.streaming_method = stream + {inherited} + + ---------- + + **Members defined in** `BounceBack`: + Attributes: geometry (hoomd.mpcd.geometry.Geometry): Surface to bounce back from (*read only*). - """ _cpp_class_map = {} + __doc__ = __doc__.replace("{inherited}", StreamingMethod._doc_inherited) def __init__(self, period, geometry, mpcd_particle_force=None): super().__init__(period, mpcd_particle_force) @@ -303,3 +331,10 @@ def _register_cpp_class(cls, geometry, force, module, cpp_class_name): if force is None: force = type(None) cls._cpp_cpp_class_map[geometry, force] = (module, cpp_class_name) + + +__all__ = [ + 'StreamingMethod', + 'Bulk', + 'BounceBack', +] diff --git a/hoomd/mpcd/tune.py b/hoomd/mpcd/tune.py index 74d5e84d7f..5f729909e7 100644 --- a/hoomd/mpcd/tune.py +++ b/hoomd/mpcd/tune.py @@ -1,16 +1,13 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -r"""MPCD tuning operations. - -These operations will affect the performance of MPCD simulations but not +r"""These operations will affect the performance of MPCD simulations but not their correctness. .. invisible-code-block: python simulation = hoomd.util.make_example_simulation(mpcd_types=["A"]) simulation.operations.integrator = hoomd.mpcd.Integrator(dt=0.1) - """ import hoomd @@ -38,8 +35,8 @@ class ParticleSorter(TriggeredOperation): builds. Typically, using a small multiple (tens) of the collision period works best. - To achieve the best performance, the `ParticleSorter` is not added to - `hoomd.Operations.tuners`. Instead, set it in + To achieve the best performance, the `hoomd.mpcd.tune.ParticleSorter` + is not added to `hoomd.Operations.tuners`. Instead, set it in `hoomd.mpcd.Integrator.mpcd_particle_sorter`. Essentially all MPCD systems benefit from sorting, so it is recommended @@ -51,19 +48,10 @@ class ParticleSorter(TriggeredOperation): sorter = hoomd.mpcd.tune.ParticleSorter(trigger=20) simulation.operations.integrator.mpcd_particle_sorter = sorter - - Attributes: - trigger (hoomd.trigger.Trigger): Number of integration steps - between sorting. - - .. rubric:: Example: - - .. code-block:: python - - sorter.trigger = 20 - """ + __doc__ += TriggeredOperation._doc_inherited + def __init__(self, trigger): super().__init__(trigger) @@ -74,3 +62,8 @@ def _attach_hook(self): class_ = _mpcd.Sorter self._cpp_obj = class_(self._simulation.state._cpp_sys_def, self.trigger) + + +__all__ = [ + 'ParticleSorter', +] diff --git a/hoomd/operation.py b/hoomd/operation.py index 454f030451..2bb1642492 100644 --- a/hoomd/operation.py +++ b/hoomd/operation.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Operation class types. - -Operations act on the state of the system at defined points during the +"""Operations act on the state of the system at defined points during the simulation's run loop. Add operation objects to the `Simulation.operations` collection. @@ -40,7 +38,7 @@ class _HOOMDGetSetAttrBase: `_param_dict` and `_typeparam_dict` keys by default. _override_setattr (set[str]): Attributes that should not use the provided `__setattr__`. `super().__setattr__` is called for them. - Likely, this wil no longer be necessary when triggers are added to + Likely, this will no longer be necessary when triggers are added to C++ Updaters and Analyzers. _param_dict (ParameterDict): The `ParameterDict` for the class/instance. _typeparam_dict (dict[str, TypeParameter]): A dict of all the @@ -426,6 +424,27 @@ class AutotunedObject(_HOOMDBaseObject): * `hoomd.Operations.tune_kernel_parameters` """ + _doc_inherited = """ + ---------- + + **Members inherited from** `AutotunedObject `: + + .. py:property:: kernel_parameters + + Kernel parameters. + `Read more... ` + + .. py:property:: is_tuning_complete + + Check if kernel parameter tuning is complete. + `Read more... ` + + .. py:method:: tune_kernel_parameters + + Start tuning kernel parameters. + `Read more... ` + """ + @property def kernel_parameters(self): """dict[str, tuple[float]]: Kernel parameters. @@ -516,24 +535,24 @@ class see its documentation. Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. - - Note: - Developers or those contributing to HOOMD-blue, see our architecture - `file`_ for information on HOOMD-blue's architecture decisions regarding - operations. - - .. _file: https://github.com/glotzerlab/hoomd-blue/blob/trunk-minor/ \ - ARCHITECTURE.md """ + __doc__ += AutotunedObject._doc_inherited + class TriggeredOperation(Operation): - """Operations that include a trigger to determine when to run. + """Operations that execute on timesteps determined by a trigger. Warning: This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. + {inherited} + + ---------- + + **Members defined in** `TriggeredOperation`: + Attributes: trigger (hoomd.trigger.Trigger): The trigger to activate this operation. @@ -544,6 +563,20 @@ class TriggeredOperation(Operation): operation.trigger = hoomd.trigger.Periodic(10) """ + __doc__ = __doc__.replace("{inherited}", Operation._doc_inherited) + + _doc_inherited = Operation._doc_inherited + """ + ---------- + + **Members inherited from** + `Integrator `: + + .. py:attribute:: trigger + + The trigger to activate this operation. + `Read more... ` + """ + def __init__(self, trigger): trigger_param = ParameterDict(trigger=hoomd.trigger.Trigger) self._param_dict.update(trigger_param) @@ -561,6 +594,8 @@ class Updater(TriggeredOperation): """ _cpp_list_name = 'updaters' + __doc__ += TriggeredOperation._doc_inherited + class Writer(TriggeredOperation): """Write output that depends on the simulation's state. @@ -573,6 +608,8 @@ class Writer(TriggeredOperation): """ _cpp_list_name = 'analyzers' + __doc__ += TriggeredOperation._doc_inherited + class Compute(Operation): """Compute properties of the simulation's state. @@ -584,7 +621,7 @@ class Compute(Operation): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. """ - pass + __doc__ += Operation._doc_inherited class Tuner(TriggeredOperation): @@ -599,7 +636,7 @@ class Tuner(TriggeredOperation): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. """ - pass + __doc__ += TriggeredOperation._doc_inherited class Integrator(Operation): @@ -614,9 +651,22 @@ class Integrator(Operation): This class should not be instantiated by users. The class can be used for `isinstance` or `issubclass` checks. """ + __doc__ += Operation._doc_inherited def _attach_hook(self): self._simulation._cpp_sys.setIntegrator(self._cpp_obj) # The integrator has changed, update the number of DOF in all groups self._simulation.state.update_group_dof() + + +__all__ = [ + 'AutotunedObject', + 'Operation', + 'TriggeredOperation', + 'Updater', + 'Writer', + 'Compute', + 'Tuner', + 'Integrator', +] diff --git a/hoomd/simulation.py b/hoomd/simulation.py index 240d00a5bc..b25db38a8c 100644 --- a/hoomd/simulation.py +++ b/hoomd/simulation.py @@ -38,15 +38,15 @@ class Simulation(metaclass=Loggable): seed (int): Random number seed. `Simulation` is the central class that defines a simulation, including the - `state` of the system, the `operations` that apply to the state during a - simulation `run`, and the `device` to use when executing the simulation. + :py:attr:`state` of the system, the :py:attr:`operations` that apply to the state + during a simulation `run`, and the `device` to use when executing the simulation. `seed` sets the seed for the random number generator used by all operations added to this `Simulation`. Newly initialized `Simulation` objects have no state. Call `create_state_from_gsd` or `create_state_from_snapshot` to initialize the - simulation's `state`. + simulation's :py:attr:`state`. .. rubric:: Example: @@ -489,7 +489,7 @@ def run(self, steps, write_at_start=False): Note: Initialize the simulation's state before calling `run`. - `Simulation` applies its `operations` to the + `Simulation` applies its :py:attr:`operations` to the state during each time step in the order: tuners, updaters, integrator, then writers following the logic in this pseudocode:: diff --git a/hoomd/snapshot.py b/hoomd/snapshot.py index c2dfe8f5f7..987f7a8b56 100644 --- a/hoomd/snapshot.py +++ b/hoomd/snapshot.py @@ -44,13 +44,13 @@ def box(self, box): class Snapshot: - """Self-contained copy of the simulation `State`. + """Self-contained copy of the simulation :py:class:`State`. Args: communicator (Communicator): MPI communicator to be used when accessing the snapshot. - See `State` and `gsd.hoomd.Frame` for detailed documentation on the + See :py:class:`State` and `gsd.hoomd.Frame` for detailed documentation on the components of `Snapshot`. Note: @@ -67,7 +67,7 @@ class Snapshot: pos = snapshot.particles.position[0] See Also: - `State` + :py:class:`State` `Simulation.create_state_from_snapshot` diff --git a/hoomd/state.py b/hoomd/state.py index e479529a1b..d4e3aa137d 100644 --- a/hoomd/state.py +++ b/hoomd/state.py @@ -1,9 +1,9 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Module implements the `State` class. +"""Module implements the :py:class:`State` class. -`State` stores and exposes a parent `hoomd.Simulation` object's data (e.g. +:py:class:`State` stores and exposes a parent `hoomd.Simulation` object's data (e.g. particle positions, system bonds). .. invisible-code-block: python @@ -80,19 +80,19 @@ class State: Note: This object cannot be directly instantiated. Use `Simulation.create_state_from_gsd` and - `Simulation.create_state_from_snapshot` to instantiate a `State` + `Simulation.create_state_from_snapshot` to instantiate a :py:class:`State` object as part of a simulation. .. rubric:: Overview - `State` stores the data that describes the thermodynamic microstate of a + :py:class:`State` stores the data that describes the thermodynamic microstate of a `Simulation` object. This data consists of the box, particles, bonds, angles, dihedrals, impropers, special pairs, and constraints. .. rubric:: Box - The simulation `box` describes the space that contains the particles as a - `Box` object. + The simulation :py:attr:`box` describes the space that contains the particles as a + :py:class:`Box` object. .. rubric:: Particles @@ -530,7 +530,7 @@ def box(self): """hoomd.Box: A copy of the current simulation box. Note: - The `box` property cannot be set. Call `set_box` to set a new + The :py:attr:`box` property cannot be set. Call `set_box` to set a new simulation box. .. rubric:: Example: @@ -567,7 +567,7 @@ def set_box(self, box): try: box = Box.from_box(box) except Exception: - raise ValueError('{} is not convertable to hoomd.Box using ' + raise ValueError('{} is not convertible to hoomd.Box using ' 'hoomd.Box.from_box'.format(box)) if box.dimensions != self._cpp_sys_def.getNDimensions(): @@ -660,7 +660,7 @@ def cpu_local_snapshot(self): """hoomd.data.LocalSnapshot: Expose simulation data on the CPU. Provides access directly to the system state's particle, bond, angle, - dihedral, improper, constaint, and pair data through a context manager. + dihedral, improper, constraint, and pair data through a context manager. Data in `State.cpu_local_snapshot` is MPI rank local, and the `hoomd.data.LocalSnapshot` object is only usable within a context manager (i.e. ``with sim.state.cpu_local_snapshot as data:``). Attempts @@ -684,7 +684,7 @@ def cpu_local_snapshot(self): Note: The state's box and the number of particles, bonds, angles, - dihedrals, impropers, constaints, and pairs cannot + dihedrals, impropers, constraints, and pairs cannot change within the context manager. Note: @@ -702,7 +702,7 @@ def gpu_local_snapshot(self): """hoomd.data.LocalSnapshotGPU: Expose simulation data on the GPU. Provides access directly to the system state's particle, bond, angle, - dihedral, improper, constaint, and pair data through a context manager. + dihedral, improper, constraint, and pair data through a context manager. Data in `State.gpu_local_snapshot` is GPU local, and the `hoomd.data.LocalSnapshotGPU` object is only usable within a context manager (i.e. ``with sim.state.gpu_local_snapshot as data:``). Attempts @@ -739,7 +739,7 @@ def gpu_local_snapshot(self): Note: The state's box and the number of particles, bonds, angles, - dihedrals, impropers, constaints, and pairs cannot + dihedrals, impropers, constraints, and pairs cannot change within the context manager. Note: @@ -778,7 +778,7 @@ def thermalize_particle_momenta(self, filter, kT): .. rubric:: Angular momentum `thermalize_particle_momenta` assigns random angular momenta to each - rotational degree of freedom that has a non-zero moment of intertia. + rotational degree of freedom that has a non-zero moment of inertia. Each particle can have 0, 1, 2, or 3 rotational degrees of freedom as determine by its moment of inertia. diff --git a/hoomd/trigger.py b/hoomd/trigger.py index 408c099ce1..af2f9a17c0 100644 --- a/hoomd/trigger.py +++ b/hoomd/trigger.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Triggers determine when most `hoomd.operation.Operation` instances activate. - -A `Trigger` is a boolean valued function of the timestep. The operation will +"""A `Trigger` is a boolean valued function of the timestep. An operation will perform its action when Trigger returns `True`. A single trigger object may be assigned to multiple operations. @@ -83,6 +81,22 @@ def compute(self, timestep): bool: `True` when the trigger is active, `False` when it is not. """ + _doc_inherited = """ + ---------- + + **Members inherited from** `Trigger `: + + .. py:method:: __call__ + + Evaluate the trigger. + `Read more... ` + + .. py:method:: compute + + Evaluate the trigger. + `Read more... ` + """ + def __getstate__(self): """Get the state of the trigger object.""" return self.__dict__ @@ -110,11 +124,19 @@ class Periodic(_hoomd.PeriodicTrigger, Trigger): trigger = hoomd.trigger.Periodic(period=100) + {inherited} + + ---------- + + **Members defined in** `Periodic`: + Attributes: period (int): periodicity in time step. phase (int): phase in time step. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, period, phase=0): Trigger.__init__(self) _hoomd.PeriodicTrigger.__init__(self, period, phase) @@ -146,10 +168,18 @@ class Before(_hoomd.BeforeTrigger, Trigger): trigger = hoomd.trigger.Before(5000) + {inherited} + + ---------- + + **Members defined in** `Before`: + Attributes: timestep (int): The step after the trigger ends. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, timestep): Trigger.__init__(self) if timestep < 0: @@ -182,10 +212,18 @@ class On(_hoomd.OnTrigger, Trigger): trigger = hoomd.trigger.On(1000) + {inherited} + + ---------- + + **Members defined in** `On`: + Attributes: timestep (int): The timestep to trigger on. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, timestep): Trigger.__init__(self) if timestep < 0: @@ -218,10 +256,18 @@ class After(_hoomd.AfterTrigger, Trigger): trigger = hoomd.trigger.After(1000) + {inherited} + + ---------- + + **Members defined in** `After`: + Attributes: timestep (int): The step before the trigger will start. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, timestep): Trigger.__init__(self) if timestep < 0: @@ -244,7 +290,7 @@ class Not(_hoomd.NotTrigger, Trigger): Args: trigger (hoomd.trigger.Trigger): The trigger object to negate. - `Not` returns the boolean negation of `trigger`:: + `Not` returns the boolean negation of :py:attr:`trigger`:: return not trigger(t) @@ -254,10 +300,18 @@ class Not(_hoomd.NotTrigger, Trigger): trigger = hoomd.trigger.Not(other_trigger) + {inherited} + + ---------- + + **Members defined in** `Not`: + Attributes: trigger (hoomd.trigger.Trigger): The trigger object to negate. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, trigger): Trigger.__init__(self) _hoomd.NotTrigger.__init__(self, trigger) @@ -296,10 +350,18 @@ class And(_hoomd.AndTrigger, Trigger): trigger = hoomd.trigger.And([other_trigger1, other_trigger2]) + {inherited} + + ---------- + + **Members defined in** `And`: + Attributes: triggers (list[hoomd.trigger.Trigger]): List of triggers. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, triggers): Trigger.__init__(self) triggers = tuple(triggers) @@ -344,10 +406,18 @@ class Or(_hoomd.OrTrigger, Trigger): trig = hoomd.trigger.Or([other_trigger1, other_trigger2]) + {inherited} + + ---------- + + **Members defined in** `Or`: + Attributes: triggers (`list` [`Trigger`]): List of triggers. """ + __doc__ = __doc__.replace("{inherited}", Trigger._doc_inherited) + def __init__(self, triggers): Trigger.__init__(self) triggers = tuple(triggers) @@ -388,3 +458,15 @@ def __eq__(self, other): Attributes that are `Trigger` objects can be set via a `trigger_like` object. """ + +__all__ = [ + 'Trigger', + 'Periodic', + 'Before', + 'On', + 'After', + 'Not', + 'And', + 'Or', + 'trigger_like', +] diff --git a/hoomd/tune/__init__.py b/hoomd/tune/__init__.py index be15c6e1bb..12262f84d6 100644 --- a/hoomd/tune/__init__.py +++ b/hoomd/tune/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Tuners. - -`Tuner` operations make changes to the parameters of other operations (or the +"""`Tuner` operations make changes to the parameters of other operations (or the simulation state) that adjust the performance of the simulation without changing the correctness of the outcome. Every new `hoomd.Simulation` object includes a `ParticleSorter` in its operations by default. `ParticleSorter` rearranges the @@ -48,3 +46,17 @@ from hoomd.tune.attr_tuner import ManualTuneDefinition from hoomd.tune.solve import (GridOptimizer, GradientDescent, Optimizer, RootSolver, ScaleSolver, SecantSolver, SolverStep) + +__all__ = [ + 'ParticleSorter', + 'LoadBalancer', + 'CustomTuner', + 'ManualTuneDefinition', + 'GridOptimizer', + 'GradientDescent', + 'Optimizer', + 'RootSolver', + 'ScaleSolver', + 'SecantSolver', + 'SolverStep', +] diff --git a/hoomd/tune/balance.py b/hoomd/tune/balance.py index 61cceb3bf9..a8dd6926cb 100644 --- a/hoomd/tune/balance.py +++ b/hoomd/tune/balance.py @@ -74,9 +74,13 @@ class LoadBalancer(Tuner): Balancing is ignored if there is no domain decomposition available (MPI is not built or is running on a single rank). + {inherited} + + ---------- + + **Members defined in** `LoadBalancer`: + Attributes: - trigger (hoomd.trigger.Trigger): Select the timesteps on which to - perform load balancing. x (bool): Balance the **x** direction when `True`. y (bool): Balance the **y** direction when `True`. z (bool): Balance the **z** direction when `True`. @@ -85,6 +89,8 @@ class LoadBalancer(Tuner): attempt in a single step. """ + __doc__ = __doc__.replace("{inherited}", Tuner._doc_inherited) + def __init__(self, trigger, x=True, diff --git a/hoomd/tune/custom_tuner.py b/hoomd/tune/custom_tuner.py index 7e11a2a62f..f88d201776 100644 --- a/hoomd/tune/custom_tuner.py +++ b/hoomd/tune/custom_tuner.py @@ -65,6 +65,7 @@ class CustomTuner(CustomOperation, _TunerProperty, Tuner): """ _cpp_list_name = 'tuners' _cpp_class_name = 'PythonTuner' + __doc__ += CustomOperation._doc_inherited class _InternalCustomTuner(_InternalCustomOperation, Tuner): diff --git a/hoomd/tune/sorter.py b/hoomd/tune/sorter.py index 49191d8e70..4e7d975218 100644 --- a/hoomd/tune/sorter.py +++ b/hoomd/tune/sorter.py @@ -31,9 +31,13 @@ class ParticleSorter(Tuner): New `hoomd.Operations` instances include a `ParticleSorter` constructed with default parameters. - Attributes: - trigger (hoomd.trigger.Trigger): Select the timesteps on which to sort. + {inherited} + + ---------- + + **Members defined in** `ParticleSorter`: + Attributes: grid (int): Set the resolution of the space-filling curve. `grid` rounds up to the nearest power of 2 when set. Larger values of `grid` provide more accurate space-filling curves, but consume @@ -41,6 +45,8 @@ class ParticleSorter(Tuner): of the system). """ + __doc__ = __doc__.replace("{inherited}", Tuner._doc_inherited) + def __init__(self, trigger=200, grid=None): super().__init__(trigger) sorter_params = ParameterDict( diff --git a/hoomd/update/__init__.py b/hoomd/update/__init__.py index 7aa13edb61..b721e14baa 100644 --- a/hoomd/update/__init__.py +++ b/hoomd/update/__init__.py @@ -1,19 +1,19 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Updaters. - -`Updater` operations modify the simulation state when they act. +"""`Updater` operations modify the simulation state when they act. See Also: `hoomd.Operations` `hoomd.Simulation` - Tutorial: :doc:`tutorial/00-Introducing-HOOMD-blue/00-index` + Tutorial: :doc:`/tutorial/00-Introducing-HOOMD-blue/00-index` """ from hoomd.update.box_resize import BoxResize from hoomd.update.remove_drift import RemoveDrift from hoomd.update.custom_updater import CustomUpdater from hoomd.update.particle_filter import FilterUpdater + +__all__ = ['BoxResize', 'RemoveDrift', 'CustomUpdater', 'FilterUpdater'] diff --git a/hoomd/update/box_resize.py b/hoomd/update/box_resize.py index a42fbaed5d..e283344bd1 100644 --- a/hoomd/update/box_resize.py +++ b/hoomd/update/box_resize.py @@ -80,6 +80,12 @@ class BoxResize(Updater): box=inverse_volume_ramp) simulation.operations.updaters.append(box_resize) + {inherited} + + ---------- + + **Members defined in** `BoxResize`: + Attributes: box (hoomd.variant.box.BoxVariant): The box as a function of time. @@ -99,6 +105,8 @@ class BoxResize(Updater): filter_ = box_resize.filter """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__( self, trigger, diff --git a/hoomd/update/custom_updater.py b/hoomd/update/custom_updater.py index 9d14fa0f48..060a0c0a25 100644 --- a/hoomd/update/custom_updater.py +++ b/hoomd/update/custom_updater.py @@ -64,6 +64,7 @@ class CustomUpdater(CustomOperation, _UpdaterProperty, Updater): """ _cpp_list_name = 'updaters' _cpp_class_name = 'PythonUpdater' + __doc__ += CustomOperation._doc_inherited class _InternalCustomUpdater(_InternalCustomOperation, Updater): diff --git a/hoomd/update/particle_filter.py b/hoomd/update/particle_filter.py index 6fc345dd0e..b0e022707f 100644 --- a/hoomd/update/particle_filter.py +++ b/hoomd/update/particle_filter.py @@ -73,8 +73,17 @@ class FilterUpdater(hoomd.operation.Updater): filter_updater = hoomd.update.FilterUpdater( trigger=hoomd.trigger.Periodic(1_000), filters=[filter1, filter2]) + + {inherited} + + ---------- + + **Members defined in** `FilterUpdater`: """ + __doc__ = __doc__.replace("{inherited}", + hoomd.operation.Updater._doc_inherited) + def __init__(self, trigger, filters): super().__init__(trigger) self._filters = hoomd.data.syncedlist.SyncedList( diff --git a/hoomd/update/remove_drift.py b/hoomd/update/remove_drift.py index 55f4fbff9b..e9aaf2c453 100644 --- a/hoomd/update/remove_drift.py +++ b/hoomd/update/remove_drift.py @@ -53,6 +53,12 @@ class RemoveDrift(Updater): reference_positions=[(0,0,0), (1,0,0)]) simulation.operations.updaters.append(remove_drift) + {inherited} + + ---------- + + **Members defined in** `RemoveDrift`: + Attributes: reference_positions ((*N_particles*, 3) `numpy.ndarray` of `float`): the reference positions :math:`[\mathrm{length}]`. @@ -64,6 +70,8 @@ class RemoveDrift(Updater): remove_drift.reference_positions = [(0,0,0), (1,0,0)] """ + __doc__ = __doc__.replace("{inherited}", Updater._doc_inherited) + def __init__(self, reference_positions, trigger=1): super().__init__(trigger) self._param_dict.update( diff --git a/hoomd/util.py b/hoomd/util.py index 809e02fd0e..3df3531f1f 100644 --- a/hoomd/util.py +++ b/hoomd/util.py @@ -276,7 +276,7 @@ def make_example_simulation(device=None, hoomd.Simulation: The simulation object. Note: - `make_example_simulation` is intended for use in the documentation and + :py:func:`make_example_simulation` is intended for use in the documentation and other minimal working examples. Use `hoomd.Simulation` directly in other cases. @@ -314,3 +314,8 @@ def make_example_simulation(device=None, simulation.run(0) return simulation + + +__all__ = [ + 'make_example_simulation', +] diff --git a/hoomd/variant/__init__.py b/hoomd/variant/__init__.py index 1440bd8d83..cad1fd9602 100644 --- a/hoomd/variant/__init__.py +++ b/hoomd/variant/__init__.py @@ -1,16 +1,36 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Define quantities that vary over the simulation. - -A `Variant` object represents a function of the time step. Some +"""A `Variant` object represents a function of the time step. Some operations accept `Variant` values for certain parameters, such as the ``kT`` parameter to `hoomd.md.methods.thermostats.Bussi`. See `Variant` for details on creating user-defined variants or use one of the provided subclasses. + +.. autodata:: variant_like + + Objects that are like a variant. + + Any subclass of `Variant` is accepted along with float instances and objects + convertible to float. They are internally converted to variants of type + `Constant` via ``Constant(float(a))`` where ``a`` is the float or float + convertible object. + + Attributes that are `Variant` objects can be set via a `variant_like` + object. """ from hoomd.variant.scalar import (Variant, Constant, Ramp, Cycle, Power, variant_like) from hoomd.variant import box + +__all__ = [ + 'box', + 'Variant', + 'Constant', + 'Ramp', + 'Cycle', + 'Power', + 'variant_like', +] diff --git a/hoomd/variant/box.py b/hoomd/variant/box.py index 31c2db4ab4..7e6ff457e6 100644 --- a/hoomd/variant/box.py +++ b/hoomd/variant/box.py @@ -38,6 +38,18 @@ def __call__(self, timestep): :rtype: [float, float, float, float, float, float] """ + _doc_inherited = """ + ---------- + + **Members inherited from** + `BoxVariant `: + + .. py:method:: __call__ + + Evaluate the function. + `Read more... ` + """ + def _private_eq(self, other): """Return whether two vector variants are equivalent.""" if not isinstance(other, BoxVariant): @@ -57,9 +69,16 @@ class Constant(_hoomd.VectorVariantBoxConstant, BoxVariant): `Constant` returns ``[box.Lx, box.Ly, box.Lz, box.xz, box.xz, box.yz]`` at all time steps. + + {inherited} + + ---------- + + **Members defined in** `Constant`: """ _eq_attrs = ("box",) __eq__ = BoxVariant._private_eq + __doc__ = __doc__.replace("{inherited}", BoxVariant._doc_inherited) def __init__(self, box): box = hoomd.data.typeconverter.box_preprocessing(box) @@ -110,6 +129,12 @@ class Interpolate(_hoomd.VectorVariantBoxInterpolate, BoxVariant): :math:`\\lambda = \\frac{f(t) - \\min f}{\\max f - \\min f}`, :math:`t` is the timestep, and :math:`f(t)` is given by `variant`. + {inherited} + + ---------- + + **Members defined in** `Interpolate`: + Attributes: variant (hoomd.variant.Variant): A variant used to interpolate between the two boxes. @@ -119,6 +144,7 @@ class Interpolate(_hoomd.VectorVariantBoxInterpolate, BoxVariant): "final_box", ) __eq__ = BoxVariant._private_eq + __doc__ = __doc__.replace("{inherited}", BoxVariant._doc_inherited) def __init__(self, initial_box, final_box, variant): box1 = hoomd.data.typeconverter.box_preprocessing(initial_box) @@ -181,6 +207,12 @@ class InverseVolumeRamp(_hoomd.VectorVariantBoxInverseVolumeRamp, BoxVariant): where :math:`\\lambda = \\frac{t - t_{\\mathrm{start}}}{t_{\\mathrm{ramp}} - t_{\\mathrm{start}}}`. + {inherited} + + ---------- + + **Members defined in** `InverseVolumeRamp`: + Attributes: final_volume (float): The volume of the final box. t_start (int): The time step at the start of the ramp. @@ -188,6 +220,7 @@ class InverseVolumeRamp(_hoomd.VectorVariantBoxInverseVolumeRamp, BoxVariant): """ _eq_attrs = ("initial_box", "final_volume", "t_start", "t_ramp") __eq__ = BoxVariant._private_eq + __doc__ = __doc__.replace("{inherited}", BoxVariant._doc_inherited) def __init__(self, initial_box, final_volume, t_start, t_ramp): BoxVariant.__init__(self) @@ -209,3 +242,11 @@ def initial_box(self): def initial_box(self, box): box = hoomd.data.typeconverter.box_preprocessing(box) self._initial_box = box._cpp_obj + + +__all__ = [ + 'BoxVariant', + 'Constant', + 'Interpolate', + 'InverseVolumeRamp', +] diff --git a/hoomd/variant/scalar.py b/hoomd/variant/scalar.py index 1a9597eb15..ca7ea09ffc 100644 --- a/hoomd/variant/scalar.py +++ b/hoomd/variant/scalar.py @@ -46,6 +46,28 @@ def _max(self): :rtype: float """ + _doc_inherited = """ + ---------- + + **Members inherited from** + `Variant `: + + .. py:method:: __call__ + + Evaluate the function. + `Read more... ` + + .. py:property:: max + + Maximum value of the variant. + `Read more... ` + + .. py:property:: min + + Minimum value of the variant. + `Read more... ` + """ + @property def min(self): """The minimum value of this variant for :math:`t \\in [0,\\infty)`.""" @@ -90,6 +112,12 @@ class Constant(_hoomd.VariantConstant, Variant): variant = hoomd.variant.Constant(1.0) + {inherited} + + ---------- + + **Members defined in** `Constant`: + Attributes: value (float): The value. """ @@ -100,6 +128,7 @@ def __init__(self, value): _hoomd.VariantConstant.__init__(self, value) __eq__ = Variant._private_eq + __doc__ = __doc__.replace("{inherited}", Variant._doc_inherited) class Ramp(_hoomd.VariantRamp, Variant): @@ -114,7 +143,7 @@ class Ramp(_hoomd.VariantRamp, Variant): `Ramp` holds the value *A* until time *t_start*. Then it ramps linearly from *A* to *B* over *t_ramp* steps and holds the value *B*. - .. image:: variant-ramp.svg + .. image:: /variant-ramp.svg :alt: Example plot of a ramp variant. .. rubric:: Example: @@ -126,6 +155,12 @@ class Ramp(_hoomd.VariantRamp, Variant): t_start=10_000, t_ramp=100_000) + {inherited} + + ---------- + + **Members defined in** `Ramp`: + Attributes: A (float): The start value. B (float): The end value. @@ -133,6 +168,7 @@ class Ramp(_hoomd.VariantRamp, Variant): t_ramp (int): The length of the ramp. """ _eq_attrs = ("A", "B", "t_start", "t_ramp") + __doc__ = __doc__.replace("{inherited}", Variant._doc_inherited) def __init__(self, A, B, t_start, t_ramp): Variant.__init__(self) @@ -159,7 +195,7 @@ class Cycle(_hoomd.VariantCycle, Variant): back from *B* to *A* over *t_BA* steps and repeats the cycle starting with *t_A*. `Cycle` repeats this cycle indefinitely. - .. image:: variant-cycle.svg + .. image:: /variant-cycle.svg :alt: Example plot of a cycle variant. .. rubric:: Example: @@ -174,6 +210,12 @@ class Cycle(_hoomd.VariantCycle, Variant): t_B=200_000, t_BA=2_000_000) + {inherited} + + ---------- + + **Members defined in** `Cycle`: + Attributes: A (float): The first value. B (float): The second value. @@ -184,6 +226,7 @@ class Cycle(_hoomd.VariantCycle, Variant): t_BA (int): The time spent ramping from B to A. """ _eq_attrs = ("A", "B", "t_start", "t_A", "t_AB", "t_B", "t_BA") + __doc__ = __doc__.replace("{inherited}", Variant._doc_inherited) def __init__(self, A, B, t_start, t_A, t_AB, t_B, t_BA): Variant.__init__(self) @@ -206,7 +249,7 @@ class Power(_hoomd.VariantPower, Variant): :math:`t^{\\mathrm{power}}` from *A* to *B* over *t_ramp* steps and holds the value *B* after that. - .. image:: variant-power.svg + .. image:: /variant-power.svg :alt: Example plot of a power variant. .. rubric:: Example: @@ -218,6 +261,12 @@ class Power(_hoomd.VariantPower, Variant): power=1 / 10, t_start=10, t_ramp=20) + {inherited} + + ---------- + + **Members defined in** `Power`: + Attributes: A (float): The start value. B (float): The end value. @@ -226,6 +275,7 @@ class Power(_hoomd.VariantPower, Variant): t_ramp (int): The length of the ramp. """ _eq_attrs = ("A", "B", "power", "t_start", "t_ramp") + __doc__ = __doc__.replace("{inherited}", Variant._doc_inherited) def __init__(self, A, B, power, t_start, t_ramp): Variant.__init__(self) @@ -235,15 +285,3 @@ def __init__(self, A, B, power, t_start, t_ramp): variant_like = typing.Union[Variant, float] -""" -Objects that are like a variant. - -Any subclass of `Variant` is accepted along with float instances and objects -convertible to float. They are internally converted to variants of type -`Constant` via ``Constant(float(a))`` where ``a`` is the float or float -convertible object. - -Note: - Attributes that are `Variant` objects can be set via a `variant_like` - object. -""" diff --git a/hoomd/version.py b/hoomd/version.py index fb7f366fb5..b1cf26d9a9 100644 --- a/hoomd/version.py +++ b/hoomd/version.py @@ -1,15 +1,13 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Version and build information. - -Use the values in `hoomd.version` to query properties of the package set at +"""Use the values in `hoomd.version` to query properties of the package set at compile time. See Also: - `features` + `/features` - `building` + `/building` Attributes: build_dir (str): The directory where this build was compiled. @@ -18,10 +16,6 @@ compile_flags (str): Human readable summary of compilation flags. - cuda_include_path (str): CUDA toolkit include directory. - - cuda_devrt_library (str): CUDA devrt library. - cxx_compiler (str): Name and version of the C++ compiler used to build HOOMD. @@ -56,13 +50,12 @@ version (str): HOOMD-blue package version, following semantic versioning. """ +import os from hoomd import _hoomd from hoomd.version_config import ( build_dir, compile_date, - cuda_include_path, - cuda_devrt_library, git_branch, git_sha1, hpmc_built, @@ -81,3 +74,24 @@ source_dir = _hoomd.BuildInfo.getSourceDir() install_dir = _hoomd.BuildInfo.getInstallDir() floating_point_precision = _hoomd.BuildInfo.getFloatingPointPrecision() + +__all__ = [ + 'build_dir', + 'compile_date', + 'git_branch', + 'git_sha1', + 'hpmc_built', + 'md_built', + 'metal_built', + 'mpcd_built', + 'version', + 'compile_flags', + 'gpu_enabled', + 'gpu_api_version', + 'gpu_platform', + 'cxx_compiler', + 'mpi_enabled', + 'source_dir', + 'install_dir', + 'floating_point_precision', +] diff --git a/hoomd/version_config.py b/hoomd/version_config.py new file mode 100644 index 0000000000..8e959243ca --- /dev/null +++ b/hoomd/version_config.py @@ -0,0 +1,14 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Mocked module for use in documentation builds.""" + +md_built = True +hpmc_built = True +mpcd_built = True +metal_built = False + +compile_date = None +git_branch = None +git_sha1 = None +build_dir = None diff --git a/hoomd/version_config.py.in b/hoomd/version_config.py.in index d60d09b624..5da19c872e 100644 --- a/hoomd/version_config.py.in +++ b/hoomd/version_config.py.in @@ -16,8 +16,4 @@ mpcd_built = ${_mpcd_built} metal_built = ${_metal_built} -cuda_include_path = "${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}" - -cuda_devrt_library = "${CUDA_cudadevrt_LIBRARY}" - build_dir = "${HOOMD_BINARY_DIR}" diff --git a/hoomd/wall.py b/hoomd/wall.py index 5de230e396..b727509c35 100644 --- a/hoomd/wall.py +++ b/hoomd/wall.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Wall geometries. - -Walls define an oriented surface in space. Walls exist only in the primary box +"""Walls define an oriented surface in space. Walls exist only in the primary box image and are not replicated across the periodic boundary conditions. Points on one side of the surface have a positive signed distance to that surface, and points on the other side have a negative signed distance. @@ -510,3 +508,11 @@ def _get_obj_backend_index(self, frontend_index, new_type, old_type=None): # index object to use. else: return _MetaListIndex(new_type) + + +__all__ = [ + 'WallGeometry', + 'Sphere', + 'Cylinder', + 'Plane', +] diff --git a/hoomd/write/__init__.py b/hoomd/write/__init__.py index 02b1425be0..94263c0e38 100644 --- a/hoomd/write/__init__.py +++ b/hoomd/write/__init__.py @@ -1,9 +1,7 @@ # Copyright (c) 2009-2024 The Regents of the University of Michigan. # Part of HOOMD-blue, released under the BSD 3-Clause License. -"""Writers. - -Writers write the state of the simulation, logger quantities, or calculated +"""Writers write the state of the simulation, logger quantities, or calculated results to output files or streams: * `GSD` and `DCD` save the simulation trajectory to a file. @@ -23,9 +21,9 @@ including logged per-particle array quantities and particle shapes. See Also: - Tutorial: :doc:`tutorial/00-Introducing-HOOMD-blue/00-index` + Tutorial: :doc:`/tutorial/00-Introducing-HOOMD-blue/00-index` - Tutorial: :doc:`tutorial/02-Logging/00-index` + Tutorial: :doc:`/tutorial/02-Logging/00-index` """ from hoomd.write.custom_writer import CustomWriter @@ -34,3 +32,12 @@ from hoomd.write.dcd import DCD from hoomd.write.table import Table from hoomd.write.hdf5 import HDF5Log + +__all__ = [ + 'CustomWriter', + 'GSD', + 'Burst', + 'DCD', + 'Table', + 'HDF5Log', +] diff --git a/hoomd/write/custom_writer.py b/hoomd/write/custom_writer.py index fb43fa7230..296687651d 100644 --- a/hoomd/write/custom_writer.py +++ b/hoomd/write/custom_writer.py @@ -65,6 +65,7 @@ class CustomWriter(CustomOperation, _WriterProperty, Writer): """ _cpp_list_name = 'analyzers' _cpp_class_name = 'PythonAnalyzer' + __doc__ += CustomOperation._doc_inherited class _InternalCustomWriter(_InternalCustomOperation, Writer): diff --git a/hoomd/write/dcd.py b/hoomd/write/dcd.py index d953fc815a..139d650a8c 100644 --- a/hoomd/write/dcd.py +++ b/hoomd/write/dcd.py @@ -61,6 +61,12 @@ class DCD(Writer): filename=dcd_filename) simulation.operations.writers.append(dcd) + {inherited} + + ---------- + + **Members defined in** `DCD`: + Attributes: filename (str): File name to write (*read only*). @@ -123,6 +129,8 @@ class DCD(Writer): dcd.angle_z = True """ + __doc__ = __doc__.replace("{inherited}", Writer._doc_inherited) + def __init__(self, trigger, filename, diff --git a/hoomd/write/gsd.py b/hoomd/write/gsd.py index 571c8c9185..d85ab68a1d 100644 --- a/hoomd/write/gsd.py +++ b/hoomd/write/gsd.py @@ -179,6 +179,12 @@ class GSD(Writer): filename=gsd_filename) simulation.operations.writers.append(gsd) + {inherited} + + ---------- + + **Members defined in** `GSD`: + Attributes: filename (str): File name to write (*read-only*). @@ -253,6 +259,8 @@ class GSD(Writer): gsd.maximum_write_buffer_size = 128 * 1024**2 """ + __doc__ = __doc__.replace("{inherited}", Writer._doc_inherited) + def __init__(self, trigger, filename, diff --git a/hoomd/write/gsd_burst.py b/hoomd/write/gsd_burst.py index 155f198129..d01c6af9bf 100644 --- a/hoomd/write/gsd_burst.py +++ b/hoomd/write/gsd_burst.py @@ -65,6 +65,12 @@ class Burst(GSD): See Also: The base class `hoomd.write.GSD` + {inherited} + + ---------- + + **Members defined in** `Burst`: + Attributes: max_burst_size (int): The maximum number of frames to store before between writes. -1 represents no limit. @@ -96,6 +102,8 @@ class Burst(GSD): burst.clear_buffer_after_dump = False """ + __doc__ = __doc__.replace("{inherited}", GSD._doc_inherited) + def __init__(self, trigger, filename, diff --git a/hoomd/write/hdf5.py b/hoomd/write/hdf5.py index 332243ebb3..faad9102cc 100644 --- a/hoomd/write/hdf5.py +++ b/hoomd/write/hdf5.py @@ -34,6 +34,7 @@ import hoomd.logging as logging import hoomd.data.typeconverter as typeconverter import hoomd.util as util +from hoomd.operation import Writer from hoomd.write.custom_writer import _InternalCustomWriter from hoomd.data.parameterdicts import ParameterDict @@ -291,6 +292,12 @@ class HDF5Log(_InternalCustomWriter): logger=logger) simulation.operations.writers.append(hdf5_log) + {inherited} + + ---------- + + **Members defined in** `HDF5Log`: + Attributes: accepted_categories (hoomd.logging.LoggerCategories): The enum value for all accepted categories for `HDF5Log` instances which is all @@ -330,6 +337,7 @@ class HDF5Log(_InternalCustomWriter): """ _internal_class = _HDF5LogInternal _wrap_methods = ("flush",) + __doc__ = __doc__.replace("{inherited}", Writer._doc_inherited) __all__ = ["HDF5Log"] diff --git a/hoomd/write/table.py b/hoomd/write/table.py index cb7dae3e0d..9a744ae0ea 100644 --- a/hoomd/write/table.py +++ b/hoomd/write/table.py @@ -21,6 +21,7 @@ from hoomd.data.typeconverter import OnlyTypes from hoomd.util import _dict_flatten from hoomd.custom import Action +from hoomd.operation import Writer class _OutputWriter(metaclass=ABCMeta): @@ -373,7 +374,7 @@ class Table(_InternalCustomWriter): pretty (`bool`, optional): Flags whether to attempt to make output prettier and easier to read (defaults to `True`). max_precision (`int`, optional): If pretty is not set, then this - controls the maximum precision to use when outputing numerical + controls the maximum precision to use when writing numerical values, defaults to 10. max_header_len (`int`, optional): If not `None` (the default), limit the outputted header names to length ``max_header_len``. When not @@ -400,6 +401,12 @@ class Table(_InternalCustomWriter): table = hoomd.write.Table(trigger=hoomd.trigger.Periodic(10_000), logger=logger) + {inherited} + + ---------- + + **Members defined in** `Table`: + Attributes: logger (hoomd.logging.Logger): The logger to query for output. `Table` supports only ``'scalar'`` and ``'string'`` logger categories @@ -449,7 +456,7 @@ class Table(_InternalCustomWriter): pretty = table.pretty max_precision (`int`, optional): If pretty is not set, then this - controls the maximum precision to use when outputing numerical + controls the maximum precision to use when writing numerical values (*read-only*). .. rubric:: Example: @@ -476,6 +483,7 @@ class Table(_InternalCustomWriter): min_column_width = table.min_column_width """ _internal_class = _TableInternal + __doc__ = __doc__.replace("{inherited}", Writer._doc_inherited) def write(self): """Write out data to ``self.output``. diff --git a/setup.cfg b/setup.cfg index df8ab4ac45..143bc37b87 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,6 +21,8 @@ ignore = RST307 # Allow backslashes in docstrings so we can have both line continuations and LaTeX math D301 + # Allow no summary line. The rendered Sphinx documentation is cleaner without them. + D205,D415, # do not require docstrings in unit test files # F401 ignore unused imports in __init__.py files (these are for users) @@ -46,6 +48,7 @@ max_doc_length = 88 hang_closing = True docstring-convention = google rst-directives = + autodata, code-blocks, deprecated, py:attribute, @@ -67,6 +70,7 @@ rst-roles = py:meth, py:func, py:exc, + py:attr, ref, [pydocstyle] diff --git a/sphinx-doc/building.rst b/sphinx-doc/building.rst index 2ffa6f1423..ba0c84a430 100644 --- a/sphinx-doc/building.rst +++ b/sphinx-doc/building.rst @@ -1,4 +1 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - .. include:: ../BUILDING.rst diff --git a/sphinx-doc/changes.rst b/sphinx-doc/changes.rst index 1cf415fb26..c4e6b1cc90 100644 --- a/sphinx-doc/changes.rst +++ b/sphinx-doc/changes.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Changes ~~~~~~~ diff --git a/sphinx-doc/citing.rst b/sphinx-doc/citing.rst index 3843ab82c0..27f0ca1b0c 100644 --- a/sphinx-doc/citing.rst +++ b/sphinx-doc/citing.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Citing HOOMD-blue =================== diff --git a/sphinx-doc/components.rst b/sphinx-doc/components.rst index ac6016413f..4483cc2861 100644 --- a/sphinx-doc/components.rst +++ b/sphinx-doc/components.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Extending HOOMD-blue ==================== diff --git a/sphinx-doc/contributing.rst b/sphinx-doc/contributing.rst index 616a88b611..e582053ea0 100644 --- a/sphinx-doc/contributing.rst +++ b/sphinx-doc/contributing.rst @@ -1,4 +1 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - .. include:: ../CONTRIBUTING.rst diff --git a/sphinx-doc/credits.rst b/sphinx-doc/credits.rst index bf214081d1..94449d9df7 100644 --- a/sphinx-doc/credits.rst +++ b/sphinx-doc/credits.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Credits ======= diff --git a/sphinx-doc/deprecated.rst b/sphinx-doc/deprecated.rst index f5d426866b..9b8b88f234 100644 --- a/sphinx-doc/deprecated.rst +++ b/sphinx-doc/deprecated.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Deprecated ========== diff --git a/sphinx-doc/developers.rst b/sphinx-doc/developers.rst index 13ac8896a9..54cdcbbc17 100644 --- a/sphinx-doc/developers.rst +++ b/sphinx-doc/developers.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - For developers ~~~~~~~~~~~~~~ diff --git a/sphinx-doc/documentation.rst b/sphinx-doc/documentation.rst index 84bb1b00b5..6de8065f3b 100644 --- a/sphinx-doc/documentation.rst +++ b/sphinx-doc/documentation.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Documentation ~~~~~~~~~~~~~ diff --git a/sphinx-doc/features.rst b/sphinx-doc/features.rst index dd30f8f903..5ef9e3c40d 100644 --- a/sphinx-doc/features.rst +++ b/sphinx-doc/features.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Features ======== diff --git a/sphinx-doc/generate-toctree.py b/sphinx-doc/generate-toctree.py new file mode 100644 index 0000000000..5d3aa2a916 --- /dev/null +++ b/sphinx-doc/generate-toctree.py @@ -0,0 +1,140 @@ +# Copyright (c) 2009-2024 The Regents of the University of Michigan. +# Part of HOOMD-blue, released under the BSD 3-Clause License. + +"""Generate one .rst file for each module and class in the HOOMD-blue public API. + +``generate-toctree`` automatically generates the Sphinx .rst files for the HOOMD-blue +API documentation. The public API is defined by the items in the `__all__` list in +each package/module for compatibility with ruff's identification of exported APIs. +""" + +import sys +import inspect +import os +from pathlib import Path + +TOPLEVEL = ['hpmc', 'mpcd', 'md'] +exit_value = 0 + + +def generate_member_rst(path, full_module_name, name, type): + """Generate the rst file that describes a class or data element. + + Does not overwrite existing files. This allows files to be automatically created + and then customized as needed. 80+% of the files should not need customization. + """ + # Generate the file {name}.rst + underline = '=' * len(name) + + member_rst = f"{name}\n{underline}\n\n" + member_rst += f".. py:currentmodule:: {full_module_name}\n\n" + + member_rst += f".. auto{type}:: {name}\n" + + # set :members: and :show-inheritance: for classes. Developers can remove these + # individually when they are not appropriate. Unfortunately, we cannot make these + # default in `conf.py` because there is no way to opt out of the default. + if type == 'class': + member_rst += " :members:\n" + member_rst += " :show-inheritance:\n" + + destination = (path / name.lower()).with_suffix('.rst') + + if destination.exists(): + return + + destination.write_text(member_rst) + + +def generate_module_rst(path, module): + """Generate the rst file that describes a module. + + Always overwrites the file to automatically update the table of contents when + adding new classes. + """ + global exit_value + + full_module_name = module.__name__ + module_name = full_module_name.split('.')[-1] + + # Alphabetize the items + module_all = getattr(module, '__all__', None) + if module_all is None: + exit_value = 1 + print(f"Warning: {full_module_name} is missing __all__") + return + + sorted_all = module_all.copy() + sorted_all.sort() + + if len(sorted_all) > 0: + path.mkdir(exist_ok=True) + + # Split the items into modules and class members + submodules = [] + classes = [] + functions = [] + + for member_name in sorted_all: + member = getattr(module, member_name) + if inspect.ismodule(member): + submodules.append(member_name) + generate_module_rst(path / member_name, member) + + if inspect.isclass(member): + classes.append(member_name) + generate_member_rst(path, full_module_name, member_name, 'class') + + if inspect.isfunction(member): + functions.append(member_name) + generate_member_rst(path, full_module_name, member_name, 'function') + + # data members should be documented directly in the module's docstring, and + # are ignored here. + + # Generate the file module-{module_name}.rst + module_underline = '=' * len(module_name) + + module_rst = f"{module_name}\n{module_underline}\n\n" + module_rst += f".. automodule:: {full_module_name}\n" + module_rst += " :members:\n" + if len(classes) > 0 or len(functions) > 0: + module_rst += f" :exclude-members: {','.join(classes + functions)}\n\n" + + if len(submodules) > 0: + module_rst += '.. rubric:: Modules\n\n.. toctree::\n :maxdepth: 1\n\n' + for submodule in submodules: + if submodule not in TOPLEVEL: + module_rst += f' {module_name}/module-{submodule}\n' + module_rst += '\n' + + if len(classes) > 0: + module_rst += '.. rubric:: Classes\n\n.. toctree::\n :maxdepth: 1\n\n' + for class_name in classes: + module_rst += f' {module_name}/{class_name.lower()}\n' + module_rst += '\n' + + if len(functions) > 0: + module_rst += '.. rubric:: Functions\n\n.. toctree::\n :maxdepth: 1\n\n' + for function_name in functions: + module_rst += f' {module_name}/{function_name.lower()}\n' + module_rst += '\n' + + # ensure there is only one newline at the end of the file + module_rst = module_rst.rstrip() + module_rst += '\n' + file = (path.parent / ('module-' + module_name)).with_suffix('.rst') + file.write_text(module_rst) + + +if __name__ == '__main__': + doc_dir = Path(__file__).parent + repository_dir = doc_dir.parent + sys.path.insert(0, str(repository_dir)) + + os.environ['SPHINX'] = '1' + + import hoomd + + generate_module_rst(doc_dir / 'hoomd', hoomd) + sys.exit(exit_value) diff --git a/sphinx-doc/getting-started.rst b/sphinx-doc/getting-started.rst index b8f0c461fd..dfddc2de0b 100644 --- a/sphinx-doc/getting-started.rst +++ b/sphinx-doc/getting-started.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Getting started ~~~~~~~~~~~~~~~ diff --git a/sphinx-doc/hoomd/box.rst b/sphinx-doc/hoomd/box.rst new file mode 100644 index 0000000000..b2accdd976 --- /dev/null +++ b/sphinx-doc/hoomd/box.rst @@ -0,0 +1,7 @@ +Box +=== + +.. py:currentmodule:: hoomd + +.. autoclass:: Box + :members: diff --git a/sphinx-doc/hoomd/box/boxinterface.rst b/sphinx-doc/hoomd/box/boxinterface.rst new file mode 100644 index 0000000000..03d3283830 --- /dev/null +++ b/sphinx-doc/hoomd/box/boxinterface.rst @@ -0,0 +1,7 @@ +BoxInterface +============ + +.. py:currentmodule:: hoomd.box + +.. autoclass:: BoxInterface + :members: diff --git a/sphinx-doc/hoomd/communicator/communicator.rst b/sphinx-doc/hoomd/communicator/communicator.rst new file mode 100644 index 0000000000..6cc9b13087 --- /dev/null +++ b/sphinx-doc/hoomd/communicator/communicator.rst @@ -0,0 +1,7 @@ +Communicator +============ + +.. py:currentmodule:: hoomd.communicator + +.. autoclass:: Communicator + :members: diff --git a/sphinx-doc/hoomd/custom/action.rst b/sphinx-doc/hoomd/custom/action.rst new file mode 100644 index 0000000000..acb4011504 --- /dev/null +++ b/sphinx-doc/hoomd/custom/action.rst @@ -0,0 +1,7 @@ +Action +====== + +.. py:currentmodule:: hoomd.custom + +.. autoclass:: Action + :members: diff --git a/sphinx-doc/hoomd/custom/customoperation.rst b/sphinx-doc/hoomd/custom/customoperation.rst new file mode 100644 index 0000000000..cb945310c7 --- /dev/null +++ b/sphinx-doc/hoomd/custom/customoperation.rst @@ -0,0 +1,8 @@ +CustomOperation +=============== + +.. py:currentmodule:: hoomd.custom + +.. autoclass:: CustomOperation + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/data/anglelocalaccessbase.rst b/sphinx-doc/hoomd/data/anglelocalaccessbase.rst new file mode 100644 index 0000000000..1908781174 --- /dev/null +++ b/sphinx-doc/hoomd/data/anglelocalaccessbase.rst @@ -0,0 +1,7 @@ +AngleLocalAccessBase +==================== + +.. py:currentmodule:: hoomd.data + +.. autoclass:: AngleLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/bondlocalaccessbase.rst b/sphinx-doc/hoomd/data/bondlocalaccessbase.rst new file mode 100644 index 0000000000..96deeb8178 --- /dev/null +++ b/sphinx-doc/hoomd/data/bondlocalaccessbase.rst @@ -0,0 +1,7 @@ +BondLocalAccessBase +=================== + +.. py:currentmodule:: hoomd.data + +.. autoclass:: BondLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/constraintlocalaccessbase.rst b/sphinx-doc/hoomd/data/constraintlocalaccessbase.rst new file mode 100644 index 0000000000..07d6badb3a --- /dev/null +++ b/sphinx-doc/hoomd/data/constraintlocalaccessbase.rst @@ -0,0 +1,7 @@ +ConstraintLocalAccessBase +========================= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: ConstraintLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/dihedrallocalaccessbase.rst b/sphinx-doc/hoomd/data/dihedrallocalaccessbase.rst new file mode 100644 index 0000000000..d240b8370d --- /dev/null +++ b/sphinx-doc/hoomd/data/dihedrallocalaccessbase.rst @@ -0,0 +1,7 @@ +DihedralLocalAccessBase +======================= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: DihedralLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/hoomdarray.rst b/sphinx-doc/hoomd/data/hoomdarray.rst new file mode 100644 index 0000000000..6b11bb7d71 --- /dev/null +++ b/sphinx-doc/hoomd/data/hoomdarray.rst @@ -0,0 +1,6 @@ +HOOMDArray +========== + +.. py:currentmodule:: hoomd.data + +.. autoclass:: HOOMDArray diff --git a/sphinx-doc/hoomd/data/hoomdgpuarray.rst b/sphinx-doc/hoomd/data/hoomdgpuarray.rst new file mode 100644 index 0000000000..fea63808d2 --- /dev/null +++ b/sphinx-doc/hoomd/data/hoomdgpuarray.rst @@ -0,0 +1,6 @@ +HOOMDGPUArray +============= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: HOOMDGPUArray diff --git a/sphinx-doc/hoomd/data/improperlocalaccessbase.rst b/sphinx-doc/hoomd/data/improperlocalaccessbase.rst new file mode 100644 index 0000000000..f5b1a584e2 --- /dev/null +++ b/sphinx-doc/hoomd/data/improperlocalaccessbase.rst @@ -0,0 +1,7 @@ +ImproperLocalAccessBase +======================= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: ImproperLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/localsnapshot.rst b/sphinx-doc/hoomd/data/localsnapshot.rst new file mode 100644 index 0000000000..6ee106a038 --- /dev/null +++ b/sphinx-doc/hoomd/data/localsnapshot.rst @@ -0,0 +1,8 @@ +LocalSnapshot +============= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: LocalSnapshot + :members: + :inherited-members: diff --git a/sphinx-doc/hoomd/data/localsnapshotgpu.rst b/sphinx-doc/hoomd/data/localsnapshotgpu.rst new file mode 100644 index 0000000000..2e97d5b27c --- /dev/null +++ b/sphinx-doc/hoomd/data/localsnapshotgpu.rst @@ -0,0 +1,8 @@ +LocalSnapshotGPU +================ + +.. py:currentmodule:: hoomd.data + +.. autoclass:: LocalSnapshotGPU + :members: + :inherited-members: diff --git a/sphinx-doc/hoomd/data/pairlocalaccessbase.rst b/sphinx-doc/hoomd/data/pairlocalaccessbase.rst new file mode 100644 index 0000000000..bcb737bce1 --- /dev/null +++ b/sphinx-doc/hoomd/data/pairlocalaccessbase.rst @@ -0,0 +1,7 @@ +PairLocalAccessBase +=================== + +.. py:currentmodule:: hoomd.data + +.. autoclass:: PairLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/particlelocalaccessbase.rst b/sphinx-doc/hoomd/data/particlelocalaccessbase.rst new file mode 100644 index 0000000000..819c134960 --- /dev/null +++ b/sphinx-doc/hoomd/data/particlelocalaccessbase.rst @@ -0,0 +1,7 @@ +ParticleLocalAccessBase +======================= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: ParticleLocalAccessBase + :members: diff --git a/sphinx-doc/hoomd/data/typeparameter.rst b/sphinx-doc/hoomd/data/typeparameter.rst new file mode 100644 index 0000000000..01ff7d4350 --- /dev/null +++ b/sphinx-doc/hoomd/data/typeparameter.rst @@ -0,0 +1,7 @@ +TypeParameter +============= + +.. py:currentmodule:: hoomd.data + +.. autoclass:: TypeParameter + :members: diff --git a/sphinx-doc/hoomd/device/auto_select.rst b/sphinx-doc/hoomd/device/auto_select.rst new file mode 100644 index 0000000000..b151481e39 --- /dev/null +++ b/sphinx-doc/hoomd/device/auto_select.rst @@ -0,0 +1,6 @@ +auto_select +=========== + +.. py:currentmodule:: hoomd.device + +.. autofunction:: auto_select diff --git a/sphinx-doc/hoomd/device/cpu.rst b/sphinx-doc/hoomd/device/cpu.rst new file mode 100644 index 0000000000..682f6a9ab9 --- /dev/null +++ b/sphinx-doc/hoomd/device/cpu.rst @@ -0,0 +1,8 @@ +CPU +=== + +.. py:currentmodule:: hoomd.device + +.. autoclass:: CPU + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/device/device.rst b/sphinx-doc/hoomd/device/device.rst new file mode 100644 index 0000000000..7367febec8 --- /dev/null +++ b/sphinx-doc/hoomd/device/device.rst @@ -0,0 +1,7 @@ +Device +====== + +.. py:currentmodule:: hoomd.device + +.. autoclass:: Device + :members: diff --git a/sphinx-doc/hoomd/device/gpu.rst b/sphinx-doc/hoomd/device/gpu.rst new file mode 100644 index 0000000000..e449f81e5c --- /dev/null +++ b/sphinx-doc/hoomd/device/gpu.rst @@ -0,0 +1,8 @@ +GPU +=== + +.. py:currentmodule:: hoomd.device + +.. autoclass:: GPU + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/device/noticefile.rst b/sphinx-doc/hoomd/device/noticefile.rst new file mode 100644 index 0000000000..0c50ecd753 --- /dev/null +++ b/sphinx-doc/hoomd/device/noticefile.rst @@ -0,0 +1,7 @@ +NoticeFile +========== + +.. py:currentmodule:: hoomd.device + +.. autoclass:: NoticeFile + :members: diff --git a/sphinx-doc/hoomd/error/dataaccesserror.rst b/sphinx-doc/hoomd/error/dataaccesserror.rst new file mode 100644 index 0000000000..b0fde474d8 --- /dev/null +++ b/sphinx-doc/hoomd/error/dataaccesserror.rst @@ -0,0 +1,8 @@ +DataAccessError +=============== + +.. py:currentmodule:: hoomd.error + +.. autoclass:: DataAccessError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/gpunotavailableerror.rst b/sphinx-doc/hoomd/error/gpunotavailableerror.rst new file mode 100644 index 0000000000..5bbdd905bc --- /dev/null +++ b/sphinx-doc/hoomd/error/gpunotavailableerror.rst @@ -0,0 +1,8 @@ +GPUNotAvailableError +==================== + +.. py:currentmodule:: hoomd.error + +.. autoclass:: GPUNotAvailableError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/incompletespecificationerror.rst b/sphinx-doc/hoomd/error/incompletespecificationerror.rst new file mode 100644 index 0000000000..1554d907bf --- /dev/null +++ b/sphinx-doc/hoomd/error/incompletespecificationerror.rst @@ -0,0 +1,8 @@ +IncompleteSpecificationError +============================ + +.. py:currentmodule:: hoomd.error + +.. autoclass:: IncompleteSpecificationError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/isolationwarning.rst b/sphinx-doc/hoomd/error/isolationwarning.rst new file mode 100644 index 0000000000..0efe0cea11 --- /dev/null +++ b/sphinx-doc/hoomd/error/isolationwarning.rst @@ -0,0 +1,8 @@ +IsolationWarning +================ + +.. py:currentmodule:: hoomd.error + +.. autoclass:: IsolationWarning + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/mpinotavailableerror.rst b/sphinx-doc/hoomd/error/mpinotavailableerror.rst new file mode 100644 index 0000000000..16353e65ea --- /dev/null +++ b/sphinx-doc/hoomd/error/mpinotavailableerror.rst @@ -0,0 +1,8 @@ +MPINotAvailableError +==================== + +.. py:currentmodule:: hoomd.error + +.. autoclass:: MPINotAvailableError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/mutabilityerror.rst b/sphinx-doc/hoomd/error/mutabilityerror.rst new file mode 100644 index 0000000000..7ffd2190dd --- /dev/null +++ b/sphinx-doc/hoomd/error/mutabilityerror.rst @@ -0,0 +1,8 @@ +MutabilityError +=============== + +.. py:currentmodule:: hoomd.error + +.. autoclass:: MutabilityError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/simulationdefinitionerror.rst b/sphinx-doc/hoomd/error/simulationdefinitionerror.rst new file mode 100644 index 0000000000..800998b567 --- /dev/null +++ b/sphinx-doc/hoomd/error/simulationdefinitionerror.rst @@ -0,0 +1,8 @@ +SimulationDefinitionError +========================= + +.. py:currentmodule:: hoomd.error + +.. autoclass:: SimulationDefinitionError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/error/typeconversionerror.rst b/sphinx-doc/hoomd/error/typeconversionerror.rst new file mode 100644 index 0000000000..8cb2b403fe --- /dev/null +++ b/sphinx-doc/hoomd/error/typeconversionerror.rst @@ -0,0 +1,8 @@ +TypeConversionError +=================== + +.. py:currentmodule:: hoomd.error + +.. autoclass:: TypeConversionError + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/all.rst b/sphinx-doc/hoomd/filter/all.rst new file mode 100644 index 0000000000..e6784cd25a --- /dev/null +++ b/sphinx-doc/hoomd/filter/all.rst @@ -0,0 +1,7 @@ +All +=== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: All() + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/customfilter.rst b/sphinx-doc/hoomd/filter/customfilter.rst new file mode 100644 index 0000000000..d24f9af1ba --- /dev/null +++ b/sphinx-doc/hoomd/filter/customfilter.rst @@ -0,0 +1,8 @@ +CustomFilter +============ + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: CustomFilter + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/intersection.rst b/sphinx-doc/hoomd/filter/intersection.rst new file mode 100644 index 0000000000..ad24ea5b75 --- /dev/null +++ b/sphinx-doc/hoomd/filter/intersection.rst @@ -0,0 +1,6 @@ +Intersection +============ + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Intersection(f,g) diff --git a/sphinx-doc/hoomd/filter/null.rst b/sphinx-doc/hoomd/filter/null.rst new file mode 100644 index 0000000000..5e41724099 --- /dev/null +++ b/sphinx-doc/hoomd/filter/null.rst @@ -0,0 +1,7 @@ +Null +==== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Null() + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/particlefilter.rst b/sphinx-doc/hoomd/filter/particlefilter.rst new file mode 100644 index 0000000000..2eccb272b4 --- /dev/null +++ b/sphinx-doc/hoomd/filter/particlefilter.rst @@ -0,0 +1,7 @@ +ParticleFilter +============== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: ParticleFilter() + :members: diff --git a/sphinx-doc/hoomd/filter/rigid.rst b/sphinx-doc/hoomd/filter/rigid.rst new file mode 100644 index 0000000000..f22e5a2a1e --- /dev/null +++ b/sphinx-doc/hoomd/filter/rigid.rst @@ -0,0 +1,7 @@ +Rigid +===== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Rigid(flags=("center",)) + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/setdifference.rst b/sphinx-doc/hoomd/filter/setdifference.rst new file mode 100644 index 0000000000..2dc115b4db --- /dev/null +++ b/sphinx-doc/hoomd/filter/setdifference.rst @@ -0,0 +1,6 @@ +SetDifference +============= + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: SetDifference(f,g) diff --git a/sphinx-doc/hoomd/filter/tags.rst b/sphinx-doc/hoomd/filter/tags.rst new file mode 100644 index 0000000000..5641ad6c82 --- /dev/null +++ b/sphinx-doc/hoomd/filter/tags.rst @@ -0,0 +1,8 @@ +Tags +==== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Tags(tags) + :members: tags + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/type.rst b/sphinx-doc/hoomd/filter/type.rst new file mode 100644 index 0000000000..b8dab5a53f --- /dev/null +++ b/sphinx-doc/hoomd/filter/type.rst @@ -0,0 +1,8 @@ +Type +==== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Type(types) + :members: types + :show-inheritance: diff --git a/sphinx-doc/hoomd/filter/union.rst b/sphinx-doc/hoomd/filter/union.rst new file mode 100644 index 0000000000..11f1c5f184 --- /dev/null +++ b/sphinx-doc/hoomd/filter/union.rst @@ -0,0 +1,6 @@ +Union +===== + +.. py:currentmodule:: hoomd.filter + +.. autoclass:: Union(f,g) diff --git a/sphinx-doc/hoomd/hpmc/compute/freevolume.rst b/sphinx-doc/hoomd/hpmc/compute/freevolume.rst new file mode 100644 index 0000000000..76ed2cd04a --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/compute/freevolume.rst @@ -0,0 +1,8 @@ +FreeVolume +========== + +.. py:currentmodule:: hoomd.hpmc.compute + +.. autoclass:: FreeVolume + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/compute/sdf.rst b/sphinx-doc/hoomd/hpmc/compute/sdf.rst new file mode 100644 index 0000000000..290e143714 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/compute/sdf.rst @@ -0,0 +1,8 @@ +SDF +=== + +.. py:currentmodule:: hoomd.hpmc.compute + +.. autoclass:: SDF + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/external/external.rst b/sphinx-doc/hoomd/hpmc/external/external.rst new file mode 100644 index 0000000000..7fbeb211c1 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/external/external.rst @@ -0,0 +1,7 @@ +External +======== + +.. py:currentmodule:: hoomd.hpmc.external + +.. autoclass:: External + :members: diff --git a/sphinx-doc/hoomd/hpmc/external/harmonic.rst b/sphinx-doc/hoomd/hpmc/external/harmonic.rst new file mode 100644 index 0000000000..e00cc17674 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/external/harmonic.rst @@ -0,0 +1,8 @@ +Harmonic +======== + +.. py:currentmodule:: hoomd.hpmc.external + +.. autoclass:: Harmonic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/external/linear.rst b/sphinx-doc/hoomd/hpmc/external/linear.rst new file mode 100644 index 0000000000..1b8b187b31 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/external/linear.rst @@ -0,0 +1,8 @@ +Linear +====== + +.. py:currentmodule:: hoomd.hpmc.external + +.. autoclass:: Linear + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/external/wallpotential.rst b/sphinx-doc/hoomd/hpmc/external/wallpotential.rst new file mode 100644 index 0000000000..c39bb6e302 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/external/wallpotential.rst @@ -0,0 +1,8 @@ +WallPotential +============= + +.. py:currentmodule:: hoomd.hpmc.external + +.. autoclass:: WallPotential + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/convexpolygon.rst b/sphinx-doc/hoomd/hpmc/integrate/convexpolygon.rst new file mode 100644 index 0000000000..5bda6b5390 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/convexpolygon.rst @@ -0,0 +1,8 @@ +ConvexPolygon +============= + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: ConvexPolygon + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/convexpolyhedron.rst b/sphinx-doc/hoomd/hpmc/integrate/convexpolyhedron.rst new file mode 100644 index 0000000000..cb98764eb9 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/convexpolyhedron.rst @@ -0,0 +1,8 @@ +ConvexPolyhedron +================ + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: ConvexPolyhedron + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/convexspheropolygon.rst b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolygon.rst new file mode 100644 index 0000000000..c8c062741b --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolygon.rst @@ -0,0 +1,8 @@ +ConvexSpheropolygon +=================== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: ConvexSpheropolygon + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedron.rst b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedron.rst new file mode 100644 index 0000000000..698bc4ed39 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedron.rst @@ -0,0 +1,8 @@ +ConvexSpheropolyhedron +====================== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: ConvexSpheropolyhedron + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedronunion.rst b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedronunion.rst new file mode 100644 index 0000000000..57e67c96fb --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/convexspheropolyhedronunion.rst @@ -0,0 +1,8 @@ +ConvexSpheropolyhedronUnion +=========================== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: ConvexSpheropolyhedronUnion + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/ellipsoid.rst b/sphinx-doc/hoomd/hpmc/integrate/ellipsoid.rst new file mode 100644 index 0000000000..8954b46297 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/ellipsoid.rst @@ -0,0 +1,8 @@ +Ellipsoid +========= + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: Ellipsoid + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoid.rst b/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoid.rst new file mode 100644 index 0000000000..42803cf7f9 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoid.rst @@ -0,0 +1,8 @@ +FacetedEllipsoid +================ + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: FacetedEllipsoid + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoidunion.rst b/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoidunion.rst new file mode 100644 index 0000000000..f1a9e9437e --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/facetedellipsoidunion.rst @@ -0,0 +1,8 @@ +FacetedEllipsoidUnion +===================== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: FacetedEllipsoidUnion + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/hpmcintegrator.rst b/sphinx-doc/hoomd/hpmc/integrate/hpmcintegrator.rst new file mode 100644 index 0000000000..f569fb5a33 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/hpmcintegrator.rst @@ -0,0 +1,8 @@ +HPMCIntegrator +============== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: HPMCIntegrator + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/polyhedron.rst b/sphinx-doc/hoomd/hpmc/integrate/polyhedron.rst new file mode 100644 index 0000000000..fe112f5102 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/polyhedron.rst @@ -0,0 +1,8 @@ +Polyhedron +========== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: Polyhedron + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/simplepolygon.rst b/sphinx-doc/hoomd/hpmc/integrate/simplepolygon.rst new file mode 100644 index 0000000000..df972ae222 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/simplepolygon.rst @@ -0,0 +1,8 @@ +SimplePolygon +============= + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: SimplePolygon + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/sphere.rst b/sphinx-doc/hoomd/hpmc/integrate/sphere.rst new file mode 100644 index 0000000000..2a918bc23d --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/sphere.rst @@ -0,0 +1,8 @@ +Sphere +====== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: Sphere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/sphereunion.rst b/sphinx-doc/hoomd/hpmc/integrate/sphereunion.rst new file mode 100644 index 0000000000..42f3766d63 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/sphereunion.rst @@ -0,0 +1,8 @@ +SphereUnion +=========== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: SphereUnion + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/integrate/sphinx.rst b/sphinx-doc/hoomd/hpmc/integrate/sphinx.rst new file mode 100644 index 0000000000..111392e705 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/integrate/sphinx.rst @@ -0,0 +1,8 @@ +Sphinx +====== + +.. py:currentmodule:: hoomd.hpmc.integrate + +.. autoclass:: Sphinx + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/module-compute.rst b/sphinx-doc/hoomd/hpmc/module-compute.rst new file mode 100644 index 0000000000..e6ecd4c6fa --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-compute.rst @@ -0,0 +1,14 @@ +compute +======= + +.. automodule:: hoomd.hpmc.compute + :members: + :exclude-members: FreeVolume,SDF + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + compute/freevolume + compute/sdf diff --git a/sphinx-doc/hoomd/hpmc/module-external.rst b/sphinx-doc/hoomd/hpmc/module-external.rst new file mode 100644 index 0000000000..4ff5279fe5 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-external.rst @@ -0,0 +1,16 @@ +external +======== + +.. automodule:: hoomd.hpmc.external + :members: + :exclude-members: External,Harmonic,Linear,WallPotential + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + external/external + external/harmonic + external/linear + external/wallpotential diff --git a/sphinx-doc/hoomd/hpmc/module-integrate.rst b/sphinx-doc/hoomd/hpmc/module-integrate.rst new file mode 100644 index 0000000000..135c479e13 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-integrate.rst @@ -0,0 +1,26 @@ +integrate +========= + +.. automodule:: hoomd.hpmc.integrate + :members: + :exclude-members: ConvexPolygon,ConvexPolyhedron,ConvexSpheropolygon,ConvexSpheropolyhedron,ConvexSpheropolyhedronUnion,Ellipsoid,FacetedEllipsoid,FacetedEllipsoidUnion,HPMCIntegrator,Polyhedron,SimplePolygon,Sphere,SphereUnion,Sphinx + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + integrate/convexpolygon + integrate/convexpolyhedron + integrate/convexspheropolygon + integrate/convexspheropolyhedron + integrate/convexspheropolyhedronunion + integrate/ellipsoid + integrate/facetedellipsoid + integrate/facetedellipsoidunion + integrate/hpmcintegrator + integrate/polyhedron + integrate/simplepolygon + integrate/sphere + integrate/sphereunion + integrate/sphinx diff --git a/sphinx-doc/hoomd/hpmc/module-nec.rst b/sphinx-doc/hoomd/hpmc/module-nec.rst new file mode 100644 index 0000000000..642987bf88 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-nec.rst @@ -0,0 +1,12 @@ +nec +=== + +.. automodule:: hoomd.hpmc.nec + :members: +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + nec/module-integrate + nec/module-tune diff --git a/sphinx-doc/hoomd/hpmc/module-pair.rst b/sphinx-doc/hoomd/hpmc/module-pair.rst new file mode 100644 index 0000000000..70487e332c --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-pair.rst @@ -0,0 +1,20 @@ +pair +==== + +.. automodule:: hoomd.hpmc.pair + :members: + :exclude-members: AngularStep,ExpandedGaussian,LJGauss,LennardJones,OPP,Pair,Step,Union + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + pair/angularstep + pair/expandedgaussian + pair/ljgauss + pair/lennardjones + pair/opp + pair/pair + pair/step + pair/union diff --git a/sphinx-doc/hoomd/hpmc/module-shape_move.rst b/sphinx-doc/hoomd/hpmc/module-shape_move.rst new file mode 100644 index 0000000000..7b34a65468 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-shape_move.rst @@ -0,0 +1,16 @@ +shape_move +========== + +.. automodule:: hoomd.hpmc.shape_move + :members: + :exclude-members: Elastic,ShapeMove,ShapeSpace,Vertex + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + shape_move/elastic + shape_move/shapemove + shape_move/shapespace + shape_move/vertex diff --git a/sphinx-doc/hoomd/hpmc/module-tune.rst b/sphinx-doc/hoomd/hpmc/module-tune.rst new file mode 100644 index 0000000000..3f549a8d68 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-tune.rst @@ -0,0 +1,14 @@ +tune +==== + +.. automodule:: hoomd.hpmc.tune + :members: + :exclude-members: BoxMCMoveSize,MoveSize + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + tune/boxmcmovesize + tune/movesize diff --git a/sphinx-doc/hoomd/hpmc/module-update.rst b/sphinx-doc/hoomd/hpmc/module-update.rst new file mode 100644 index 0000000000..37f11ac58c --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/module-update.rst @@ -0,0 +1,17 @@ +update +====== + +.. automodule:: hoomd.hpmc.update + :members: + :exclude-members: BoxMC,GCA,MuVT,QuickCompress,Shape + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + update/boxmc + update/gca + update/muvt + update/quickcompress + update/shape diff --git a/sphinx-doc/hoomd/hpmc/nec/integrate/convexpolyhedron.rst b/sphinx-doc/hoomd/hpmc/nec/integrate/convexpolyhedron.rst new file mode 100644 index 0000000000..37b5b4cd42 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/integrate/convexpolyhedron.rst @@ -0,0 +1,8 @@ +ConvexPolyhedron +================ + +.. py:currentmodule:: hoomd.hpmc.nec.integrate + +.. autoclass:: ConvexPolyhedron + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/nec/integrate/hpmcnecintegrator.rst b/sphinx-doc/hoomd/hpmc/nec/integrate/hpmcnecintegrator.rst new file mode 100644 index 0000000000..3595662c17 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/integrate/hpmcnecintegrator.rst @@ -0,0 +1,8 @@ +HPMCNECIntegrator +================= + +.. py:currentmodule:: hoomd.hpmc.nec.integrate + +.. autoclass:: HPMCNECIntegrator + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/nec/integrate/sphere.rst b/sphinx-doc/hoomd/hpmc/nec/integrate/sphere.rst new file mode 100644 index 0000000000..f04a35951c --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/integrate/sphere.rst @@ -0,0 +1,8 @@ +Sphere +====== + +.. py:currentmodule:: hoomd.hpmc.nec.integrate + +.. autoclass:: Sphere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/nec/module-integrate.rst b/sphinx-doc/hoomd/hpmc/nec/module-integrate.rst new file mode 100644 index 0000000000..8e824cb541 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/module-integrate.rst @@ -0,0 +1,15 @@ +integrate +========= + +.. automodule:: hoomd.hpmc.nec.integrate + :members: + :exclude-members: ConvexPolyhedron,HPMCNECIntegrator,Sphere + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + integrate/convexpolyhedron + integrate/hpmcnecintegrator + integrate/sphere diff --git a/sphinx-doc/hoomd/hpmc/nec/module-tune.rst b/sphinx-doc/hoomd/hpmc/nec/module-tune.rst new file mode 100644 index 0000000000..22d113f0be --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/module-tune.rst @@ -0,0 +1,13 @@ +tune +==== + +.. automodule:: hoomd.hpmc.nec.tune + :members: + :exclude-members: ChainTime + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + tune/chaintime diff --git a/sphinx-doc/hoomd/hpmc/nec/tune/chaintime.rst b/sphinx-doc/hoomd/hpmc/nec/tune/chaintime.rst new file mode 100644 index 0000000000..53c8301439 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/nec/tune/chaintime.rst @@ -0,0 +1,7 @@ +ChainTime +========= + +.. py:currentmodule:: hoomd.hpmc.nec.tune + +.. autoclass:: ChainTime(trigger, target, solver, max_chain_time=None) + :members: diff --git a/sphinx-doc/hoomd/hpmc/pair/angularstep.rst b/sphinx-doc/hoomd/hpmc/pair/angularstep.rst new file mode 100644 index 0000000000..62edd2ceb8 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/angularstep.rst @@ -0,0 +1,8 @@ +AngularStep +=========== + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: AngularStep + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/expandedgaussian.rst b/sphinx-doc/hoomd/hpmc/pair/expandedgaussian.rst new file mode 100644 index 0000000000..e5803d519c --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/expandedgaussian.rst @@ -0,0 +1,8 @@ +ExpandedGaussian +================ + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: ExpandedGaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/lennardjones.rst b/sphinx-doc/hoomd/hpmc/pair/lennardjones.rst new file mode 100644 index 0000000000..d7afdc49df --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/lennardjones.rst @@ -0,0 +1,8 @@ +LennardJones +============ + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: LennardJones + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/ljgauss.rst b/sphinx-doc/hoomd/hpmc/pair/ljgauss.rst new file mode 100644 index 0000000000..3be931e4eb --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/ljgauss.rst @@ -0,0 +1,8 @@ +LJGauss +======= + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: LJGauss + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/opp.rst b/sphinx-doc/hoomd/hpmc/pair/opp.rst new file mode 100644 index 0000000000..b85037b1d3 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/opp.rst @@ -0,0 +1,8 @@ +OPP +=== + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: OPP + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/pair.rst b/sphinx-doc/hoomd/hpmc/pair/pair.rst new file mode 100644 index 0000000000..da5446b5cf --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/pair.rst @@ -0,0 +1,7 @@ +Pair +==== + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: Pair + :members: diff --git a/sphinx-doc/hoomd/hpmc/pair/step.rst b/sphinx-doc/hoomd/hpmc/pair/step.rst new file mode 100644 index 0000000000..227a8ce293 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/step.rst @@ -0,0 +1,8 @@ +Step +==== + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: Step + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/pair/union.rst b/sphinx-doc/hoomd/hpmc/pair/union.rst new file mode 100644 index 0000000000..a838d5bdca --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/pair/union.rst @@ -0,0 +1,8 @@ +Union +===== + +.. py:currentmodule:: hoomd.hpmc.pair + +.. autoclass:: Union + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/shape_move/elastic.rst b/sphinx-doc/hoomd/hpmc/shape_move/elastic.rst new file mode 100644 index 0000000000..9fca15f485 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/shape_move/elastic.rst @@ -0,0 +1,8 @@ +Elastic +======= + +.. py:currentmodule:: hoomd.hpmc.shape_move + +.. autoclass:: Elastic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/shape_move/shapemove.rst b/sphinx-doc/hoomd/hpmc/shape_move/shapemove.rst new file mode 100644 index 0000000000..c070b5f74b --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/shape_move/shapemove.rst @@ -0,0 +1,7 @@ +ShapeMove +========= + +.. py:currentmodule:: hoomd.hpmc.shape_move + +.. autoclass:: ShapeMove + :members: diff --git a/sphinx-doc/hoomd/hpmc/shape_move/shapespace.rst b/sphinx-doc/hoomd/hpmc/shape_move/shapespace.rst new file mode 100644 index 0000000000..dd22f08a18 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/shape_move/shapespace.rst @@ -0,0 +1,8 @@ +ShapeSpace +========== + +.. py:currentmodule:: hoomd.hpmc.shape_move + +.. autoclass:: ShapeSpace + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/shape_move/vertex.rst b/sphinx-doc/hoomd/hpmc/shape_move/vertex.rst new file mode 100644 index 0000000000..c0871a7910 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/shape_move/vertex.rst @@ -0,0 +1,8 @@ +Vertex +====== + +.. py:currentmodule:: hoomd.hpmc.shape_move + +.. autoclass:: Vertex + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/tune/boxmcmovesize.rst b/sphinx-doc/hoomd/hpmc/tune/boxmcmovesize.rst new file mode 100644 index 0000000000..1cf93d0940 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/tune/boxmcmovesize.rst @@ -0,0 +1,7 @@ +BoxMCMoveSize +============= + +.. py:currentmodule:: hoomd.hpmc.tune + +.. autoclass:: BoxMCMoveSize(trigger, boxmc, moves, target, solver, max_move_size=None) + :members: diff --git a/sphinx-doc/hoomd/hpmc/tune/movesize.rst b/sphinx-doc/hoomd/hpmc/tune/movesize.rst new file mode 100644 index 0000000000..6b9bb2bb8e --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/tune/movesize.rst @@ -0,0 +1,7 @@ +MoveSize +======== + +.. py:currentmodule:: hoomd.hpmc.tune + +.. autoclass:: MoveSize(trigger, moves, target, solver, types=None, max_translation_move=None, max_rotation_move=None) + :members: diff --git a/sphinx-doc/hoomd/hpmc/update/boxmc.rst b/sphinx-doc/hoomd/hpmc/update/boxmc.rst new file mode 100644 index 0000000000..deba8743fa --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/update/boxmc.rst @@ -0,0 +1,8 @@ +BoxMC +===== + +.. py:currentmodule:: hoomd.hpmc.update + +.. autoclass:: BoxMC + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/update/gca.rst b/sphinx-doc/hoomd/hpmc/update/gca.rst new file mode 100644 index 0000000000..c76d0d5ae9 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/update/gca.rst @@ -0,0 +1,8 @@ +GCA +=== + +.. py:currentmodule:: hoomd.hpmc.update + +.. autoclass:: GCA + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/update/muvt.rst b/sphinx-doc/hoomd/hpmc/update/muvt.rst new file mode 100644 index 0000000000..37f420a4e8 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/update/muvt.rst @@ -0,0 +1,8 @@ +MuVT +==== + +.. py:currentmodule:: hoomd.hpmc.update + +.. autoclass:: MuVT + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/update/quickcompress.rst b/sphinx-doc/hoomd/hpmc/update/quickcompress.rst new file mode 100644 index 0000000000..7ff43777e3 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/update/quickcompress.rst @@ -0,0 +1,8 @@ +QuickCompress +============= + +.. py:currentmodule:: hoomd.hpmc.update + +.. autoclass:: QuickCompress + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/hpmc/update/shape.rst b/sphinx-doc/hoomd/hpmc/update/shape.rst new file mode 100644 index 0000000000..ebdcd754d9 --- /dev/null +++ b/sphinx-doc/hoomd/hpmc/update/shape.rst @@ -0,0 +1,8 @@ +Shape +===== + +.. py:currentmodule:: hoomd.hpmc.update + +.. autoclass:: Shape + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/logging/log.rst b/sphinx-doc/hoomd/logging/log.rst new file mode 100644 index 0000000000..3f6f30570e --- /dev/null +++ b/sphinx-doc/hoomd/logging/log.rst @@ -0,0 +1,6 @@ +log +=== + +.. py:currentmodule:: hoomd.logging + +.. autofunction:: log diff --git a/sphinx-doc/hoomd/logging/logger.rst b/sphinx-doc/hoomd/logging/logger.rst new file mode 100644 index 0000000000..68144e1635 --- /dev/null +++ b/sphinx-doc/hoomd/logging/logger.rst @@ -0,0 +1,7 @@ +Logger +====== + +.. py:currentmodule:: hoomd.logging + +.. autoclass:: Logger + :members: diff --git a/sphinx-doc/hoomd/logging/loggercategories.rst b/sphinx-doc/hoomd/logging/loggercategories.rst new file mode 100644 index 0000000000..95b2a20f88 --- /dev/null +++ b/sphinx-doc/hoomd/logging/loggercategories.rst @@ -0,0 +1,8 @@ +LoggerCategories +================ + +.. py:currentmodule:: hoomd.logging + +.. autoclass:: LoggerCategories + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/logging/modify_namespace.rst b/sphinx-doc/hoomd/logging/modify_namespace.rst new file mode 100644 index 0000000000..2392bb06ad --- /dev/null +++ b/sphinx-doc/hoomd/logging/modify_namespace.rst @@ -0,0 +1,6 @@ +modify_namespace +================ + +.. py:currentmodule:: hoomd.logging + +.. autofunction:: modify_namespace diff --git a/sphinx-doc/hoomd/md/alchemy/methods/alchemostat.rst b/sphinx-doc/hoomd/md/alchemy/methods/alchemostat.rst new file mode 100644 index 0000000000..024a29abff --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/methods/alchemostat.rst @@ -0,0 +1,8 @@ +Alchemostat +=========== + +.. py:currentmodule:: hoomd.md.alchemy.methods + +.. autoclass:: Alchemostat + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/alchemy/methods/nvt.rst b/sphinx-doc/hoomd/md/alchemy/methods/nvt.rst new file mode 100644 index 0000000000..b04a7418d3 --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/methods/nvt.rst @@ -0,0 +1,8 @@ +NVT +=== + +.. py:currentmodule:: hoomd.md.alchemy.methods + +.. autoclass:: NVT + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/alchemy/module-methods.rst b/sphinx-doc/hoomd/md/alchemy/module-methods.rst new file mode 100644 index 0000000000..d6e93d5535 --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/module-methods.rst @@ -0,0 +1,14 @@ +methods +======= + +.. automodule:: hoomd.md.alchemy.methods + :members: + :exclude-members: Alchemostat,NVT + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + methods/alchemostat + methods/nvt diff --git a/sphinx-doc/hoomd/md/alchemy/module-pair.rst b/sphinx-doc/hoomd/md/alchemy/module-pair.rst new file mode 100644 index 0000000000..0cb492f245 --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/module-pair.rst @@ -0,0 +1,15 @@ +pair +==== + +.. automodule:: hoomd.md.alchemy.pair + :members: + :exclude-members: AlchemicalDOF,AlchemicalDOFStore,LJGauss + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + pair/alchemicaldof + pair/alchemicaldofstore + pair/ljgauss diff --git a/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldof.rst b/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldof.rst new file mode 100644 index 0000000000..20581db22b --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldof.rst @@ -0,0 +1,7 @@ +AlchemicalDOF +============= + +.. py:currentmodule:: hoomd.md.alchemy.pair + +.. autoclass:: AlchemicalDOF + :members: diff --git a/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldofstore.rst b/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldofstore.rst new file mode 100644 index 0000000000..eb21c5dc21 --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/pair/alchemicaldofstore.rst @@ -0,0 +1,8 @@ +AlchemicalDOFStore +================== + +.. py:currentmodule:: hoomd.md.alchemy.pair + +.. autoclass:: AlchemicalDOFStore + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/alchemy/pair/ljgauss.rst b/sphinx-doc/hoomd/md/alchemy/pair/ljgauss.rst new file mode 100644 index 0000000000..8dae5d9a88 --- /dev/null +++ b/sphinx-doc/hoomd/md/alchemy/pair/ljgauss.rst @@ -0,0 +1,8 @@ +LJGauss +======= + +.. py:currentmodule:: hoomd.md.alchemy.pair + +.. autoclass:: LJGauss + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/angle/angle.rst b/sphinx-doc/hoomd/md/angle/angle.rst new file mode 100644 index 0000000000..8fbc8277fd --- /dev/null +++ b/sphinx-doc/hoomd/md/angle/angle.rst @@ -0,0 +1,8 @@ +Angle +===== + +.. py:currentmodule:: hoomd.md.angle + +.. autoclass:: Angle + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/angle/cosinesquared.rst b/sphinx-doc/hoomd/md/angle/cosinesquared.rst new file mode 100644 index 0000000000..4d57f1334f --- /dev/null +++ b/sphinx-doc/hoomd/md/angle/cosinesquared.rst @@ -0,0 +1,8 @@ +CosineSquared +============= + +.. py:currentmodule:: hoomd.md.angle + +.. autoclass:: CosineSquared + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/angle/harmonic.rst b/sphinx-doc/hoomd/md/angle/harmonic.rst new file mode 100644 index 0000000000..0c4ca7f872 --- /dev/null +++ b/sphinx-doc/hoomd/md/angle/harmonic.rst @@ -0,0 +1,8 @@ +Harmonic +======== + +.. py:currentmodule:: hoomd.md.angle + +.. autoclass:: Harmonic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/angle/table.rst b/sphinx-doc/hoomd/md/angle/table.rst new file mode 100644 index 0000000000..b0870c6600 --- /dev/null +++ b/sphinx-doc/hoomd/md/angle/table.rst @@ -0,0 +1,8 @@ +Table +===== + +.. py:currentmodule:: hoomd.md.angle + +.. autoclass:: Table + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/bond/bond.rst b/sphinx-doc/hoomd/md/bond/bond.rst new file mode 100644 index 0000000000..7a1ce0b247 --- /dev/null +++ b/sphinx-doc/hoomd/md/bond/bond.rst @@ -0,0 +1,8 @@ +Bond +==== + +.. py:currentmodule:: hoomd.md.bond + +.. autoclass:: Bond + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/bond/fenewca.rst b/sphinx-doc/hoomd/md/bond/fenewca.rst new file mode 100644 index 0000000000..920c61272f --- /dev/null +++ b/sphinx-doc/hoomd/md/bond/fenewca.rst @@ -0,0 +1,8 @@ +FENEWCA +======= + +.. py:currentmodule:: hoomd.md.bond + +.. autoclass:: FENEWCA + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/bond/harmonic.rst b/sphinx-doc/hoomd/md/bond/harmonic.rst new file mode 100644 index 0000000000..15ed0469c0 --- /dev/null +++ b/sphinx-doc/hoomd/md/bond/harmonic.rst @@ -0,0 +1,8 @@ +Harmonic +======== + +.. py:currentmodule:: hoomd.md.bond + +.. autoclass:: Harmonic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/bond/table.rst b/sphinx-doc/hoomd/md/bond/table.rst new file mode 100644 index 0000000000..bd7bdfadb9 --- /dev/null +++ b/sphinx-doc/hoomd/md/bond/table.rst @@ -0,0 +1,8 @@ +Table +===== + +.. py:currentmodule:: hoomd.md.bond + +.. autoclass:: Table + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/bond/tether.rst b/sphinx-doc/hoomd/md/bond/tether.rst new file mode 100644 index 0000000000..b5dfcd90b8 --- /dev/null +++ b/sphinx-doc/hoomd/md/bond/tether.rst @@ -0,0 +1,8 @@ +Tether +====== + +.. py:currentmodule:: hoomd.md.bond + +.. autoclass:: Tether + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/compute/harmonicaveragedthermodynamicquantities.rst b/sphinx-doc/hoomd/md/compute/harmonicaveragedthermodynamicquantities.rst new file mode 100644 index 0000000000..429ef9a4d2 --- /dev/null +++ b/sphinx-doc/hoomd/md/compute/harmonicaveragedthermodynamicquantities.rst @@ -0,0 +1,8 @@ +HarmonicAveragedThermodynamicQuantities +======================================= + +.. py:currentmodule:: hoomd.md.compute + +.. autoclass:: HarmonicAveragedThermodynamicQuantities + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/compute/thermodynamicquantities.rst b/sphinx-doc/hoomd/md/compute/thermodynamicquantities.rst new file mode 100644 index 0000000000..4838077853 --- /dev/null +++ b/sphinx-doc/hoomd/md/compute/thermodynamicquantities.rst @@ -0,0 +1,8 @@ +ThermodynamicQuantities +======================= + +.. py:currentmodule:: hoomd.md.compute + +.. autoclass:: ThermodynamicQuantities + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/constrain/constraint.rst b/sphinx-doc/hoomd/md/constrain/constraint.rst new file mode 100644 index 0000000000..30758e8177 --- /dev/null +++ b/sphinx-doc/hoomd/md/constrain/constraint.rst @@ -0,0 +1,8 @@ +Constraint +========== + +.. py:currentmodule:: hoomd.md.constrain + +.. autoclass:: Constraint + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/constrain/distance.rst b/sphinx-doc/hoomd/md/constrain/distance.rst new file mode 100644 index 0000000000..29e5e811ac --- /dev/null +++ b/sphinx-doc/hoomd/md/constrain/distance.rst @@ -0,0 +1,8 @@ +Distance +======== + +.. py:currentmodule:: hoomd.md.constrain + +.. autoclass:: Distance + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/constrain/rigid.rst b/sphinx-doc/hoomd/md/constrain/rigid.rst new file mode 100644 index 0000000000..ba66c7eca8 --- /dev/null +++ b/sphinx-doc/hoomd/md/constrain/rigid.rst @@ -0,0 +1,8 @@ +Rigid +===== + +.. py:currentmodule:: hoomd.md.constrain + +.. autoclass:: Rigid + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/data/forcelocalaccess.rst b/sphinx-doc/hoomd/md/data/forcelocalaccess.rst new file mode 100644 index 0000000000..746531a0a8 --- /dev/null +++ b/sphinx-doc/hoomd/md/data/forcelocalaccess.rst @@ -0,0 +1,7 @@ +ForceLocalAccess +================ + +.. py:currentmodule:: hoomd.md.data + +.. autoclass:: ForceLocalAccess() + :members: diff --git a/sphinx-doc/hoomd/md/data/forcelocalaccessgpu.rst b/sphinx-doc/hoomd/md/data/forcelocalaccessgpu.rst new file mode 100644 index 0000000000..f9dade76b0 --- /dev/null +++ b/sphinx-doc/hoomd/md/data/forcelocalaccessgpu.rst @@ -0,0 +1,7 @@ +ForceLocalAccessGPU +=================== + +.. py:currentmodule:: hoomd.md.data + +.. autoclass:: ForceLocalAccessGPU() + :members: diff --git a/sphinx-doc/hoomd/md/data/neighborlistlocalaccess.rst b/sphinx-doc/hoomd/md/data/neighborlistlocalaccess.rst new file mode 100644 index 0000000000..5b57a4de85 --- /dev/null +++ b/sphinx-doc/hoomd/md/data/neighborlistlocalaccess.rst @@ -0,0 +1,7 @@ +NeighborListLocalAccess +======================= + +.. py:currentmodule:: hoomd.md.data + +.. autoclass:: NeighborListLocalAccess() + :members: diff --git a/sphinx-doc/hoomd/md/data/neighborlistlocalaccessgpu.rst b/sphinx-doc/hoomd/md/data/neighborlistlocalaccessgpu.rst new file mode 100644 index 0000000000..2fab1001de --- /dev/null +++ b/sphinx-doc/hoomd/md/data/neighborlistlocalaccessgpu.rst @@ -0,0 +1,7 @@ +NeighborListLocalAccessGPU +========================== + +.. py:currentmodule:: hoomd.md.data + +.. autoclass:: NeighborListLocalAccessGPU() + :members: diff --git a/sphinx-doc/hoomd/md/dihedral/dihedral.rst b/sphinx-doc/hoomd/md/dihedral/dihedral.rst new file mode 100644 index 0000000000..0369ac5f3b --- /dev/null +++ b/sphinx-doc/hoomd/md/dihedral/dihedral.rst @@ -0,0 +1,8 @@ +Dihedral +======== + +.. py:currentmodule:: hoomd.md.dihedral + +.. autoclass:: Dihedral + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/dihedral/opls.rst b/sphinx-doc/hoomd/md/dihedral/opls.rst new file mode 100644 index 0000000000..a4f00bdb5c --- /dev/null +++ b/sphinx-doc/hoomd/md/dihedral/opls.rst @@ -0,0 +1,8 @@ +OPLS +==== + +.. py:currentmodule:: hoomd.md.dihedral + +.. autoclass:: OPLS + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/dihedral/periodic.rst b/sphinx-doc/hoomd/md/dihedral/periodic.rst new file mode 100644 index 0000000000..ad1de80045 --- /dev/null +++ b/sphinx-doc/hoomd/md/dihedral/periodic.rst @@ -0,0 +1,8 @@ +Periodic +======== + +.. py:currentmodule:: hoomd.md.dihedral + +.. autoclass:: Periodic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/dihedral/table.rst b/sphinx-doc/hoomd/md/dihedral/table.rst new file mode 100644 index 0000000000..b18e642cc2 --- /dev/null +++ b/sphinx-doc/hoomd/md/dihedral/table.rst @@ -0,0 +1,8 @@ +Table +===== + +.. py:currentmodule:: hoomd.md.dihedral + +.. autoclass:: Table + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/field/electric.rst b/sphinx-doc/hoomd/md/external/field/electric.rst new file mode 100644 index 0000000000..a2f6852d54 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/field/electric.rst @@ -0,0 +1,8 @@ +Electric +======== + +.. py:currentmodule:: hoomd.md.external.field + +.. autoclass:: Electric + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/field/field.rst b/sphinx-doc/hoomd/md/external/field/field.rst new file mode 100644 index 0000000000..3da6c9e8a0 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/field/field.rst @@ -0,0 +1,8 @@ +Field +===== + +.. py:currentmodule:: hoomd.md.external.field + +.. autoclass:: Field + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/field/magnetic.rst b/sphinx-doc/hoomd/md/external/field/magnetic.rst new file mode 100644 index 0000000000..93acae45d4 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/field/magnetic.rst @@ -0,0 +1,8 @@ +Magnetic +======== + +.. py:currentmodule:: hoomd.md.external.field + +.. autoclass:: Magnetic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/field/periodic.rst b/sphinx-doc/hoomd/md/external/field/periodic.rst new file mode 100644 index 0000000000..668693835a --- /dev/null +++ b/sphinx-doc/hoomd/md/external/field/periodic.rst @@ -0,0 +1,8 @@ +Periodic +======== + +.. py:currentmodule:: hoomd.md.external.field + +.. autoclass:: Periodic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/module-field.rst b/sphinx-doc/hoomd/md/external/module-field.rst new file mode 100644 index 0000000000..5ae832526d --- /dev/null +++ b/sphinx-doc/hoomd/md/external/module-field.rst @@ -0,0 +1,16 @@ +field +===== + +.. automodule:: hoomd.md.external.field + :members: + :exclude-members: Electric,Field,Magnetic,Periodic + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + field/electric + field/field + field/magnetic + field/periodic diff --git a/sphinx-doc/hoomd/md/external/module-wall.rst b/sphinx-doc/hoomd/md/external/module-wall.rst new file mode 100644 index 0000000000..25665cb259 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/module-wall.rst @@ -0,0 +1,19 @@ +wall +==== + +.. automodule:: hoomd.md.external.wall + :members: + :exclude-members: ForceShiftedLJ,Gaussian,LJ,Mie,Morse,WallPotential,Yukawa + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + wall/forceshiftedlj + wall/gaussian + wall/lj + wall/mie + wall/morse + wall/wallpotential + wall/yukawa diff --git a/sphinx-doc/hoomd/md/external/wall/forceshiftedlj.rst b/sphinx-doc/hoomd/md/external/wall/forceshiftedlj.rst new file mode 100644 index 0000000000..84c87e9106 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/forceshiftedlj.rst @@ -0,0 +1,8 @@ +ForceShiftedLJ +============== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: ForceShiftedLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/gaussian.rst b/sphinx-doc/hoomd/md/external/wall/gaussian.rst new file mode 100644 index 0000000000..35d8280d0e --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/gaussian.rst @@ -0,0 +1,8 @@ +Gaussian +======== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: Gaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/lj.rst b/sphinx-doc/hoomd/md/external/wall/lj.rst new file mode 100644 index 0000000000..6c4a65ad8b --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/lj.rst @@ -0,0 +1,8 @@ +LJ +== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: LJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/mie.rst b/sphinx-doc/hoomd/md/external/wall/mie.rst new file mode 100644 index 0000000000..0f39030dfb --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/mie.rst @@ -0,0 +1,8 @@ +Mie +=== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: Mie + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/morse.rst b/sphinx-doc/hoomd/md/external/wall/morse.rst new file mode 100644 index 0000000000..3f5d12a6fb --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/morse.rst @@ -0,0 +1,8 @@ +Morse +===== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: Morse + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/wallpotential.rst b/sphinx-doc/hoomd/md/external/wall/wallpotential.rst new file mode 100644 index 0000000000..419a830ace --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/wallpotential.rst @@ -0,0 +1,8 @@ +WallPotential +============= + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: WallPotential + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/external/wall/yukawa.rst b/sphinx-doc/hoomd/md/external/wall/yukawa.rst new file mode 100644 index 0000000000..c578cc1306 --- /dev/null +++ b/sphinx-doc/hoomd/md/external/wall/yukawa.rst @@ -0,0 +1,8 @@ +Yukawa +====== + +.. py:currentmodule:: hoomd.md.external.wall + +.. autoclass:: Yukawa + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/force/active.rst b/sphinx-doc/hoomd/md/force/active.rst new file mode 100644 index 0000000000..eca1363362 --- /dev/null +++ b/sphinx-doc/hoomd/md/force/active.rst @@ -0,0 +1,8 @@ +Active +====== + +.. py:currentmodule:: hoomd.md.force + +.. autoclass:: Active + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/force/activeonmanifold.rst b/sphinx-doc/hoomd/md/force/activeonmanifold.rst new file mode 100644 index 0000000000..f5bd0c15e2 --- /dev/null +++ b/sphinx-doc/hoomd/md/force/activeonmanifold.rst @@ -0,0 +1,8 @@ +ActiveOnManifold +================ + +.. py:currentmodule:: hoomd.md.force + +.. autoclass:: ActiveOnManifold + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/force/constant.rst b/sphinx-doc/hoomd/md/force/constant.rst new file mode 100644 index 0000000000..4b439b3ee5 --- /dev/null +++ b/sphinx-doc/hoomd/md/force/constant.rst @@ -0,0 +1,8 @@ +Constant +======== + +.. py:currentmodule:: hoomd.md.force + +.. autoclass:: Constant + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/force/custom.rst b/sphinx-doc/hoomd/md/force/custom.rst new file mode 100644 index 0000000000..a518c14255 --- /dev/null +++ b/sphinx-doc/hoomd/md/force/custom.rst @@ -0,0 +1,8 @@ +Custom +====== + +.. py:currentmodule:: hoomd.md.force + +.. autoclass:: Custom + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/force/force.rst b/sphinx-doc/hoomd/md/force/force.rst new file mode 100644 index 0000000000..8c6c2ab8cf --- /dev/null +++ b/sphinx-doc/hoomd/md/force/force.rst @@ -0,0 +1,8 @@ +Force +===== + +.. py:currentmodule:: hoomd.md.force + +.. autoclass:: Force + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/halfstephook.rst b/sphinx-doc/hoomd/md/halfstephook.rst new file mode 100644 index 0000000000..c4b08ebd57 --- /dev/null +++ b/sphinx-doc/hoomd/md/halfstephook.rst @@ -0,0 +1,7 @@ +HalfStepHook +============ + +.. py:currentmodule:: hoomd.md + +.. autoclass:: HalfStepHook() + :members: diff --git a/sphinx-doc/hoomd/md/improper/harmonic.rst b/sphinx-doc/hoomd/md/improper/harmonic.rst new file mode 100644 index 0000000000..ee25c89175 --- /dev/null +++ b/sphinx-doc/hoomd/md/improper/harmonic.rst @@ -0,0 +1,8 @@ +Harmonic +======== + +.. py:currentmodule:: hoomd.md.improper + +.. autoclass:: Harmonic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/improper/improper.rst b/sphinx-doc/hoomd/md/improper/improper.rst new file mode 100644 index 0000000000..e652a2bb82 --- /dev/null +++ b/sphinx-doc/hoomd/md/improper/improper.rst @@ -0,0 +1,8 @@ +Improper +======== + +.. py:currentmodule:: hoomd.md.improper + +.. autoclass:: Improper + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/improper/periodic.rst b/sphinx-doc/hoomd/md/improper/periodic.rst new file mode 100644 index 0000000000..fb97b1ba79 --- /dev/null +++ b/sphinx-doc/hoomd/md/improper/periodic.rst @@ -0,0 +1,8 @@ +Periodic +======== + +.. py:currentmodule:: hoomd.md.improper + +.. autoclass:: Periodic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/integrator.rst b/sphinx-doc/hoomd/md/integrator.rst new file mode 100644 index 0000000000..b89e76b139 --- /dev/null +++ b/sphinx-doc/hoomd/md/integrator.rst @@ -0,0 +1,8 @@ +Integrator +========== + +.. py:currentmodule:: hoomd.md + +.. autoclass:: Integrator + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/long_range/module-pppm.rst b/sphinx-doc/hoomd/md/long_range/module-pppm.rst new file mode 100644 index 0000000000..a3f914cf7e --- /dev/null +++ b/sphinx-doc/hoomd/md/long_range/module-pppm.rst @@ -0,0 +1,20 @@ +pppm +==== + +.. automodule:: hoomd.md.long_range.pppm + :members: + :exclude-members: Coulomb,make_pppm_coulomb_forces + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + pppm/coulomb + +.. rubric:: Functions + +.. toctree:: + :maxdepth: 1 + + pppm/make_pppm_coulomb_forces diff --git a/sphinx-doc/hoomd/md/long_range/pppm/coulomb.rst b/sphinx-doc/hoomd/md/long_range/pppm/coulomb.rst new file mode 100644 index 0000000000..544b4d7ca9 --- /dev/null +++ b/sphinx-doc/hoomd/md/long_range/pppm/coulomb.rst @@ -0,0 +1,8 @@ +Coulomb +======= + +.. py:currentmodule:: hoomd.md.long_range.pppm + +.. autoclass:: Coulomb + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/long_range/pppm/make_pppm_coulomb_forces.rst b/sphinx-doc/hoomd/md/long_range/pppm/make_pppm_coulomb_forces.rst new file mode 100644 index 0000000000..e07a60cd8c --- /dev/null +++ b/sphinx-doc/hoomd/md/long_range/pppm/make_pppm_coulomb_forces.rst @@ -0,0 +1,6 @@ +make_pppm_coulomb_forces +======================== + +.. py:currentmodule:: hoomd.md.long_range.pppm + +.. autofunction:: make_pppm_coulomb_forces diff --git a/sphinx-doc/hoomd/md/manifold/cylinder.rst b/sphinx-doc/hoomd/md/manifold/cylinder.rst new file mode 100644 index 0000000000..211f5ce057 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/cylinder.rst @@ -0,0 +1,8 @@ +Cylinder +======== + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Cylinder + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/diamond.rst b/sphinx-doc/hoomd/md/manifold/diamond.rst new file mode 100644 index 0000000000..1eb6c57e25 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/diamond.rst @@ -0,0 +1,8 @@ +Diamond +======= + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Diamond + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/ellipsoid.rst b/sphinx-doc/hoomd/md/manifold/ellipsoid.rst new file mode 100644 index 0000000000..934d480643 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/ellipsoid.rst @@ -0,0 +1,8 @@ +Ellipsoid +========= + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Ellipsoid + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/gyroid.rst b/sphinx-doc/hoomd/md/manifold/gyroid.rst new file mode 100644 index 0000000000..04468932e2 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/gyroid.rst @@ -0,0 +1,8 @@ +Gyroid +====== + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Gyroid + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/manifold.rst b/sphinx-doc/hoomd/md/manifold/manifold.rst new file mode 100644 index 0000000000..5e6b632ca0 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/manifold.rst @@ -0,0 +1,7 @@ +Manifold +======== + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Manifold + :members: diff --git a/sphinx-doc/hoomd/md/manifold/plane.rst b/sphinx-doc/hoomd/md/manifold/plane.rst new file mode 100644 index 0000000000..4b624d2605 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/plane.rst @@ -0,0 +1,8 @@ +Plane +===== + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Plane + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/primitive.rst b/sphinx-doc/hoomd/md/manifold/primitive.rst new file mode 100644 index 0000000000..8f45facf33 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/primitive.rst @@ -0,0 +1,8 @@ +Primitive +========= + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Primitive + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/manifold/sphere.rst b/sphinx-doc/hoomd/md/manifold/sphere.rst new file mode 100644 index 0000000000..3fef5c3139 --- /dev/null +++ b/sphinx-doc/hoomd/md/manifold/sphere.rst @@ -0,0 +1,8 @@ +Sphere +====== + +.. py:currentmodule:: hoomd.md.manifold + +.. autoclass:: Sphere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/many_body/revcross.rst b/sphinx-doc/hoomd/md/many_body/revcross.rst new file mode 100644 index 0000000000..0cdd682efd --- /dev/null +++ b/sphinx-doc/hoomd/md/many_body/revcross.rst @@ -0,0 +1,8 @@ +RevCross +======== + +.. py:currentmodule:: hoomd.md.many_body + +.. autoclass:: RevCross + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/many_body/squaredensity.rst b/sphinx-doc/hoomd/md/many_body/squaredensity.rst new file mode 100644 index 0000000000..644005cb3e --- /dev/null +++ b/sphinx-doc/hoomd/md/many_body/squaredensity.rst @@ -0,0 +1,8 @@ +SquareDensity +============= + +.. py:currentmodule:: hoomd.md.many_body + +.. autoclass:: SquareDensity + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/many_body/tersoff.rst b/sphinx-doc/hoomd/md/many_body/tersoff.rst new file mode 100644 index 0000000000..b94b66074a --- /dev/null +++ b/sphinx-doc/hoomd/md/many_body/tersoff.rst @@ -0,0 +1,8 @@ +Tersoff +======= + +.. py:currentmodule:: hoomd.md.many_body + +.. autoclass:: Tersoff + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/many_body/triplet.rst b/sphinx-doc/hoomd/md/many_body/triplet.rst new file mode 100644 index 0000000000..7ff041f34d --- /dev/null +++ b/sphinx-doc/hoomd/md/many_body/triplet.rst @@ -0,0 +1,8 @@ +Triplet +======= + +.. py:currentmodule:: hoomd.md.many_body + +.. autoclass:: Triplet + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/bending/bendingrigidity.rst b/sphinx-doc/hoomd/md/mesh/bending/bendingrigidity.rst new file mode 100644 index 0000000000..d0a1526ba4 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/bending/bendingrigidity.rst @@ -0,0 +1,8 @@ +BendingRigidity +=============== + +.. py:currentmodule:: hoomd.md.mesh.bending + +.. autoclass:: BendingRigidity + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/bending/helfrich.rst b/sphinx-doc/hoomd/md/mesh/bending/helfrich.rst new file mode 100644 index 0000000000..b69711f8fc --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/bending/helfrich.rst @@ -0,0 +1,8 @@ +Helfrich +======== + +.. py:currentmodule:: hoomd.md.mesh.bending + +.. autoclass:: Helfrich + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/bond/fenewca.rst b/sphinx-doc/hoomd/md/mesh/bond/fenewca.rst new file mode 100644 index 0000000000..a4898fdb97 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/bond/fenewca.rst @@ -0,0 +1,8 @@ +FENEWCA +======= + +.. py:currentmodule:: hoomd.md.mesh.bond + +.. autoclass:: FENEWCA + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/bond/harmonic.rst b/sphinx-doc/hoomd/md/mesh/bond/harmonic.rst new file mode 100644 index 0000000000..1c2b488c55 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/bond/harmonic.rst @@ -0,0 +1,8 @@ +Harmonic +======== + +.. py:currentmodule:: hoomd.md.mesh.bond + +.. autoclass:: Harmonic + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/bond/tether.rst b/sphinx-doc/hoomd/md/mesh/bond/tether.rst new file mode 100644 index 0000000000..aeb83047bc --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/bond/tether.rst @@ -0,0 +1,8 @@ +Tether +====== + +.. py:currentmodule:: hoomd.md.mesh.bond + +.. autoclass:: Tether + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/conservation/area.rst b/sphinx-doc/hoomd/md/mesh/conservation/area.rst new file mode 100644 index 0000000000..0b7fddb7fb --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/conservation/area.rst @@ -0,0 +1,8 @@ +Area +==== + +.. py:currentmodule:: hoomd.md.mesh.conservation + +.. autoclass:: Area + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/conservation/meshconservationpotential.rst b/sphinx-doc/hoomd/md/mesh/conservation/meshconservationpotential.rst new file mode 100644 index 0000000000..6cd3b3bb4b --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/conservation/meshconservationpotential.rst @@ -0,0 +1,8 @@ +MeshConservationPotential +========================= + +.. py:currentmodule:: hoomd.md.mesh.conservation + +.. autoclass:: MeshConservationPotential + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/conservation/trianglearea.rst b/sphinx-doc/hoomd/md/mesh/conservation/trianglearea.rst new file mode 100644 index 0000000000..45432d6fc9 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/conservation/trianglearea.rst @@ -0,0 +1,8 @@ +TriangleArea +============ + +.. py:currentmodule:: hoomd.md.mesh.conservation + +.. autoclass:: TriangleArea + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/conservation/volume.rst b/sphinx-doc/hoomd/md/mesh/conservation/volume.rst new file mode 100644 index 0000000000..ec809cbeae --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/conservation/volume.rst @@ -0,0 +1,8 @@ +Volume +====== + +.. py:currentmodule:: hoomd.md.mesh.conservation + +.. autoclass:: Volume + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/meshpotential.rst b/sphinx-doc/hoomd/md/mesh/meshpotential.rst new file mode 100644 index 0000000000..4e9a082486 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/meshpotential.rst @@ -0,0 +1,8 @@ +MeshPotential +============= + +.. py:currentmodule:: hoomd.md.mesh + +.. autoclass:: MeshPotential + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/mesh/module-bending.rst b/sphinx-doc/hoomd/md/mesh/module-bending.rst new file mode 100644 index 0000000000..8b4c58db2d --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/module-bending.rst @@ -0,0 +1,14 @@ +bending +======= + +.. automodule:: hoomd.md.mesh.bending + :members: + :exclude-members: BendingRigidity,Helfrich + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + bending/bendingrigidity + bending/helfrich diff --git a/sphinx-doc/hoomd/md/mesh/module-bond.rst b/sphinx-doc/hoomd/md/mesh/module-bond.rst new file mode 100644 index 0000000000..acda4bc140 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/module-bond.rst @@ -0,0 +1,15 @@ +bond +==== + +.. automodule:: hoomd.md.mesh.bond + :members: + :exclude-members: FENEWCA,Harmonic,Tether + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + bond/fenewca + bond/harmonic + bond/tether diff --git a/sphinx-doc/hoomd/md/mesh/module-conservation.rst b/sphinx-doc/hoomd/md/mesh/module-conservation.rst new file mode 100644 index 0000000000..4e6af514e7 --- /dev/null +++ b/sphinx-doc/hoomd/md/mesh/module-conservation.rst @@ -0,0 +1,16 @@ +conservation +============ + +.. automodule:: hoomd.md.mesh.conservation + :members: + :exclude-members: Area,MeshConservationPotential,TriangleArea,Volume + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + conservation/area + conservation/meshconservationpotential + conservation/trianglearea + conservation/volume diff --git a/sphinx-doc/hoomd/md/methods/brownian.rst b/sphinx-doc/hoomd/md/methods/brownian.rst new file mode 100644 index 0000000000..9472bd0df3 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/brownian.rst @@ -0,0 +1,8 @@ +Brownian +======== + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: Brownian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/constantpressure.rst b/sphinx-doc/hoomd/md/methods/constantpressure.rst new file mode 100644 index 0000000000..dcc5efc531 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/constantpressure.rst @@ -0,0 +1,8 @@ +ConstantPressure +================ + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: ConstantPressure + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/constantvolume.rst b/sphinx-doc/hoomd/md/methods/constantvolume.rst new file mode 100644 index 0000000000..fdab4f693f --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/constantvolume.rst @@ -0,0 +1,8 @@ +ConstantVolume +============== + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: ConstantVolume + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/displacementcapped.rst b/sphinx-doc/hoomd/md/methods/displacementcapped.rst new file mode 100644 index 0000000000..24ed291ec3 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/displacementcapped.rst @@ -0,0 +1,8 @@ +DisplacementCapped +================== + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: DisplacementCapped + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/langevin.rst b/sphinx-doc/hoomd/md/methods/langevin.rst new file mode 100644 index 0000000000..7353fb2753 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/langevin.rst @@ -0,0 +1,8 @@ +Langevin +======== + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: Langevin + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/method.rst b/sphinx-doc/hoomd/md/methods/method.rst new file mode 100644 index 0000000000..4ecb44451c --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/method.rst @@ -0,0 +1,8 @@ +Method +====== + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: Method + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/module-rattle.rst b/sphinx-doc/hoomd/md/methods/module-rattle.rst new file mode 100644 index 0000000000..abf94fbedc --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/module-rattle.rst @@ -0,0 +1,18 @@ +rattle +====== + +.. automodule:: hoomd.md.methods.rattle + :members: + :exclude-members: Brownian,DisplacementCapped,Langevin,MethodRATTLE,NVE,OverdampedViscous + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + rattle/brownian + rattle/displacementcapped + rattle/langevin + rattle/methodrattle + rattle/nve + rattle/overdampedviscous diff --git a/sphinx-doc/hoomd/md/methods/module-thermostats.rst b/sphinx-doc/hoomd/md/methods/module-thermostats.rst new file mode 100644 index 0000000000..64555fec40 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/module-thermostats.rst @@ -0,0 +1,16 @@ +thermostats +=========== + +.. automodule:: hoomd.md.methods.thermostats + :members: + :exclude-members: Berendsen,Bussi,MTTK,Thermostat + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + thermostats/berendsen + thermostats/bussi + thermostats/mttk + thermostats/thermostat diff --git a/sphinx-doc/hoomd/md/methods/overdampedviscous.rst b/sphinx-doc/hoomd/md/methods/overdampedviscous.rst new file mode 100644 index 0000000000..f565b832e8 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/overdampedviscous.rst @@ -0,0 +1,8 @@ +OverdampedViscous +================= + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: OverdampedViscous + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/brownian.rst b/sphinx-doc/hoomd/md/methods/rattle/brownian.rst new file mode 100644 index 0000000000..884e6f3fcf --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/brownian.rst @@ -0,0 +1,8 @@ +Brownian +======== + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: Brownian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/displacementcapped.rst b/sphinx-doc/hoomd/md/methods/rattle/displacementcapped.rst new file mode 100644 index 0000000000..2ce5304653 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/displacementcapped.rst @@ -0,0 +1,8 @@ +DisplacementCapped +================== + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: DisplacementCapped + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/langevin.rst b/sphinx-doc/hoomd/md/methods/rattle/langevin.rst new file mode 100644 index 0000000000..5bace54335 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/langevin.rst @@ -0,0 +1,8 @@ +Langevin +======== + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: Langevin + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/methodrattle.rst b/sphinx-doc/hoomd/md/methods/rattle/methodrattle.rst new file mode 100644 index 0000000000..946626dedf --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/methodrattle.rst @@ -0,0 +1,8 @@ +MethodRATTLE +============ + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: MethodRATTLE + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/nve.rst b/sphinx-doc/hoomd/md/methods/rattle/nve.rst new file mode 100644 index 0000000000..46596433cb --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/nve.rst @@ -0,0 +1,8 @@ +NVE +=== + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: NVE + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/rattle/overdampedviscous.rst b/sphinx-doc/hoomd/md/methods/rattle/overdampedviscous.rst new file mode 100644 index 0000000000..2a8611c0d0 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/rattle/overdampedviscous.rst @@ -0,0 +1,8 @@ +OverdampedViscous +================= + +.. py:currentmodule:: hoomd.md.methods.rattle + +.. autoclass:: OverdampedViscous + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/thermostats/berendsen.rst b/sphinx-doc/hoomd/md/methods/thermostats/berendsen.rst new file mode 100644 index 0000000000..ac6f3f4027 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/thermostats/berendsen.rst @@ -0,0 +1,8 @@ +Berendsen +========= + +.. py:currentmodule:: hoomd.md.methods.thermostats + +.. autoclass:: Berendsen + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/thermostats/bussi.rst b/sphinx-doc/hoomd/md/methods/thermostats/bussi.rst new file mode 100644 index 0000000000..a1fcc0386f --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/thermostats/bussi.rst @@ -0,0 +1,8 @@ +Bussi +===== + +.. py:currentmodule:: hoomd.md.methods.thermostats + +.. autoclass:: Bussi + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/thermostats/mttk.rst b/sphinx-doc/hoomd/md/methods/thermostats/mttk.rst new file mode 100644 index 0000000000..e0a1f228c2 --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/thermostats/mttk.rst @@ -0,0 +1,8 @@ +MTTK +==== + +.. py:currentmodule:: hoomd.md.methods.thermostats + +.. autoclass:: MTTK + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/methods/thermostats/thermostat.rst b/sphinx-doc/hoomd/md/methods/thermostats/thermostat.rst new file mode 100644 index 0000000000..6bfbe60f6f --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/thermostats/thermostat.rst @@ -0,0 +1,7 @@ +Thermostat +========== + +.. py:currentmodule:: hoomd.md.methods.thermostats + +.. autoclass:: Thermostat + :members: diff --git a/sphinx-doc/hoomd/md/methods/thermostatted.rst b/sphinx-doc/hoomd/md/methods/thermostatted.rst new file mode 100644 index 0000000000..9002e3681f --- /dev/null +++ b/sphinx-doc/hoomd/md/methods/thermostatted.rst @@ -0,0 +1,8 @@ +Thermostatted +============= + +.. py:currentmodule:: hoomd.md.methods + +.. autoclass:: Thermostatted + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/minimize/fire.rst b/sphinx-doc/hoomd/md/minimize/fire.rst new file mode 100644 index 0000000000..ba6b5bbf0d --- /dev/null +++ b/sphinx-doc/hoomd/md/minimize/fire.rst @@ -0,0 +1,7 @@ +FIRE +==== + +.. py:currentmodule:: hoomd.md.minimize + +.. autoclass:: FIRE + :members: diff --git a/sphinx-doc/hoomd/md/module-alchemy.rst b/sphinx-doc/hoomd/md/module-alchemy.rst new file mode 100644 index 0000000000..e9c23b3176 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-alchemy.rst @@ -0,0 +1,12 @@ +alchemy +======= + +.. automodule:: hoomd.md.alchemy + :members: +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + alchemy/module-methods + alchemy/module-pair diff --git a/sphinx-doc/hoomd/md/module-angle.rst b/sphinx-doc/hoomd/md/module-angle.rst new file mode 100644 index 0000000000..54891a4763 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-angle.rst @@ -0,0 +1,16 @@ +angle +===== + +.. automodule:: hoomd.md.angle + :members: + :exclude-members: Angle,CosineSquared,Harmonic,Table + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + angle/angle + angle/cosinesquared + angle/harmonic + angle/table diff --git a/sphinx-doc/hoomd/md/module-bond.rst b/sphinx-doc/hoomd/md/module-bond.rst new file mode 100644 index 0000000000..92368fc4b7 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-bond.rst @@ -0,0 +1,17 @@ +bond +==== + +.. automodule:: hoomd.md.bond + :members: + :exclude-members: Bond,FENEWCA,Harmonic,Table,Tether + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + bond/bond + bond/fenewca + bond/harmonic + bond/table + bond/tether diff --git a/sphinx-doc/hoomd/md/module-compute.rst b/sphinx-doc/hoomd/md/module-compute.rst new file mode 100644 index 0000000000..7e92a46448 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-compute.rst @@ -0,0 +1,14 @@ +compute +======= + +.. automodule:: hoomd.md.compute + :members: + :exclude-members: HarmonicAveragedThermodynamicQuantities,ThermodynamicQuantities + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + compute/harmonicaveragedthermodynamicquantities + compute/thermodynamicquantities diff --git a/sphinx-doc/hoomd/md/module-constrain.rst b/sphinx-doc/hoomd/md/module-constrain.rst new file mode 100644 index 0000000000..6a91c97ee3 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-constrain.rst @@ -0,0 +1,15 @@ +constrain +========= + +.. automodule:: hoomd.md.constrain + :members: + :exclude-members: Constraint,Distance,Rigid + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + constrain/constraint + constrain/distance + constrain/rigid diff --git a/sphinx-doc/hoomd/md/module-data.rst b/sphinx-doc/hoomd/md/module-data.rst new file mode 100644 index 0000000000..10b57b6dff --- /dev/null +++ b/sphinx-doc/hoomd/md/module-data.rst @@ -0,0 +1,16 @@ +data +==== + +.. automodule:: hoomd.md.data + :members: + :exclude-members: ForceLocalAccess,ForceLocalAccessGPU,NeighborListLocalAccess,NeighborListLocalAccessGPU + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + data/forcelocalaccess + data/forcelocalaccessgpu + data/neighborlistlocalaccess + data/neighborlistlocalaccessgpu diff --git a/sphinx-doc/hoomd/md/module-dihedral.rst b/sphinx-doc/hoomd/md/module-dihedral.rst new file mode 100644 index 0000000000..17b2677eba --- /dev/null +++ b/sphinx-doc/hoomd/md/module-dihedral.rst @@ -0,0 +1,16 @@ +dihedral +======== + +.. automodule:: hoomd.md.dihedral + :members: + :exclude-members: Dihedral,OPLS,Periodic,Table + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + dihedral/dihedral + dihedral/opls + dihedral/periodic + dihedral/table diff --git a/sphinx-doc/hoomd/md/module-external.rst b/sphinx-doc/hoomd/md/module-external.rst new file mode 100644 index 0000000000..72cd566d6f --- /dev/null +++ b/sphinx-doc/hoomd/md/module-external.rst @@ -0,0 +1,12 @@ +external +======== + +.. automodule:: hoomd.md.external + :members: +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + external/module-field + external/module-wall diff --git a/sphinx-doc/hoomd/md/module-force.rst b/sphinx-doc/hoomd/md/module-force.rst new file mode 100644 index 0000000000..65b300bc3d --- /dev/null +++ b/sphinx-doc/hoomd/md/module-force.rst @@ -0,0 +1,17 @@ +force +===== + +.. automodule:: hoomd.md.force + :members: + :exclude-members: Active,ActiveOnManifold,Constant,Custom,Force + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + force/active + force/activeonmanifold + force/constant + force/custom + force/force diff --git a/sphinx-doc/hoomd/md/module-improper.rst b/sphinx-doc/hoomd/md/module-improper.rst new file mode 100644 index 0000000000..c563c3cb36 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-improper.rst @@ -0,0 +1,15 @@ +improper +======== + +.. automodule:: hoomd.md.improper + :members: + :exclude-members: Harmonic,Improper,Periodic + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + improper/harmonic + improper/improper + improper/periodic diff --git a/sphinx-doc/hoomd/md/module-long_range.rst b/sphinx-doc/hoomd/md/module-long_range.rst new file mode 100644 index 0000000000..7c66aa7a38 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-long_range.rst @@ -0,0 +1,11 @@ +long_range +========== + +.. automodule:: hoomd.md.long_range + :members: +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + long_range/module-pppm diff --git a/sphinx-doc/hoomd/md/module-manifold.rst b/sphinx-doc/hoomd/md/module-manifold.rst new file mode 100644 index 0000000000..933456817d --- /dev/null +++ b/sphinx-doc/hoomd/md/module-manifold.rst @@ -0,0 +1,20 @@ +manifold +======== + +.. automodule:: hoomd.md.manifold + :members: + :exclude-members: Cylinder,Diamond,Ellipsoid,Gyroid,Manifold,Plane,Primitive,Sphere + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + manifold/cylinder + manifold/diamond + manifold/ellipsoid + manifold/gyroid + manifold/manifold + manifold/plane + manifold/primitive + manifold/sphere diff --git a/sphinx-doc/hoomd/md/module-many_body.rst b/sphinx-doc/hoomd/md/module-many_body.rst new file mode 100644 index 0000000000..167f42aa46 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-many_body.rst @@ -0,0 +1,16 @@ +many_body +========= + +.. automodule:: hoomd.md.many_body + :members: + :exclude-members: RevCross,SquareDensity,Tersoff,Triplet + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + many_body/revcross + many_body/squaredensity + many_body/tersoff + many_body/triplet diff --git a/sphinx-doc/hoomd/md/module-mesh.rst b/sphinx-doc/hoomd/md/module-mesh.rst new file mode 100644 index 0000000000..00bb08e2bb --- /dev/null +++ b/sphinx-doc/hoomd/md/module-mesh.rst @@ -0,0 +1,22 @@ +mesh +==== + +.. automodule:: hoomd.md.mesh + :members: + :exclude-members: MeshPotential + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + mesh/module-bending + mesh/module-bond + mesh/module-conservation + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + mesh/meshpotential diff --git a/sphinx-doc/hoomd/md/module-methods.rst b/sphinx-doc/hoomd/md/module-methods.rst new file mode 100644 index 0000000000..8169caf832 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-methods.rst @@ -0,0 +1,28 @@ +methods +======= + +.. automodule:: hoomd.md.methods + :members: + :exclude-members: Brownian,ConstantPressure,ConstantVolume,DisplacementCapped,Langevin,Method,OverdampedViscous,Thermostatted + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + methods/module-rattle + methods/module-thermostats + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + methods/brownian + methods/constantpressure + methods/constantvolume + methods/displacementcapped + methods/langevin + methods/method + methods/overdampedviscous + methods/thermostatted diff --git a/sphinx-doc/hoomd/md/module-minimize.rst b/sphinx-doc/hoomd/md/module-minimize.rst new file mode 100644 index 0000000000..744db7681b --- /dev/null +++ b/sphinx-doc/hoomd/md/module-minimize.rst @@ -0,0 +1,13 @@ +minimize +======== + +.. automodule:: hoomd.md.minimize + :members: + :exclude-members: FIRE + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + minimize/fire diff --git a/sphinx-doc/hoomd/md/module-nlist.rst b/sphinx-doc/hoomd/md/module-nlist.rst new file mode 100644 index 0000000000..8051662593 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-nlist.rst @@ -0,0 +1,16 @@ +nlist +===== + +.. automodule:: hoomd.md.nlist + :members: + :exclude-members: Cell,NeighborList,Stencil,Tree + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + nlist/cell + nlist/neighborlist + nlist/stencil + nlist/tree diff --git a/sphinx-doc/hoomd/md/module-pair.rst b/sphinx-doc/hoomd/md/module-pair.rst new file mode 100644 index 0000000000..54daf4f4ba --- /dev/null +++ b/sphinx-doc/hoomd/md/module-pair.rst @@ -0,0 +1,45 @@ +pair +==== + +.. automodule:: hoomd.md.pair + :members: + :exclude-members: Buckingham,DLVO,DPD,DPDConservative,DPDLJ,Ewald,ExpandedGaussian,ExpandedLJ,ExpandedMie,ForceShiftedLJ,Fourier,Gaussian,LJ,LJ0804,LJ1208,LJGauss,Mie,Moliere,Morse,OPP,Pair,ReactionField,TWF,Table,Yukawa,ZBL + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + pair/module-aniso + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + pair/buckingham + pair/dlvo + pair/dpd + pair/dpdconservative + pair/dpdlj + pair/ewald + pair/expandedgaussian + pair/expandedlj + pair/expandedmie + pair/forceshiftedlj + pair/fourier + pair/gaussian + pair/lj + pair/lj0804 + pair/lj1208 + pair/ljgauss + pair/mie + pair/moliere + pair/morse + pair/opp + pair/pair + pair/reactionfield + pair/twf + pair/table + pair/yukawa + pair/zbl diff --git a/sphinx-doc/hoomd/md/module-special_pair.rst b/sphinx-doc/hoomd/md/module-special_pair.rst new file mode 100644 index 0000000000..d3eb636978 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-special_pair.rst @@ -0,0 +1,15 @@ +special_pair +============ + +.. automodule:: hoomd.md.special_pair + :members: + :exclude-members: Coulomb,LJ,SpecialPair + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + special_pair/coulomb + special_pair/lj + special_pair/specialpair diff --git a/sphinx-doc/hoomd/md/module-tune.rst b/sphinx-doc/hoomd/md/module-tune.rst new file mode 100644 index 0000000000..740a78b9af --- /dev/null +++ b/sphinx-doc/hoomd/md/module-tune.rst @@ -0,0 +1,13 @@ +tune +==== + +.. automodule:: hoomd.md.tune + :members: + :exclude-members: NeighborListBuffer + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + tune/neighborlistbuffer diff --git a/sphinx-doc/hoomd/md/module-update.rst b/sphinx-doc/hoomd/md/module-update.rst new file mode 100644 index 0000000000..ab56868038 --- /dev/null +++ b/sphinx-doc/hoomd/md/module-update.rst @@ -0,0 +1,15 @@ +update +====== + +.. automodule:: hoomd.md.update + :members: + :exclude-members: ActiveRotationalDiffusion,ReversePerturbationFlow,ZeroMomentum + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + update/activerotationaldiffusion + update/reverseperturbationflow + update/zeromomentum diff --git a/sphinx-doc/hoomd/md/nlist/cell.rst b/sphinx-doc/hoomd/md/nlist/cell.rst new file mode 100644 index 0000000000..13e2e03c03 --- /dev/null +++ b/sphinx-doc/hoomd/md/nlist/cell.rst @@ -0,0 +1,8 @@ +Cell +==== + +.. py:currentmodule:: hoomd.md.nlist + +.. autoclass:: Cell + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/nlist/neighborlist.rst b/sphinx-doc/hoomd/md/nlist/neighborlist.rst new file mode 100644 index 0000000000..b9e9c2202d --- /dev/null +++ b/sphinx-doc/hoomd/md/nlist/neighborlist.rst @@ -0,0 +1,8 @@ +NeighborList +============ + +.. py:currentmodule:: hoomd.md.nlist + +.. autoclass:: NeighborList + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/nlist/stencil.rst b/sphinx-doc/hoomd/md/nlist/stencil.rst new file mode 100644 index 0000000000..c637226170 --- /dev/null +++ b/sphinx-doc/hoomd/md/nlist/stencil.rst @@ -0,0 +1,8 @@ +Stencil +======= + +.. py:currentmodule:: hoomd.md.nlist + +.. autoclass:: Stencil + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/nlist/tree.rst b/sphinx-doc/hoomd/md/nlist/tree.rst new file mode 100644 index 0000000000..ec60ccd4cc --- /dev/null +++ b/sphinx-doc/hoomd/md/nlist/tree.rst @@ -0,0 +1,8 @@ +Tree +==== + +.. py:currentmodule:: hoomd.md.nlist + +.. autoclass:: Tree + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/alj.rst b/sphinx-doc/hoomd/md/pair/aniso/alj.rst new file mode 100644 index 0000000000..6d94d41f03 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/alj.rst @@ -0,0 +1,8 @@ +ALJ +=== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: ALJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/anisotropicpair.rst b/sphinx-doc/hoomd/md/pair/aniso/anisotropicpair.rst new file mode 100644 index 0000000000..d28e38a34c --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/anisotropicpair.rst @@ -0,0 +1,8 @@ +AnisotropicPair +=============== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: AnisotropicPair + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/dipole.rst b/sphinx-doc/hoomd/md/pair/aniso/dipole.rst new file mode 100644 index 0000000000..b3032c8e85 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/dipole.rst @@ -0,0 +1,8 @@ +Dipole +====== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: Dipole + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/gayberne.rst b/sphinx-doc/hoomd/md/pair/aniso/gayberne.rst new file mode 100644 index 0000000000..5953a05ef8 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/gayberne.rst @@ -0,0 +1,8 @@ +GayBerne +======== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: GayBerne + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchy.rst b/sphinx-doc/hoomd/md/pair/aniso/patchy.rst new file mode 100644 index 0000000000..fdca439648 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchy.rst @@ -0,0 +1,8 @@ +Patchy +====== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: Patchy + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedgaussian.rst b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedgaussian.rst new file mode 100644 index 0000000000..b5db86a143 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedgaussian.rst @@ -0,0 +1,8 @@ +PatchyExpandedGaussian +====================== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyExpandedGaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedlj.rst b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedlj.rst new file mode 100644 index 0000000000..fef5c2bc78 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedlj.rst @@ -0,0 +1,8 @@ +PatchyExpandedLJ +================ + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyExpandedLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedmie.rst b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedmie.rst new file mode 100644 index 0000000000..032a610b0e --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchyexpandedmie.rst @@ -0,0 +1,8 @@ +PatchyExpandedMie +================= + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyExpandedMie + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchygaussian.rst b/sphinx-doc/hoomd/md/pair/aniso/patchygaussian.rst new file mode 100644 index 0000000000..55b942a2a5 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchygaussian.rst @@ -0,0 +1,8 @@ +PatchyGaussian +============== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyGaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchylj.rst b/sphinx-doc/hoomd/md/pair/aniso/patchylj.rst new file mode 100644 index 0000000000..337937aaf1 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchylj.rst @@ -0,0 +1,8 @@ +PatchyLJ +======== + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchymie.rst b/sphinx-doc/hoomd/md/pair/aniso/patchymie.rst new file mode 100644 index 0000000000..1c2fad13d3 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchymie.rst @@ -0,0 +1,8 @@ +PatchyMie +========= + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyMie + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/aniso/patchyyukawa.rst b/sphinx-doc/hoomd/md/pair/aniso/patchyyukawa.rst new file mode 100644 index 0000000000..bfae174b5f --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/aniso/patchyyukawa.rst @@ -0,0 +1,8 @@ +PatchyYukawa +============ + +.. py:currentmodule:: hoomd.md.pair.aniso + +.. autoclass:: PatchyYukawa + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/buckingham.rst b/sphinx-doc/hoomd/md/pair/buckingham.rst new file mode 100644 index 0000000000..1095a9a54d --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/buckingham.rst @@ -0,0 +1,8 @@ +Buckingham +========== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Buckingham + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/dlvo.rst b/sphinx-doc/hoomd/md/pair/dlvo.rst new file mode 100644 index 0000000000..aafb07bc1b --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/dlvo.rst @@ -0,0 +1,8 @@ +DLVO +==== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: DLVO + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/dpd.rst b/sphinx-doc/hoomd/md/pair/dpd.rst new file mode 100644 index 0000000000..0d360b8695 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/dpd.rst @@ -0,0 +1,8 @@ +DPD +=== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: DPD + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/dpdconservative.rst b/sphinx-doc/hoomd/md/pair/dpdconservative.rst new file mode 100644 index 0000000000..a6d9ecac5a --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/dpdconservative.rst @@ -0,0 +1,8 @@ +DPDConservative +=============== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: DPDConservative + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/dpdlj.rst b/sphinx-doc/hoomd/md/pair/dpdlj.rst new file mode 100644 index 0000000000..606f945a0c --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/dpdlj.rst @@ -0,0 +1,8 @@ +DPDLJ +===== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: DPDLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/ewald.rst b/sphinx-doc/hoomd/md/pair/ewald.rst new file mode 100644 index 0000000000..21a63dc69f --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/ewald.rst @@ -0,0 +1,8 @@ +Ewald +===== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Ewald + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/expandedgaussian.rst b/sphinx-doc/hoomd/md/pair/expandedgaussian.rst new file mode 100644 index 0000000000..4cade9088f --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/expandedgaussian.rst @@ -0,0 +1,8 @@ +ExpandedGaussian +================ + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ExpandedGaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/expandedlj.rst b/sphinx-doc/hoomd/md/pair/expandedlj.rst new file mode 100644 index 0000000000..63a4110d0b --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/expandedlj.rst @@ -0,0 +1,8 @@ +ExpandedLJ +========== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ExpandedLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/expandedmie.rst b/sphinx-doc/hoomd/md/pair/expandedmie.rst new file mode 100644 index 0000000000..fd467f6706 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/expandedmie.rst @@ -0,0 +1,8 @@ +ExpandedMie +=========== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ExpandedMie + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/forceshiftedlj.rst b/sphinx-doc/hoomd/md/pair/forceshiftedlj.rst new file mode 100644 index 0000000000..dd69075c96 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/forceshiftedlj.rst @@ -0,0 +1,8 @@ +ForceShiftedLJ +============== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ForceShiftedLJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/fourier.rst b/sphinx-doc/hoomd/md/pair/fourier.rst new file mode 100644 index 0000000000..470bac3c82 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/fourier.rst @@ -0,0 +1,8 @@ +Fourier +======= + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Fourier + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/gaussian.rst b/sphinx-doc/hoomd/md/pair/gaussian.rst new file mode 100644 index 0000000000..335d90431a --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/gaussian.rst @@ -0,0 +1,8 @@ +Gaussian +======== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Gaussian + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/lj.rst b/sphinx-doc/hoomd/md/pair/lj.rst new file mode 100644 index 0000000000..265ece339c --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/lj.rst @@ -0,0 +1,8 @@ +LJ +== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: LJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/lj0804.rst b/sphinx-doc/hoomd/md/pair/lj0804.rst new file mode 100644 index 0000000000..cbdc4d933d --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/lj0804.rst @@ -0,0 +1,8 @@ +LJ0804 +====== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: LJ0804 + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/lj1208.rst b/sphinx-doc/hoomd/md/pair/lj1208.rst new file mode 100644 index 0000000000..fdb505379b --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/lj1208.rst @@ -0,0 +1,8 @@ +LJ1208 +====== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: LJ1208 + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/ljgauss.rst b/sphinx-doc/hoomd/md/pair/ljgauss.rst new file mode 100644 index 0000000000..957778d33a --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/ljgauss.rst @@ -0,0 +1,7 @@ +LJGauss +======= + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: LJGauss + :members: diff --git a/sphinx-doc/hoomd/md/pair/mie.rst b/sphinx-doc/hoomd/md/pair/mie.rst new file mode 100644 index 0000000000..d03be433f9 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/mie.rst @@ -0,0 +1,8 @@ +Mie +=== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Mie + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/module-aniso.rst b/sphinx-doc/hoomd/md/pair/module-aniso.rst new file mode 100644 index 0000000000..218a17d9d8 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/module-aniso.rst @@ -0,0 +1,24 @@ +aniso +===== + +.. automodule:: hoomd.md.pair.aniso + :members: + :exclude-members: ALJ,AnisotropicPair,Dipole,GayBerne,Patchy,PatchyExpandedGaussian,PatchyExpandedLJ,PatchyExpandedMie,PatchyGaussian,PatchyLJ,PatchyMie,PatchyYukawa + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + aniso/alj + aniso/anisotropicpair + aniso/dipole + aniso/gayberne + aniso/patchy + aniso/patchyexpandedgaussian + aniso/patchyexpandedlj + aniso/patchyexpandedmie + aniso/patchygaussian + aniso/patchylj + aniso/patchymie + aniso/patchyyukawa diff --git a/sphinx-doc/hoomd/md/pair/moliere.rst b/sphinx-doc/hoomd/md/pair/moliere.rst new file mode 100644 index 0000000000..7a9beb7dce --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/moliere.rst @@ -0,0 +1,8 @@ +Moliere +======= + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Moliere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/morse.rst b/sphinx-doc/hoomd/md/pair/morse.rst new file mode 100644 index 0000000000..12e4c58a72 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/morse.rst @@ -0,0 +1,8 @@ +Morse +===== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Morse + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/opp.rst b/sphinx-doc/hoomd/md/pair/opp.rst new file mode 100644 index 0000000000..d349cabb79 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/opp.rst @@ -0,0 +1,8 @@ +OPP +=== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: OPP + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/pair.rst b/sphinx-doc/hoomd/md/pair/pair.rst new file mode 100644 index 0000000000..cdef20fec5 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/pair.rst @@ -0,0 +1,8 @@ +Pair +==== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Pair + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/reactionfield.rst b/sphinx-doc/hoomd/md/pair/reactionfield.rst new file mode 100644 index 0000000000..74bfde5fd8 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/reactionfield.rst @@ -0,0 +1,8 @@ +ReactionField +============= + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ReactionField + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/table.rst b/sphinx-doc/hoomd/md/pair/table.rst new file mode 100644 index 0000000000..286868af97 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/table.rst @@ -0,0 +1,8 @@ +Table +===== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Table + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/twf.rst b/sphinx-doc/hoomd/md/pair/twf.rst new file mode 100644 index 0000000000..5d8c3ee755 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/twf.rst @@ -0,0 +1,8 @@ +TWF +=== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: TWF + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/yukawa.rst b/sphinx-doc/hoomd/md/pair/yukawa.rst new file mode 100644 index 0000000000..ed34f6d0d7 --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/yukawa.rst @@ -0,0 +1,8 @@ +Yukawa +====== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: Yukawa + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/pair/zbl.rst b/sphinx-doc/hoomd/md/pair/zbl.rst new file mode 100644 index 0000000000..3faa17083c --- /dev/null +++ b/sphinx-doc/hoomd/md/pair/zbl.rst @@ -0,0 +1,8 @@ +ZBL +=== + +.. py:currentmodule:: hoomd.md.pair + +.. autoclass:: ZBL + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/special_pair/coulomb.rst b/sphinx-doc/hoomd/md/special_pair/coulomb.rst new file mode 100644 index 0000000000..225ae61d44 --- /dev/null +++ b/sphinx-doc/hoomd/md/special_pair/coulomb.rst @@ -0,0 +1,8 @@ +Coulomb +======= + +.. py:currentmodule:: hoomd.md.special_pair + +.. autoclass:: Coulomb + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/special_pair/lj.rst b/sphinx-doc/hoomd/md/special_pair/lj.rst new file mode 100644 index 0000000000..bdb8f6f688 --- /dev/null +++ b/sphinx-doc/hoomd/md/special_pair/lj.rst @@ -0,0 +1,8 @@ +LJ +== + +.. py:currentmodule:: hoomd.md.special_pair + +.. autoclass:: LJ + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/special_pair/specialpair.rst b/sphinx-doc/hoomd/md/special_pair/specialpair.rst new file mode 100644 index 0000000000..f5a7ac73e8 --- /dev/null +++ b/sphinx-doc/hoomd/md/special_pair/specialpair.rst @@ -0,0 +1,8 @@ +SpecialPair +=========== + +.. py:currentmodule:: hoomd.md.special_pair + +.. autoclass:: SpecialPair + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/tune/neighborlistbuffer.rst b/sphinx-doc/hoomd/md/tune/neighborlistbuffer.rst new file mode 100644 index 0000000000..61070c2350 --- /dev/null +++ b/sphinx-doc/hoomd/md/tune/neighborlistbuffer.rst @@ -0,0 +1,7 @@ +NeighborListBuffer +================== + +.. py:currentmodule:: hoomd.md.tune + +.. autoclass:: NeighborListBuffer(self, trigger: hoomd.trigger.Trigger, nlist: hoomd.md.nlist.NeighborList, solver: hoomd.tune.solve.Optimizer, maximum_buffer: float) + :members: diff --git a/sphinx-doc/hoomd/md/update/activerotationaldiffusion.rst b/sphinx-doc/hoomd/md/update/activerotationaldiffusion.rst new file mode 100644 index 0000000000..684aafb1cd --- /dev/null +++ b/sphinx-doc/hoomd/md/update/activerotationaldiffusion.rst @@ -0,0 +1,8 @@ +ActiveRotationalDiffusion +========================= + +.. py:currentmodule:: hoomd.md.update + +.. autoclass:: ActiveRotationalDiffusion + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/update/reverseperturbationflow.rst b/sphinx-doc/hoomd/md/update/reverseperturbationflow.rst new file mode 100644 index 0000000000..259375f814 --- /dev/null +++ b/sphinx-doc/hoomd/md/update/reverseperturbationflow.rst @@ -0,0 +1,8 @@ +ReversePerturbationFlow +======================= + +.. py:currentmodule:: hoomd.md.update + +.. autoclass:: ReversePerturbationFlow + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/md/update/zeromomentum.rst b/sphinx-doc/hoomd/md/update/zeromomentum.rst new file mode 100644 index 0000000000..90f1a1c595 --- /dev/null +++ b/sphinx-doc/hoomd/md/update/zeromomentum.rst @@ -0,0 +1,8 @@ +ZeroMomentum +============ + +.. py:currentmodule:: hoomd.md.update + +.. autoclass:: ZeroMomentum + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mesh/mesh.rst b/sphinx-doc/hoomd/mesh/mesh.rst new file mode 100644 index 0000000000..0317491e79 --- /dev/null +++ b/sphinx-doc/hoomd/mesh/mesh.rst @@ -0,0 +1,7 @@ +Mesh +==== + +.. py:currentmodule:: hoomd.mesh + +.. autoclass:: Mesh + :members: diff --git a/sphinx-doc/hoomd/module-box.rst b/sphinx-doc/hoomd/module-box.rst new file mode 100644 index 0000000000..5b36a8969f --- /dev/null +++ b/sphinx-doc/hoomd/module-box.rst @@ -0,0 +1,13 @@ +box +=== + +.. automodule:: hoomd.box + :members: + :exclude-members: BoxInterface + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + box/boxinterface diff --git a/sphinx-doc/hoomd/module-communicator.rst b/sphinx-doc/hoomd/module-communicator.rst new file mode 100644 index 0000000000..3d377e1711 --- /dev/null +++ b/sphinx-doc/hoomd/module-communicator.rst @@ -0,0 +1,13 @@ +communicator +============ + +.. automodule:: hoomd.communicator + :members: + :exclude-members: Communicator + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + communicator/communicator diff --git a/sphinx-doc/hoomd/module-custom.rst b/sphinx-doc/hoomd/module-custom.rst new file mode 100644 index 0000000000..8168fdbdf4 --- /dev/null +++ b/sphinx-doc/hoomd/module-custom.rst @@ -0,0 +1,14 @@ +custom +====== + +.. automodule:: hoomd.custom + :members: + :exclude-members: Action,CustomOperation + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + custom/action + custom/customoperation diff --git a/sphinx-doc/hoomd/module-data.rst b/sphinx-doc/hoomd/module-data.rst new file mode 100644 index 0000000000..011a7aa8df --- /dev/null +++ b/sphinx-doc/hoomd/module-data.rst @@ -0,0 +1,24 @@ +data +==== + +.. automodule:: hoomd.data + :members: + :exclude-members: AngleLocalAccessBase,BondLocalAccessBase,ConstraintLocalAccessBase,DihedralLocalAccessBase,HOOMDArray,HOOMDGPUArray,ImproperLocalAccessBase,LocalSnapshot,LocalSnapshotGPU,PairLocalAccessBase,ParticleLocalAccessBase,TypeParameter + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + data/anglelocalaccessbase + data/bondlocalaccessbase + data/constraintlocalaccessbase + data/dihedrallocalaccessbase + data/hoomdarray + data/hoomdgpuarray + data/improperlocalaccessbase + data/localsnapshot + data/localsnapshotgpu + data/pairlocalaccessbase + data/particlelocalaccessbase + data/typeparameter diff --git a/sphinx-doc/hoomd/module-device.rst b/sphinx-doc/hoomd/module-device.rst new file mode 100644 index 0000000000..f85f7ed01c --- /dev/null +++ b/sphinx-doc/hoomd/module-device.rst @@ -0,0 +1,23 @@ +device +====== + +.. automodule:: hoomd.device + :members: + :exclude-members: CPU,Device,GPU,NoticeFile,auto_select + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + device/cpu + device/device + device/gpu + device/noticefile + +.. rubric:: Functions + +.. toctree:: + :maxdepth: 1 + + device/auto_select diff --git a/sphinx-doc/hoomd/module-error.rst b/sphinx-doc/hoomd/module-error.rst new file mode 100644 index 0000000000..90a2cdaf9d --- /dev/null +++ b/sphinx-doc/hoomd/module-error.rst @@ -0,0 +1,20 @@ +error +===== + +.. automodule:: hoomd.error + :members: + :exclude-members: DataAccessError,GPUNotAvailableError,IncompleteSpecificationError,IsolationWarning,MPINotAvailableError,MutabilityError,SimulationDefinitionError,TypeConversionError + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + error/dataaccesserror + error/gpunotavailableerror + error/incompletespecificationerror + error/isolationwarning + error/mpinotavailableerror + error/mutabilityerror + error/simulationdefinitionerror + error/typeconversionerror diff --git a/sphinx-doc/hoomd/module-filter.rst b/sphinx-doc/hoomd/module-filter.rst new file mode 100644 index 0000000000..bea57edbf5 --- /dev/null +++ b/sphinx-doc/hoomd/module-filter.rst @@ -0,0 +1,22 @@ +filter +====== + +.. automodule:: hoomd.filter + :members: + :exclude-members: All,CustomFilter,Intersection,Null,ParticleFilter,Rigid,SetDifference,Tags,Type,Union + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + filter/all + filter/customfilter + filter/intersection + filter/null + filter/particlefilter + filter/rigid + filter/setdifference + filter/tags + filter/type + filter/union diff --git a/sphinx-doc/hoomd/module-hpmc.rst b/sphinx-doc/hoomd/module-hpmc.rst new file mode 100644 index 0000000000..0904eebab7 --- /dev/null +++ b/sphinx-doc/hoomd/module-hpmc.rst @@ -0,0 +1,18 @@ +hpmc +==== + +.. automodule:: hoomd.hpmc + :members: +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + hpmc/module-compute + hpmc/module-external + hpmc/module-integrate + hpmc/module-nec + hpmc/module-pair + hpmc/module-shape_move + hpmc/module-tune + hpmc/module-update diff --git a/sphinx-doc/hoomd/module-logging.rst b/sphinx-doc/hoomd/module-logging.rst new file mode 100644 index 0000000000..c80902bd07 --- /dev/null +++ b/sphinx-doc/hoomd/module-logging.rst @@ -0,0 +1,22 @@ +logging +======= + +.. automodule:: hoomd.logging + :members: + :exclude-members: Logger,LoggerCategories,log,modify_namespace + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + logging/logger + logging/loggercategories + +.. rubric:: Functions + +.. toctree:: + :maxdepth: 1 + + logging/log + logging/modify_namespace diff --git a/sphinx-doc/hoomd/module-md.rst b/sphinx-doc/hoomd/module-md.rst new file mode 100644 index 0000000000..4b7fd30c53 --- /dev/null +++ b/sphinx-doc/hoomd/module-md.rst @@ -0,0 +1,41 @@ +md +== + +.. automodule:: hoomd.md + :members: + :exclude-members: HalfStepHook,Integrator + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + md/module-alchemy + md/module-angle + md/module-bond + md/module-compute + md/module-constrain + md/module-data + md/module-dihedral + md/module-external + md/module-force + md/module-improper + md/module-long_range + md/module-manifold + md/module-many_body + md/module-mesh + md/module-methods + md/module-minimize + md/module-nlist + md/module-pair + md/module-special_pair + md/module-tune + md/module-update + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + md/halfstephook + md/integrator diff --git a/sphinx-doc/hoomd/module-mesh.rst b/sphinx-doc/hoomd/module-mesh.rst new file mode 100644 index 0000000000..1ecdf19c92 --- /dev/null +++ b/sphinx-doc/hoomd/module-mesh.rst @@ -0,0 +1,13 @@ +mesh +==== + +.. automodule:: hoomd.mesh + :members: + :exclude-members: Mesh + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + mesh/mesh diff --git a/sphinx-doc/hoomd/module-mpcd.rst b/sphinx-doc/hoomd/module-mpcd.rst new file mode 100644 index 0000000000..c73d197d3b --- /dev/null +++ b/sphinx-doc/hoomd/module-mpcd.rst @@ -0,0 +1,26 @@ +mpcd +==== + +.. automodule:: hoomd.mpcd + :members: + :exclude-members: Integrator + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + mpcd/module-collide + mpcd/module-fill + mpcd/module-force + mpcd/module-geometry + mpcd/module-methods + mpcd/module-stream + mpcd/module-tune + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + mpcd/integrator diff --git a/sphinx-doc/hoomd/module-operation.rst b/sphinx-doc/hoomd/module-operation.rst new file mode 100644 index 0000000000..5975185f27 --- /dev/null +++ b/sphinx-doc/hoomd/module-operation.rst @@ -0,0 +1,20 @@ +operation +========= + +.. automodule:: hoomd.operation + :members: + :exclude-members: AutotunedObject,Compute,Integrator,Operation,TriggeredOperation,Tuner,Updater,Writer + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + operation/autotunedobject + operation/compute + operation/integrator + operation/operation + operation/triggeredoperation + operation/tuner + operation/updater + operation/writer diff --git a/sphinx-doc/hoomd/module-trigger.rst b/sphinx-doc/hoomd/module-trigger.rst new file mode 100644 index 0000000000..9628600078 --- /dev/null +++ b/sphinx-doc/hoomd/module-trigger.rst @@ -0,0 +1,20 @@ +trigger +======= + +.. automodule:: hoomd.trigger + :members: + :exclude-members: After,And,Before,Not,On,Or,Periodic,Trigger + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + trigger/after + trigger/and + trigger/before + trigger/not + trigger/on + trigger/or + trigger/periodic + trigger/trigger diff --git a/sphinx-doc/hoomd/module-tune.rst b/sphinx-doc/hoomd/module-tune.rst new file mode 100644 index 0000000000..ad4b868984 --- /dev/null +++ b/sphinx-doc/hoomd/module-tune.rst @@ -0,0 +1,23 @@ +tune +==== + +.. automodule:: hoomd.tune + :members: + :exclude-members: CustomTuner,GradientDescent,GridOptimizer,LoadBalancer,ManualTuneDefinition,Optimizer,ParticleSorter,RootSolver,ScaleSolver,SecantSolver,SolverStep + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + tune/customtuner + tune/gradientdescent + tune/gridoptimizer + tune/loadbalancer + tune/manualtunedefinition + tune/optimizer + tune/particlesorter + tune/rootsolver + tune/scalesolver + tune/secantsolver + tune/solverstep diff --git a/sphinx-doc/hoomd/module-update.rst b/sphinx-doc/hoomd/module-update.rst new file mode 100644 index 0000000000..8370d8b174 --- /dev/null +++ b/sphinx-doc/hoomd/module-update.rst @@ -0,0 +1,16 @@ +update +====== + +.. automodule:: hoomd.update + :members: + :exclude-members: BoxResize,CustomUpdater,FilterUpdater,RemoveDrift + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + update/boxresize + update/customupdater + update/filterupdater + update/removedrift diff --git a/sphinx-doc/hoomd/module-util.rst b/sphinx-doc/hoomd/module-util.rst new file mode 100644 index 0000000000..0ee8248b3a --- /dev/null +++ b/sphinx-doc/hoomd/module-util.rst @@ -0,0 +1,13 @@ +util +==== + +.. automodule:: hoomd.util + :members: + :exclude-members: make_example_simulation + +.. rubric:: Functions + +.. toctree:: + :maxdepth: 1 + + util/make_example_simulation diff --git a/sphinx-doc/hoomd/module-variant.rst b/sphinx-doc/hoomd/module-variant.rst new file mode 100644 index 0000000000..ca413855f1 --- /dev/null +++ b/sphinx-doc/hoomd/module-variant.rst @@ -0,0 +1,24 @@ +variant +======= + +.. automodule:: hoomd.variant + :members: + :exclude-members: Constant,Cycle,Power,Ramp,Variant + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + variant/module-box + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + variant/constant + variant/cycle + variant/power + variant/ramp + variant/variant diff --git a/sphinx-doc/hoomd/module-version.rst b/sphinx-doc/hoomd/module-version.rst new file mode 100644 index 0000000000..19050440be --- /dev/null +++ b/sphinx-doc/hoomd/module-version.rst @@ -0,0 +1,5 @@ +version +======= + +.. automodule:: hoomd.version + :members: diff --git a/sphinx-doc/hoomd/module-wall.rst b/sphinx-doc/hoomd/module-wall.rst new file mode 100644 index 0000000000..bb61c787d6 --- /dev/null +++ b/sphinx-doc/hoomd/module-wall.rst @@ -0,0 +1,16 @@ +wall +==== + +.. automodule:: hoomd.wall + :members: + :exclude-members: Cylinder,Plane,Sphere,WallGeometry + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + wall/cylinder + wall/plane + wall/sphere + wall/wallgeometry diff --git a/sphinx-doc/hoomd/module-write.rst b/sphinx-doc/hoomd/module-write.rst new file mode 100644 index 0000000000..a98f379153 --- /dev/null +++ b/sphinx-doc/hoomd/module-write.rst @@ -0,0 +1,18 @@ +write +===== + +.. automodule:: hoomd.write + :members: + :exclude-members: Burst,CustomWriter,DCD,GSD,HDF5Log,Table + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + write/burst + write/customwriter + write/dcd + write/gsd + write/hdf5log + write/table diff --git a/sphinx-doc/hoomd/mpcd/collide/andersenthermostat.rst b/sphinx-doc/hoomd/mpcd/collide/andersenthermostat.rst new file mode 100644 index 0000000000..7bb3a012f3 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/collide/andersenthermostat.rst @@ -0,0 +1,8 @@ +AndersenThermostat +================== + +.. py:currentmodule:: hoomd.mpcd.collide + +.. autoclass:: AndersenThermostat + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/collide/celllist.rst b/sphinx-doc/hoomd/mpcd/collide/celllist.rst new file mode 100644 index 0000000000..6de4d0e34f --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/collide/celllist.rst @@ -0,0 +1,8 @@ +CellList +======== + +.. py:currentmodule:: hoomd.mpcd.collide + +.. autoclass:: CellList + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/collide/collisionmethod.rst b/sphinx-doc/hoomd/mpcd/collide/collisionmethod.rst new file mode 100644 index 0000000000..11409ecda1 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/collide/collisionmethod.rst @@ -0,0 +1,8 @@ +CollisionMethod +=============== + +.. py:currentmodule:: hoomd.mpcd.collide + +.. autoclass:: CollisionMethod + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/collide/stochasticrotationdynamics.rst b/sphinx-doc/hoomd/mpcd/collide/stochasticrotationdynamics.rst new file mode 100644 index 0000000000..8d0dfb9829 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/collide/stochasticrotationdynamics.rst @@ -0,0 +1,8 @@ +StochasticRotationDynamics +========================== + +.. py:currentmodule:: hoomd.mpcd.collide + +.. autoclass:: StochasticRotationDynamics + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/fill/geometryfiller.rst b/sphinx-doc/hoomd/mpcd/fill/geometryfiller.rst new file mode 100644 index 0000000000..73d4b2e969 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/fill/geometryfiller.rst @@ -0,0 +1,8 @@ +GeometryFiller +============== + +.. py:currentmodule:: hoomd.mpcd.fill + +.. autoclass:: GeometryFiller + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/fill/virtualparticlefiller.rst b/sphinx-doc/hoomd/mpcd/fill/virtualparticlefiller.rst new file mode 100644 index 0000000000..c964440d06 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/fill/virtualparticlefiller.rst @@ -0,0 +1,8 @@ +VirtualParticleFiller +===================== + +.. py:currentmodule:: hoomd.mpcd.fill + +.. autoclass:: VirtualParticleFiller + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/force/blockforce.rst b/sphinx-doc/hoomd/mpcd/force/blockforce.rst new file mode 100644 index 0000000000..f009fb4be0 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/force/blockforce.rst @@ -0,0 +1,8 @@ +BlockForce +========== + +.. py:currentmodule:: hoomd.mpcd.force + +.. autoclass:: BlockForce + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/force/bodyforce.rst b/sphinx-doc/hoomd/mpcd/force/bodyforce.rst new file mode 100644 index 0000000000..1369e1adba --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/force/bodyforce.rst @@ -0,0 +1,7 @@ +BodyForce +========= + +.. py:currentmodule:: hoomd.mpcd.force + +.. autoclass:: BodyForce + :members: diff --git a/sphinx-doc/hoomd/mpcd/force/constantforce.rst b/sphinx-doc/hoomd/mpcd/force/constantforce.rst new file mode 100644 index 0000000000..f2dade9363 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/force/constantforce.rst @@ -0,0 +1,8 @@ +ConstantForce +============= + +.. py:currentmodule:: hoomd.mpcd.force + +.. autoclass:: ConstantForce + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/force/sineforce.rst b/sphinx-doc/hoomd/mpcd/force/sineforce.rst new file mode 100644 index 0000000000..762a8215e9 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/force/sineforce.rst @@ -0,0 +1,8 @@ +SineForce +========= + +.. py:currentmodule:: hoomd.mpcd.force + +.. autoclass:: SineForce + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/concentriccylinders.rst b/sphinx-doc/hoomd/mpcd/geometry/concentriccylinders.rst new file mode 100644 index 0000000000..be17dd5e51 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/concentriccylinders.rst @@ -0,0 +1,8 @@ +ConcentricCylinders +=================== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: ConcentricCylinders + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/cosinechannel.rst b/sphinx-doc/hoomd/mpcd/geometry/cosinechannel.rst new file mode 100644 index 0000000000..f05215ec28 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/cosinechannel.rst @@ -0,0 +1,8 @@ +CosineChannel +============= + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: CosineChannel + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/cosineexpansioncontraction.rst b/sphinx-doc/hoomd/mpcd/geometry/cosineexpansioncontraction.rst new file mode 100644 index 0000000000..fb4c4577ff --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/cosineexpansioncontraction.rst @@ -0,0 +1,8 @@ +CosineExpansionContraction +========================== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: CosineExpansionContraction + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/geometry.rst b/sphinx-doc/hoomd/mpcd/geometry/geometry.rst new file mode 100644 index 0000000000..6e5d0dd3da --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/geometry.rst @@ -0,0 +1,7 @@ +Geometry +======== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: Geometry + :members: diff --git a/sphinx-doc/hoomd/mpcd/geometry/parallelplates.rst b/sphinx-doc/hoomd/mpcd/geometry/parallelplates.rst new file mode 100644 index 0000000000..582c4ba563 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/parallelplates.rst @@ -0,0 +1,8 @@ +ParallelPlates +============== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: ParallelPlates + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/planarpore.rst b/sphinx-doc/hoomd/mpcd/geometry/planarpore.rst new file mode 100644 index 0000000000..81f5a352f4 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/planarpore.rst @@ -0,0 +1,8 @@ +PlanarPore +========== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: PlanarPore + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/geometry/sphere.rst b/sphinx-doc/hoomd/mpcd/geometry/sphere.rst new file mode 100644 index 0000000000..4f2015fade --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/geometry/sphere.rst @@ -0,0 +1,8 @@ +Sphere +====== + +.. py:currentmodule:: hoomd.mpcd.geometry + +.. autoclass:: Sphere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/integrator.rst b/sphinx-doc/hoomd/mpcd/integrator.rst new file mode 100644 index 0000000000..da65ddcf2a --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/integrator.rst @@ -0,0 +1,8 @@ +Integrator +========== + +.. py:currentmodule:: hoomd.mpcd + +.. autoclass:: Integrator + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/methods/bounceback.rst b/sphinx-doc/hoomd/mpcd/methods/bounceback.rst new file mode 100644 index 0000000000..8a6e655029 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/methods/bounceback.rst @@ -0,0 +1,8 @@ +BounceBack +========== + +.. py:currentmodule:: hoomd.mpcd.methods + +.. autoclass:: BounceBack + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/module-collide.rst b/sphinx-doc/hoomd/mpcd/module-collide.rst new file mode 100644 index 0000000000..eb9b6195ec --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-collide.rst @@ -0,0 +1,16 @@ +collide +======= + +.. automodule:: hoomd.mpcd.collide + :members: + :exclude-members: AndersenThermostat,CellList,CollisionMethod,StochasticRotationDynamics + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + collide/andersenthermostat + collide/celllist + collide/collisionmethod + collide/stochasticrotationdynamics diff --git a/sphinx-doc/hoomd/mpcd/module-fill.rst b/sphinx-doc/hoomd/mpcd/module-fill.rst new file mode 100644 index 0000000000..aea96784b6 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-fill.rst @@ -0,0 +1,14 @@ +fill +==== + +.. automodule:: hoomd.mpcd.fill + :members: + :exclude-members: GeometryFiller,VirtualParticleFiller + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + fill/geometryfiller + fill/virtualparticlefiller diff --git a/sphinx-doc/hoomd/mpcd/module-force.rst b/sphinx-doc/hoomd/mpcd/module-force.rst new file mode 100644 index 0000000000..6712894691 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-force.rst @@ -0,0 +1,16 @@ +force +===== + +.. automodule:: hoomd.mpcd.force + :members: + :exclude-members: BlockForce,BodyForce,ConstantForce,SineForce + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + force/blockforce + force/bodyforce + force/constantforce + force/sineforce diff --git a/sphinx-doc/hoomd/mpcd/module-geometry.rst b/sphinx-doc/hoomd/mpcd/module-geometry.rst new file mode 100644 index 0000000000..b9ef05f78b --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-geometry.rst @@ -0,0 +1,19 @@ +geometry +======== + +.. automodule:: hoomd.mpcd.geometry + :members: + :exclude-members: ConcentricCylinders,CosineChannel,CosineExpansionContraction,Geometry,ParallelPlates,PlanarPore,Sphere + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + geometry/concentriccylinders + geometry/cosinechannel + geometry/cosineexpansioncontraction + geometry/geometry + geometry/parallelplates + geometry/planarpore + geometry/sphere diff --git a/sphinx-doc/hoomd/mpcd/module-methods.rst b/sphinx-doc/hoomd/mpcd/module-methods.rst new file mode 100644 index 0000000000..852041ecfa --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-methods.rst @@ -0,0 +1,13 @@ +methods +======= + +.. automodule:: hoomd.mpcd.methods + :members: + :exclude-members: BounceBack + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + methods/bounceback diff --git a/sphinx-doc/hoomd/mpcd/module-stream.rst b/sphinx-doc/hoomd/mpcd/module-stream.rst new file mode 100644 index 0000000000..d7a96d25a1 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-stream.rst @@ -0,0 +1,15 @@ +stream +====== + +.. automodule:: hoomd.mpcd.stream + :members: + :exclude-members: BounceBack,Bulk,StreamingMethod + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + stream/bounceback + stream/bulk + stream/streamingmethod diff --git a/sphinx-doc/hoomd/mpcd/module-tune.rst b/sphinx-doc/hoomd/mpcd/module-tune.rst new file mode 100644 index 0000000000..4149b43178 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/module-tune.rst @@ -0,0 +1,13 @@ +tune +==== + +.. automodule:: hoomd.mpcd.tune + :members: + :exclude-members: ParticleSorter + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + tune/particlesorter diff --git a/sphinx-doc/hoomd/mpcd/stream/bounceback.rst b/sphinx-doc/hoomd/mpcd/stream/bounceback.rst new file mode 100644 index 0000000000..b2603ac0d0 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/stream/bounceback.rst @@ -0,0 +1,8 @@ +BounceBack +========== + +.. py:currentmodule:: hoomd.mpcd.stream + +.. autoclass:: BounceBack + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/stream/bulk.rst b/sphinx-doc/hoomd/mpcd/stream/bulk.rst new file mode 100644 index 0000000000..897b14ef28 --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/stream/bulk.rst @@ -0,0 +1,8 @@ +Bulk +==== + +.. py:currentmodule:: hoomd.mpcd.stream + +.. autoclass:: Bulk + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/stream/streamingmethod.rst b/sphinx-doc/hoomd/mpcd/stream/streamingmethod.rst new file mode 100644 index 0000000000..37ad8e920e --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/stream/streamingmethod.rst @@ -0,0 +1,8 @@ +StreamingMethod +=============== + +.. py:currentmodule:: hoomd.mpcd.stream + +.. autoclass:: StreamingMethod + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/mpcd/tune/particlesorter.rst b/sphinx-doc/hoomd/mpcd/tune/particlesorter.rst new file mode 100644 index 0000000000..e05f7f4b8c --- /dev/null +++ b/sphinx-doc/hoomd/mpcd/tune/particlesorter.rst @@ -0,0 +1,8 @@ +ParticleSorter +============== + +.. py:currentmodule:: hoomd.mpcd.tune + +.. autoclass:: ParticleSorter + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/autotunedobject.rst b/sphinx-doc/hoomd/operation/autotunedobject.rst new file mode 100644 index 0000000000..1dd560d884 --- /dev/null +++ b/sphinx-doc/hoomd/operation/autotunedobject.rst @@ -0,0 +1,7 @@ +AutotunedObject +=============== + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: AutotunedObject + :members: diff --git a/sphinx-doc/hoomd/operation/compute.rst b/sphinx-doc/hoomd/operation/compute.rst new file mode 100644 index 0000000000..448b6afbad --- /dev/null +++ b/sphinx-doc/hoomd/operation/compute.rst @@ -0,0 +1,8 @@ +Compute +======= + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Compute + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/integrator.rst b/sphinx-doc/hoomd/operation/integrator.rst new file mode 100644 index 0000000000..ccead1eeae --- /dev/null +++ b/sphinx-doc/hoomd/operation/integrator.rst @@ -0,0 +1,8 @@ +Integrator +========== + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Integrator + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/operation.rst b/sphinx-doc/hoomd/operation/operation.rst new file mode 100644 index 0000000000..17eb8032b7 --- /dev/null +++ b/sphinx-doc/hoomd/operation/operation.rst @@ -0,0 +1,8 @@ +Operation +========= + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Operation + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/triggeredoperation.rst b/sphinx-doc/hoomd/operation/triggeredoperation.rst new file mode 100644 index 0000000000..eee1bed49a --- /dev/null +++ b/sphinx-doc/hoomd/operation/triggeredoperation.rst @@ -0,0 +1,8 @@ +TriggeredOperation +================== + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: TriggeredOperation + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/tuner.rst b/sphinx-doc/hoomd/operation/tuner.rst new file mode 100644 index 0000000000..da48c2a057 --- /dev/null +++ b/sphinx-doc/hoomd/operation/tuner.rst @@ -0,0 +1,8 @@ +Tuner +===== + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Tuner + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/updater.rst b/sphinx-doc/hoomd/operation/updater.rst new file mode 100644 index 0000000000..210422995e --- /dev/null +++ b/sphinx-doc/hoomd/operation/updater.rst @@ -0,0 +1,8 @@ +Updater +======= + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Updater + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operation/writer.rst b/sphinx-doc/hoomd/operation/writer.rst new file mode 100644 index 0000000000..c35ffe2b49 --- /dev/null +++ b/sphinx-doc/hoomd/operation/writer.rst @@ -0,0 +1,8 @@ +Writer +====== + +.. py:currentmodule:: hoomd.operation + +.. autoclass:: Writer + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/operations.rst b/sphinx-doc/hoomd/operations.rst new file mode 100644 index 0000000000..6eb66e6d23 --- /dev/null +++ b/sphinx-doc/hoomd/operations.rst @@ -0,0 +1,7 @@ +Operations +========== + +.. py:currentmodule:: hoomd + +.. autoclass:: Operations + :members: diff --git a/sphinx-doc/hoomd/simulation.rst b/sphinx-doc/hoomd/simulation.rst new file mode 100644 index 0000000000..1655f1f3b4 --- /dev/null +++ b/sphinx-doc/hoomd/simulation.rst @@ -0,0 +1,7 @@ +Simulation +========== + +.. py:currentmodule:: hoomd + +.. autoclass:: Simulation + :members: diff --git a/sphinx-doc/hoomd/snapshot.rst b/sphinx-doc/hoomd/snapshot.rst new file mode 100644 index 0000000000..3381bd70cc --- /dev/null +++ b/sphinx-doc/hoomd/snapshot.rst @@ -0,0 +1,7 @@ +Snapshot +======== + +.. py:currentmodule:: hoomd + +.. autoclass:: Snapshot + :members: diff --git a/sphinx-doc/hoomd/state.rst b/sphinx-doc/hoomd/state.rst new file mode 100644 index 0000000000..f5552e5bce --- /dev/null +++ b/sphinx-doc/hoomd/state.rst @@ -0,0 +1,7 @@ +State +===== + +.. py:currentmodule:: hoomd + +.. autoclass:: State + :members: diff --git a/sphinx-doc/hoomd/trigger/after.rst b/sphinx-doc/hoomd/trigger/after.rst new file mode 100644 index 0000000000..5f4061bb31 --- /dev/null +++ b/sphinx-doc/hoomd/trigger/after.rst @@ -0,0 +1,8 @@ +After +===== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: After(timestep) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/and.rst b/sphinx-doc/hoomd/trigger/and.rst new file mode 100644 index 0000000000..c823a39402 --- /dev/null +++ b/sphinx-doc/hoomd/trigger/and.rst @@ -0,0 +1,8 @@ +And +=== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: And(triggers) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/before.rst b/sphinx-doc/hoomd/trigger/before.rst new file mode 100644 index 0000000000..c7e916f09e --- /dev/null +++ b/sphinx-doc/hoomd/trigger/before.rst @@ -0,0 +1,8 @@ +Before +====== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: Before(timestep) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/not.rst b/sphinx-doc/hoomd/trigger/not.rst new file mode 100644 index 0000000000..74acf4bb03 --- /dev/null +++ b/sphinx-doc/hoomd/trigger/not.rst @@ -0,0 +1,8 @@ +Not +=== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: Not(trigger) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/on.rst b/sphinx-doc/hoomd/trigger/on.rst new file mode 100644 index 0000000000..c7461ded43 --- /dev/null +++ b/sphinx-doc/hoomd/trigger/on.rst @@ -0,0 +1,8 @@ +On +== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: On(timestep) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/or.rst b/sphinx-doc/hoomd/trigger/or.rst new file mode 100644 index 0000000000..ac6308ea06 --- /dev/null +++ b/sphinx-doc/hoomd/trigger/or.rst @@ -0,0 +1,8 @@ +Or +== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: Or(triggers) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/periodic.rst b/sphinx-doc/hoomd/trigger/periodic.rst new file mode 100644 index 0000000000..f13d600c5f --- /dev/null +++ b/sphinx-doc/hoomd/trigger/periodic.rst @@ -0,0 +1,8 @@ +Periodic +======== + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: Periodic(period, phase) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/trigger/trigger.rst b/sphinx-doc/hoomd/trigger/trigger.rst new file mode 100644 index 0000000000..c45ab93e2e --- /dev/null +++ b/sphinx-doc/hoomd/trigger/trigger.rst @@ -0,0 +1,7 @@ +Trigger +======= + +.. py:currentmodule:: hoomd.trigger + +.. autoclass:: Trigger() + :members: diff --git a/sphinx-doc/hoomd/tune/customtuner.rst b/sphinx-doc/hoomd/tune/customtuner.rst new file mode 100644 index 0000000000..933c3839f5 --- /dev/null +++ b/sphinx-doc/hoomd/tune/customtuner.rst @@ -0,0 +1,8 @@ +CustomTuner +=========== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: CustomTuner + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/gradientdescent.rst b/sphinx-doc/hoomd/tune/gradientdescent.rst new file mode 100644 index 0000000000..bb57eb9825 --- /dev/null +++ b/sphinx-doc/hoomd/tune/gradientdescent.rst @@ -0,0 +1,8 @@ +GradientDescent +=============== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: GradientDescent + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/gridoptimizer.rst b/sphinx-doc/hoomd/tune/gridoptimizer.rst new file mode 100644 index 0000000000..9521fd5083 --- /dev/null +++ b/sphinx-doc/hoomd/tune/gridoptimizer.rst @@ -0,0 +1,8 @@ +GridOptimizer +============= + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: GridOptimizer + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/loadbalancer.rst b/sphinx-doc/hoomd/tune/loadbalancer.rst new file mode 100644 index 0000000000..80ca22be47 --- /dev/null +++ b/sphinx-doc/hoomd/tune/loadbalancer.rst @@ -0,0 +1,8 @@ +LoadBalancer +============ + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: LoadBalancer + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/manualtunedefinition.rst b/sphinx-doc/hoomd/tune/manualtunedefinition.rst new file mode 100644 index 0000000000..0d72d7f67c --- /dev/null +++ b/sphinx-doc/hoomd/tune/manualtunedefinition.rst @@ -0,0 +1,8 @@ +ManualTuneDefinition +==================== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: ManualTuneDefinition + :members: + :inherited-members: diff --git a/sphinx-doc/hoomd/tune/optimizer.rst b/sphinx-doc/hoomd/tune/optimizer.rst new file mode 100644 index 0000000000..c40477af8b --- /dev/null +++ b/sphinx-doc/hoomd/tune/optimizer.rst @@ -0,0 +1,8 @@ +Optimizer +========= + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: Optimizer + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/particlesorter.rst b/sphinx-doc/hoomd/tune/particlesorter.rst new file mode 100644 index 0000000000..4173cd36a1 --- /dev/null +++ b/sphinx-doc/hoomd/tune/particlesorter.rst @@ -0,0 +1,8 @@ +ParticleSorter +============== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: ParticleSorter + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/rootsolver.rst b/sphinx-doc/hoomd/tune/rootsolver.rst new file mode 100644 index 0000000000..bca697775a --- /dev/null +++ b/sphinx-doc/hoomd/tune/rootsolver.rst @@ -0,0 +1,8 @@ +RootSolver +========== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: RootSolver + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/scalesolver.rst b/sphinx-doc/hoomd/tune/scalesolver.rst new file mode 100644 index 0000000000..65f8a2e3bc --- /dev/null +++ b/sphinx-doc/hoomd/tune/scalesolver.rst @@ -0,0 +1,8 @@ +ScaleSolver +=========== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: ScaleSolver + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/secantsolver.rst b/sphinx-doc/hoomd/tune/secantsolver.rst new file mode 100644 index 0000000000..e29a0abb54 --- /dev/null +++ b/sphinx-doc/hoomd/tune/secantsolver.rst @@ -0,0 +1,8 @@ +SecantSolver +============ + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: SecantSolver + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/tune/solverstep.rst b/sphinx-doc/hoomd/tune/solverstep.rst new file mode 100644 index 0000000000..b66cf066ed --- /dev/null +++ b/sphinx-doc/hoomd/tune/solverstep.rst @@ -0,0 +1,7 @@ +SolverStep +========== + +.. py:currentmodule:: hoomd.tune + +.. autoclass:: SolverStep + :members: diff --git a/sphinx-doc/hoomd/update/boxresize.rst b/sphinx-doc/hoomd/update/boxresize.rst new file mode 100644 index 0000000000..a708caa59a --- /dev/null +++ b/sphinx-doc/hoomd/update/boxresize.rst @@ -0,0 +1,8 @@ +BoxResize +========= + +.. py:currentmodule:: hoomd.update + +.. autoclass:: BoxResize + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/update/customupdater.rst b/sphinx-doc/hoomd/update/customupdater.rst new file mode 100644 index 0000000000..3ce1ae5426 --- /dev/null +++ b/sphinx-doc/hoomd/update/customupdater.rst @@ -0,0 +1,8 @@ +CustomUpdater +============= + +.. py:currentmodule:: hoomd.update + +.. autoclass:: CustomUpdater + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/update/filterupdater.rst b/sphinx-doc/hoomd/update/filterupdater.rst new file mode 100644 index 0000000000..badc95bb43 --- /dev/null +++ b/sphinx-doc/hoomd/update/filterupdater.rst @@ -0,0 +1,8 @@ +FilterUpdater +============= + +.. py:currentmodule:: hoomd.update + +.. autoclass:: FilterUpdater + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/update/removedrift.rst b/sphinx-doc/hoomd/update/removedrift.rst new file mode 100644 index 0000000000..18ada8f0a7 --- /dev/null +++ b/sphinx-doc/hoomd/update/removedrift.rst @@ -0,0 +1,8 @@ +RemoveDrift +=========== + +.. py:currentmodule:: hoomd.update + +.. autoclass:: RemoveDrift + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/util/make_example_simulation.rst b/sphinx-doc/hoomd/util/make_example_simulation.rst new file mode 100644 index 0000000000..d3681d890e --- /dev/null +++ b/sphinx-doc/hoomd/util/make_example_simulation.rst @@ -0,0 +1,6 @@ +make_example_simulation +======================= + +.. py:currentmodule:: hoomd.util + +.. autofunction:: make_example_simulation diff --git a/sphinx-doc/hoomd/variant/box/boxvariant.rst b/sphinx-doc/hoomd/variant/box/boxvariant.rst new file mode 100644 index 0000000000..1a46c08798 --- /dev/null +++ b/sphinx-doc/hoomd/variant/box/boxvariant.rst @@ -0,0 +1,7 @@ +BoxVariant +========== + +.. py:currentmodule:: hoomd.variant.box + +.. autoclass:: BoxVariant() + :members: diff --git a/sphinx-doc/hoomd/variant/box/constant.rst b/sphinx-doc/hoomd/variant/box/constant.rst new file mode 100644 index 0000000000..d5f7c1fa02 --- /dev/null +++ b/sphinx-doc/hoomd/variant/box/constant.rst @@ -0,0 +1,8 @@ +Constant +======== + +.. py:currentmodule:: hoomd.variant.box + +.. autoclass:: Constant(box) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/box/interpolate.rst b/sphinx-doc/hoomd/variant/box/interpolate.rst new file mode 100644 index 0000000000..288a9d1757 --- /dev/null +++ b/sphinx-doc/hoomd/variant/box/interpolate.rst @@ -0,0 +1,8 @@ +Interpolate +=========== + +.. py:currentmodule:: hoomd.variant.box + +.. autoclass:: Interpolate(initial_box, final_box, variant) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/box/inversevolumeramp.rst b/sphinx-doc/hoomd/variant/box/inversevolumeramp.rst new file mode 100644 index 0000000000..896d66c0c5 --- /dev/null +++ b/sphinx-doc/hoomd/variant/box/inversevolumeramp.rst @@ -0,0 +1,8 @@ +InverseVolumeRamp +================= + +.. py:currentmodule:: hoomd.variant.box + +.. autoclass:: InverseVolumeRamp(initial_box, final_volume, t_start, t_ramp) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/constant.rst b/sphinx-doc/hoomd/variant/constant.rst new file mode 100644 index 0000000000..34b35baa40 --- /dev/null +++ b/sphinx-doc/hoomd/variant/constant.rst @@ -0,0 +1,8 @@ +Constant +======== + +.. py:currentmodule:: hoomd.variant + +.. autoclass:: Constant(value) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/cycle.rst b/sphinx-doc/hoomd/variant/cycle.rst new file mode 100644 index 0000000000..baaeb57437 --- /dev/null +++ b/sphinx-doc/hoomd/variant/cycle.rst @@ -0,0 +1,8 @@ +Cycle +===== + +.. py:currentmodule:: hoomd.variant + +.. autoclass:: Cycle(A, B, t_start, t_A, t_AB, t_B, t_BA) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/module-box.rst b/sphinx-doc/hoomd/variant/module-box.rst new file mode 100644 index 0000000000..9b96fd6cb4 --- /dev/null +++ b/sphinx-doc/hoomd/variant/module-box.rst @@ -0,0 +1,16 @@ +box +=== + +.. automodule:: hoomd.variant.box + :members: + :exclude-members: BoxVariant,Constant,Interpolate,InverseVolumeRamp + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + box/boxvariant + box/constant + box/interpolate + box/inversevolumeramp diff --git a/sphinx-doc/hoomd/variant/power.rst b/sphinx-doc/hoomd/variant/power.rst new file mode 100644 index 0000000000..f0dcd49f58 --- /dev/null +++ b/sphinx-doc/hoomd/variant/power.rst @@ -0,0 +1,8 @@ +Power +===== + +.. py:currentmodule:: hoomd.variant + +.. autoclass:: Power(A, B, power, t_start, t_ramp) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/ramp.rst b/sphinx-doc/hoomd/variant/ramp.rst new file mode 100644 index 0000000000..53fd085608 --- /dev/null +++ b/sphinx-doc/hoomd/variant/ramp.rst @@ -0,0 +1,8 @@ +Ramp +==== + +.. py:currentmodule:: hoomd.variant + +.. autoclass:: Ramp(A, B, t_start, t_ramp) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/variant/variant.rst b/sphinx-doc/hoomd/variant/variant.rst new file mode 100644 index 0000000000..496f5bd6d2 --- /dev/null +++ b/sphinx-doc/hoomd/variant/variant.rst @@ -0,0 +1,7 @@ +Variant +======= + +.. py:currentmodule:: hoomd.variant + +.. autoclass:: Variant() + :members: diff --git a/sphinx-doc/hoomd/wall/cylinder.rst b/sphinx-doc/hoomd/wall/cylinder.rst new file mode 100644 index 0000000000..9241242ab8 --- /dev/null +++ b/sphinx-doc/hoomd/wall/cylinder.rst @@ -0,0 +1,8 @@ +Cylinder +======== + +.. py:currentmodule:: hoomd.wall + +.. autoclass:: Cylinder + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/wall/plane.rst b/sphinx-doc/hoomd/wall/plane.rst new file mode 100644 index 0000000000..d3d0e3a199 --- /dev/null +++ b/sphinx-doc/hoomd/wall/plane.rst @@ -0,0 +1,8 @@ +Plane +===== + +.. py:currentmodule:: hoomd.wall + +.. autoclass:: Plane + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/wall/sphere.rst b/sphinx-doc/hoomd/wall/sphere.rst new file mode 100644 index 0000000000..7820c49e2a --- /dev/null +++ b/sphinx-doc/hoomd/wall/sphere.rst @@ -0,0 +1,8 @@ +Sphere +====== + +.. py:currentmodule:: hoomd.wall + +.. autoclass:: Sphere + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/wall/wallgeometry.rst b/sphinx-doc/hoomd/wall/wallgeometry.rst new file mode 100644 index 0000000000..6c18bb5353 --- /dev/null +++ b/sphinx-doc/hoomd/wall/wallgeometry.rst @@ -0,0 +1,8 @@ +WallGeometry +============ + +.. py:currentmodule:: hoomd.wall + +.. autoclass:: WallGeometry + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/write/burst.rst b/sphinx-doc/hoomd/write/burst.rst new file mode 100644 index 0000000000..bf1603745c --- /dev/null +++ b/sphinx-doc/hoomd/write/burst.rst @@ -0,0 +1,8 @@ +Burst +===== + +.. py:currentmodule:: hoomd.write + +.. autoclass:: Burst(trigger, filename, filter=hoomd.filter.All(), mode='ab', dynamic=None, logger=None, max_burst_size=-1, write_at_start=False) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/write/customwriter.rst b/sphinx-doc/hoomd/write/customwriter.rst new file mode 100644 index 0000000000..55155c2ab2 --- /dev/null +++ b/sphinx-doc/hoomd/write/customwriter.rst @@ -0,0 +1,8 @@ +CustomWriter +============ + +.. py:currentmodule:: hoomd.write + +.. autoclass:: CustomWriter + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/write/dcd.rst b/sphinx-doc/hoomd/write/dcd.rst new file mode 100644 index 0000000000..950c774ef5 --- /dev/null +++ b/sphinx-doc/hoomd/write/dcd.rst @@ -0,0 +1,8 @@ +DCD +=== + +.. py:currentmodule:: hoomd.write + +.. autoclass:: DCD(trigger, filename, filter=hoomd.filter.All(), overwrite=False, unwrap_full=False, unwrap_rigid=False, angle_z=False) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/write/gsd.rst b/sphinx-doc/hoomd/write/gsd.rst new file mode 100644 index 0000000000..229d0e6ce9 --- /dev/null +++ b/sphinx-doc/hoomd/write/gsd.rst @@ -0,0 +1,8 @@ +GSD +=== + +.. py:currentmodule:: hoomd.write + +.. autoclass:: GSD(trigger, filename, filter=hoomd.filter.All(), mode='ab', truncate=False, dynamic=None, logger=None) + :members: + :show-inheritance: diff --git a/sphinx-doc/hoomd/write/hdf5log.rst b/sphinx-doc/hoomd/write/hdf5log.rst new file mode 100644 index 0000000000..e54cd4b711 --- /dev/null +++ b/sphinx-doc/hoomd/write/hdf5log.rst @@ -0,0 +1,7 @@ +HDF5Log +======= + +.. py:currentmodule:: hoomd.write + +.. autoclass:: HDF5Log(trigger, filename, logger, mode="a") + :members: diff --git a/sphinx-doc/hoomd/write/table.rst b/sphinx-doc/hoomd/write/table.rst new file mode 100644 index 0000000000..9310f64b7c --- /dev/null +++ b/sphinx-doc/hoomd/write/table.rst @@ -0,0 +1,7 @@ +Table +===== + +.. py:currentmodule:: hoomd.write + +.. autoclass:: Table(trigger, logger, output=stdout, header_sep='.', delimiter=' ', pretty=True, max_precision=10, max_header_len=None) + :members: diff --git a/sphinx-doc/how-to.rst b/sphinx-doc/how-to.rst index 98107b41e0..4a8dc5c857 100644 --- a/sphinx-doc/how-to.rst +++ b/sphinx-doc/how-to.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - How-to ~~~~~~ diff --git a/sphinx-doc/index.rst b/sphinx-doc/index.rst index e6d29fc61a..b505850060 100644 --- a/sphinx-doc/index.rst +++ b/sphinx-doc/index.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - ========== HOOMD-blue ========== @@ -142,10 +139,10 @@ Molecular dynamics: :maxdepth: 1 :caption: Python API - package-hoomd - package-hpmc - package-md - package-mpcd + module-hoomd + hoomd/module-hpmc + hoomd/module-md + hoomd/module-mpcd .. toctree:: :maxdepth: 2 diff --git a/sphinx-doc/indices.rst b/sphinx-doc/indices.rst index 7c9f261917..816ef65304 100644 --- a/sphinx-doc/indices.rst +++ b/sphinx-doc/indices.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Index ===== diff --git a/sphinx-doc/installation.rst b/sphinx-doc/installation.rst index 5f5a135fc9..5ffb5bd191 100644 --- a/sphinx-doc/installation.rst +++ b/sphinx-doc/installation.rst @@ -1,4 +1 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - .. include:: ../INSTALLING.rst diff --git a/sphinx-doc/license.rst b/sphinx-doc/license.rst index c87ae7dc3c..c986ee047c 100644 --- a/sphinx-doc/license.rst +++ b/sphinx-doc/license.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - License ======= diff --git a/sphinx-doc/logo.rst b/sphinx-doc/logo.rst index 216f926f37..a6c077f571 100644 --- a/sphinx-doc/logo.rst +++ b/sphinx-doc/logo.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Logo ++++ diff --git a/sphinx-doc/make.bat b/sphinx-doc/make.bat deleted file mode 100644 index c0de6f86a6..0000000000 --- a/sphinx-doc/make.bat +++ /dev/null @@ -1,263 +0,0 @@ -@ECHO OFF - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set BUILDDIR=_build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . -set I18NSPHINXOPTS=%SPHINXOPTS% . -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) - -if "%1" == "" goto help - -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - echo. coverage to run coverage check of the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -REM Check if sphinx-build is available and fallback to Python version if any -%SPHINXBUILD% 1>NUL 2>NUL -if errorlevel 9009 goto sphinx_python -goto sphinx_ok - -:sphinx_python - -set SPHINXBUILD=python -m sphinx.__init__ -%SPHINXBUILD% 2> nul -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -:sphinx_ok - - -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) - -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\HOOMD-blue.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\HOOMD-blue.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %~dp0 - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "coverage" ( - %SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage - if errorlevel 1 exit /b 1 - echo. - echo.Testing of coverage in the sources finished, look at the ^ -results in %BUILDDIR%/coverage/python.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) - -:end diff --git a/sphinx-doc/migrating.rst b/sphinx-doc/migrating.rst index 3fc8b2c013..218006343b 100644 --- a/sphinx-doc/migrating.rst +++ b/sphinx-doc/migrating.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Migrating to the latest version =============================== diff --git a/sphinx-doc/module-hoomd-array.rst b/sphinx-doc/module-hoomd-array.rst deleted file mode 100644 index d8bb723766..0000000000 --- a/sphinx-doc/module-hoomd-array.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.data.array ----------------- - -.. py:currentmodule:: hoomd.data.array - -.. rubric:: Overview - -.. autosummary:: - :nosignatures: - - HOOMDArray - HOOMDGPUArray - -.. rubric:: Details - -.. automodule:: hoomd.data.array - :synopsis: Array classes that expose internal data buffers through the local snapshot `hoomd.State` API. - :members: HOOMDGPUArray - - .. autoclass:: HOOMDArray diff --git a/sphinx-doc/module-hoomd-box.rst b/sphinx-doc/module-hoomd-box.rst deleted file mode 100644 index dd0292de08..0000000000 --- a/sphinx-doc/module-hoomd-box.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -.. Copyright (c) 2009-2022 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.box ---------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.box - -.. autosummary:: - :nosignatures: - - BoxInterface - box_like - -.. rubric:: Details - -.. automodule:: hoomd.box - :synopsis: Defines HOOMD's concept and Python implementation of a simulation box. - :no-members: - - .. autoclass:: BoxInterface - .. autodata:: box_like diff --git a/sphinx-doc/module-hoomd-communicator.rst b/sphinx-doc/module-hoomd-communicator.rst deleted file mode 100644 index b00003411a..0000000000 --- a/sphinx-doc/module-hoomd-communicator.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.communicator ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.communicator - -.. autosummary:: - :nosignatures: - - Communicator - -.. rubric:: Details - -.. automodule:: hoomd.communicator - :synopsis: MPI run interface. - :members: Communicator diff --git a/sphinx-doc/module-hoomd-custom.rst b/sphinx-doc/module-hoomd-custom.rst deleted file mode 100644 index 9d3e57262d..0000000000 --- a/sphinx-doc/module-hoomd-custom.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.custom ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.custom - -.. autosummary:: - :nosignatures: - - Action - CustomOperation - -.. rubric:: Details - -.. automodule:: hoomd.custom - :synopsis: Classes for custom Python actions that allow injecting code into the run loop. - :members: Action, CustomOperation - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-data.rst b/sphinx-doc/module-hoomd-data.rst deleted file mode 100644 index 660ce02c6b..0000000000 --- a/sphinx-doc/module-hoomd-data.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.data ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.data - -.. autosummary:: - :nosignatures: - - LocalSnapshot - LocalSnapshotGPU - AngleLocalAccessBase - BondLocalAccessBase - ConstraintLocalAccessBase - DihedralLocalAccessBase - ImproperLocalAccessBase - PairLocalAccessBase - ParticleLocalAccessBase - typeparam.TypeParameter - -.. rubric:: Details - -.. automodule:: hoomd.data - :synopsis: Provide access in Python to data buffers on CPU or GPU. - :members: AngleLocalAccessBase, - BondLocalAccessBase, - ConstraintLocalAccessBase, - DihedralLocalAccessBase, - ImproperLocalAccessBase, - PairLocalAccessBase, - ParticleLocalAccessBase - - .. autoclass:: LocalSnapshot - :inherited-members: - - .. autoclass:: LocalSnapshotGPU - :inherited-members: - - .. autoclass:: hoomd.data.typeparam.TypeParameter - :members: __delitem__, - __eq__, - __getitem__, - __iter__, - __len__, - __setitem__, - default, - get, - setdefault, - to_base - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-hoomd-array diff --git a/sphinx-doc/module-hoomd-device.rst b/sphinx-doc/module-hoomd-device.rst deleted file mode 100644 index 2ea0a81c46..0000000000 --- a/sphinx-doc/module-hoomd-device.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.device ------------- - -.. py:currentmodule:: hoomd.device - -.. rubric:: Overview - -.. autosummary:: - :nosignatures: - - CPU - Device - GPU - NoticeFile - auto_select - -.. rubric:: Details - -.. automodule:: hoomd.device - :synopsis: Devices used for simulation runs - :members: auto_select, - Device, - CPU, - GPU, - NoticeFile - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-error.rst b/sphinx-doc/module-hoomd-error.rst deleted file mode 100644 index 151dd22e8c..0000000000 --- a/sphinx-doc/module-hoomd-error.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.error ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.error - -.. autosummary:: - :nosignatures: - - DataAccessError - TypeConversionError - MutabilityError - GPUNotAvailableError - -.. rubric:: Details - -.. automodule:: hoomd.error - :synopsis: HOOMD errors - :members: DataAccessError, - TypeConversionError, - MutabilityError, - GPUNotAvailableError - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-filter.rst b/sphinx-doc/module-hoomd-filter.rst deleted file mode 100644 index 324e8bd3a3..0000000000 --- a/sphinx-doc/module-hoomd-filter.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.filter ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.filter - -.. autosummary:: - :nosignatures: - - ParticleFilter - All - CustomFilter - Intersection - Null - Rigid - SetDifference - Tags - Type - Union - filter_like - -.. rubric:: Details - -.. automodule:: hoomd.filter - :synopsis: Particle selection filters. - :no-members: - - .. autoclass:: ParticleFilter() - :special-members: __call__, __hash__, __eq__, __str__ - .. autoclass:: All() - .. autoclass:: CustomFilter() - :special-members: __call__ - .. autoclass:: Intersection(f, g) - .. autoclass:: Null() - .. autoclass:: Rigid(flags=("center",)) - .. autoclass:: SetDifference(f, g) - .. autoclass:: Tags(tags) - :members: tags - .. autoclass:: Type(types) - :members: types - .. autoclass:: Union(f, g) - .. autodata:: filter_like diff --git a/sphinx-doc/module-hoomd-logging.rst b/sphinx-doc/module-hoomd-logging.rst deleted file mode 100644 index 07cedad6c1..0000000000 --- a/sphinx-doc/module-hoomd-logging.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.logging --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.logging - -.. autosummary:: - :nosignatures: - - LoggerCategories - Logger - log - modify_namespace - -.. rubric:: Details - -.. automodule:: hoomd.logging - :synopsis: Classes for logging data. - :members: log, modify_namespace, Logger - :undoc-members: - - .. autoclass:: LoggerCategories - :members: any diff --git a/sphinx-doc/module-hoomd-mesh.rst b/sphinx-doc/module-hoomd-mesh.rst deleted file mode 100644 index 01aa617c5d..0000000000 --- a/sphinx-doc/module-hoomd-mesh.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.mesh ----------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mesh - -.. autosummary:: - :nosignatures: - - Mesh - -.. rubric:: Details - -.. automodule:: hoomd.mesh - :synopsis: Triangulated mesh data structure made of particles. - :members: Mesh diff --git a/sphinx-doc/module-hoomd-operation.rst b/sphinx-doc/module-hoomd-operation.rst deleted file mode 100644 index efecb76443..0000000000 --- a/sphinx-doc/module-hoomd-operation.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.operation ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.operation - -.. autosummary:: - :nosignatures: - - AutotunedObject - Compute - Integrator - Operation - Tuner - TriggeredOperation - Updater - Writer - -.. rubric:: Details - -.. automodule:: hoomd.operation - :synopsis: Classes define the interfaces and types for HOOMD-blue operations. - :members: AutotunedObject, Compute, Integrator, Tuner, TriggeredOperation, Updater, Writer - :show-inheritance: - - .. autoclass:: Operation - :inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-triggers.rst b/sphinx-doc/module-hoomd-triggers.rst deleted file mode 100644 index 2b611b6d24..0000000000 --- a/sphinx-doc/module-hoomd-triggers.rst +++ /dev/null @@ -1,45 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.trigger --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.trigger - -.. autosummary:: - :nosignatures: - - After - And - Before - Not - On - Or - Periodic - Trigger - trigger_like - -.. rubric:: Details - -.. automodule:: hoomd.trigger - :synopsis: Trigger events at specific time steps. - :no-members: - - .. autoclass:: After(timestep) - :show-inheritance: - .. autoclass:: And(triggers) - :show-inheritance: - .. autoclass:: Before(timestep) - :show-inheritance: - .. autoclass:: Not(trigger) - :show-inheritance: - .. autoclass:: On(timestep) - :show-inheritance: - .. autoclass:: Or(triggers) - :show-inheritance: - .. autoclass:: Periodic(period, phase) - :show-inheritance: - .. autoclass:: Trigger() - .. autodata:: trigger_like diff --git a/sphinx-doc/module-hoomd-tune.rst b/sphinx-doc/module-hoomd-tune.rst deleted file mode 100644 index 7161d167cb..0000000000 --- a/sphinx-doc/module-hoomd-tune.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.tune ----------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.tune - -.. autosummary:: - :nosignatures: - - CustomTuner - GradientDescent - GridOptimizer - LoadBalancer - ManualTuneDefinition - Optimizer - ParticleSorter - RootSolver - ScaleSolver - SecantSolver - SolverStep - -.. rubric:: Details - -.. automodule:: hoomd.tune - :synopsis: Tuner simulation hyperparameters. - :members: CustomTuner, - GradientDescent, - GridOptimizer, - LoadBalancer, - Optimizer, - ParticleSorter, - RootSolver, - ScaleSolver, - SecantSolver, - SolverStep - :show-inheritance: - - .. autoclass:: ManualTuneDefinition - :inherited-members: diff --git a/sphinx-doc/module-hoomd-update.rst b/sphinx-doc/module-hoomd-update.rst deleted file mode 100644 index 8bf54c7700..0000000000 --- a/sphinx-doc/module-hoomd-update.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.update ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.update - -.. autosummary:: - :nosignatures: - - BoxResize - CustomUpdater - FilterUpdater - RemoveDrift - -.. rubric:: Details - -.. automodule:: hoomd.update - :synopsis: Modify the system state periodically. - :members: BoxResize, CustomUpdater, FilterUpdater, RemoveDrift - :imported-members: - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-util.rst b/sphinx-doc/module-hoomd-util.rst deleted file mode 100644 index 50095c17e7..0000000000 --- a/sphinx-doc/module-hoomd-util.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.util ----------- - -.. py:currentmodule:: hoomd.util - -.. rubric:: Overview - -.. autosummary:: - :nosignatures: - - make_example_simulation - -.. rubric:: Details - -.. automodule:: hoomd.util - :synopsis: Utilities - :members: make_example_simulation diff --git a/sphinx-doc/module-hoomd-variant-box.rst b/sphinx-doc/module-hoomd-variant-box.rst deleted file mode 100644 index a7693e715e..0000000000 --- a/sphinx-doc/module-hoomd-variant-box.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.variant.box ------------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.variant.box - -.. autosummary:: - :nosignatures: - - BoxVariant - Constant - Interpolate - InverseVolumeRamp - -.. rubric:: Details - -.. automodule:: hoomd.variant.box - :synopsis: Box variants. - :no-members: - - .. autoclass:: BoxVariant() - .. autoclass:: Constant(box) - :show-inheritance: - .. autoclass:: Interpolate(initial_box, final_box, variant) - :show-inheritance: - .. autoclass:: InverseVolumeRamp(initial_box, final_volume, t_start, t_ramp) - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-variant.rst b/sphinx-doc/module-hoomd-variant.rst deleted file mode 100644 index 3ca75c2e9b..0000000000 --- a/sphinx-doc/module-hoomd-variant.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.variant -------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.variant - -.. autosummary:: - :nosignatures: - - Constant - Cycle - Power - Ramp - Variant - variant_like - -.. rubric:: Details - -.. automodule:: hoomd.variant - :synopsis: Values that vary as a function of time step. - :no-members: - - .. autoclass:: Constant(value) - :members: __eq__ - :show-inheritance: - .. autoclass:: Cycle(A, B, t_start, t_A, t_AB, t_B, t_BA) - :members: __eq__ - :show-inheritance: - .. autoclass:: Power(A, B, power, t_start, t_ramp) - :members: __eq__ - :show-inheritance: - .. autoclass:: Ramp(A, B, t_start, t_ramp) - :members: __eq__ - :show-inheritance: - .. autoclass:: Variant() - :members: min, max, __getstate__, __setstate__ - .. autodata:: variant_like - - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-hoomd-variant-box diff --git a/sphinx-doc/module-hoomd-version.rst b/sphinx-doc/module-hoomd-version.rst deleted file mode 100644 index 98e2253387..0000000000 --- a/sphinx-doc/module-hoomd-version.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.version -------------- - -.. py:currentmodule:: hoomd.version - -.. automodule:: hoomd.version - :synopsis: Version and build information. diff --git a/sphinx-doc/module-hoomd-wall.rst b/sphinx-doc/module-hoomd-wall.rst deleted file mode 100644 index 04e55c30d6..0000000000 --- a/sphinx-doc/module-hoomd-wall.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.wall ----------- - -.. py:currentmodule:: hoomd.wall - -.. rubric:: Overview - -.. autosummary:: - :nosignatures: - - Cylinder - Plane - Sphere - WallGeometry - -.. rubric:: Details - -.. automodule:: hoomd.wall - :synopsis: Wall data classes that specify wall geometries for use in other hoomd submodules. - :members: Cylinder, Plane, Sphere, WallGeometry - :show-inheritance: diff --git a/sphinx-doc/module-hoomd-write.rst b/sphinx-doc/module-hoomd-write.rst deleted file mode 100644 index 9e703b8c94..0000000000 --- a/sphinx-doc/module-hoomd-write.rst +++ /dev/null @@ -1,48 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.write ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.write - -.. autosummary:: - :nosignatures: - - Burst - DCD - CustomWriter - GSD - HDF5Log - Table - -.. rubric:: Details - -.. automodule:: hoomd.write - :synopsis: Write data out. - - .. autoclass:: Burst(trigger, filename, filter=hoomd.filter.All(), mode='ab', dynamic=None, logger=None, max_burst_size=-1, write_at_start=False) - :show-inheritance: - :members: - - .. autoclass:: CustomWriter - :show-inheritance: - :members: - - .. autoclass:: DCD(trigger, filename, filter=hoomd.filter.All(), overwrite=False, unwrap_full=False, unwrap_rigid=False, angle_z=False) - :show-inheritance: - :members: - - .. autoclass:: GSD(trigger, filename, filter=hoomd.filter.All(), mode='ab', truncate=False, dynamic=None, logger=None) - :show-inheritance: - :members: - - .. autoclass:: HDF5Log(trigger, filename, logger, mode="a") - :show-inheritance: - :members: - - .. autoclass:: Table(trigger, logger, output=stdout, header_sep='.', delimiter=' ', pretty=True, max_precision=10, max_header_len=None) - :show-inheritance: - :members: diff --git a/sphinx-doc/module-hoomd.rst b/sphinx-doc/module-hoomd.rst new file mode 100644 index 0000000000..9176505974 --- /dev/null +++ b/sphinx-doc/module-hoomd.rst @@ -0,0 +1,41 @@ +hoomd +===== + +.. automodule:: hoomd + :members: + :exclude-members: Box,Operations,Simulation,Snapshot,State + +.. rubric:: Modules + +.. toctree:: + :maxdepth: 1 + + hoomd/module-box + hoomd/module-communicator + hoomd/module-custom + hoomd/module-data + hoomd/module-device + hoomd/module-error + hoomd/module-filter + hoomd/module-logging + hoomd/module-mesh + hoomd/module-operation + hoomd/module-trigger + hoomd/module-tune + hoomd/module-update + hoomd/module-util + hoomd/module-variant + hoomd/module-version + hoomd/module-wall + hoomd/module-write + +.. rubric:: Classes + +.. toctree:: + :maxdepth: 1 + + hoomd/box + hoomd/operations + hoomd/simulation + hoomd/snapshot + hoomd/state diff --git a/sphinx-doc/module-hpmc-compute.rst b/sphinx-doc/module-hpmc-compute.rst deleted file mode 100644 index bd4e6459b7..0000000000 --- a/sphinx-doc/module-hpmc-compute.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.compute ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.compute - -.. autosummary:: - :nosignatures: - - FreeVolume - SDF - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.compute - :synopsis: Compute system properties. - :members: FreeVolume, SDF diff --git a/sphinx-doc/module-hpmc-external.rst b/sphinx-doc/module-hpmc-external.rst deleted file mode 100644 index 8764bcc942..0000000000 --- a/sphinx-doc/module-hpmc-external.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.external -------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.external - -.. autosummary:: - :nosignatures: - - External - Harmonic - Linear - WallPotential - - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.external - :synopsis: External potentials for HPMC. - :show-inheritance: - :members: External, - Harmonic, - Linear, - WallPotential diff --git a/sphinx-doc/module-hpmc-integrate.rst b/sphinx-doc/module-hpmc-integrate.rst deleted file mode 100644 index be67bb2716..0000000000 --- a/sphinx-doc/module-hpmc-integrate.rst +++ /dev/null @@ -1,75 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.integrate --------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.integrate - -.. autosummary:: - :nosignatures: - - ConvexPolygon - ConvexPolyhedron - ConvexSpheropolygon - ConvexSpheropolyhedron - ConvexSpheropolyhedronUnion - Ellipsoid - FacetedEllipsoid - FacetedEllipsoidUnion - HPMCIntegrator - Polyhedron - SimplePolygon - Sphere - SphereUnion - Sphinx - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.integrate - :synopsis: HPMC integrators. - - .. autoclass:: ConvexPolygon - :show-inheritance: - :members: - .. autoclass:: ConvexPolyhedron - :show-inheritance: - :members: - .. autoclass:: ConvexSpheropolygon - :show-inheritance: - :members: - .. autoclass:: ConvexSpheropolyhedron - :show-inheritance: - :members: - .. autoclass:: ConvexSpheropolyhedronUnion - :show-inheritance: - :members: - .. autoclass:: Ellipsoid - :show-inheritance: - :members: - .. autoclass:: FacetedEllipsoid - :show-inheritance: - :members: - .. autoclass:: FacetedEllipsoidUnion - :show-inheritance: - :members: - .. autoclass:: HPMCIntegrator - :inherited-members: - :show-inheritance: - .. autoclass:: Polyhedron - :show-inheritance: - :members: - .. autoclass:: SimplePolygon - :show-inheritance: - :members: - .. autoclass:: Sphere - :show-inheritance: - :members: - .. autoclass:: SphereUnion - :show-inheritance: - :members: - .. autoclass:: Sphinx - :show-inheritance: - :members: diff --git a/sphinx-doc/module-hpmc-nec-integrate.rst b/sphinx-doc/module-hpmc-nec-integrate.rst deleted file mode 100644 index 8709218f7d..0000000000 --- a/sphinx-doc/module-hpmc-nec-integrate.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.nec.integrate ------------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.nec.integrate - -.. autosummary:: - :nosignatures: - - ConvexPolyhedron - HPMCNECIntegrator - Sphere - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.nec.integrate - :synopsis: Integrators for Newtonian event chain Monte Carlo for hard particles. - :members: ConvexPolyhedron, - HPMCNECIntegrator, - Sphere - :show-inheritance: diff --git a/sphinx-doc/module-hpmc-nec-tune.rst b/sphinx-doc/module-hpmc-nec-tune.rst deleted file mode 100644 index 62c865af4c..0000000000 --- a/sphinx-doc/module-hpmc-nec-tune.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.nec.tune -------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.nec.tune - -.. autosummary:: - :nosignatures: - - ChainTime - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.nec.tune - :synopsis: Tune Newtonian event chain parameters. - :members: ChainTime diff --git a/sphinx-doc/module-hpmc-nec.rst b/sphinx-doc/module-hpmc-nec.rst deleted file mode 100644 index 11fc7b69f2..0000000000 --- a/sphinx-doc/module-hpmc-nec.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.nec ---------------- - -.. automodule:: hoomd.hpmc.nec - :synopsis: Newtownian event chain Monte Carlo. - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-hpmc-nec-integrate - module-hpmc-nec-tune diff --git a/sphinx-doc/module-hpmc-pair.rst b/sphinx-doc/module-hpmc-pair.rst deleted file mode 100644 index ce9c7269c4..0000000000 --- a/sphinx-doc/module-hpmc-pair.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.pair ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.pair - -.. autosummary:: - :nosignatures: - - AngularStep - ExpandedGaussian - LennardJones - Pair - Step - Union - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.pair - :synopsis: Pair potentials for HPMC. - :show-inheritance: - :members: AngularStep, - ExpandedGaussian, - LennardJones, - Pair, - Step, - Union diff --git a/sphinx-doc/module-hpmc-shape_move.rst b/sphinx-doc/module-hpmc-shape_move.rst deleted file mode 100644 index df04f87f5b..0000000000 --- a/sphinx-doc/module-hpmc-shape_move.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.shape_move ---------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.shape_move - -.. autosummary:: - :nosignatures: - - Elastic - ShapeMove - ShapeSpace - Vertex - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.shape_move - :synopsis: HPMC shape moves. - :members: Elastic, ShapeMove, ShapeSpace, Vertex - :show-inheritance: diff --git a/sphinx-doc/module-hpmc-tune.rst b/sphinx-doc/module-hpmc-tune.rst deleted file mode 100644 index 64c5905dcc..0000000000 --- a/sphinx-doc/module-hpmc-tune.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.tune ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.tune - -.. autosummary:: - :nosignatures: - - BoxMCMoveSize - MoveSize - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.tune - :synopsis: Tuners for HPMC. - :members: BoxMCMoveSize, - MoveSize diff --git a/sphinx-doc/module-hpmc-update.rst b/sphinx-doc/module-hpmc-update.rst deleted file mode 100644 index 4b8a794dc1..0000000000 --- a/sphinx-doc/module-hpmc-update.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc.update ------------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.hpmc.update - -.. autosummary:: - :nosignatures: - - BoxMC - GCA - MuVT - QuickCompress - Shape - -.. rubric:: Details - -.. automodule:: hoomd.hpmc.update - :synopsis: HPMC updaters. - :members: BoxMC, GCA, MuVT, QuickCompress, Shape - :show-inheritance: diff --git a/sphinx-doc/module-md-alchemy-methods.rst b/sphinx-doc/module-md-alchemy-methods.rst deleted file mode 100644 index 56b308ac49..0000000000 --- a/sphinx-doc/module-md-alchemy-methods.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.alchemy.methods ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.alchemy.methods - -.. autosummary:: - :nosignatures: - - Alchemostat - NVT - -.. rubric:: Details - -.. automodule:: hoomd.md.alchemy.methods - :synopsis: Alchemical MD integration methods. - :members: Alchemostat, - NVT diff --git a/sphinx-doc/module-md-alchemy-pair.rst b/sphinx-doc/module-md-alchemy-pair.rst deleted file mode 100644 index 0d1d62c7c9..0000000000 --- a/sphinx-doc/module-md-alchemy-pair.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.alchemy.pair ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.alchemy.pair - -.. autosummary:: - :nosignatures: - - AlchemicalDOF - AlchemicalDOFStore - LJGauss - -.. rubric:: Details - -.. automodule:: hoomd.md.alchemy.pair - :synopsis: Pair potentials for MD alchemy. - :show-inheritance: - :members: AlchemicalDOFStore, LJGauss, - - .. autoclass:: AlchemicalDOF() - :members: alchemical_forces, net_alchemical_force, value diff --git a/sphinx-doc/module-md-alchemy.rst b/sphinx-doc/module-md-alchemy.rst deleted file mode 100644 index 578a6a216c..0000000000 --- a/sphinx-doc/module-md-alchemy.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.alchemy ----------- - -.. rubric:: Details - -.. automodule:: hoomd.md.alchemy - :synopsis: Alchemical molecular dynamics. - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-alchemy-pair - module-md-alchemy-methods diff --git a/sphinx-doc/module-md-angle.rst b/sphinx-doc/module-md-angle.rst deleted file mode 100644 index 0656438c1d..0000000000 --- a/sphinx-doc/module-md-angle.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.angle --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.angle - -.. autosummary:: - :nosignatures: - - Angle - Harmonic - CosineSquared - Table - -.. rubric:: Details - -.. automodule:: hoomd.md.angle - :synopsis: Angle potentials. - :members: Angle, - Harmonic, - CosineSquared, - Table - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-md-bond.rst b/sphinx-doc/module-md-bond.rst deleted file mode 100644 index 04ab0b0043..0000000000 --- a/sphinx-doc/module-md-bond.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.bond --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.bond - -.. autosummary:: - :nosignatures: - - Bond - FENEWCA - Harmonic - Table - Tether - -.. rubric:: Details - -.. automodule:: hoomd.md.bond - :synopsis: Bond potentials. - :members: Bond, - FENEWCA, - Harmonic, - Table, - Tether - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-md-compute.rst b/sphinx-doc/module-md-compute.rst deleted file mode 100644 index 45c9826ace..0000000000 --- a/sphinx-doc/module-md-compute.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.compute ----------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.compute - -.. autosummary:: - :nosignatures: - - HarmonicAveragedThermodynamicQuantities - ThermodynamicQuantities - -.. rubric:: Details - -.. automodule:: hoomd.md.compute - :synopsis: Compute system properties. - :members: HarmonicAveragedThermodynamicQuantities, ThermodynamicQuantities - :show-inheritance: diff --git a/sphinx-doc/module-md-constrain.rst b/sphinx-doc/module-md-constrain.rst deleted file mode 100644 index 0186ba2323..0000000000 --- a/sphinx-doc/module-md-constrain.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.constrain --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.constrain - -.. autosummary:: - :nosignatures: - - Constraint - Distance - Rigid - - -.. rubric:: Details - -.. automodule:: hoomd.md.constrain - :synopsis: Constraints. - :show-inheritance: - :members: Constraint, Distance, Rigid diff --git a/sphinx-doc/module-md-data.rst b/sphinx-doc/module-md-data.rst deleted file mode 100644 index 0b9f121a27..0000000000 --- a/sphinx-doc/module-md-data.rst +++ /dev/null @@ -1,37 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.data ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.data - -.. autosummary:: - :nosignatures: - - ForceLocalAccess - ForceLocalAccessGPU - NeighborListLocalAccess - NeighborListLocalAccessGPU - -.. rubric:: Details - -.. automodule:: hoomd.md.data - :synopsis: Provide access in Python to force data buffers on CPU or GPU. - :members: - - .. autoclass:: ForceLocalAccess - :inherited-members: - - .. autoclass:: ForceLocalAccessGPU - :inherited-members: - - .. autoclass:: NeighborListLocalAccess - :inherited-members: - - .. autoclass:: NeighborListLocalAccessGPU - :inherited-members: - -.. rubric:: Modules diff --git a/sphinx-doc/module-md-dihedral.rst b/sphinx-doc/module-md-dihedral.rst deleted file mode 100644 index 195d4cc734..0000000000 --- a/sphinx-doc/module-md-dihedral.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.dihedral --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.dihedral - -.. autosummary:: - :nosignatures: - - Dihedral - Periodic - OPLS - Table - -.. rubric:: Details - -.. automodule:: hoomd.md.dihedral - :synopsis: Dihedral potentials. - :show-inheritance: - :members: Dihedral, - Periodic, - OPLS, - Table diff --git a/sphinx-doc/module-md-external-field.rst b/sphinx-doc/module-md-external-field.rst deleted file mode 100644 index f6ab1b88f0..0000000000 --- a/sphinx-doc/module-md-external-field.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.external.field ------------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.external.field - -.. autosummary:: - :nosignatures: - - Field - Electric - Magnetic - Periodic - -.. rubric:: Details - -.. automodule:: hoomd.md.external.field - :synopsis: External field potentials. - :members: Field, - Electric, - Magnetic, - Periodic diff --git a/sphinx-doc/module-md-external-wall.rst b/sphinx-doc/module-md-external-wall.rst deleted file mode 100644 index 5a9ce382f1..0000000000 --- a/sphinx-doc/module-md-external-wall.rst +++ /dev/null @@ -1,32 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.external.wall ------------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.external.wall - -.. autosummary:: - :nosignatures: - - ForceShiftedLJ - Gaussian - LJ - Mie - Morse - Yukawa - WallPotential - -.. rubric:: Details - -.. automodule:: hoomd.md.external.wall - :synopsis: MD wall potentials. - :members: ForceShiftedLJ, - Gaussian, - LJ, - Mie, - Morse, - Yukawa, - WallPotential diff --git a/sphinx-doc/module-md-external.rst b/sphinx-doc/module-md-external.rst deleted file mode 100644 index 73fe66d357..0000000000 --- a/sphinx-doc/module-md-external.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.external --------------- - -.. py:currentmodule:: hoomd.md.external - -.. automodule:: hoomd.md.external - :synopsis: External potentials for MD. - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-external-field - module-md-external-wall diff --git a/sphinx-doc/module-md-force.rst b/sphinx-doc/module-md-force.rst deleted file mode 100644 index 1fce930db9..0000000000 --- a/sphinx-doc/module-md-force.rst +++ /dev/null @@ -1,42 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.force --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.force - -.. autosummary:: - :nosignatures: - - Force - Active - ActiveOnManifold - Constant - Custom - -.. rubric:: Details - -.. automodule:: hoomd.md.force - :synopsis: Apply forces to particles. - - .. autoclass:: Force - :members: - :show-inheritance: - - .. autoclass:: Active - :show-inheritance: - :no-inherited-members: - :members: create_diffusion_updater - - .. autoclass:: ActiveOnManifold - :show-inheritance: - :members: create_diffusion_updater - - .. autoclass:: Constant - :members: - - .. autoclass:: Custom - :members: diff --git a/sphinx-doc/module-md-improper.rst b/sphinx-doc/module-md-improper.rst deleted file mode 100644 index 28da3b1de4..0000000000 --- a/sphinx-doc/module-md-improper.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.improper ------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.improper - -.. autosummary:: - :nosignatures: - - Improper - Harmonic - Periodic - -.. rubric:: Details - -.. automodule:: hoomd.md.improper - :synopsis: Improper potentials. - :show-inheritance: - :members: Improper, - Harmonic, - Periodic, diff --git a/sphinx-doc/module-md-long_range-pppm.rst b/sphinx-doc/module-md-long_range-pppm.rst deleted file mode 100644 index fa65e01e78..0000000000 --- a/sphinx-doc/module-md-long_range-pppm.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.long_range.pppm ------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.long_range.pppm - -.. autosummary:: - :nosignatures: - - Coulomb - make_pppm_coulomb_forces - -.. rubric:: Details - -.. automodule:: hoomd.md.long_range.pppm - :synopsis: Long-range potentials evaluated using the PPPM method. - :members: Coulomb, make_pppm_coulomb_forces - :show-inheritance: diff --git a/sphinx-doc/module-md-long_range.rst b/sphinx-doc/module-md-long_range.rst deleted file mode 100644 index 8fae805df2..0000000000 --- a/sphinx-doc/module-md-long_range.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.long_range -------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.long_range - -.. rubric:: Details - -.. automodule:: hoomd.md.long_range - :synopsis: Long-range potentials for molecular dynamics. - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-long_range-pppm diff --git a/sphinx-doc/module-md-manifold.rst b/sphinx-doc/module-md-manifold.rst deleted file mode 100644 index af02edc451..0000000000 --- a/sphinx-doc/module-md-manifold.rst +++ /dev/null @@ -1,36 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.manifold --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.manifold - -.. autosummary:: - :nosignatures: - - Manifold - Cylinder - Diamond - Ellipsoid - Gyroid - Plane - Primitive - Sphere - -.. rubric:: Details - -.. automodule:: hoomd.md.manifold - :synopsis: Manifold constraints. - :members: Manifold, - Cylinder, - Diamond, - Ellipsoid, - Gyroid, - Plane, - Primitive, - Sphere - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-md-many_body.rst b/sphinx-doc/module-md-many_body.rst deleted file mode 100644 index 5f0cf7633a..0000000000 --- a/sphinx-doc/module-md-many_body.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.many_body --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.many_body - -.. autosummary:: - :nosignatures: - - Triplet - RevCross - SquareDensity - Tersoff - -.. rubric:: Details - -.. automodule:: hoomd.md.many_body - :synopsis: Many-body potentials. - :members: Triplet, - RevCross, - SquareDensity, - Tersoff - :show-inheritance: diff --git a/sphinx-doc/module-md-mesh-bending.rst b/sphinx-doc/module-md-mesh-bending.rst deleted file mode 100644 index 59cf03a814..0000000000 --- a/sphinx-doc/module-md-mesh-bending.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.mesh.bending ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.mesh.bending - -.. autosummary:: - :nosignatures: - - BendingRigidity - Helfrich - -.. rubric:: Details - -.. automodule:: hoomd.md.mesh.bending - :synopsis: Bending potentials applied to a mesh data structure. - :no-inherited-members: - :show-inheritance: - :members: BendingRigidity, - Helfrich diff --git a/sphinx-doc/module-md-mesh-bond.rst b/sphinx-doc/module-md-mesh-bond.rst deleted file mode 100644 index 7a3f4a463a..0000000000 --- a/sphinx-doc/module-md-mesh-bond.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.mesh.bond ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.mesh.bond - -.. autosummary:: - :nosignatures: - - FENEWCA - Harmonic - Tether - -.. rubric:: Details - -.. automodule:: hoomd.md.mesh.bond - :synopsis: Bond potentials applied to a mesh data structure. - :members: FENEWCA, - Harmonic, - Tether - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-md-mesh-conservation.rst b/sphinx-doc/module-md-mesh-conservation.rst deleted file mode 100644 index 900fc8abee..0000000000 --- a/sphinx-doc/module-md-mesh-conservation.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.mesh.conservation --------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.mesh.conservation - -.. autosummary:: - :nosignatures: - - Area - TriangleArea - Volume - -.. rubric:: Details - -.. automodule:: hoomd.md.mesh.conservation - :synopsis: Conservation potentials applied to a mesh data structure. - :no-inherited-members: - :show-inheritance: - :members: Area, - TriangleArea, - Volume diff --git a/sphinx-doc/module-md-mesh.rst b/sphinx-doc/module-md-mesh.rst deleted file mode 100644 index 8c62680ced..0000000000 --- a/sphinx-doc/module-md-mesh.rst +++ /dev/null @@ -1,29 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.mesh -------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.mesh - -.. autosummary:: - :nosignatures: - - MeshPotential - -.. rubric:: Details - -.. automodule:: hoomd.md.mesh - :synopsis: Mesh potentials. - :members: MeshPotential - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-mesh-bending - module-md-mesh-bond - module-md-mesh-conservation diff --git a/sphinx-doc/module-md-methods-rattle.rst b/sphinx-doc/module-md-methods-rattle.rst deleted file mode 100644 index 818773f887..0000000000 --- a/sphinx-doc/module-md-methods-rattle.rst +++ /dev/null @@ -1,30 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.methods.rattle ------------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.methods.rattle - -.. autosummary:: - :nosignatures: - - MethodRATTLE - Brownian - DisplacementCapped - Langevin - NVE - OverdampedViscous - -.. rubric:: Details - -.. automodule:: hoomd.md.methods.rattle - :synopsis: RATTLE integration methods. - :members: MethodRATTLE, - Brownian, - DisplacementCapped, - Langevin, - NVE, - OverdampedViscous diff --git a/sphinx-doc/module-md-methods-thermostats.rst b/sphinx-doc/module-md-methods-thermostats.rst deleted file mode 100644 index f531373604..0000000000 --- a/sphinx-doc/module-md-methods-thermostats.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.methods.thermostats ----------------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.methods.thermostats - -.. autosummary:: - :nosignatures: - - Berendsen - Bussi - MTTK - Thermostat - -.. rubric:: Details - -.. automodule:: hoomd.md.methods.thermostats - :synopsis: Temperature control algorithms. - :members: Thermostat, - MTTK, - Bussi, - Berendsen diff --git a/sphinx-doc/module-md-methods.rst b/sphinx-doc/module-md-methods.rst deleted file mode 100644 index 9ba94ee2f2..0000000000 --- a/sphinx-doc/module-md-methods.rst +++ /dev/null @@ -1,43 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.methods --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.methods - -.. autosummary:: - :nosignatures: - - Brownian - ConstantPressure - ConstantVolume - DisplacementCapped - Langevin - Method - OverdampedViscous - Thermostatted - -.. rubric:: Details - -.. automodule:: hoomd.md.methods - :synopsis: Integration methods. - :members: Method, - Thermostatted, - ConstantVolume, - ConstantPressure, - Brownian, - DisplacementCapped, - Langevin, - OverdampedViscous - :show-inheritance: - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-methods-thermostats - module-md-methods-rattle diff --git a/sphinx-doc/module-md-minimize.rst b/sphinx-doc/module-md-minimize.rst deleted file mode 100644 index 57622393a6..0000000000 --- a/sphinx-doc/module-md-minimize.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.minimize ------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.minimize - -.. autosummary:: - :nosignatures: - - FIRE - - -.. rubric:: Details - -.. automodule:: hoomd.md.minimize - :synopsis: FIRE energy minimizer. - :members: FIRE diff --git a/sphinx-doc/module-md-nlist.rst b/sphinx-doc/module-md-nlist.rst deleted file mode 100644 index 152d9bd9a2..0000000000 --- a/sphinx-doc/module-md-nlist.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.nlist --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.nlist - -.. autosummary:: - :nosignatures: - - NeighborList - Cell - Stencil - Tree - -.. rubric:: Details - -.. automodule:: hoomd.md.nlist - :synopsis: Neighbor list acceleration structures. - :members: Cell, Stencil, Tree - :no-inherited-members: - :show-inheritance: - - .. autoclass:: NeighborList - :members: diff --git a/sphinx-doc/module-md-pair-aniso.rst b/sphinx-doc/module-md-pair-aniso.rst deleted file mode 100644 index 3103e2bfed..0000000000 --- a/sphinx-doc/module-md-pair-aniso.rst +++ /dev/null @@ -1,44 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.pair.aniso --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.pair.aniso - -.. autosummary:: - :nosignatures: - - ALJ - AnisotropicPair - Dipole - GayBerne - Patchy - PatchyExpandedGaussian - PatchyExpandedLJ - PatchyExpandedMie - PatchyGaussian - PatchyLJ - PatchyMie - PatchyYukawa - -.. rubric:: Details - -.. automodule:: hoomd.md.pair.aniso - :synopsis: Anisotropic pair potentials. - :members: - ALJ, - AnisotropicPair, - Dipole, - GayBerne, - Patchy, - PatchyExpandedGaussian, - PatchyExpandedLJ, - PatchyExpandedMie, - PatchyGaussian, - PatchyLJ, - PatchyMie, - PatchyYukawa, - :show-inheritance: diff --git a/sphinx-doc/module-md-pair.rst b/sphinx-doc/module-md-pair.rst deleted file mode 100644 index e4b94461eb..0000000000 --- a/sphinx-doc/module-md-pair.rst +++ /dev/null @@ -1,78 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.pair --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.pair - -.. autosummary:: - :nosignatures: - - Buckingham - DLVO - DPD - DPDLJ - DPDConservative - Ewald - ExpandedGaussian - ExpandedLJ - ExpandedMie - ForceShiftedLJ - Fourier - Gaussian - LJ - LJ1208 - LJ0804 - LJGauss - Mie - Morse - Moliere - OPP - Pair - ReactionField - Table - TWF - Yukawa - ZBL - -.. rubric:: Details - -.. automodule:: hoomd.md.pair - :synopsis: Pair potentials. - :members: Pair, - Buckingham, - DLVO, - DPD, - DPDLJ, - DPDConservative, - Ewald, - ExpandedGaussian, - ExpandedMie, - ForceShiftedLJ, - Fourier, - Gaussian, - LJ, - LJ1208, - LJ0804, - LJGauss, - Mie, - Morse, - Moliere, - OPP, - ReactionField, - ExpandedLJ, - Table, - TWF, - Yukawa, - ZBL - :show-inheritance: - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-pair-aniso diff --git a/sphinx-doc/module-md-special_pair.rst b/sphinx-doc/module-md-special_pair.rst deleted file mode 100644 index 8d18ee8dfd..0000000000 --- a/sphinx-doc/module-md-special_pair.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.special_pair ---------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.special_pair - -.. autosummary:: - :nosignatures: - - SpecialPair - LJ - Coulomb - -.. rubric:: Details - -.. automodule:: hoomd.md.special_pair - :synopsis: Pair potentials between special pairs of particles - :members: SpecialPair, - LJ, - Coulomb - :no-inherited-members: - :show-inheritance: diff --git a/sphinx-doc/module-md-tune.rst b/sphinx-doc/module-md-tune.rst deleted file mode 100644 index 93640a27f2..0000000000 --- a/sphinx-doc/module-md-tune.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.tune -------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.tune - -.. autosummary:: - :nosignatures: - - NeighborListBuffer - -.. rubric:: Details - -.. automodule:: hoomd.md.tune - :synopsis: Tuners. - - .. autoclass:: NeighborListBuffer(self, trigger: hoomd.trigger.Trigger, nlist: hoomd.md.nlist.NeighborList, solver: hoomd.tune.solve.Optimizer, maximum_buffer: float) - :members: diff --git a/sphinx-doc/module-md-update.rst b/sphinx-doc/module-md-update.rst deleted file mode 100644 index 2a0c939b83..0000000000 --- a/sphinx-doc/module-md-update.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -md.update --------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.md.update - -.. autosummary:: - :nosignatures: - - ActiveRotationalDiffusion - ReversePerturbationFlow - ZeroMomentum - - -.. rubric:: Details - -.. automodule:: hoomd.md.update - :synopsis: Updaters. - :members: ActiveRotationalDiffusion, - ReversePerturbationFlow, - ZeroMomentum - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-collide.rst b/sphinx-doc/module-mpcd-collide.rst deleted file mode 100644 index 5f603a9c6c..0000000000 --- a/sphinx-doc/module-mpcd-collide.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.collide ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.collide - -.. autosummary:: - :nosignatures: - - AndersenThermostat - CellList - CollisionMethod - StochasticRotationDynamics - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.collide - :synopsis: Collision methods. - :members: CellList, - CollisionMethod, - AndersenThermostat, - StochasticRotationDynamics - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-fill.rst b/sphinx-doc/module-mpcd-fill.rst deleted file mode 100644 index 66ad40a738..0000000000 --- a/sphinx-doc/module-mpcd-fill.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.fill ---------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.fill - -.. autosummary:: - :nosignatures: - - GeometryFiller - VirtualParticleFiller - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.fill - :synopsis: Virtual-particle fillers. - :members: VirtualParticleFiller, - GeometryFiller - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-force.rst b/sphinx-doc/module-mpcd-force.rst deleted file mode 100644 index c6ca9a8abd..0000000000 --- a/sphinx-doc/module-mpcd-force.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.force ----------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.force - -.. autosummary:: - :nosignatures: - - BodyForce - BlockForce - ConstantForce - SineForce - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.force - :synopsis: Body forces on MPCD particles. - :members: BodyForce, - BlockForce, - ConstantForce, - SineForce - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-geometry.rst b/sphinx-doc/module-mpcd-geometry.rst deleted file mode 100644 index 8400411928..0000000000 --- a/sphinx-doc/module-mpcd-geometry.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.geometry -------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.geometry - -.. autosummary:: - :nosignatures: - - ConcentricCylinders - CosineChannel - CosineExpansionContraction - Geometry - ParallelPlates - PlanarPore - Sphere - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.geometry - :synopsis: Geometries. - :members: ConcentricCylinders, - CosineChannel, - CosineExpansionContraction, - Geometry, - ParallelPlates, - PlanarPore, - Sphere - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-methods.rst b/sphinx-doc/module-mpcd-methods.rst deleted file mode 100644 index 7aa17b0f42..0000000000 --- a/sphinx-doc/module-mpcd-methods.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.methods ------------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.methods - -.. autosummary:: - :nosignatures: - - BounceBack - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.methods - :synopsis: Integration methods. - :members: BounceBack - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-stream.rst b/sphinx-doc/module-mpcd-stream.rst deleted file mode 100644 index 91f4d62e6b..0000000000 --- a/sphinx-doc/module-mpcd-stream.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.stream ------------ - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.stream - -.. autosummary:: - :nosignatures: - - Bulk - BounceBack - StreamingMethod - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.stream - :synopsis: Streaming methods. - :members: StreamingMethod, - Bulk, - BounceBack - :show-inheritance: diff --git a/sphinx-doc/module-mpcd-tune.rst b/sphinx-doc/module-mpcd-tune.rst deleted file mode 100644 index fd735043a7..0000000000 --- a/sphinx-doc/module-mpcd-tune.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -mpcd.tune ---------- - -.. rubric:: Overview - -.. py:currentmodule:: hoomd.mpcd.tune - -.. autosummary:: - :nosignatures: - - ParticleSorter - -.. rubric:: Details - -.. automodule:: hoomd.mpcd.tune - :synopsis: Tuning operations. - :members: ParticleSorter - :show-inheritance: diff --git a/sphinx-doc/notation.rst b/sphinx-doc/notation.rst index 50772507c0..3ab5db4b0f 100644 --- a/sphinx-doc/notation.rst +++ b/sphinx-doc/notation.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Notation ========== diff --git a/sphinx-doc/open-source.rst b/sphinx-doc/open-source.rst index 8ed5a637c2..6a1df1e760 100644 --- a/sphinx-doc/open-source.rst +++ b/sphinx-doc/open-source.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Open source ~~~~~~~~~~~ diff --git a/sphinx-doc/package-hoomd.rst b/sphinx-doc/package-hoomd.rst deleted file mode 100644 index 56f4edf901..0000000000 --- a/sphinx-doc/package-hoomd.rst +++ /dev/null @@ -1,54 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd -===== - -.. rubric:: Overview - -.. py:currentmodule:: hoomd - -.. autosummary:: - :nosignatures: - - Box - Operations - Simulation - Snapshot - State - -.. rubric:: Details - -.. automodule:: hoomd - :synopsis: HOOMD-blue main package. - :undoc-members: - :imported-members: - :members: Simulation, - State, - Snapshot, - Operations, - Box - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-hoomd-box - module-hoomd-communicator - module-hoomd-custom - module-hoomd-data - module-hoomd-device - module-hoomd-error - module-hoomd-filter - module-hoomd-logging - module-hoomd-mesh - module-hoomd-operation - module-hoomd-triggers - module-hoomd-tune - module-hoomd-update - module-hoomd-util - module-hoomd-variant - module-hoomd-version - module-hoomd-wall - module-hoomd-write diff --git a/sphinx-doc/package-hpmc.rst b/sphinx-doc/package-hpmc.rst deleted file mode 100644 index 1eb1b14730..0000000000 --- a/sphinx-doc/package-hpmc.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.hpmc -========== - -.. rubric:: Details - -.. automodule:: hoomd.hpmc - :synopsis: HPMC package. - :members: - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-hpmc-compute - module-hpmc-integrate - module-hpmc-nec - module-hpmc-tune - module-hpmc-update - module-hpmc-pair - module-hpmc-external - module-hpmc-shape_move diff --git a/sphinx-doc/package-md.rst b/sphinx-doc/package-md.rst deleted file mode 100644 index 3c0bb0cfdd..0000000000 --- a/sphinx-doc/package-md.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.md -======== - -.. rubric:: Details - -.. automodule:: hoomd.md - :synopsis: Molecular Dynamics. - :members: Integrator, HalfStepHook - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-md-alchemy - module-md-angle - module-md-bond - module-md-constrain - module-md-compute - module-md-data - module-md-dihedral - module-md-external - module-md-force - module-md-improper - module-md-long_range - module-md-manifold - module-md-many_body - module-md-methods - module-md-mesh - module-md-minimize - module-md-nlist - module-md-pair - module-md-special_pair - module-md-tune - module-md-update diff --git a/sphinx-doc/package-mpcd.rst b/sphinx-doc/package-mpcd.rst deleted file mode 100644 index beb6fdff26..0000000000 --- a/sphinx-doc/package-mpcd.rst +++ /dev/null @@ -1,25 +0,0 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - -hoomd.mpcd -========== - -.. rubric:: Details - -.. automodule:: hoomd.mpcd - :synopsis: Multiparticle Collision Dynamics. - :members: Integrator - :show-inheritance: - -.. rubric:: Modules - -.. toctree:: - :maxdepth: 1 - - module-mpcd-collide - module-mpcd-fill - module-mpcd-force - module-mpcd-geometry - module-mpcd-methods - module-mpcd-stream - module-mpcd-tune diff --git a/sphinx-doc/style.rst b/sphinx-doc/style.rst index 5ce1f14d3f..f98eea5031 100644 --- a/sphinx-doc/style.rst +++ b/sphinx-doc/style.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Code style ========== diff --git a/sphinx-doc/testing.rst b/sphinx-doc/testing.rst index 499f5d9c59..3ab42597f7 100644 --- a/sphinx-doc/testing.rst +++ b/sphinx-doc/testing.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Testing ======= diff --git a/sphinx-doc/tutorials.rst b/sphinx-doc/tutorials.rst index 98c067216b..ec87d9f177 100644 --- a/sphinx-doc/tutorials.rst +++ b/sphinx-doc/tutorials.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Tutorials ~~~~~~~~~ diff --git a/sphinx-doc/units.rst b/sphinx-doc/units.rst index 10428ab578..22d5dc3f0d 100644 --- a/sphinx-doc/units.rst +++ b/sphinx-doc/units.rst @@ -1,6 +1,3 @@ -.. Copyright (c) 2009-2024 The Regents of the University of Michigan. -.. Part of HOOMD-blue, released under the BSD 3-Clause License. - Units +++++