|Authors||M. S. Alnæs and K. Mardal|
|Title||On the Efficiency of Symbolic Computations Combined With Code Generation for Finite Element Methods|
|Afilliation||Scientific Computing, Center for Biomedical Computing (SFF), Scientific Computing|
|Project(s)||Center for Biomedical Computing (SFF)|
|Publication Type||Journal Article|
|Year of Publication||2010|
|Journal||ACM Transactions on Mathematical Software|
Efficient and easy implementation of variational forms for finite element discretization can be accomplished with meta-programming. Using a high-level language like Python and symbolic mathematics makes an abstract problem definition possible, but the use of a low-level compiled language is vital for run-time efficiency. By generating low-level C++ code based on symbolic expressions for the discrete weak form, it is possible to accomplish a high degree of abstraction in the problem definition while surpassing the run-time efficiency of traditional hand written C++ codes. We provide several examples where we demonstrate orders of magnitude in speed-up.