Skip to main content

Über dieses Buch

There are many books on the use of numerical methods for solving engineering problems and for modeling of engineering artifacts. In addition there are many styles of such presentations ranging from books with a major emphasis on theory to books with an emphasis on applications. The purpose of this book is hopefully to present a somewhat different approach to the use of numerical methods for - gineering applications. Engineering models are in general nonlinear models where the response of some appropriate engineering variable depends in a nonlinear manner on the - plication of some independent parameter. It is certainly true that for many types of engineering models it is sufficient to approximate the real physical world by some linear model. However, when engineering environments are pushed to - treme conditions, nonlinear effects are always encountered. It is also such - treme conditions that are of major importance in determining the reliability or failure limits of engineering systems. Hence it is essential than engineers have a toolbox of modeling techniques that can be used to model nonlinear engineering systems. Such a set of basic numerical methods is the topic of this book. For each subject area treated, nonlinear models are incorporated into the discussion from the very beginning and linear models are simply treated as special cases of more general nonlinear models. This is a basic and fundamental difference in this book from most books on numerical methods.



1. Introduction to Nonlinear Engineering Problems and Models

This book emphasizes the general area of nonlinear engineering problems with an in depth discussion of selected computer algorithms for solving nonlinear problems coupled with appropriate examples of such nonlinear engineering models. This introductory chapter provides a general discussion of the theme of the book as well as laying the foundation for subsequent chapters. Many books covering somewhat similar themes to this book have somewhere in their title the term “Numerical Methods”. It is certainly true that this book discusses, develops and uses many numerical methods. However, numerical techniques are viewed here as a means to an end. They are simply the techniques used by modern digital computers to solve engineering problems. The end objective of this work is to provide tools and techniques in order for the practicing engineer to understand and model engineering problems. In general such problems are nonlinear in nature; hence the title Numerical Methods for Nonlinear Engineering Models.

2. Numerical Fundamentals and Computer Programming

The previous chapter has briefly discussed the concept of nonlinear engineering models and their solution which is the major topic of this work. To review, the term engineering models refers to a collection of relationships between some set of parameters associated with an engineering artifact and some desired set of performance parameters. The relationships may be explicitly given but in most cases are implicitly expressed through sets of nonlinear equations, differential equations and/or algorithms which specify how one generates the associated relationships. An engineer is typically interested in exploring the space of performance parameters as a function of some set (or subset) of artifact parameters. In modern day practice, this exploration of responses is typically done by use of a digital computer executing some type of computer program written in some type of computer language. Some of the fundamental background expected of the reader to implement such numerical computer programs is reviewed in this chapter.
Not many years ago engineers primarily used large centrally located mainframe computers for any extensive modeling work. However, this has now changed to the primary use of desktop computers or workstations for all except the most numerically intensive calculations which may still involve supercomputers. For the discussion here it will be assumed that the code examples will be implemented on typical desktop computers (typically called PCs).

3. Roots of Nonlinear Equations

A large number of engineering and scientific problems can be formulated in terms of finding the value, or values, of some variable x which results in a zero value of some function of that variable. Mathematically, this is represented by the equation
$$F\left( x \right) = 0,$$
where F(x) is some given function of x. Examples are polynomial equations such as
$$F\left( x \right) = 5x^4 - 4x^2 + 2x - 3 = 0,$$
or transcendental equations such as
$$F\left( x \right) = \tan \left( x \right) - 1/x.$$
For the case of polynomial equations, the solution values of x which satisfy the equation are frequently called “Croots” of the polynomial. In general these may be real numbers or complex numbers. For the case of transcendental equations such as Eq. (3.3) the solution values are typically called “zeros” of the function. Mathematically the terms roots and zeros are used interchangeably.

4. Solving Sets of Equations: Linear and Nonlinear

The previous chapter has discussed the solution of a single linear or nonlinear equation to find the roots of the equation or values of a variable for which the equation is zero. This chapter extends that discussion to sets of equations in several variables. Only cases where the number of variables is equal to the number of equations will be considered with equations of the form:
$$\begin{array}{*{20}c} {f_1 \left( {x_1,x_2, \ldots \ldots,x_n } \right) = 0} \\ {f_2 \left( {x_1,x_2, \ldots \ldots,x_n } \right) = 0} \\ \vdots \\ {f_n \left( {x_1,x_2, \ldots \ldots,x_n } \right) = 0} \\ \end{array}$$
In general it will be assumed that this is a nonlinear set of equations for which a solution set of x1, x2,....., xn values is desired that satisfy the equations. In the general case there may be (a) no solution values, (b) one set of values or (c) many sets of solution values. The fact that one is trying to find a set of solution values implies that he/she believes that the set of equations has at least one set of solution values. In most physical problems, one has some general idea as to the range of solution values for the variables which can be used as initial guesses at the solution values.

5. Numerical Derivatives and Numerical Integration

