Publication | Closed Access
deal.II—A general-purpose object-oriented finite element library
1.2K
Citations
21
References
2007
Year
EngineeringComputer-aided DesignFinite Element ImplementationsStructural OptimizationComputational MechanicsMesh OptimizationComputational GeometryObject-oriented DesignGeometric ModelingDesignComputer EngineeringData Encapsulation TechniquesComputer ScienceUnstructured Mesh GenerationSoftware DesignFinite Element MethodNatural SciencesObject-oriented ProgrammingSolid Modeling
deal.II is a general‑purpose finite element library written in C++. The paper provides an overview of the software design and data abstraction decisions for deal.II. The library modularizes finite element implementations using advanced object‑oriented and data encapsulation techniques, employs efficient programming to avoid typical overhead, and offers detailed abstractions for mesh geometry, degrees of freedom, linear algebra, I/O, and interfaces to other software. This design allows deal.II to support a wide range of applications across scientific domains without imposing a rigid framework, and application results demonstrate its powerful capabilities.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1