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¶
Create a directory for the demo under
demo/documented/
, e.g.demo/documented/foo/python/
.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
.Convert the rst file to to a Python file using
pylit
(pylit is distributed with DOLFINx inutils/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¶
Add the demo to the list in
doc/source/demos.rst
.To check how the documentation will be displayed on the web, in
doc/
runmake html
and open the filedoc/build/html/index.html
in a browser.
Make a pull request¶
Create a git branch and add the
demo_foo-bar.py.rst
file to the repository. Do not add thedemo_foo-bar.py
file.If there is no C++ version, edit
test/regression/test.py
to indicate that there is no C++ version of the demo.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 thedemo_foo-bar.py
file.