In the previous two chapters numerical derivatives have been used in the implementation of several code segments -- more specifically Newton’s method and nsolv(). The most powerful algorithms for handling nonlinear equations are to linearize and iterate on the linearized equations until a valid solution of the nonlinear equations is obtained. To do this one needs to be able to obtain the derivative of the nonlinear equations. Most authors shy away from recommending that this be done by numerical means and stress that if at all possible the derivatives be obtained analytically. This is usually not convenient and in some cases not possible as a set of equations may be generated only by a computer algorithm. The approach taken in this work is that numerical derivatives are acceptable if properly taken and this approach leads to greatly simplified algorithms as one then has to only specify the equations to be solved. This is in keeping with the principle that one should only have to define in a computer program a set of equations and any boundary conditions and the software should then take over and provide solutions.
Simple first order algorithms have been used in the previous chapters for numerical derivatives. These have been adequate for all the examples given in the previous chapters. In this chapter a much more in-depth look is undertaken of numerical derivatives and this provides the background needed to have confidence in the use of numerical derivatives in a wide range of nonlinear problems. In addition code segments are developed that can be used to calculate numerical derivatives with near machine precision for a wide range of functions.
A second major topic for this chapter is the closely related issue of numerically evaluation the value of an integral. Code segments are again developed that can integrate a large range of integrals with near machine precision.

6. Interpolation

Several types of functions have been considered in the previous chapters. In all cases it has been assumed that the functions are continuous functions of some independent variable or variables. It has been further assumed that a mathematical expression or a computer algorithm exists that will respond with the value of the function when given a set of values of the independent variables. For a single variable this can be expressed as:
$${\rm{Given}}:f\left( x \right)for\,x_1 < x < x_2.$$
Extensive use has been made of the ability to take a derivative of such a function at any desired point within the allowed range of values of the independent variable. This has been used in such functions as newton() and nsolv() for obtaining the zeros or roots of functions.

7. Curve Fitting and Data Plotting

The previous chapter addressed the problem of fitting a mathematical function through a given set of data points and approximating the value of a smooth curve between the given data points by an interpolation function. The techniques work well for data points which have been evaluated from some known function or computer algorithm or for data points with zero or negligible random errors in the data values. For experimental data and thus for a wide range of engineering problems, a given set of data has some uncertainty in the data points or values, i.e. the data with some randomness. There are several things that one might want to do with such data. First, one might just want to plot the data and draw a “smooth” curve through the data to aid the user in visualizing the functional dependency. Second, one might want to fit a particular mathematical model to the data and analyze the “goodness” of the fit of the model to the data. Third, one might want to fit a particular physical model with unknown parameters to the data and determine the “best” values of some set of physical parameters when fitted to the data. All of these approaches to data analysis and plotting are considered in this chapter under the heading of Curve Fitting and Data Plotting. The general difference from the previous chapter is that in this chapter the data is assumed to have some randomness so that one does not necessarily want to fit a function “exactly” through the given set of data points, but a curve or function is desired that “best” represents the data. The terms in quotes in the above discussion are not well defined at this point, but hopefully they will become better defined as this chapter progresses.

8. Statistical Methods and Basic Statistical Functions

The previous chapter has addressed the general problem of fitting a set of data with a smooth function or curve where the data set has either some random component or is generated from some transcendental function that can not be expressed in a closed mathematical form. The major objective of the chapter was to obtain a continuous functional representation of the data set which could be used either for publication of the data or for further analysis of the data set. This chapter and the next chapter continues some of the discussions of Chapter 7 with an emphasis on the analysis of the statistical properties of data sets and on the fitting of data sets to physical models for the purpose of estimating various parameters of the model — sometimes called “parameter estimation”. There are a broad range of such applications to data analysis and data fitting. In most data fitting applications, the interest in not only in obtaining a smooth curve which gives a good visual representation of the data, but also in determining how accurately various model parameters can be estimated from the experimental data. This is where the statistical properties of the data become important. This emphasis on confidence limits of the parameters associated with data fitting is what distinguishes the examples in this chapter and the next chapter from the previous chapter. The present chapter concentrates on developing various statistical methods that are useful in data analysis and the next chapter concentrates on parameter estimation for data in the presence of random noise using many of the statistical properties developed in this chapter

9. Data Models and Parameter Estimation

A frequently encountered engineering problem is that of having a set of data which one wishes to describe by a mathematical model and determine a set of parameters that characterize the model. This is similar to the topic addressed in Chapter 7 of curve fitting and data plotting. However, in that chapter the emphasis was only on obtaining a smooth curve representation of a set of data with noise. The intent of the curve fitting there was to obtain a function that could be used in subsequent manipulations of the data or in visually presenting the data in graphical form. The particular form of the fitting function was secondary to the goal of obtaining a good smooth approximation to the data. In the present chapter, the emphasis will still be on obtaining a “good” approximation to the data set; however, the major emphasis will shift to the fitting parameters of a data model which will be assumed to have some particular physical or mathematical significance. For example the fitting parameters could be some time constant of a physical process or some saturated value of a physical process or some time period for a physical process. The emphasis will thus be on estimating the value of the parameters used in describing a data set. This will naturally lead to question about how accurately the values of the parameters can be obtained and questions associated with confidence limits on the estimated parameters. Thus this chapter continues the discussion begun in Chapter 7 on curve fitting and brings in many of the statistical concepts developed in Chapter 8 to address the general area of modeling of data and the estimation of parameter values from the data for a given model of the data. In some engineering fields, this process is also called parameter extraction.

