The Discrete Operator Approach to the Numerical Solution of Partial Differential Equations

The design of robust computational physics codes has always been a challenge to application programmers. One of the key di culties in writing multiphysics codes stems from the ine cient handling of spatial discretization and field operations. For example, in the context of the finite volume (FV) method, one often deals with structured and unstructured meshes that are either staggered or collocated. To handle this array of options, a complex data structure is required to represent arbitrary meshes. For structured grids, this approach imposes an unnecessary computational overhead that increases significantly with problem size. Instead, the programmer must write specific components to handle structured meshes thus defeating the purpose of code portability. Furthermore, dedicated discretization schemes are required for di erent types of meshes, thus increasing software complexity. Although modern computational codes rely extensively on a variety of libraries for linear algebra operations, they lack a framework that provides proper application-independent discretization tools. In this manuscript, we present a novel computational paradigm that separates the spatial discretization and field operations from the physics. This paradigm is based on the abstraction of the mathematical operators describing physical processes. An operator corresponds to a precise mathematical object that performs a certain calculation on a field. A field corresponds to any scalar or vector variable required in the solution process. In our model, an operator is represented discretely by a sparse matrix while a field is represented by a vector. At the outset, the discretization process corresponds to a sparse-matrix-vector multiplication. This approach completely decouples the physics from the spatial and field operations thus providing an avenue for improved code design and usability.

[1]  Douglas Gregor,et al.  C++ Templates: The Complete Guide , 2002 .

[2]  Douglas K. Lilly,et al.  ON THE COMPUTATIONAL STABILITY OF NUMERICAL SOLUTIONS OF TIME-DEPENDENT NON-LINEAR GEOPHYSICAL FLUID DYNAMICS PROBLEMS , 1965 .

[3]  B. Perot Conservation Properties of Unstructured Staggered Mesh Schemes , 2000 .

[4]  James R. Stewart,et al.  A framework approach for developing parallel adaptive multiphysics applications , 2004 .

[5]  P. Moin,et al.  Suitability of upwind-biased finite difference schemes for large-eddy simulation of turbulent flows , 1997 .

[6]  F. Harlow,et al.  Numerical Calculation of Time‐Dependent Viscous Incompressible Flow of Fluid with Free Surface , 1965 .

[7]  Olivier Pironneau,et al.  Automatic differentiation in C++ using expression templates and. application to a flow control problem , 2001 .

[8]  A. S. Almgren,et al.  Low mach number modeling of type Ia supernovae. I. Hydrodynamics , 2005 .

[9]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[10]  Steven G. Parker,et al.  Uintah: a massively parallel problem solving environment , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[11]  Habib N. Najm,et al.  Modeling Low Mach Number Reacting Flow with Detailed Chemistry and Transport , 2005, J. Sci. Comput..

[12]  Scott R. Kohn,et al.  Managing application complexity in the SAMRAI object‐oriented framework , 2002, Concurr. Comput. Pract. Exp..

[13]  S. Patankar Numerical Heat Transfer and Fluid Flow , 2018, Lecture Notes in Mechanical Engineering.

[14]  HighWire Press Philosophical Transactions of the Royal Society of London , 1781, The London Medical Journal.

[15]  E. Bender Numerical heat transfer and fluid flow. Von S. V. Patankar. Hemisphere Publishing Corporation, Washington – New York – London. McGraw Hill Book Company, New York 1980. 1. Aufl., 197 S., 76 Abb., geb., DM 71,90 , 1981 .

[16]  L. Richardson The Approximate Arithmetical Solution by Finite Differences of Physical Problems Involving Differential Equations, with an Application to the Stresses in a Masonry Dam , 1911 .

[17]  David M. Gay,et al.  Automatic Differentiation of C++ Codes for Large-Scale Scientific Computing , 2006, International Conference on Computational Science.