Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!


UFLACS - UFL Analyser and Compiler System


Uflacs, the UFL Analyser and Compiler System, is a collection of algorithms for processing symbolic UFL forms and expressions. The main feature is efficient translation of tensor intensive symbolic expressions into a low level expression representation and C++ code.


Uflacs is Copyright (2011-2013) by Martin Sandve Alnæs.

This version of uflacs is released under the LGPL v3 licence.


Bitbucket site:

FEniCS Project site:


Martin Sandve Alnæs (


Steffen Müthing (


To run unittests of generated C++ code you need the Google C++ Testing Framework:

To run unit tests with output to screen:

cd tests/ && ./

To run unit tests with output to log files (for batch runs):

cd tests/ && ./


Either install to default python location as root:

sudo python install

Or install to your own python path directory:

python install --prefix=/path/to/my/own/site-packages

Recent activity

Andre Massing

Andre Massing pushed 34 commits to massing/uflacs

3bdc5e4 - Merged fenics-project/uflacs into master
61c0eeb - Merge branch 'martinal/topic-parameters'
b15b8aa - Allow setting uflacs compiler parameters from ffc commandline.
10136cc - Swap ordering of test/trial loops so the trial loop is innermost as this index runs faster in A[].
0147ef5 - Bugfix in graph rebuilding after factorization.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.