Contributing

This page provides guidance on how to contribute to DOLFIN. 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 DOLFIN. DOLFIN 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 http://fenics-dolfin.readthedocs.io/.

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 DOLFIN 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://bitbucket.org/fenics-project/dolfin/pull-requests/ for your demo to be considered for addition to DOLFIN. Add the demo_foo-bar.py.rst file to the repository, but do not add the demo_foo-bar.py file.