Journal
SIAM JOURNAL ON SCIENTIFIC COMPUTING
Volume 40, Issue 2, Pages C234-C257Publisher
SIAM PUBLICATIONS
DOI: 10.1137/17M1128745
Keywords
finite elements; coupled systems; geometric flows; code generation; MATLAB; open source software
Categories
Funding
- NSF [DMS-1418994, DMS-1555222]
- Direct For Mathematical & Physical Scien
- Division Of Mathematical Sciences [1555222] Funding Source: National Science Foundation
- Division Of Mathematical Sciences
- Direct For Mathematical & Physical Scien [1418994] Funding Source: National Science Foundation
Ask authors/readers for more resources
This paper describes a MATLAB/C++ finite element toolbox, called FELICITY, for simulating various types of systems of partial differential equations (e.g., coupled elliptic/parabolic problems) using the finite element method. It uses MATLAB in an object-oriented way for high-level manipulation of data structures in finite element codes, while utilizing a domain-specific language (DSL) and code generation to automate low-level tasks such as matrix assembly (via the MATLAB mex interface). We describe the fundamental functionality of the toolbox's MATLAB interface, such as using higher order Lagrange (simplicial) meshes, defining finite element spaces, allocating degrees-of-freedom, assembling discrete bilinear and linear forms, and interpolation over meshes. Moreover, we describe in-depth how automatic code generation is implemented in FELICITY. Two example problems and their implementation are provided to demonstrate the ability of FELICITY to solve coupled problems with interacting subdomains of different co-dimension. Future improvements are also discussed.
Authors
I am an author on this paper
Click your name to claim this paper and add it to your profile.
Reviews
Recommended
No Data Available