Abstract

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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.