A method of approximating a scalar function of n independent variables (where n is a positive integer) to arbitrary accuracy has been developed. This method is expected to be attractive for use in engineering computations in which it is necessary to link global models with local ones or in which it is necessary to interpolate noiseless tabular data that have been computed from analytic functions or numerical models in n-dimensional spaces of design parameters.

This method is related to prior statistically based methods of fitting low-order approximate functional representations (response surfaces) to noisy experimental data. The prior methods are advantageous in situations in which large amounts of noisy data are available, but in situations in which the data and the functions that they represent are noiseless, it is computationally inefficient to generate the large quantities of data needed for fitting. Moreover, in the prior statistically based methods, the low-order functional representation cannot be defined to a specified degree of accuracy. The latter shortcoming limits the usefulness of response surfaces in design-optimization computations because (1) optimization calculations involve gradients of functions, which are approximated to orders lower than those of the functions themselves and, hence, can be so inaccurate as to yield poor results; and (2) the accuracy of a response surface can vary widely over its domain. The present method overcomes these shortcomings of the prior methods.

In a Simple Example, the function ba3 is approximatedby a third-order (complete to secondorder) polynomial on a triangular simplex. Theerror is zero at the nodes of the simplex andgreatest near the middle.

Increasingly, modern computationalsimulation programs generate values of gradients of functions in addition to values of the functions themselves, in order to satisfy the need for accurate gradient as well as function values for optimizations. Taking advantage of this trend, the present method relies on the availability of both gradient and function data. In this method, the space of n independent variables is subdivided into an n-dimensional mesh of simplex elements (simplices) that amount to n-dimensional generalizations of modeling techniques used in the finite-element method. The exact values of the scalar function and its gradient, as generated by the applicable computational model, are specified at the simplex nodes, which are intersections of coordinate axes of the n-dimensional mesh. Within each simplex, the function and its gradient are interpolated approximately by a set of basis functions of the n coordinates.

In order to minimize the computational burden, one tries to use basis functions of order no higher than that needed to limit the error in the approximation to an acceptably low value. It would be preferable if, in a given case, one could obtain acceptable accuracy from polynomial functions of order no higher than third, complete to second order (see figure). The advantage of using such low-order polynomials is that the interpolation could be performed without need for matrix operations (which would, if needed, add to the computational burden). Approximate-error-indicator quantities, defined on the edges of the simplices, have been derived as guides to whether there is a need to refine the simplices to reduce the errors.

This work was done by Stephen J. Scotti of Langley Research Center. LAR-16297-1.