Journal
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE
Volume 33, Issue 4, Pages -Publisher
ASSOC COMPUTING MACHINERY
DOI: 10.1145/1268776.1268779
Keywords
algorithms; design; documentation; object-orientation; software design
Ask authors/readers for more resources
An overview of the software design and data abstraction decisions chosen for deal. II, a general purpose finite element library written in C++, is given. The library uses advanced object-oriented and data encapsulation techniques to break finite element implementations into smaller blocks that can be arranged to fit users requirements. Through this approach, deal. II supports a large number of different applications covering a wide range of scientific areas, programming methodologies, and application-specific algorithms, without imposing a rigid framework into which they have to fit. A judicious use of programming techniques allows us to avoid the computational costs frequently associated with abstract object-oriented class libraries. The paper presents a detailed description of the abstractions chosen for defining geometric information of meshes and the handling of degrees of freedom associated with finite element spaces, as well as of linear algebra, input/output capabilities and of interfaces to other software, such as visualization tools. Finally, some results obtained with applications built atop deal. II are shown to demonstrate the powerful capabilities of this toolbox.
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