A software library, avali, is being developed in the C++ programming language that applies the Method of Manufactured Solutions (MMS) to a variety of partial differential equation (PDE) problems. This library will allow researchers to utilize MMS as a software verification process without developing significant amounts of testing code. The library is split into 3 components: solution classes which can be used as manufactured solutions to PDE problems; PDE problem classes which represent specific types of PDEs to be solved (such as linear convection-diffusion equation or Poisson's equation); and post-processing classes that collect the convergence information and can perform various analysis techniques to the convergence data. In use, any solution class can be used with any PDE problem class and vice versa. This creates a significant amount of flexibility in this architecture and allows the end users to customize their MMS testing process. In addition, end users are able to develop their own solution classes in one of three ways: inheriting from the solution base class and implementing their own class; providing the functions (as source code to be compiled or as a software library with exported functions) required to evaluate the solution and its derivatives; or providing the solution equation as a string to be parsed by the library into a function. This paper will demonstrate a number of features of this library, as well as demonstrate its application in a typical use case.


Aerospace Engineering

Number of Pages




URL: https://digitalcommons.calpoly.edu/aero_fac/76