10. Differential Equations: Initial Value Problems

A large number of engineering problems are formulated in terms of a differential equation or a system of differential equations. A typical engineering problem requires finding the solution of a set of differential equations subject to some set of initial values or subject to some set of boundary values. In this chapter only the initial value type of problem will be considered. A subset of general differential equations is the set of linear differential equations with constant coefficients. For such systems, closed form solutions can always be found as the solutions are always sums of exponential functions. For general differential equations and especially for non-linear differential equations, closed form solutions can not in general be found and one must resort to numerical solutions. What is meant by a numerical solution is a set of tabular values giving the value of the dependent variable (or variables) as a function of the independent variable (or variables) at a finite number of values of the dependent variable.
This chapter begins by discussing the simple case of a single first-order differential equation. The independent variable will be assumed to be time (t), but the discussing is independent of whether the independent variable is time or some spatial coordinate. Some fundamental properties of all numerical solutions to differential equations will be developed for some simple cases. The discussion will then be expanded to systems of first-order differential equations and then to systems of second and higher order differential equations. Some general computer code segments will be developed for use in solving general non-linear differential equations. Finally several examples will be given to illustrate the application of the code segments to typical problems.

11. Differential Equations: Boundary Value Problems

The previous chapter has discussed the solution of differential equations of the “initial value” type, where all the values needed to specify a specific solution are given at one specific initial value of the independent variable. Many time dependent differential equations in engineering are of this type where some dependent variable is governed by a differential equation in time and the initial conditions are specified at some initial time that can usually be taken as t = 0. For such problems, the differential equation can then be integrated into the future and in principle to any desired value of time. The previous chapter has developed several general computer algorithms and software packages for addressing such problems. The developed code can be applied to nonlinear differential equations just as easily as linear differential equations although as with all nonlinear problems iterative approaches must be used in obtaining a solution. One of the features of the numerical solution of such problems, either linear or nonlinear, is that the relative error in the solution tends to increase as such equations are integrated further into the future or further from the initial starting point.
This chapter addresses a different type of differential equation problem, the so called “boundary value” problem. For this class of problems, specific values of the dependent variable (can be either values or derivatives) are not specified at one particular point but are specified at two different values of the independent variable. Engineering problems of this type usually involve some spatial independent variable as opposed to time as the independent variable. For example for a second- order differential equation, the values of the independent variable may be specified at two values of x such as x = 0 and x = L. Again this chapter addresses differential equations of only one independent variable. Partial differential equations involving two or more independent variables are discussed in the next two chapters.

12. Partial Differential Equations: Finite Difference Approaches

The two previous chapters have considered differential equations which involve only one independent variable — typically a spatial variable or a time variable. The present chapter expands the range of equations to one or more differential equation in two or more independent variables which may be spatial variables or spatial variables and a time variable. The simplest partial differential equations involve only two variables while some physically interesting engineering problems involve as many as four independent variables (three spatial variables and a time variable). Even more general problems with more independent variables can of course be considered.
The discussion in this chapter will concentrate primarily on partial differential equations in only two independent variables. This is due in part to the exponential growth in needed solution points as the number of dimensions increases. Also for a large number of engineering problems the symmetry of the problem makes it possible to reduce the number of primary variables to two. Finally, much of the insight into real engineering problems can be obtained from a study of partial differential equations in only two dimensions. The discussion in this chapter also concentrates on finite difference approaches to solving partial differential equations. This approach is most appropriate to problems where time is one variable and a spatial variable is the second variable. For many engineering problems involving two or more spatial variables, the finite element approach discussed in the next chapter is a more appropriate technique, because the discretization of spatial points can more easily be make to conform to appropriate spatial boundaries of a given problem.

13. Partial Differential Equations: The Finite Element Method

The previous chapter has discussed the solution of partial differential equations using the classical finite difference approach. This method of solution is most appropriate for physical problems that match to a rectangular boundary area or that can be easily approximated by a rectangular boundary. One such class of PDEs is initial value problems in one spatial variable and one time variable. Other selected problems in two spatial dimensions are also amendable to this approach and selected examples are given in the previous chapter.
A large class of PDEs, however, involve spatial dimensions not confined to a rectangular geometry and for such problems the more recently developed finite element (FE) approach is in many cases much more appropriate. As in the previous chapter some of the important theory underlying the FE method will be discussed and selected computer code developed to implement a selected subset of FE approaches. The code is then used to illustrate the solution of selected PDEs by the FE approach.


Weitere Informationen

Premium Partner