Skip to content

Commit

Permalink
Docs quality pass
Browse files Browse the repository at this point in the history
  • Loading branch information
shi-eric authored and mmacklin committed Jul 5, 2024
1 parent 1a4439b commit 748ec9e
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 52 deletions.
21 changes: 10 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ GPU support requires a CUDA-capable NVIDIA GPU and driver (minimum GeForce GTX 9

The easiest way to install Warp is from [PyPI](https://pypi.org/project/warp-lang/):

pip install warp-lang
```text
pip install warp-lang
```

You can also use `pip install warp-lang[extras]` to install additional dependencies for running examples and USD-related features.

Expand All @@ -37,7 +39,9 @@ We provide binaries built with the CUDA 12.5 runtime on the [GitHub Releases](ht
Copy the URL of the appropriate wheel file (`warp-lang-{ver}+cu12-py3-none-{platform}.whl`) and pass it to
the `pip install` command, e.g.

pip install https://github.com/NVIDIA/warp/releases/download/v1.2.0/warp_lang-1.2.0+cu12-py3-none-manylinux2014_x86_64.whl
```text
pip install https://github.com/NVIDIA/warp/releases/download/v1.2.0/warp_lang-1.2.0+cu12-py3-none-manylinux2014_x86_64.whl
```

The `--force-reinstall` option may need to be used to overwrite a previous installation.

Expand Down Expand Up @@ -99,8 +103,7 @@ Built-in unit tests can be run from the command-line as follows:

python -m warp.tests


### examples/core
### warp/examples/core

<table>
<tbody>
Expand Down Expand Up @@ -143,8 +146,7 @@ Built-in unit tests can be run from the command-line as follows:
</tbody>
</table>


### examples/fem
### warp/examples/fem

<table>
<tbody>
Expand Down Expand Up @@ -175,8 +177,7 @@ Built-in unit tests can be run from the command-line as follows:
</tbody>
</table>


### examples/optim
### warp/examples/optim

<table>
<tbody>
Expand Down Expand Up @@ -207,8 +208,7 @@ Built-in unit tests can be run from the command-line as follows:
</tbody>
</table>


### examples/sim
### warp/examples/sim

<table>
<tbody>
Expand Down Expand Up @@ -251,7 +251,6 @@ Built-in unit tests can be run from the command-line as follows:
</tbody>
</table>


## Building

For developers who want to build the library themselves, the following tools are required:
Expand Down
16 changes: 8 additions & 8 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ Built-in unit tests can be run from the command-line as follows::

python -m warp.tests

examples/core
^^^^^^^^^^^^^
warp/examples/core
^^^^^^^^^^^^^^^^^^

.. list-table::
:class: gallery
Expand Down Expand Up @@ -126,8 +126,8 @@ examples/core
- wave
-

examples/fem
^^^^^^^^^^^^
warp/examples/fem
^^^^^^^^^^^^^^^^^

.. list-table::
:class: gallery
Expand Down Expand Up @@ -157,8 +157,8 @@ examples/fem
- stokes transfer
- stokes

examples/optim
^^^^^^^^^^^^^^
warp/examples/optim
^^^^^^^^^^^^^^^^^^^

.. list-table::
:class: gallery
Expand Down Expand Up @@ -188,8 +188,8 @@ examples/optim
- trajectory
- walker

examples/sim
^^^^^^^^^^^^
warp/examples/sim
^^^^^^^^^^^^^^^^^

.. list-table::
:class: gallery
Expand Down
14 changes: 7 additions & 7 deletions docs/modules/fem.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
warp.fem
=====================
========

.. currentmodule:: warp.fem

The ``warp.fem`` module is designed to facilitate solving physical systems described as differential
equations. For example, it can solve PDEs for diffusion, convection, fluid flow, and elasticity problems
using finite-element-based (FEM) Galerkin methods, and allows users to quickly experiment with various FEM
using finite-element-based (FEM) Galerkin methods and allows users to quickly experiment with various FEM
formulations and discretization schemes.

Integrands
Expand Down Expand Up @@ -59,7 +59,7 @@ passed as a dictionary in the `values` argument of the launcher function, for in
integrate(diffusion_form, fields={"u": trial, "v": test}, values={"nu": viscosity})


Basic workflow
Basic Workflow
--------------

The typical steps for solving a linear PDE are as follow:
Expand Down Expand Up @@ -113,7 +113,7 @@ The following excerpt from the introductory example ``warp/examples/fem/example_
To solve non-linear PDEs, one can use an iterative procedure and pass the current value of the studied function :class:`.DiscreteField` argument to the integrand, on which
arbitrary operations are permitted. However, the result of the form must remain linear in the test and trial fields.

Introductory examples
Introductory Examples
---------------------

``warp.fem`` ships with a list of examples in the ``warp/examples/fem`` directory illustrating common model problems.
Expand All @@ -129,15 +129,15 @@ Introductory examples
- ``example_streamlines.py``: Using the :func:`lookup` operator to trace through a velocity field


Advanced usages
Advanced Usages
---------------

High-order (curved) geometries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

It is possible to convert any :class:`.Geometry` (grids and explicit meshes) into a curved, high-order variant by deforming them
with an arbitrary-order displacement field using the :meth:`~.DiscreteField.make_deformed_geometry` method.
The process looks as follow: ::
The process looks as follows::

# Define a base geometry
base_geo = fem.Grid3D(res=resolution)
Expand Down Expand Up @@ -331,7 +331,7 @@ Boundary Conditions

.. autofunction:: project_linear_system

Memory management
Memory Management
-----------------

.. autofunction:: set_default_temporary_store
Expand Down
27 changes: 14 additions & 13 deletions docs/modules/render.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
warp.render
===============================
===========

.. currentmodule:: warp.render

The ``warp.render`` module provides a set of renderers that can be used for visualizing scenes involving shapes of various types.

Built on top of these stand-alone renderers, the ``warp.sim.render`` module provides renderers that can be used to visualize scenes directly from ``warp.sim.ModelBuilder`` objects and update them from ``warp.sim.State`` objects.
Built on top of these stand-alone renderers, the ``warp.sim.render`` module provides renderers that can be used to
visualize scenes directly from ``warp.sim.ModelBuilder`` objects and update them from ``warp.sim.State`` objects.

..
.. toctree::
:maxdepth: 2
Stand-alone renderers
---------------------
Standalone Renderers
--------------------

The ``OpenGLRenderer`` provides an interactive renderer to play back animations in real time, the ``UsdRenderer`` provides a renderer that exports the scene to a USD file that can be rendered in a renderer of your choice.
The ``OpenGLRenderer`` provides an interactive renderer to play back animations in real time, the ``UsdRenderer``
provides a renderer that exports the scene to a USD file that can be rendered in a renderer of your choice.

.. autoclass:: UsdRenderer
:members:
Expand All @@ -23,10 +21,12 @@ The ``OpenGLRenderer`` provides an interactive renderer to play back animations
.. autoclass:: OpenGLRenderer
:members:

Simulation renderers
Simulation Renderers
--------------------

Based on these renderers from ``warp.render``, the ``SimRendererUsd`` (which equals ``SimRenderer``) and ``SimRendererOpenGL`` classes from ``warp.sim.render`` are derived to populate the renderers directly from ``warp.sim.ModelBuilder`` scenes and update them from ``warp.sim.State`` objects.
Based on these renderers from ``warp.render``, the ``SimRendererUsd`` (which equals ``SimRenderer``) and
``SimRendererOpenGL`` classes from ``warp.sim.render`` are derived to populate the renderers directly from
``warp.sim.ModelBuilder`` scenes and update them from ``warp.sim.State`` objects.

.. currentmodule:: warp.sim.render

Expand All @@ -36,10 +36,11 @@ Based on these renderers from ``warp.render``, the ``SimRendererUsd`` (which equ
.. autoclass:: SimRendererOpenGL
:members:

CUDA graphics interface
CUDA Graphics Interface
-----------------------

Warp provides a CUDA graphics interface that allows you to access OpenGL buffers from CUDA kernels. This is useful for manipulating OpenGL array buffers without having to copy them back and forth between the CPU and GPU.
Warp provides a CUDA graphics interface that allows you to access OpenGL buffers from CUDA kernels.
This is useful for manipulating OpenGL array buffers without having to copy them back and forth between the CPU and GPU.

See the `CUDA documentation on OpenGL Interoperability <https://docs.nvidia.com/cuda/cuda-driver-api/group__CUDA__GL.html>`_ for more information.

Expand Down
19 changes: 6 additions & 13 deletions docs/modules/sim.rst
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
warp.sim
====================
========

.. currentmodule:: warp.sim

..
.. toctree::
:maxdepth: 2
Warp includes a simulation module ``warp.sim`` that includes many common physical simulation models, and integrators for explicit and implicit time-stepping.

.. note:: The simulation model is under construction and should be expected to change rapidly, please treat this section as work in progress.

Warp includes a simulation module ``warp.sim`` that includes many common physical simulation models and integrators for explicit and implicit time-stepping.

Model
-----
Expand Down Expand Up @@ -156,7 +149,7 @@ Given the parent body's world transform :math:`x_{wp}` and the joint transform :
.. autofunction:: eval_ik

Integrators
--------------
-----------

.. autoclass:: Integrator
:members:
Expand All @@ -171,7 +164,7 @@ Integrators
:members:

Importers
--------------
---------

Warp sim supports the loading of simulation models from URDF, MuJoCo (MJCF), and USD Physics files.

Expand All @@ -183,8 +176,8 @@ Warp sim supports the loading of simulation models from URDF, MuJoCo (MJCF), and

.. autofunction:: resolve_usd_from_url

Utility functions
------------------
Utility Functions
-----------------

Common utility functions used in simulators.

Expand Down

0 comments on commit 748ec9e

Please sign in to comment.