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 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.
No takes yet. Share an insight, caveat, or question.
Shawn W. Walker (2018) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: