Ferrite-FEM/Ferrite.jl

Sum factorization techniques for tensor-product elements

Open

#389 opened on Oct 12, 2021

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Julia (109 forks)github user discovery
good first issuehelp wantedperformance

Repository metrics

Stars
 (439 stars)
PR merge metrics
 (PR metrics pending)

Description

Assembly performance of tensor-product elements (we currently just have Lagrange polynomials on RefCube's) can be improved via tensor-product assembly. Thic technique is often called sum-factorization (e.g. [1-2]). Here we rearrange the summation when building the local stiffness matrix. Technically we can also do this on simplices, see e.g. [3].

TODO here is to provide an example and maybe make internal modifications if required. This technique is not too important for low-order basis functions, because it primarily decreases the evaluation complexity.

References

[1] Homolya, M., Kirby, R. C., & Ham, D. A. (2017). Exposing and exploiting structure: optimal code generation for high-order finite element methods. arXiv preprint arXiv:1711.02473.

[2] Kronbichler, M., & Kormann, K. (2012). A generic interface for parallel cell-based finite element operator application. Computers & Fluids, 63, 135-147.

[3] Eibner, T., & Melenk, J. M. (2005). Fast algorithms for setting up the stiffness matrix in hp-FEM: a comparison. SFB 393.

Contributor guide