General Template Units for the Finite Volume Method in Box-Shaped Domains

In this work, we develop an extension of the Curiously Recurring Template Pattern (CRTP), which allows us to organize three related concepts in a class hierarchy. Generalizations, specializations and special procedures are the concepts that we use to define and implement several tools. We call these...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:ACM transactions on mathematical software 2016-08, Vol.43 (1), p.1-32
Hauptverfasser: Cruz, Luis M. De La, Ramos, Eduardo
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:In this work, we develop an extension of the Curiously Recurring Template Pattern (CRTP), which allows us to organize three related concepts in a class hierarchy. Generalizations, specializations and special procedures are the concepts that we use to define and implement several tools. We call these tools general template units because they are well-defined building blocks (units) for numerically solving partial differential equations (PDEs), are based on the use of templates of the C++ language, and can be applied in the solution of different kinds of problems. We focus on the solution of PDEs using the Finite Volume Method (FVM) in box-shaped domains. The three concepts just mentioned are intensively used to generate optimized codes for each case study. The convenience of our approach is highlighted in the numerical solutions of the examples of application, including laminar thermal convection, turbulent thermal convection, as well as a two-phase flow model in porous media, all of them in one, two, and three dimensions. The mathematical models of these examples were obtained using the axiomatic formulation, which provides generality, simplicity, and clarity to tackle any continuum mechanics application. The ideas explained in this work are quite simple but powerful in solving fluid dynamics problems, in which the conservativeness of the FVM is an important feature. The techniques developed in this work allow us to swap easily between numerical schemes for computing the coefficients obtained by applying the FVM.
ISSN:0098-3500
1557-7295
DOI:10.1145/2835175