/sympde

Symbolic calculus for partial differential equations (and variational forms)

Primary LanguagePythonMIT LicenseMIT

SymPDE

CI status Run notebooks in Binder Documentation Status

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.

Install

From PyPi

Simply run, for a local installation:

pip3 install --user sympde

or:

pip3 install sympde

for a global installation.

From sources

  • Standard mode:

    python3 -m pip install .
    
  • Development mode:

    python3 -m pip install --user -e .
    

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

# 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

# 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).