Contributing

This page provides guidance on how to contribute to DOLFINx. For information about how to get involved and how to get in touch with the developers, see our community page.

Adding a demo

The below instructions are for adding a Python demo program to DOLFINx. DOLFINx demo programs are written in reStructuredText, and converted to Python/C++ code using pylit. The process for C++ demos is similar. The documented demo programs are displayed at https://docs.fenicsproject.org/dolfinx/main/python/demos.html.

Creating the demo program

  1. Create a directory for the demo under demo/documented/, e.g. demo/documented/foo/python/.

  2. Write the demo in reStructuredText (rst), with the actual code in ‘code blocks’ (see other demos for guidance). The demo file should be named demo_foo-bar.py.rst.

  3. Convert the rst file to to a Python file using pylit (pylit is distributed with DOLFINx in utils/pylit)

    ../../../../utils/pylit/pylit.py demo_foo-bar.py.rst
    

    This will create a file demo_foo-bar.py. Test that the Python script can be run.

Adding the demo to the documentation system

  1. Add the demo to the list in doc/source/demos.rst.

  2. To check how the documentation will be displayed on the web, in doc/ run make html and open the file doc/build/html/index.html in a browser.

Make a pull request

  1. Create a git branch and add the demo_foo-bar.py.rst file to the repository. Do not add the demo_foo-bar.py file.

  2. If there is no C++ version, edit test/regression/test.py to indicate that there is no C++ version of the demo.

  3. Make a pull request at https://github.com/FEniCS/dolfinx/ for your demo to be considered for addition to DOLFINx. Add the demo_foo-bar.py.rst file to the repository, but do not add the demo_foo-bar.py file.