pyccel / sympde

Symbolic calculus for partial differential equations (and variational forms)
http://sympde.readthedocs.io/
MIT License
19 stars 4 forks source link
finite-elements pde symbolic-math

SymPDE

|CI status| |binder| |docs|

SymPDE is a symbolic calculus library for partial differential equations and variational forms. It can be used to have similar capabilities as the fenics_ project, by extending and writing your own printing functions.

An example of use can be found in psydac or gelato.

.. _psydac: https://github.com/pyccel/psydac .. _gelato: https://github.com/pyccel/gelato .. _fenics: https://fenicsproject.org/

Install


From PyPi ^^^^^^^^^

Simply run, for a local installation::

pip3 install --user sympde

or::

pip3 install sympde

for a global installation.

From sources ^^^^^^^^^^^^

For developers


Because many important features of SymPDE are only tested in Psydac, new PRs should also be tested against the test suite of Psydac. This can be done by opening a PR in Psydac, where the only change consists of installing the corresponding branch of SymPDE. To achieve this, one just needs to modify the line corresponding to sympde in the pyproject.yaml file.

For instance, to test a new SymPDE branch called my_feature, one should write

.. code-block:: python

# Our packages from PyPi
'sympde @ https://github.com/pyccel/sympde/archive/refs/heads/my_feature.zip',

Similarly, to test an unreleased version of SymPDE called v0.18.4-trunk, one should write

.. code-block:: python

# Our packages from PyPi
'sympde @ https://github.com/pyccel/sympde/archive/refs/tags/v0.18.4-trunk.zip',

Do not forget the comma at the end of the line, as this is an item in a list. Also, pay attention to the words head and tags in the path: the former is used for Git branches, the latter is used for Git tags (which may or may not correspond to GitHub releases).

.. |CI status| image:: https://github.com/pyccel/sympde/actions/workflows/continuous-integration.yml/badge.svg?branch=master&event=push :alt: CI status :target: https://github.com/pyccel/sympde/actions/workflows/continuous-integration.yml

.. |docs| image:: https://readthedocs.org/projects/sympde/badge/?version=latest :alt: Documentation Status :target: http://sympde.readthedocs.io/en/latest/?badge=latest

.. |binder| image:: https://mybinder.org/badge_logo.svg :alt: Run notebooks in Binder :target: https://mybinder.org/v2/gh/pyccel/sympde/master