Programming as Theory Building

Peter Naur 1985

Peter Naur’s classic 1985 essay “Programming as Theory Building” argues that a program is not its source code. A program is a shared mental construct (he uses the word theory) that lives in the minds of the people who work on it. If you lose the people, you lose the program. The code is merely a written representation of the program, and it’s lossy, so you can’t reconstruct a program from its code.

Introduction

The present discussion is a contribution to the understanding of what programming is. It suggests that programming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts.

Some of the background of the views presented here is to be found in certain observations of what actually happens to programs and the teams of programmers dealing with them, particularly in situations arising from unexpected and perhaps erroneous program executions or reactions, and on the occasion of modifications of programs. The difficulty of accommodating such observations in a production view of programming suggests that this view is misleading. The theory building view is presented as an alternative.

A more general background of the presentation is a conviction that it is important to have an appropriate understanding of what programming is. If our understanding is inappropriate we will misunderstand the difficulties that arise in the activity and our attempts to overcome them will give rise to conflicts and frustrations.

In the present discussion some of the crucial background experience will first be outlined. This is followed by an explanation of a theory of what programming is, denoted the Theory Building View. The subsequent sections enter into some of the consequences of the Theory Building View.

Programming and the Programmers’ Knowledge

I shall use the word programming to denote the whole activity of design and implementation of programmed solutions. What I am concerned with is the activity of matching some significant part and aspect of an activity in the real world to the formal symbol manipulation that can be done by a program running on a computer. With such a notion it follows directly that the programming activity I am talking about must include the development in time corresponding to the changes taking place in the real world activity being matched by the program execution, in other words program modifications.

One way of stating the main point I want to make is that programming in this sense primarily must be the programmers’ building up knowledge of a certain kind, knowledge taken to be basically the programmers’ immediate possession, any documentation being an auxiliary, secondary product.

As a background of the further elaboration of this view given in the following sections, the remainder of the present section will describe some real experience of dealing with large programs that has seemed to me more and more significant as I have pondered over the problems. In either case the experience is my own or has been communicated to me by persons having first hand contact with the activity in question.

Case 1 concerns a compiler. It has been developed by a group A for a Language L and worked very well on computer X. Now another group B has the task to write a compiler for a language L + M, a modest extension of L, for computer Y . Group B decides that the compiler for L developed by group A will be a good starting point for their design, and get a contract with group A that they will get support in the form of full documentation, including annotated program texts and much additional written design discussion, and also personal advice. The arrangement was effective and group B managed to develop the compiler they wanted. In the present context the significant issue is the importance of the personal advice from group A in the matters that concerned how to implement the extensions M to the language. During the design phase group B made suggestions for the manner in which the extensions should be accommodated and submitted them to group A for review. In several major cases it turned out that the solutions suggested by group B were found by group A to make no use of the facilities that were not only inherent in the structure of the existing compiler but were discussed at length in its documentation, and to be based instead on additions to that structure in the form of patches that effectively destroyed its power and simplicity. The members of group A were able to spot these cases instantly and could propose simple and effective solutions, framed entirely within the existing structure. This is an example of how the full program text and additional documentation is insufficient in conveying to even the highly motivated group B the deeper insight into the design, that theory which is immediately present to the members of group A.

In the years following these events the compiler developed by group B was taken over by other programmers of the same organization, without guidance from group A. Information obtained by a member of group A about the compiler resulting from the further modification of it after about 10 years made it clear that at that later stage the original powerful structure was still visible, but made entirely ineffective by amorphous additions of many different kinds. Thus, again, the program text and its documentation has proved insufficient as a carrier of some of the most important design ideas.

Case 2 concerns the installation and fault diagnosis of a large real–time system for monitoring industrial production activities. The system is marketed by its producer, each delivery of the system being adapted individually to its specific environment of sensors and display devices. The size of the program delivered in each installation is of the order of 200,000 lines. The relevant experience from the way this kind of system is handled concerns the role and manner of work of the group of installation and fault finding programmers. The facts are, first that these programmers have been closely concerned with the system as a full time occupation over a period of several years, from the time the system was under design. Second, when diagnosing a fault these programmers rely almost exclusively on their ready knowledge of the system and the annotated program text, and are unable to conceive of any kind of additional documentation that would be useful to them. Third, other programmers’ groups who are responsible for the operation of particular installations of the system, and thus receive documentation of the system and full guidance on its use from the producer’s staff, regularly encounter difficulties that upon consultation with the producer’s installation and fault finding programmer are traced to inadequate understanding of the existing documentation, but which can be cleared up easily by the installation and fault finding programmers.

The conclusion seems inescapable that at least with certain kinds of large programs, the continued adaption, modification, and correction of errors in them, is essentially dependent on a certain kind of knowledge possessed by a group of programmers who are closely and continuously connected with them.

Ryle’s Notion of Theory

If it is granted that programming must involve, as the essential part, a building up of the programmers’ knowledge, the next issue is to characterize that knowledge more closely. What will be considered here is the suggestion that the programmers’ knowledge properly should be regarded as a theory, in the sense of Ryle. Very briefly, a person who has or possesses a theory in this sense knows how to do certain things and in addition can support the actual doing with explanations, justifications, and answers to queries, about the activity of concern. It may be noted that Ryle’s notion of theory appears as an example of what K. Popper calls unembodied World 3 objects and thus has a defensible philosophical standing. In the present section we shall describe Ryle’s notion of theory in more detail.

Ryle develops his notion of theory as part of his analysis of the nature of intellectual activity, particularly the manner in which intellectual activity differs from, and goes beyond, activity that is merely intelligent. In intelligent behaviour the person displays, not any particular knowledge of facts, but the ability to do certain things, such as to make and appreciate jokes, to talk grammatically, or to fish. More particularly, the intelligent performance is characterized in part by the person’s doing them well, according to certain criteria, but further displays the person’s ability to apply the criteria so as to detect and correct lapses, to learn from the examples of others, and so forth. It may be noted that this notion of intelligence does not rely on any notion that the intelligent behaviour depends on the person’s following or adhering to rules, prescriptions, or methods. On the contrary, the very act of adhering to rules can be done more or less intelligently; if the exercise of intelligence depended on following rules there would have to be rules about how to follow rules, and about how to follow the rules about following rules, etc. in an infinite regress, which is absurd.

What characterizes intellectual activity, over and beyond activity that is merely intelligent, is the person’s building and having a theory, where theory is understood as the knowledge a person must have in order not only to do certain things intelligently but also to explain them, to answer queries about them, to argue about them, and so forth. A person who has a theory is prepared to enter into such activities; while building the theory the person is trying to get it.

The notion of theory in the sense used here applies not only to the elaborate constructions of specialized fields of enquiry, but equally to activities that any person who has received education will participate in on certain occasions. Even quite unambitious activities of everyday life may give rise to people’s theorizing, for example in planning how to place furniture or how to get to some place by means of certain means of transportation.

The notion of theory employed here is explicitly not confined to what may be called the most general or abstract part of the insight. For example, to have Newton’s theory of mechanics as understood here it is not enough to understand the central laws, such as that force equals mass times acceleration. In addition, as described in more detail by Kuhn, the person having the theory must have an understanding of the manner in which the central laws apply to certain aspects of reality, so as to be able to recognize and apply the theory to other similar aspects. A person having Newton’s theory of mechanics must thus understand how it applies to the motions of pendulums and the planets, and must be able to recognize similar phenomena in the world, so as to be able to employ the mathematically expressed rules of the theory properly.

The dependence of a theory on a grasp of certain kinds of similarity between situations and events of the real world gives the reason why the knowledge held by someone who has the theory could not, in principle, be expressed in terms of rules. In fact, the similarities in question are not, and cannot be, expressed in terms of criteria, no more than the similarities of many other kinds of objects, such as human faces, tunes, or tastes of wine, can be thus expressed.

The Theory To Be Built by the Programmer

In terms of Ryle’s notion of theory, what has to be built by the programmer is a theory of how certain affairs of the world will be handled by, or supported by, a computer program. On the Theory Building View of programming the theory built by the programmers has primacy over such other products as program texts, user documentation, and additional documentation such as specifications.

In arguing for the Theory Building View, the basic issue is to show how the knowledge possessed by the programmer by virtue of his or her having the theory necessarily, and in an essential manner, transcends that which is recorded in the documented products. The answers to this issue is that the programmer’s knowledge transcends that given in documentation in at least three essential areas:

1) The programmer having the theory of the program can explain how the solution relates to the affairs of the world that it helps to handle. Such an explanation will have to be concerned with the manner in which the affairs of the world, both in their overall characteristics and their details, are, in some sense, mapped into the program text and into any additional documentation. Thus the programmer must be able to explain, for each part of the program text and for each of its overall structural characteristics, what aspect or activity of the world is matched by it. Conversely, for any aspect or activity of the world the programmer is able to state its manner of mapping into the program text. By far the largest part of the world aspects and activities will of course lie outside the scope of the program text, being irrelevant in the context. However, the decision that a part of the world is relevant can only be made by someone who understands the whole world. This understanding must be contributed by the programmer.

2) The programmer having the theory of the program can explain why each part of the program is what it is, in other words is able to support the actual program text with a justification of some sort. The final basis of the justification is and must always remain the programmer’s direct, intuitive knowledge or estimate. This holds even where the justification makes use of reasoning, perhaps with application of design rules, quantitative estimates, comparisons with alternatives, and such like, the point being that the choice of the principles and rules, and the decision that they are relevant to the situation at hand, again must in the final analysis remain a matter of the programmer’s direct knowledge.

3) The programmer having the theory of the program is able to respond constructively to any demand for a modification of the program so as to support the affairs of the world in a new manner. Designing how a modification is best incorporated into an established program depends on the perception of the similarity of the new demand with the operational facilities already built into the program. The kind of similarity that has to be perceived is one between aspects of the world. It only makes sense to the agent who has knowledge of the world, that is to the programmer, and cannot be reduced to any limited set of criteria or rules, for reasons similar to the ones given above why the justification of the program cannot be thus reduced.

While the discussion of the present section presents some basic arguments for adopting the Theory Building View of programming, an assessment of the view should take into account to what extent it may contribute to a coherent understanding of programming and its problems. Such matters will be discussed in the following sections.

Problems and Costs of Program Modifications

A prominent reason for proposing the Theory Building View of programming is the desire to establish an insight into programming suitable for supporting a sound understanding of program modifications. This question will therefore be the first one to be taken up for analysis.

One thing seems to be agreed by everyone, that software will be modified. It is invariably the case that a program, once in operation, will be felt to be only part of the answer to the problems at hand. Also the very use of the program itself will inspire ideas for further useful services that the program ought to provide. Hence the need for ways to handle modifications.

The question of program modifications is closely tied to that of programming costs. In the face of a need for a changed manner of operation of the program, one hopes to achieve a saving of costs by making modifications of an existing program text, rather than by writing an entirely new program.

The expectation that program modifications at low cost ought to be possible is one that calls for closer analysis. First it should be noted that such an expectation cannot be supported by analogy with modifications of other complicated man–made constructions. Where modifications are occasionally put into action, for example in the case of buildings, they are well known to be expensive and in fact complete demolition of the existing building followed by new construction is often found to be preferable economically. Second, the expectation of the possibility of low cost program modifications conceivably finds support in the fact that a program is a text held in a medium allowing for easy editing. For this support to be valid it must clearly be assumed that the dominating cost is one of text manipulation. This would agree with a notion of programming as text production. On the Theory Building View this whole argument is false. This view gives no support to an expectation that program modifications at low cost are generally possible.

A further closely related issue is that of program flexibility. In including flexibility in a program we build into the program certain operational facilities that are not immediately demanded, but which are likely to turn out to be useful. Thus a flexible program is able to handle certain classes of changes of external circumstances without being modified.

It is often stated that programs should be designed to include a lot of flexibility, so as to be readily adaptable to changing circumstances. Such advice may be reasonable as far as flexibility that can be easily achieved is concerned. However, flexibility can in general only be achieved at a substantial cost. Each item of it has to be designed, including what circumstances it has to cover and by what kind of parameters it should be controlled. Then it has to be implemented, tested, and described. This cost is incurred in achieving a program feature whose usefulness depends entirely on future events. It must be obvious that built–in program flexibility is no answer to the general demand for adapting programs to the changing circumstances of the world.

In a program modification an existing programmed solution has to be changed so as to cater for a change in the real world activity it has to match. What is needed in a modification, first of all, is a confrontation of the existing solution with the demands called for by the desired modification. In this confrontation the degree and kind of similarity between the capabilities of the existing solution and the new demands has to be determined. This need for a determination of similarity brings out the merit of the Theory Building View. Indeed, precisely in a determination of similarity the shortcoming of any view of programming that ignores the central requirement for the direct participation of persons who possess the appropriate insight becomes evident. The point is that the kind of similarity that has to be recognized is accessible to the human beings who possess the theory of the program, although entirely outside the reach of what can be determined by rules, since even the criteria on which to judge it cannot be formulated. From the insight into the similarity between the new requirements and those already satisfied by the program, the programmer is able to design the change of the program text needed to implement the modification.

In a certain sense there can be no question of a theory modification, only of a program modification. Indeed, a person having the theory must already be prepared to respond to the kinds of questions and demands that may give rise to program modifications. This observation leads to the important conclusion that the problems of program modification arise from acting on the assumption that programming consists of program text production, instead of recognizing programming as an activity of theory building.

On the basis of the Theory Building View the decay of a program text as a result of modifications made by programmers without a proper grasp of the underlying theory becomes understandable. As a matter of fact, if viewed merely as a change of the program text and of the external behaviour of the execution, a given desired modification may usually be realized in many different ways, all correct. At the same time, if viewed in relation to the theory of the program these ways may look very different, some of them perhaps conforming to that theory or extending it in a natural way, while others may be wholly inconsistent with that theory, perhaps having the character of unintegrated patches on the main part of the program. This difference of character of various changes is one that can only make sense to the programmer who possesses the theory of the program. At the same time the character of changes made in a program text is vital to the longer term viability of the program. For a program to retain its quality it is mandatory that each modification is firmly grounded in the theory of it. Indeed, the very notion of qualities such as simplicity and good structure can only be understood in terms of the theory of the program, since they characterize the actual program text in relation to such program texts that might have been written to achieve the same execution behaviour, but which exist only as possibilities in the programmer’s understanding.

Program Life, Death, and Revival

A main claim of the Theory Building View of programming is that an essential part of any program, the theory of it, is something that could not conceivably be expressed, but is inextricably bound to human beings. It follows that in describing the state of the program it is important to indicate the extent to which programmers having its theory remain in charge of it. As a way in which to emphasize this circumstance one might extend the notion of program building by notions of program life, death, and revival. The building of the program is the same as the building of the theory of it by and in the team of programmers. During the program life a programmer team possessing its theory remains in active control of the program, and in particular retains control over all modifications. The death of a program happens when the programmer team possessing its theory is dissolved. A dead program may continue to be used for execution in a computer and to produce useful results. The actual state of death becomes visible when demands for modifications of the program cannot be intelligently answered. Revival of a program is the rebuilding of its theory by a new programmer team.

The extended life of a program according to these notions depends on the taking over by new generations of programmers of the theory of the program. For a new programmer to come to possess an existing theory of a program it is insufficient that he or she has the opportunity to become familiar with the program text and other documentation. What is required is that the new programmer has the opportunity to work in close contact with the programmers who already possess the theory, so as to be able to become familiar with the place of the program in the wider context of the relevant real world situations and so as to acquire the knowledge of how the program works and how unusual program reactions and program modifications are handled within the program theory. This problem of education of new programmers in an existing theory of a program is quite similar to that of the educational problem of other activities where the knowledge of how to do certain things dominates over the knowledge that certain things are the case, such as writing and playing a music instrument. The most important educational activity is the student’s doing the relevant things under suitable supervision and guidance. In the case of programming the activity should include discussions of the relation between the program and the relevant aspects and activities of the real world, and of the limits set on the real world matters dealt with by the program.

A very important consequence of the Theory Building View is that program revival, that is reestablishing the theory of a program merely from the documentation, is strictly impossible. Lest this consequence may seem unreasonable it may be noted that the need for revival of an entirely dead program probably will rarely arise, since it is hardly conceivable that the revival would be assigned to new programmers without at least some knowledge of the theory had by the original team. Even so the Theory Building View suggests strongly that program revival should only be attempted in exceptional situations and with full awareness that it is at best costly, and may lead to a revived theory that differs from the one originally had by the program authors and so may contain discrepancies with the program text.

In preference to program revival, the Theory Building View suggests, the existing program text should be discarded and the new–formed programmer team should be given the opportunity to solve the given problem afresh. Such a procedure is more likely to produce a viable program than program revival, and at no higher, and possibly lower, cost. The point is that building a theory to fit and support an existing program text is a difficult, frustrating, and time consuming activity. The new programmer is likely to feel torn between loyalty to the existing program text, with whatever obscurities and weaknesses it may contain, and the new theory that he or she has to build up, and which, for better or worse, most likely will differ from the original theory behind the program text.

Similar problems are likely to arise even when a program is kept continuously alive by an evolving team of programmers, as a result of the differences of competence and background experience of the individual programmers, particularly as the team is being kept operational by inevitable replacements of the individual members.

Method and Theory Building

Recent years has seen much interest in programming methods. In the present section some comments will be made on the relation between the Theory Building View and the notions behind programming methods.

To begin with, what is a programming method? This is not always made clear, even by authors who recommend a particular method. Here a programming method will be taken to be a set of work rules for programmers, telling what kind of things the programmers should do, in what order, which notations or languages to use, and what kinds of documents to produce at various stages.

In comparing this notion of method with the Theory Building View of programming, the most important issue is that of actions or operations and their ordering. A method implies a claim that program development can and should proceed as a sequence of actions of certain kinds, each action leading to a particular kind of documented result. In building the theory there can be no particular sequence of actions, for the reason that a theory held by a person has no inherent division into parts and no inherent ordering. Rather, the person possessing a theory will be able to produce presentations of various sorts on the basis of it, in response to questions or demands.

As to the use of particular kinds of notation or formalization, again this can only be a secondary issue since the primary item, the theory, is not, and cannot be, expressed, and so no question of the form of its expression arises.

It follows that on the Theory Building View, for the primary activity of the programming there can be no right method.

This conclusion may seem to conflict with established opinion, in several ways, and might thus be taken to be an argument against the Theory Building View. Two such apparent contradictions shall be taken up here, the first relating to the importance of method in the pursuit of science, the second concerning the success of methods as actually used in software development.

The first argument is that software development should be based on scientific manners, and so should employ procedures similar to scientific methods. The flaw of this argument is the assumption that there is such a thing as scientific method and that it is helpful to scientists. This question has been the subject of much debate in recent years, and the conclusion of such authors as Feyerabend, taking his illustrations from the history of physics, and Medawar, arguing as a biologist, is that the notion of scientific method as a set of guidelines for the practising scientist is mistaken.

This conclusion is not contradicted by such work as that of Polya on problem solving. This work takes its illustrations from the field of mathematics and leads to insight which is also highly relevant to programming. However, it cannot be claimed to present a method on which to proceed. Rather, it is a collection of suggestions aiming at stimulating the mental activity of the problem solver, by pointing out different modes of work that may be applied in any sequence.

The second argument that may seem to contradict the dismissal of method of the Theory Building View is that the use of particular methods has been successful, according to published reports. To this argument it may be answered that a methodically satisfactory study of the efficacy of programming methods so far never seems to have been made. Such a study would have to employ the well established technique of controlled experiments (cf. Brooks, 1980 or Moher and Schneider, 1982). The lack of such studies is explainable partly by the high cost that would undoubtedly be incurred in such investigations if the results were to be significant, partly by the problems of establishing in an operational fashion the concepts underlying what is called methods in the field of program development. Most published reports on such methods merely describe and recommend certain techniques and procedures, without establishing their usefulness or efficacy in any systematic way. An elaborate study of five different methods by C. Floyd and several co–workers concludes that the notion of methods as systems of rules that in an arbitrary context and mechanically will lead to good solutions is an illusion. What remains is the effect of methods in the education of programmers. This conclusion is entirely compatible with the Theory Building View of programming. Indeed, on this view the quality of the theory built by the programmer will depend to a large extent on the programmer’s familiarity with model solutions of typical problems, with techniques of description and verification, and with principles of structuring systems consisting of many parts in complicated interactions. Thus many of the items of concern of methods are relevant to theory building. Where the Theory Building View departs from that of the methodologists is on the question of which techniques to use and in what order. On the Theory Building View this must remain entirely a matter for the programmer to decide, taking into account the actual problem to be solved.

Programmers’ Status and the Theory Building View

The areas where the consequences of the Theory Building View contrast most strikingly with those of the more prevalent current views are those of the programmers’ personal contribution to the activity and of the programmers’ proper status.

The contrast between the Theory Building View and the more prevalent view of the programmers’ personal contribution is apparent in much of the common discussion of programming. As just one example, consider the study of modifiability of large software systems by Oskarsson. This study gives extensive information on a considerable number of modifications in one release of a large commercial system. The description covers the background, substance, and implementation, of each modification, with particular attention to the manner in which the program changes are confined to particular program modules. However, there is no suggestion whatsoever that the implementation of the modifications might depend on the background of the 500 programmers employed on the project, such as the length of time they have been working on it, and there is no indication of the manner in which the design decisions are distributed among the 500 programmers. Even so the significance of an underlying theory is admitted indirectly in statements such as that ‘decisions were implemented in the wrong block’ and in a reference to ‘a philosophy of AXE’. However, by the manner in which the study is conducted these admissions can only remain isolated indications.

More generally, much current discussion of programming seems to assume that programming is similar to industrial production, the programmer being regarded as a component of that production, a component that has to be controlled by rules of procedure and which can be replaced easily. Another related view is that human beings perform best if they act like machines, by following rules, with a consequent stress on formal modes of expression, which make it possible to formulate certain arguments in terms of rules of formal manipulation. Such views agree well with the notion, seemingly common among persons working with computers, that the human mind works like a computer. At the level of industrial management these views support treating programmers as workers of fairly low responsibility, and only brief education.

On the Theory Building View the primary result of the programming activity is the theory held by the programmers. Since this theory by its very nature is part of the mental possession of each programmer, it follows that the notion of the programmer as an easily replaceable component in the program production activity has to be abandoned. Instead the programmer must be regarded as a responsible developer and manager of the activity in which the computer is a part. In order to fill this position he or she must be given a permanent position, of a status similar to that of other professionals, such as engineers and lawyers, whose active contributions as employers of enterprises rest on their intellectual proficiency.

The raising of the status of programmers suggested by the Theory Building View will have to be supported by a corresponding reorientation of the programmer education. While skills such as the mastery of notations, data representations, and data processes, remain important, the primary emphasis would have to turn in the direction of furthering the understanding and talent for theory formation. To what extent this can be taught at all must remain an open question. The most hopeful approach would be to have the student work on concrete problems under guidance, in an active and constructive environment.

Conclusions

Accepting program modifications demanded by changing external circumstances to be an essential part of programming, it is argued that the primary aim of programming is to have the programmers build a theory of the way the matters at hand may be supported by the execution of a program. Such a view leads to a notion of program life that depends on the continued support of the program by programmers having its theory. Further, on this view the notion of a programming method, understood as a set of rules of procedure


n5321 | 2025年8月16日 12:33

Computer Experiments in Fluid Dynamics

by Francis H. Harlow and Jacob E. Fromm

Lab. y. Scheepsbouwkunde
Technische Hogeschool Delft
MAART 1965
REPRINT UIT: SCIENTIFIC AMERICAN

The fundamental behavior of fluids has traditionally been studied in tanks and wind tunnels. The capacities of the modern computer make it possible to do subtler experiments on the computer alone.

The natural philosophers of ancient Greece liked to do experiments in their heads. Centuries later Galileo developed the "thought" experiment into a fruitful method of inquiry and in our own time the method appealed strongly to such men as Albert Einstein and Enrico Fermi. Now the arrival of the modern electronic computer has made the method immensely more powerful and versatile. The computer makes it possible to simulate nature with numerical models and to investigate it in ways that have never been practicable before. Physical processes of enormous complexity are being examined minutely and with considerable realism. New hypotheses are being proved true or false. In physics, engineering, economics and even anthropology the computer has become a revolutionary tool.

One of the great attractions of experiment by computer is that it can avoid some of the uncertainties of measurement. Moreover, it provides a technique that can be classed as both theoretical and experimental. It is theoretical because it deals with abstract (that is, mathematical) statements of how things relate to one another. It is experimental because the computer is given only data specifying the initial state of a system and a set of rules for calculating its state at some time in the future. The computer worker has no more idea how this future state will unfold than has the traditional worker who conducts a comparable experiment in an actual laboratory.

To demonstrate the power of computer experiments we have chosen a single example involving the dynamic behavior of fluids. The particular experiment is a study of the flow of air past a rectangular rod.

At first thought the use of a computer for calculating this flow may seem to be a needlessly roundabout procedure. Would it not be simpler and more enlightening to put the rod in a wind tunnel and observe how air containing filaments of smoke flows around it? Actually it would not. For many of the questions to be investigated the physical experiment would be more complicated and costly, and it would not provide as much information as the experiment by computer.

For an example one can point to the problem of redesigning the Tacoma Narrows Bridge after it had been shaken to pieces by wind-induced vibrations soon after it was built. For the rebuilding of the bridge many elaborate models were made and tested again and again before a safe design was finally developed. Without doubt much of the cost and time spent on the problem could have been saved by computer calculations if the computers and appropriate numerical techniques had then been available. Experiments with numerical models can show the interaction of winds and a bridge in detail and produce answers in far less time than it takes to prepare a physical experiment.

The Soviet physicist A. A. Dorodnitsyn has remarked about such problems that computer calculation "can give a solution that is not only more rapid and cheaper but also more accurate" than the physical experiment itself.

Experimentation by computer also allows the investigation of many phenomena that are either inaccessible to direct study or involve factors that cannot be measured accurately. In the flow problem that we shall discuss, for example, it is difficult to measure directly in a wind tunnel the temperature distribution in the complicated downstream wake. Computer experiments, however, can yield a reliable description of the temperature distribution.

Another benefit of a computer experiment is that it usually affords far better control of the experimental conditions than is possible in a physical experiment. In wind tunnel studies, for instance, the experimenter must modify his interpretations to include the consideration of such effects as those due to the compressibility of the working fluid, variations in fluid viscosity and uncertainties in flow velocity. In a computer experiment such properties often can be excluded or included at will. Moreover, the computer program can isolate crucial features for examination, can eliminate irrelevant factors and can often assess the experimental uncertainties.

Finally, and most importantly, experiments by computer provide a test of the applicability of theory to the complicated phenomena under investigation. Do the equations of fluid dynamics really represent the correct theoretical description when applied to phenomena as complicated, say, as the oscillatory flow that develops in the wake of a retreating rectangular rod? For such problems the mathematician would like to obtain what he calls an analytical solution—the kind of exact solution that can be obtained by the processes of mathematical analysis. For problems in fluid dynamics, however, the necessary mathematical techniques for obtaining the complete solution have not yet been developed. The detailed results provided by a computer can actually help in the development of analytical solutions to the basic equations of fluid dynamics. Usually in the mathematical model of a complex problem some of the factors can only be approximated, and obtaining a realistic solution depends on finding out which features are crucial for a reasonable representation. With the help of computer experiments one tries to discover workable approximations that will simplify the mathematics needed to solve complicated problems—in this case a problem in oscillatory fluid flow.

The reader will find the "computer wind tunnel" experiment easier to follow if we consider briefly how a fluid behaves when it flows around a fixed object such as a rectangular rod.

At low speed the airflow is smooth and steady, a condition described as laminar flow. At a certain critical speed, which depends on the size of the rod, the laminar flow breaks down. For a rod one inch in height the critical speed in air is about one inch per second; the smaller the rod, the higher the speed at which turbulence begins. If the fluid is more viscous than air, laminar flow is more easily maintained and the critical speed for turbulence becomes higher.

Above the critical speed the airstream breaks up into vortices that are similar to the small whirlpools seen when a cup of coffee is stirred. These vortices are shed alternately from the top and bottom of the object placed in the airstream. This oscillating wake was first extensively studied by the aerodynamicist Theodor von Kármán and is known as a "von Kármán vortex street."

The oscillating wake sends out pulses that react back on the object itself. The vibration so produced is responsible for the sound made by a golf club swung rapidly through the air and for the whine of a ship's rigging in the wind. It was resonant vibration produced by the wind that caused the Tacoma Narrows Bridge to break and fall into the bay.

As the air speed increases, the vortices in the vortex street become more and more ragged and eventually break up into tiny eddies whose motion is almost entirely random. At this stage fully developed turbulence has been reached.

The known patterns of air motion past an object, then, give us certain definite phenomena to look for in the computer experiments. If the computer reproduces a vortex street and, at a later stage, turbulence, it will show that the theoretical understanding of fluid dynamics is accurate and therefore can be relied on to predict what will happen when a fluid flows past objects of various shapes and at various speeds.

To set up the calculational experiment we must first translate the physical situation into the language of numbers for the computer. For bookkeeping purposes the experimental area in the computer wind tunnel is divided into many square cells, which form the basic computing mesh. A typical mesh requires at least 49 cells in the direction of horizontal flow and 24 cells in the vertical dimension, for a total of 1,176 cells. Each cell must contain two numbers representing the components of average air velocity in two directions, together with other numbers representing such variable quantities as "vorticity," "stream function" and, if heat flow is desired, temperature as well. Finally, the computer must be supplied with a set of operating instructions, or "code," that spells out in detail exactly how the computer must manipulate every number in every cell in order to calculate how the flow configuration will change from instant to instant. It can require billions of mathematical operations and anywhere from a few minutes to a few hours of computing time to carry out the calculations needed to represent the flow of air for a time interval of several minutes. In our studies we have used either an IBM 704 or the somewhat faster machine, also built by the International Business Machines Corporation, known as Stretch.

The actual development of a successful code is a time-consuming process and is carried out in three steps. The first involves the testing of detailed numerical methods and is strewn with pitfalls. It is no trick, for example, to invent methods that develop numerical instability: the computer results rapidly run askew and lead to complete nonsense. Like physical experiments, computer experiments are also subject to interference by gremlins. Just as the vibration of a motor may produce extraneous turbulence in a wind tunnel, so the numerical approximations fed into a computer may lead to equally unwanted "truncation turbulence."

The second step is to prepare a full-scale code. For our problem in fluid dynamics this required many months, most of them consumed by "debugging," or ferreting out errors in the step-by-step instructions. Such a code is written with sufficient generality so that it can be used to solve a wide variety of roughly similar problems. Thus a good code can be used for years and will often be a source of inspiration for workers in other laboratories.

The third step is to formulate the code in terms of a specific problem. In our oscillating-wake study an important part of the formulation was to determine the "initial" and "boundary" conditions. The initial condition describes the state of the air as turbulence progressively increases (four steps from left to right). In this experiment computational particles are introduced through a single cell (horizontal streaks), as though squirting a jet of colored water into a clear tank. The jet of air is unstable and soon breaks into expanding, irregular vortices like those exhibited by a plume of smoke. Similar but far more complex experiments can be used to test theories about aircraft jet engine noise suppression.

We could have assumed, for example, that the air was at rest, corresponding to the condition in a real wind tunnel before the fan is turned on. We found that it was simpler, however, to start with the fluid behaving as if it were flowing past the rod in a simple laminar manner without viscosity.

The boundary conditions refer to what is happening at the edges of the computational mesh. Our decision was to have the top and bottom edges represent the walls of the wind tunnel and to have the left edge represent an air input of uniform flow. The right edge gave us more trouble, but we finally arranged for the fluid to flow out and back into the computing region in a way that created a minimum of mathematical disturbance.

The computing process itself can be compared to the making of a motion picture. Starting with the initial conditions prescribed for each of the 1,176 cells in "frame" No. 1, the computer follows the coded instructions to determine the conditions in each cell a brief instant of time later, thereby producing frame No. 2 of the film. Each successive frame is similarly generated on the basis of numerical data computed for the preceding frame. The fastest computer available to us, Stretch, can generate about 10 frames a minute. When the calculation has proceeded far enough, the results are gathered up for study.

The computer's results can be presented in any of several different forms. One form of print-out consists of all the numbers describing the flow in each frame. Usually this form of print-out is restricted to samplings taken at selected intervals, because the complete data for every one of the hundreds or thousands of cycles in an experiment would be far too much for an analyst to digest, to say nothing of storing the reams of paper. Sometimes the computer is programmed to print certain calculations that supply particular points of information, such as the amount of air drag caused by the obstacle at specific wind speeds. The most useful and popular type of print-out, however, is the actual plotting of the flow in pictorial form.

The computer itself can generate plots of the flow configurations and put them on film by means of a microfilm recorder. Several selected frames from such recordings, exactly as they came from the computer, are among the illustrations on this page and preceding pages of this article. The sequence of all the frames of an experiment, combined in a film strip and run through a motion picture projector, gives a very vivid picture of the development of vortices and other features as a fluid flows around an obstacle.

From the numbers describing the flow in each cell of the computing mesh, the computer generates streamlines that show both the direction and the speed of flow throughout the space. The speed is indicated by the spacing between the streamlines: where the lines are close together the flow is fast; where they are farther apart the flow is slower. The computer can show the streamline patterns in either of two ways: as if a camera were photographing a stream of air flowing past it or as if the camera were moving along with the stream. The latter view shows the pattern of vortices in clear detail.

The computer can even simulate the motion of markers often used to make flow visible, such as filaments of smoke in air or of dye in water. In the computer the markers consist of "computational particles." At certain desired points in the computation these particles are thrown in (the magic of the computer allows their creation anywhere at will) and thereafter they are carried along wherever the flow of air goes. Their paths of motion produce lines called streak lines. The streak lines generated by the computer give a remarkably faithful impression of the behavior of smoke or dye filaments. Perhaps the most striking of these computer constructions is the configuration of streak lines emerging from a jet: it looks like a filament of cigarette smoke.

Usually the computer is programmed to furnish several different configuration plots, showing features of the flow from various points of view. These are by no means merely an interesting album of pictures. They show the qualitative features of the development of the flow and provide precise quantitative information about the flow at every point. In many cases the computer reveals important details that would be extremely difficult to obtain from physical experiments.

The example we have described of a computer technique for investigating fluid flow is only one of many successful efforts that have been made to carry out complex experiments by computer. Other workers have used computers to tell in detail what is going on inside a nuclear reactor and to assess in an instant the progress of a rocket soaring into space. Tomorrow the computer may give accurate forecasts of the weather, of the future of the economy and of the state of man's health.


n5321 | 2025年8月9日 21:01

中国有限元

用计算数学解决工程问题通常有4个步骤:建立数学模型、设计算法、编程实现、上机计算。很长一段时间,研究人员被“卡”在计算方法上。


究竟什么是有限元?冯康曾有过形象的比喻:“分整为零、裁弯取直、以简驭繁、化难为易。”
有限元方法可谓一种特殊的“拼图游戏”:为了解决一个复杂的大问题,例如一个大型建筑的结构分析,先把它拆解成许多小块,这些小块的“拼图碎片”就是“有限元”;然后逐一分析每个“有限元”,分别建立方程;最后将它们组合成方程组并求解,最终解决问题。
实际上,我国古代“曹冲称象”的典故、数学家刘徽采用割圆法计算圆周长,就是有限元思想的具体体现。

在黄河上游,大河穿越深邃峡谷,水声如雄狮怒吼,汹涌澎湃。行至两千余里,大河骤转九十度弯,转而向西,壮美无匹。

转弯处,就是我国首座百万千瓦级水电站——刘家峡水电站,其主体构筑物为我国建造的首座超百米的混凝土高坝。然而,鲜为人知的是,刘家峡水电站建成的背后有一批中国计算数学家。他们面对国家急迫需求,夜以继日为大坝设计和建造奋战,助推水电站如期完工。

上世纪五六十年代,以冯康(1980年当选中国科学院院士)为代表的中国科学院计算数学家们在大坝计算中获得启示,独立于西方创立了有限元方法数学理论,开创了科学与工程计算方法和理论的新领域。

时至今日,有限元方法已成为研发设计类工业软件的核心技术之一。桥隧大坝、飞机船舶、手机芯片……一个个复杂事物的诞生,都离不开有限元方法的支持。

如今,中国科学院数学与系统科学研究院(以下简称数学院)的一群年轻人,正站在先辈的肩膀上,努力构建新一代基础工业软件计算内核,启航新型工业化征程。

1 萌芽:援手刘家峡

1958年,甘肃,黄河上游。

作为一项国家重大工程,百万千瓦级刘家峡水电站开工,其主体结构是一座超百米的大型混凝土坝。我国自主设计、施工、建造如此巨大的水电工程,还是第一次。如果顺利建成,奔涌的黄河水将在这里“歇脚”,实现发电、灌溉和防洪,造福一方百姓。

工程难度之大超乎想象,设计和建设方法都与以往不同。大坝工程进展缓慢,在1961年甚至一度停工。

最初承担水坝工程计算攻关任务的,是1956年从中国科学院原数学研究所分出去成立的中国科学院计算技术研究所三室(现数学院计算数学与科学工程计算研究所的前身,以下简称三室)二组的黄鸿慈等人,冯康提供业务指导。黄鸿慈和同事们编写的计算程序质量非常高,为大坝计算奠定了坚实基础。

1963年2月,农历新年刚过,寒冷依旧,刘家峡大坝设计组副组长朱昭钧风尘仆仆地来到北京求助,希望科研人员帮助解决大坝应力计算问题。冯康等三室领导经过慎重考虑,把任务交给了崔俊芝。那一年,崔俊芝25岁,刚从西北工业大学毕业工作一年,与黄鸿慈、石钟慈等人在一个办公室。

用计算数学解决工程问题通常有4个步骤:建立数学模型、设计算法、编程实现、上机计算。很长一段时间,研究人员被“卡”在计算方法上。

“对方了解工程上的试荷载方法,交给我的任务是求解由此推导出的40阶线性方程组,从而验证该方法的正确性。”1995年当选中国工程院院士的崔俊芝研究员,在当时费尽九牛二虎之力,反复验算后发现,该方法得到的线性方程组系数矩阵近乎是奇异矩阵,难以数值求解。他还尝试了黄鸿慈研发的应力函数法程序等方法,都难以得到令工程师满意的应力场计算结果。

造成这一困难的主要原因之一是当时的算力不够。崔俊芝回忆,当时我国两台最早的计算机——“103”机、“104”机相继诞生不久。他需要在字长39位、容量4K、运算速度每秒一万次、内存仅2048个全字长磁芯体的“104”机上,求解超过1000个未知数的离散方程。

而刘家峡大坝的工程师们把最后的希望寄托在了中国科学院的科研人员身上,恳求他们“无论如何要想想办法”。

“无法满足用户要求的时候,就应该另辟新路了。我们开始寻找新的方法。”崔俊芝说。

冯康(左)与崔俊芝。

2 转机:合力渡难关

上世纪60年代初,为响应“向科学进军”的号召,中国科学院提出“任务带学科”科研模式,即以完成国家重大需求任务为目标,开展系统研究,解决国家发展中遇到的科学问题。

重任在肩,精确计算大坝应力场,满足工程师的要求,成为了三室的主要任务。

转机来自冯康推荐的一篇文章和一本书。

崔俊芝至今还记得,当年,冯康在一场报告上提到普拉格、辛格1947年发表于美国《应用数学季刊》的论文,讲述把微分方程写成变分形式,用变分的原理推导差分格式,这对水坝计算有所启发。“冯先生实际是在播撒有限元方法的种子,那次报告拉开了三室‘系统性研究’的序幕。”崔俊芝说。

与此同时,冯康倡导成立了第七研究组,即理论组,黄鸿慈任组长。冯康给黄鸿慈推荐了福赛思、沃索合著的《偏微分方程的差分方法》,书中着重讲了3类偏微分方程的数值方法,给黄鸿慈提供了重要启发。

在冯康的筹划下,“水坝计算”小组分为3支小队,分别从变分法、积分守恒法、去掉坝体基础的角度开展研究。

崔俊芝在“积分守恒法”小队,该方法从平衡方程出发,把应力与应变关系带进拉梅方程进行计算。经过一段时间复杂而又艰难的计算,他们在1964年春节前得出第一批计算结果。验证了格式、解法和程序的正确性后,崔俊芝很快为刘家峡大坝计算出应力场,经朱昭钧等验算,应力基本平衡,结果比较满意,但在坝踵和坝趾附近误差仍然较大,应力场的精度还不够。

崔俊芝全力以赴编写了我国第一个平面弹性问题有限元方法计算程序,顺利计算出令设计者满意的应力场。

那个年代,科研人员编写程序十分困难。“104”机没有操作系统、编译系统、数据管理和进程管理等系统软件,所有程序都需自己使用机器指令直接编写出代码串式的程序,包括输入数据和打印结果。

在只有2048个存储单元的内存空间,崔俊芝要求解约1000阶代数方程组。他需要先扣除约500个存储单元存放程序,在剩余约1500个存储单元的限制下求解。这必须精打细算、精心设计迭代算法。

经过夜以继日的调试、查错、修改、验算,崔俊芝利用自主编写的有限元程序,终于为刘家峡设计组计算出十多组方案及其工况作用下的应力场。

1964年5月中旬,“刘家峡计算任务汇报会”召开。朱昭钧及其同事、黄鸿慈等参加了会议,崔俊芝汇报了计算任务完成情况,朱昭钧对此给予了很高评价。

1966年10月,胜利的消息从高原传来,万马奔腾般奔流而来的黄河被巍峨的大坝拦腰截住,“锁”在峡谷之中,平静而缓和。从此,刘家峡水电站成为了亮丽的“高原明珠”。

刘家峡大坝建设成功后,中央发出明码电报,表彰科研人员为刘家峡工程所作出的突出贡献。

“冯先生总是高瞻远瞩,引领着计算数学及其应用研究的发展。”崔俊芝说。

1978年10月,冯康(中)与黄鸿慈、数学院研究员张关泉合影。

3 首创:独立于西方

冯康一直是计算数学团队的实际学术指导和领路人。因为冯康,有限元的“种子”从刘家峡大坝的土壤中生根发芽,成为世界级学术成果。

究竟什么是有限元?冯康曾有过形象的比喻:“分整为零、裁弯取直、以简驭繁、化难为易。”

有限元方法可谓一种特殊的“拼图游戏”:为了解决一个复杂的大问题,例如一个大型建筑的结构分析,先把它拆解成许多小块,这些小块的“拼图碎片”就是“有限元”;然后逐一分析每个“有限元”,分别建立方程;最后将它们组合成方程组并求解,最终解决问题。

实际上,我国古代“曹冲称象”的典故、数学家刘徽采用割圆法计算圆周长,就是有限元思想的具体体现。

1943年,著名数学家柯朗发表了世界上第一篇具有有限元思想的论文,只是由于当时计算机尚未出现,该文章未引发应有的关注。

20余年后,随着航空事业的快速发展,复杂的结构分析问题对计算方法提出了更高要求。计算机的出现,使大量复杂的有限元计算得以实现。美国波音公司工程师特纳、陶普和土木工程教授克劳夫、航空工程教授马丁合作,在航空科技领域的期刊上发表了一篇采用有限元技术计算飞机机翼强度的论文。学界一般认为,这是工程学界有限元方法的开端。

有限元方法于1960年由克劳夫在美国土木工程学会计算机会议上第一次正式提出。他发表的一篇处理平面弹性问题的论文,将应用范围扩展到飞机以外的土木工程。

但当时的中国与西方隔绝,中国数学家难以了解有限元方法的发展前沿。

“西方的有限元方法是作为结构工程的分析方法而提出的,在中国则是从数学发展而来,中国和西方沿着不同方向独立发展出有限元方法。”崔俊芝说。

冯康于1965年在《应用数学与计算数学》发表论文《基于变分原理的差分格式》,这是一套求解偏微分方程的数值算法,也是著名的有限元方法。

事实上,后来任香港浸会大学教授的黄鸿慈,1963年发表了中国第一篇包含有限元思想的文章。但他在多个场合提到:“我的文章已包含了证明中最重要的原理,冯先生则是在最广泛的条件下得出最一般的结论,这只有在高深的数学基础上才能做到,因而也具有更高层次的开创性,西方在1969年以后才得出了类似结果。”“如果有限元方法不是像数学家这样处理,其应用就大受限制,就不能形成今天这样在理论上、应用上被如此广泛重视的局面。”

《基于变分原理的差分格式》既是冯康的传世之作,也是中国学者独立于西方创立有限元方法理论的标志。

改革开放后,冯康的论文被译成英文,被世界知晓。原美国总统科学顾问、纽约大学柯朗数学研究所所长拉克斯在纪念冯康的文章中特别指出,冯康“独立于西方国家在应用数学方面的发展,创造了有限元方法理论……在方法的实现及理论基础的创立两方面都作出了重要贡献”。

著名数学家丘成桐曾在1998年指出:“中国近代数学能超越西方或与之并驾齐驱的有3个,陈省身的示性类、华罗庚的多复变函数和冯康的有限元计算。”巴布斯卡、利翁斯等国际知名数学家在相关文章中也都给予了高度评价。

类似的评价很快得到许多国际同行的认同。这篇传世之作犹如暗夜里的一束火光,指引、温暖着那群30多岁的年轻人。

位于北京中关村南街的三室很快热闹起来,信函和来访络绎不绝。为全面介绍有限元方法,冯康、崔俊芝等人创办了讲习班,近300人参加,其中不乏知名学者。崔俊芝回忆,讲习班影响很大,对促进有限元方法在中国的推广和应用发挥了很大作用。

1982年,冯康、黄鸿慈、王荩贤、崔俊芝因独立于西方创立有限元方法获得国家自然科学奖二等奖。

冯康(右一)在学术报告会上。

4 传承:突围工业软件内核

如今,距离中国科学院计算数学团队完成刘家峡计算任务已过去60年了。那段历史多次被计算数学家们提起,他们不断思考:为什么是冯康独立于西方开创了有限元方法?如何传承老一辈科学家的精神?

崔俊芝这样解释为什么冯康能成功:“他拥有深厚的跨学科知识、多学科综合交叉思维的学术思想;不仅能深刻认识科学与工程问题的物理模型,洞察解决问题的可行路径,还能统观不同科学与工程问题的内涵,以高度抽象和严格的数学形式表述它们;再加上他全身心地投入科学研究,具有不达目标决不罢休的献身精神,这些使得他一个接一个地做出了国际首创的研究成果。”

冯康于1993年逝世,年轻人虽未能有机会当面聆听其教诲,但早已对冯康及刘家峡计算的故事耳熟能详,并从中汲取着强劲的精神动力。

随着计算机的迅猛发展,基于有限元方法的软件已经成为辅助现代工程和装备研发的主要软件——计算机辅助工程CAE的核心。CAE 软件可对工程和装备的功能、性能与安全可靠性进行计算分析,对未来工程和装备进行模拟仿真,证实其可用性与可靠性。

CAE与计算机辅助设计(CAD)、计算机辅助制造(CAM) 组合简称为CAX,是现代工业的基石、智能制造的灵魂,是我国成为制造强国的基础性战略支撑。

2023年7月,在中国科学院战略性先导科技专项支持下,数学院成立了基础软件研究中心,围绕工业软件CAX一体化的计算方法和数学理论,向关键科学问题发起冲击。

数学院年轻的研究员崔涛、贾晓红等组成“冯康CAX科技攻关青年突击队”,承袭先辈的衣钵,构建新一代具有中国自主知识产权的CAX基础工业软件的数学内核。

基础软件研究中心让平均年龄不超过40岁的年轻人担当重任,考核标准也不再是发多少论文,而是产出“实在、能用”的算法和软件。

这并不是一条坦途。但在新一代年轻人看来,“路虽远,行则将至;事虽难,做则必成”。

冯康领衔开创的有限元方法,正孕育新的开创性、引领性成果,迸发出崭新的、无限的可能。

2024年1月,CAX一体化算法开发验证平台发布。数学院供图


n5321 | 2025年7月31日 23:53

Thirty years of development and application of CFD at Boeing Commercial Airplanes,

2004年发布的波音公司CFD应用30年。

1973到2004.波音搞了数千亿美金的飞机。30年里,波音的工程师所使用的工具必须具备准确预测和确认飞机的飞行特性的能力。在1973年以前,这些工具由解析近似法、风洞试验和飞行测试组成。但是这三十年里,波音用的CFD。

这篇短文讲的是波音的西雅图采购,开发,应用CFD的情况。

介绍

1973 年,波音商用估计有 100 到 200 次的CFD分析。2002年,超过了2W次。这2W次案例涉及的情况也更为复杂。为什么?原因:

  1. 现在人们承认 CFD 具有巨大的价值,并在飞行器设计、分析和支持流程中带来了范式转变;

  2. 波音公司的 CFD 工作由强大而有能力的远见卓识者 Paul Rubbert 博士领导,他招募并得到了许多才华横溢的管理人员和技术人员的支持;

  3. CFD 工作非常多样化,涉及算法研究、代码开发、应用和验证研究、流程改进和用户支持;

  4. 波音公司开发了广泛的产品线,并得到了许多富有创新精神和严格要求的项目工程师的支持;

  5. 计算能力和可负担性提高了三到四个数量级;

  6. 学术界和政府中的众多先驱者继续在算法上取得突破;

  7. 波音公司和政府中的资金经理不反对承担风险。

The role and value of CFD

工程师的目的:预测和确认飞行特性。方式:解析,风洞测试,飞行测试。新方式CFD—— 用数值算法进行仿真分析。CFD 的价值是它以低成本进行少量模拟就能获得完成设计所需的“理解”。具体说,CFD 可用于“逆向设计”或优化模式,预测优化某些流动特性或收益函数(例如阻力)所需的几何形状变化。可以对实验数据(通常通过在风洞中测试飞行器的缩比模型)进行分析,扩展数据,获取准确的飞机的特性。还可以帮工程师找到设计失效问题的根源。

Effective use of CFD is a key ingredient in the successful design of modern commercial aircraft.

有效运用 CFD 是波音成功设计飞机的一项关键因素

聪明、普遍且谨慎地使用 CFD 是波音产品开发的主要战略。Experience to date at Boeing Commercial Airplanes has shown that CFD has had its greatest effect in the aerodynamic design of the high-speed cruise configuration of a transport aircraft.

经验表明CFD) 在波音的飞机设计中发挥了至关重要的作用。过去 20 年使用 CFD 搞飞机开发波音公司节省了数千万美元。数千万美元好像不菲,但它们只是 CFD 为波音创造的价值的一小部分。大头是使用CFD以后为飞机增加附加值。Value to the airline customer is what sells airplanes!

Value is added to the airplane product by achieving design solutions that are otherwise unreachable during the fast-paced development of a new airplane. Value is added by shortening the design development process. Time to market is critical in the commercial world, particularly when starting after a competitor has committed a similar product to market. Very important in the commercial world is getting it right the first time. No prototypes are built. From first flight to revenue service is frequently less than one year! Any deficiencies discovered during flight test must be rectified sufficiently for government certification and acceptance by the airline customer based on a schedule set years before. Any delays in meeting this schedule may result in substantial penalties and jeopardize future market success. The added value to the airplane product will produce increased sales and may even open up completely new markets. The result is more profit to both the buyer and seller (who does not have to discount the product as much to make the sale). All this translates into greater market share.

商业价值详解见上。

CFD 开发和应用过程

In industry, CFD has no value of its own. The only way CFD can deliver value is for it to affect the product. CFD必须成为产品设计、制造和支持工程流程中不可或缺的一部分 。it must get into the hands of the engineers who execute these processes. 理想

The CFD developers and ‘‘expert’’ users can certainly contribute, but are only a part of the engineering process.

将 CFD 投入“生产”并非易事——这通常是一个耗时多年的过程。

CFD 开发流程分为五个不同的阶段

  1. 第一阶段旨在开发使能技术算法,为解决特定问题提供基本方法。

  2. 第二阶段是对新计算技术的初步探索、验证和演示。(demo)主要输出是演示代码(可用于计算实验和演示),并结合对实际需求的设想。

  3. 第三阶段旨在提供该设想的实质内容,通常需要对第二阶段的代码进行泛化或其他修改(可能是完全重写),并结合前后端界面,以生成用户友好、易于理解且易于维护的软件。They have yet to gain enough confidence to make important, standalone decisions based on the code. That takes time, exposure, and experience.

  4. 第四阶段涉及“应用研究”,设计工程师、管理人员和代码开发人员共同努力,研究这项新功能将如何融入并改变气动设计流程。软件落地

  5. 第五阶段:成熟的能力。代码通常需要相当长的时间才能达到第五阶段的成熟度

Forrester T. Johnson *, Edward N. Tinoco, N. Jong Yu

Received 1 June 2004; accepted 18 June 2004 Available online 26 February 2005

Abstract

Over the last 30 years, Boeing has developed, manufactured, sold, and supported hundreds of billions of dollars worth of commercial airplanes. During this period, it has been absolutely essential that Boeing aerodynamicists have access to tools that accurately predict and confirm vehicle flight characteristics. Thirty years ago, these tools consisted almost entirely of analytic approximation methods, wind tunnel tests, and flight tests. With the development of increasingly powerful computers, numerical simulations of various approximations to the Navier–Stokes equations began supplementing these tools. Collectively, these numerical simulation methods became known as Computational Fluid Dynamics (CFD). This paper describes the chronology and issues related to the acquisition, development, and use of CFD at Boeing Commercial Airplanes in Seattle. In particular, it describes the evolution of CFD from a curiosity to a full partner with established tools in the design of cost-effective and high-performing commercial transports.


Contents

  1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116

  2. The role and value of CFD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117

  1. The CFD development and application process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1120

  2. Chronology of CFD capability and use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124 4.1. Linear potential flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125 4.1.1. First generation methods––early codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1125 4.1.2. First generation methods––TA230 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1126 4.1.3. Second generation linear potential flow method––PANAIR/A502 . . . . . . . . . . . . . . . . . 1128 4.2. Full potential/coupled boundary layer methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131 4.2.1. A488/A411 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1131 4.2.2. TRANAIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1132 4.2.3. BLWF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137 4.3. Euler/coupled boundary layer methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1138 4.4. Navier–Stokes methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139 4.4.1. Structure grid codes––Zeus TLNS3D/CFL3D, OVERFLOW . . . . . . . . . . . . . . . . . . . . . . 1139 4.4.2. Unstructured grid codes––Fluent, NSU2D/3D, CFD++ . . . . . . . . . . . . . . . . . . . . . . . 1142 4.4.3. Other Navier–Stokes codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 4.4.4. Next generation Navier–Stokes codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143 4.5. Design and optimization methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 4.5.1. A555, A619 inverse design codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145 4.5.2. TRANAIR optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1146

  3. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1148

  4. Introduction

In 1973, an estimated 100–200 computer runs simulating flows about vehicles were made at Boeing Commercial Airplanes, Seattle. In 2002, more than 20,000 CFD cases were run to completion. Moreover, these cases involved physics and geometries of far greater complexity. Many factors were responsible for such a dramatic increase: (1) CFD is now acknowledged to provide substantial value and has created a paradigm shift in the vehicle design, analysis, and support processes; (2) the CFD effort at Boeing was led by a strong and capable visionary, Dr. Paul Rubbert, who recruited and was supported by the services of a number of talented managers and technical people; (3) this CFD effort was well diversified, involving algorithm research, code development, application and validation studies, process improvement, and user support; (4) Boeing developed a broad line of products, supported by a number of innovative and demanding project engineers; (5) computing power and affordability improved by three to four orders of magnitude; (6) numerous pioneers in academia and the Government continued to make algorithmic breakthroughs; and (7) there were funding managers in Boeing and the Government who were not averse to taking risks.

It would be impossible to adequately address all these factors in this short paper. Consequently, we will concentrate on issues that were central to the efforts of the authors, who have been members of the CFD Development and Applications groups at Boeing, Seattle for more than 30 years. In Section 2, we describe the role and value of CFD as it has evolved over the last 30 years and as it may possibly evolve in the future. In Section 3, we describe the CFD development and application processes. In Section 4, we lay out a brief history of the codes and methods that were most heavily used at Boeing, Seattle, as well as some of the issues that lay behind their development. In Section 5, we draw some brief conclusions.

Finally, we note that CFD has had a long and distinguished history in many other parts of the Boeing Enterprise. That history would best be related by those intimately involved.

  1. The role and value of CFD

The application of CFD today has revolutionized the process of aerodynamic design. CFD has joined the wind tunnel and flight test as primary tools of the trade [1–4]. Each has its strengths and limitations Because of the tremendous cost involved in flight testing, modern aircraft development must focus instead on the use of CFD and the wind tunnel. The wind tunnel has the advantage of dealing with a ‘‘real’’ fluid and can produce global data over a far greater range of the flight envelope than can CFD. It is best suited for validation and database building within acceptable limits of a development program's cost and schedule. Historically, CFD has been considered unsuited for such as task. However, the wind tunnel typically does not produce data at flight Reynolds number, is subject to significant wall and mounting system corrections, and is not well suited to provide flow details. The strength of CFD is its ability to inexpensively produce a small number of simulations leading to understanding necessary for design. Of great utility in this connection is the fact that CFD can be used in an ‘‘inverse design’’ or optimization mode, predicting the necessary geometry shape changes to optimize certain flow characteristics or a payoff function (e.g., drag). Beyond this, CFD is heavily used to provide corrections for the extrapolation of data acquired experimentally (typically from testing a reduced scale model of the vehicle in a wind tunnel) to conditions that characterize the full-scale flight vehicle. Finally, CFD is used to provide understanding and insight as to the source of undesirable flight characteristics, whether they are observed in subscale model testing or in the full-scale configuration.

Effective use of CFD is a key ingredient in the successful design of modern commercial aircraft. The combined pressures of market competitiveness, dedication to the highest of safety standards, and desire to remain a profitable business enterprise all contribute to make intelligent, extensive, and careful use of CFD a major strategy for product development at Boeing.

Experience to date at Boeing Commercial Airplanes has shown that CFD has had its greatest effect in the aerodynamic design of the high-speed cruise configuration of a transport aircraft. The advances in computing technology over the years have allowed CFD methods to affect the solution of problems of greater and greater relevance to aircraft design, as illustrated in Figs. 1 and 2. Use of these methods allowed a more thorough aerodynamic design earlier in the development process, permitting greater concentration on operational and safety-related features.

The 777, being a new design, allowed designers substantial freedom to exploit the advances in CFD and aerodynamics. High-speed cruise wing design and propulsion/airframe integration consumed the bulk of the CFD applications. Many other features of the aircraft design were influenced by CFD. For example, CFD was instrumental in design of the fuselage. Once the body diameter was settled, CFD was used to design the cab. No further changes were necessary as a result of wind tunnel testing. In fact, the need for wind tunnel testing in future cab design was eliminated. Here, CFD augmented wind tunnel testing for aft body and wing/body fairing shape design. In a similar fashion, CFD augmented wind tunnel testing for the design of the flap support fairings. The wind tunnel was used to assess the resulting drag characteristics. CFD was used to identify prime locations for static source, sideslip ports, and angle-of-attack vanes for the air data system. CFD was used for design of the environmental control system (ECS) inlet and exhaust ports and to plan an unusual wind tunnel evaluation of the inlet. The cabin (pressurization) outflow valves were positioned with CFD. Although still in its infancy with respect to high-lift design, CFD did provide insight to high-lift concepts and was used to assess planform effects. The bulk of the high-lift design work, however, was done in the wind tunnel [5]. Another collaboration between the wind tunnel and CFD involved the use of CFD to determine and refine the corrections applied to the experimental data due to the presence of the wind tunnel walls and model mounting system.

The Next Generation 737-700/600/800/900 (illustrated in Fig. 2), being a derivative of earlier 737s, presented a much more constrained design problem. Again the bulk of the CFD focused on cruise wing design and engine/airframe integration. Although the wing was new, its design was still constrained by the existing wing-body intersection and by the need to maintain manual control of the ailerons in case of a complete hydraulic failure. As with the 777, CFD was used in conjunction with the wind tunnel in the design of the wing-body fairing, modifications to the aft body, and design of the flap track fairings and the high-lift system.

Boeing Commercial Airplanes has leveraged academia- and NASA-developed CFD technology, some developed under contract by Boeing Commercial Airplanes, into engineering tools used in new airplane development. As a result of the use of these CFD tools, the number of wings designed and wind tunnel tested for high-speed cruise lines definition during an airplane development program has steadily decreased (Fig. 3). In recent years, the number of wings designed and tested is more a function of changing requirements during the development program and the need to support more extensive aerodynamic/structural trade studies during development. These advances in developing and using CFD tools for commercial airplane development have saved Boeing tens of millions of dollars over the past 20 years. However, as significant as these savings are, they are only a small fraction of the value CFD delivered to the company.

A much greater value of CFD in the commercial arena is the added value of the product (the airplane) due to the use of CFD. Value to the airline customer is what sells airplanes! Value is added to the airplane product by achieving design solutions that are otherwise unreachable during the fast-paced development of a new airplane. Value is added by shortening the design development process. Time to market is critical in the commercial world, particularly when starting after a competitor has committed a similar product to market. Very important in the commercial world is getting it right the first time. No prototypes are built. From first flight to revenue service is frequently less than one year! Any deficiencies discovered during flight test must be rectified sufficiently for government certification and acceptance by the airline customer based on a schedule set years before. Any delays in meeting this schedule may result in substantial penalties and jeopardize future market success. The added value to the airplane product will produce increased sales and may even open up completely new markets. The result is more profit to both the buyer and seller (who does not have to discount the product as much to make the sale). All this translates into greater market share.

CFD will continue to see an ever-increasing role in the aircraft development process as long as it continues to add value to the product from the customer's point of view. CFD has improved the quality of aerodynamic design, but has not yet had much effect on the rest of the overall airplane development process, as illustrated in Fig. 4. CFD is now becoming more interdisciplinary, helping provide closer ties between aerodynamics, structures, propulsion, and flight controls. This will be the key to more concurrent engineering, in which various disciplines will be able to work more in parallel rather than in the sequential manner as is today's practice. The savings due to reduced development flow time can be enormous!

To be able to use CFD in these multidisciplinary roles, considerable progress in algorithm and hardware technology is still necessary. Flight conditions of interest are frequently characterized by large regions of separated flows. For example, such flows are encountered on transports at low speed with deployed high-lift devices, at their structural design load conditions, or when transports are subjected to in-flight upsets that expose them to speed and/or angle of attack conditions outside the envelope of normal flight conditions. Such flows can only be simulated using the Navier–Stokes equations. Routine use of CFD based on Navier–Stokes formulations will require further improvements in turbulence models, algorithm, and hardware performance. Improvements in geometry and grid generation to handle complexity such as high-lift slats and flaps, deployed spoilers, deflected control surfaces, and so on, will also be necessary. However, improvements in CFD alone will not be enough. The process of aircraft development, itself, will have to change to take advantage of the new CFD capabilities.

  1. The CFD development and application process

In industry, CFD has no value of its own. The only way CFD can deliver value is for it to affect the product. To affect the product, it must become an integral part of the engineering process for the design, manufacture, and support of the product. Otherwise, CFD is just an add-on; it may have some value but its effect is limited. To make CFD an integral part of the Product Development and Support engineering processes, it must get into the hands of the engineers who execute these processes. This is the only way the volume of analysis/design runs necessary to affect the product can be made. Moreover, it is in the Product Development and Support organizations that ownership of the CFD/engineering processes resides, and it is these processes that management relies on when investing billions of dollars in a new airplane development. The CFD developers and ‘‘expert’’ users can certainly contribute, but are only a part of the engineering process.

Getting CFD into ‘‘production’’ use is not trivial––it is frequently a multiyear process. There are five distinct phases in the CFD development process. These are illustrated in Fig. 5.

Phase I produces enabling technology algorithms that provide a basic means for solving a given problem. Phase II, which overlaps Phase I, constitutes the initial attempts to explore, validate, and demonstrate a new computational technology. There are some limited pioneering applications at this stage, but the emerging technology is not yet at a state that will produce significant payoff or impact because the technology is still subject to surprise. Hence, managers and design engineers are unwilling at this point to make important, standalone design decisions based on computed results. Such decisions by users do not happen until well into Phase IV.

Many of the code developments end in the middle of Phase II with a contractor report or scientific paper that proclaims, ‘‘Gee whiz, look what can be done.’’ For many codes, this is a good and natural transfer point for industry to assume responsibility for further development, because most of what must occur beyond this point will be unique to the particular needs of each individual industry organization. Of course, this implies that corporate managers must have the wisdom to understand what they must support to turn such a code into a mature and effective capability that will live up to the ‘‘Gee whiz’’ expectations. That requires the time and investment associated with Phases III and IV.

The main outputs of Phase II are demonstrator codes (useful for computational experiments and demonstrations) combined with a vision of what is really needed. Phase III is aimed at supplying the substance of that vision and usually entails a generalization or other modification of Phase II codes (perhaps complete rewrites) combined with a coupling of front- and back-end interfaces to produce user-friendly, well-understood, and maintainable software. Most commercially available (COTS) codes have reached this stage of development. But even at this stage, their contribution or effect on the corporate bottom line is still minimal because engineers and managers don't yet understand how the existence of this new tool will change the engineering process and what it will be used for. They have yet to gain enough confidence to make important, standalone decisions based on the code. That takes time, exposure, and experience.

In the fourth phase, the payoff or affect of a code grows rapidly. Phase IV entails ‘‘applications research,’’ where design engineers, management, and code developers work together to learn how this new capability will enter into and change the aerodynamic design process. The applications research endeavor requires people with broad backgrounds who can ask the right questions of the algorithm researchers, and code developers who can intelligently question experimental data when test-theory comparisons don't agree. Both must also be good physicists, for it is not unusual to find that the short-comings lie neither in the experiment nor in the quality of the computations, but in the fact that the theoretical model assumed in the computations was not an adequate description of the real physics. Need for code refinements that were not anticipated invariably surface during this phase and these refinements often require more algorithm research, additional geometry preprocessors, and so on. Over time, the requests for additions or refinements diminish until the code settles down to occupy its proper niche in the toolbox, and design engineers and managers have learned the capabilities, limitations, and proper applications of this now-mature code. Without the investments in Phase IV, the enormous pay-off of having a mature capability in Phase V will not happen. An attempt to bypass Phase IV by taking a code developed by algorithm researchers and placing it directly in the hands of design engineers, who may not understand the underlying theoretical models, algorithms, and possible numerical idiosyncrasies, usually results in a prolonged period of frustration and unreliability that leads to abandonment of the code.

Product Development engineers must be able to focus on engineering processes and have little time for manipulating the CFD ‘‘process’’ (i.e., codes must be very user oriented). Stable, packaged software solutions enable and promote consistent processes. These not only put CFD into the hands of the Product Development/Product Support engineers but also allow the ‘‘expert’’ user to get fast results with reduced variation. Integrated packaged software solutions combine various components to go from ‘‘lofts to plots’’ in the time scale consistent with a fast-paced engineering program. These packages include scripted packages for ‘‘standard’’ configurations, geometry and grid/paneling generation components, flow solvers, and postprocessing components for analyzing the results. These are all placed under some form of software version control to maintain consistency.

A key component of CFD and most engineering processes is geometry. CAD systems, such as CATIA, dominate most geometry engineering needs. However, these systems are designed for component design and definition and are not well suited to CFD use. A key component of many Boeing Commercial Airplanes CFD processes is AGPS––Aero Grid and Paneling System [6]. AGPS is a geometry software tool implemented as a programming language with an interactive graphical user interface. It can be dynamically configured to create a tailored geometry environment for specific tasks. AGPS is used to create, manipulate, interrogate, or visualize geometry of any type. Since its first release in 1983, AGPS has been applied with great success within The Boeing Company to a wide variety of engineering analysis tasks, such as CFD and structural analysis, in addition to other geometry-related tasks.

Computing resources consisting of high-end computing and graphics workstations must also be integrated. Seamless mass data storage must be available to store the vast amount of information that will be generated during the engineering application. These resources require dedicated computing system administration. The software control and computing system administration are necessary to free the engineers to focus their work on the engineering processes and not be consumed by the ‘‘computing’’ process.

Close customer involvement and acceptance is absolutely essential to deriving value from CFD. Customers are responsible for implementing the engineering process that will use CFD. They own the process, they determine what CFD, if any, they will depend on to carry out their assigned tasks. They are being graded on the engineering tasks they accomplish not on which CFD codes they use. Their use and trust of CFD is based on a long-term relationship between supplier and user. This relationship has engaged the customer early on in demonstrations of a new code or new application of an existing code. Validation is an on-going process, first of cases of interest to the customer, and then of the customer's ability to implement the new tool. Frequently, parallel applications are undertaken in which the customer continues with the existing tools while the supplier/developer duplicates the process with the new tool. This is especially the case when the new tool may enable the development of an entirely new process for executing the engineering task.

The long-term relationship with the customer is essential from another point of view. Until recently, project engineers, without exception, initially rejected every new CFD development that later became the primary CFD analysis and design tool in Boeing Commercial Airplanes Product Development and Product Support organizations. Every new or proposed CFD capability was initially viewed as too difficult to use, too costly to run, not able to produce timely results, not needed, and so on. ‘‘Just fix what we already have,’’ the customer would tell the developers. The customers had a point. Not until the new CFD technology had been integrated with the customer's preprocessing/postprocessing tools and computing system, validated to the customer's program, guaranteed of long-term support, and committed to continuous development and enhancement would the new technology be useful to them.

This made it difficult for the developers to propose new Phase I, II and III efforts. In particular, the initiation and continual defense of Phase I efforts demanded clear and unwavering vision. True vision invariably requires a fundamental understanding of both needs and means. As customers generally did not have the specialized algorithmic knowledge underlying CFD numerics, it was incumbent on the developers to acquire a thorough understanding of customer needs and concerns. The developers learned they could not just throw a new CFD tool over the fence and expect the customer to use it no matter how good it might be. The customer was interested in getting an engineering job done and not in the CFD tool itself! The process of thoroughly understanding customer issues took many years, and early Phase I, II, and III efforts were mostly ‘‘technology push’’ efforts, which had to be funded by NASA or other Government agencies. As these efforts progressed to Phase IV and V, and the developers established a track record for producing useful capabilities, the situation gradually changed.

Each success allowed the developers a little more leeway. Often they spotted ‘‘niche’’ needs that could be satisfied by the introduction of their new technology. It was felt that when the users were satisfied with the usability and utility of the technology in these areas they would then be willing to consider whether or not replacing their old tools in other areas might offer distinct advantages. Once the users accepted a new capability, they often became very innovative and applied the codes in unanticipated ways, perpetually keeping the developers and validation experts in an anxious state. Most of the new applications were, in fact, legitimate, and the developers had to run fast to understand the implications involved as well as to try and anticipate future application directions. As time went on, code developers, application experts, and project engineers began understanding each other's functions and issues, and a certain amount of trust developed. Gradually, CFD became a ‘‘pull’’ rather than ‘‘push’’ technology. This transformation was greatly facilitated by the rotation of top engineers between these functions.

Today in Boeing Commercial Airplanes, more than 20,000 CFD runs a year are made to support product development and the various existing product lines. More than 90% of these runs are done by production engineers outside the research group. The CFD methods in use provide timely results in hours or days, not weeks or months. Sufficient experience with the methods has given management confidence in their results. This means that solutions are believable without further comparison of known results with experiment, that the CFD methods contain enough of the right physics and resolve the important physical and geometric length scales, that the numerics of the method are accurate and reliable, and that the CFD tools are already in place––for there is no time to develop and validate new methods. Most of all, management is convinced that the use of CFD makes economic sense. A look at the history of CFD at Boeing Commercial Airplanes will show how we got to this level of use.

  1. Chronology of CFD capability and use

CFD today covers a wide range of capabilities in terms of flow physics and geometric complexity. The most general mathematical description of the flow physics relevant to a commercial transport is provided by the Navier–Stokes equations. These equations state the laws of conservation of mass, momentum, and energy of a fluid in thermodynamic equilibrium. Unfortunately, direct solutions to these equations for practical aircraft configurations at typical flight conditions are well beyond the capabilities of today's computers. Such flows include chaotic, turbulent motions over a very wide range of length scales. Computations for the simulations of all scales of turbulence would require solving for on the order of 10¹⁸ degrees of freedom!

Fortunately, solutions to simplified (and more tractable) forms of these equations are still of great engineering value. Turbulent flows may be simulated by the Reynolds equations, in which statistical averages are used to describe details of the turbulence. Closure requires the development of turbulence models, which tend to be adequate for the particular and rather restrictive classes of flow for which empirical correlations are available, but which may not be currently capable of reliably predicting behavior of the more complex flows that are generally of interest to the aerodynamicist. Use of turbulence models leads to various forms of what are called the Reynolds-averaged Navier–Stokes equations.

For many aerodynamic design applications, the flow equations are further simplified to make them more amenable to solution. Neglecting viscosity leads to the Euler equations for the conservation of mass, momentum, and energy of an inviscid fluid. Fortunately, under many flight conditions the effects of viscosity are small and can be ignored or simulated by the addition of the boundary layer equations, a much simplified form of the Reynolds-averaged Navier–Stokes equations.

The introduction of a velocity potential reduces the need to solve five nonlinear partial differential equations (that make up the Euler equations) to the solution of a single nonlinear partial

differential equation known as the full potential equation. However, the potential approximation assumes an inviscid, irrotational, isentropic (constant entropy) flow. Potential solutions can adequately simulate shock waves as long as they are weak, which is the normal case for commercial transport configurations.

Further simplifications eliminate all the nonlinear terms in the potential equation, resulting in the Prandtl–Glauert equation for linear compressible flows, or the Laplace equation for incompressible flows. The use of these equations is formally justified when the vehicle is relatively slender or thin and produces only small disturbances from freestream flow.

In the following sections, we describe the CFD capability most heavily used at Boeing Commercial Airplanes in Seattle over the last 30 years. For the purposes of a rough chronological summary, we can say the following. Before 1973, the main codes employed by project engineers involved linearized supersonic flows with linearized representations of the geometry or else 2D incompressible flows. From 1973 to 1983, panel methods, which could model complex geometries in the presence of linear subsonic and supersonic flows, took center stage. The nonlinear potential flow/coupled boundary layer codes achieved their prime from 1983 to 1993. Their Euler counterparts came into use later in that timeframe. From 1993 to 2003, Reynolds averaged Navier–Stokes codes began to be used with increasing frequency. Clearly, much of the development and demonstration work leading to the widespread use of these codes occurred from five to 10 years earlier than these dates. It is important to note that a considerable length of time is often required for a code to achieve the Phase V level of maturity. It is also important to realize that once a code achieves this level of maturity and is in use and accepted by the user community, it tends to remain in use, even though improved capability at the Phase III or IV level may be available.

The Boeing panel code, A502, remains in some use today, even though its underlying technology was developed almost 30 years ago. The full potential code TRANAIR still receives widespread and heavy use.

4.1. Linear potential flow

4.1.1. First generation methods––early codes The flow physics described by the early linear methods were greatly simplified compared to the ‘‘real’’ flow. Similarly, the geometric fidelity of the actual configuration also had to be greatly simplified for the computational analysis to fit within the speed and size constraints of the computers of that era. In spite of such seemingly hopeless limitations, these early CFD methods were successfully applied during the supersonic transport development programs of the late 1960s––the Anglo-French Concord and the United States/Boeing SST. The need for computational help in the aerodynamic development of these aircraft stemmed from two factors. First, there was the relative lack of experience in designing supersonic cruise aircraft (the first supersonic flight had occurred only 15 years earlier). Second, there is great sensitivity of supersonic wave drag to details of the aircraft design. Thus, the challenge of developing a viable low-drag design through empirical ‘‘cut and try’’ demanded whatever computational help was available. The opportunity to use simplified computational methods resulted because the design requirements for low supersonic wave drag led to thin, slender vehicles that minimized ‘‘perturbing’’ the airflow. These characteristics were consistent with the limitations of the linearized supersonic theory embedded in the early CFD codes. These codes included TA80 [7], a Supersonic Area Rule Code based on slender body theory; TA139/201 [8], a Mach Box Code based on linearized supersonic theory; and TA176/217 [9], a Wing-Body Code based on linear potential flow theory with linearized geometry representations. These codes ran on IBM7094 machines. The good agreement with test data predicted by these linear theory methods for a drag polar of the Boeing SST model 733-290 is shown in Fig. 6. This was a linear theory optimized design of the configuration that allowed Boeing to win the SST design development Government contract. The resulting supersonic transport designs ended up looking as they did, in part, because the early CFD codes could not handle more geometrically complex configurations.

The linear aerodynamics of the Wing-Body Code was later combined with linear structural and dynamic analysis methods in the FLEXSTAB [10] system for the evaluation of static and dynamic stability, trim state, inertial and aerodynamic loading, and elastic deformations of aircraft configurations at supersonic and subsonic speeds. This system was composed of a group of 14 individual computer programs that could be linked by tape or disk data transfer. The system was designed to operate on CDC-6000 and -7000 series computers and on the IBM 360/370 computers. A very successful early application of FLEXSTAB was the aeroelastic analysis of the Lockheed YF-12A as part of the NASA Flight Loads program. Thirty-two flight test conditions ranging from Mach 0.80 to 3.0 and involving hot or cold structures and different fuel loading conditions were analyzed at several load factors [11].

4.1.2. First generation methods––TA230 By 1973, 3D subsonic panel methods were beginning to affect the design and analysis of aircraft configurations at Boeing. Subsonic panel methods had their origins with the introduction of the Douglas Neumann program in 1962 [12]. This program was spectacularly successful for its time in solving the 3D incompressible linear potential flow (Laplace) equation about complex configurations using solid wall (Neumann) boundary conditions. The numerical method represented the boundary by constant strength source panels with the strengths determined by an influence coefficient equation set relating the velocities induced by the source panels to the boundary conditions. The lack of provision for doublet panels limited the class of solutions to those without potential jumps and hence without lift. One of the first computer programs for attacking arbitrary potential flow problems with Neumann boundary conditions [13,14] combined the source panel scheme of the Douglas Neumann program with variations of the vortex lattice technique [15]. This program became known as the Boeing TA230 program. A very useful feature of this program was the ability to handle, in a logical fashion, any well-posed Neumann boundary value problem. From its inception, the method employed a building block approach wherein the influence coefficient equation set for a complex problem was constructed by simply assembling networks appropriate to the boundary value problem. A network was viewed as a paneled surface segment on which a source or doublet distribution was defined, accompanied by a properly posed set of Neumann boundary conditions. The surface segment could be oriented arbitrarily in space and the boundary conditions could be exact or linearized. Several doublet network types with differing singularity degrees of freedom were available to simulate a variety of physical phenomena producing discontinuities in potential. Compressibility effects were handled through scaling. These features combined to allow the analysis of configurations having thin or thick wings, bodies, nacelles, empennage, flaps, wakes, efflux tubes, barriers, free surfaces, interior ducts, fans, and so on.

By 1973, Boeing had acquired a CDC 6600 for scientific computing, which allowed the TA230 program to solve problems involving hundreds of panels. This was sufficient to model full configurations with the fidelity necessary to understand component interactions.

One of the most impressive early uses of the TA230 code was in the initial design phase of the B747 Space Shuttle Carrier Aircraft (SCA). The purpose of the initial design phase was to define the modifications needed to accomplish the following missions: to ferry the Space Shuttle Orbiter; to air-launch the Orbiter; and to ferry the external fuel tank. To keep the cost of the program to a minimum, CFD was extensively used to investigate the Orbiter attitude during the ferry mission, the Orbiter trajectory and attitude during the launch test, and the external tank location and attitude during the ferry mission. At the conclusion of the design phase, the final configurations selected were tested in the wind tunnel to verify predictions. A typical example of a paneling scheme of the B747 with the Space Shuttle Orbiter is depicted in Fig. 7. In this example, the Orbiter incidence angle was 8 deg with respect to the B747 reference plane. The predicted lift coefficient, CL, as a function of wing angle of attack for this configuration is shown in Fig. 8. The agreement between the analyses and wind tunnel data shown in this figure is excellent.

TA230 was used with TA378 [16], a 3D Vortex Lattice Method with design/optimization capability, to develop winglets for a KC-135 aircraft. Wind tunnel tests confirmed a 7–8% drag reduction in airplane drag due to the installation of these winglets [17].

Another early CFD success was the improvement of the understanding of the interference drag of a pylon-mounted engine nacelle under the wing. The existence of unwanted interference drag had been revealed by wind tunnel testing, but the physical mechanism of the interference was still unknown. To avoid the interference drag, it is common practice to move the engine away from the wing. The resulting additional weight and drag due to the longer engine strut must be balanced against the potential interference drag if the engine is moved closer to the wing. CFD studies with TA230 along with specialized wind tunnel testing in the mid-1970s, provided the necessary insight into the flow mechanism responsible for the interference. This understanding led to the development of design guidelines that allowed closer coupling of the nacelle to the wing [18]. The Boeing 757, 767, 777, 737-300/400/500 series, Next Generation 737/600/700/800/900 series, and the KC-135R are all examples of aircraft where very closely coupled nacelle installations were achieved without incurring a significant drag penalty.

4.1.3. Second generation linear potential flow method––PANAIR/A502 The success of the TA 230 code in modeling complete vehicle configurations and component interactions created a strong demand among Boeing aerodynamicists for CFD analyses and was undoubtedly the key factor that initiated the paradigm shift toward acceptance of CFD as an equal partner to the wind tunnel and flight test in the analysis and design of commercial aircraft. However, the paradigm shift was slowed by the fact that the code had to be run by experts possessing specialized knowledge, some of which was totally unrelated to aerodynamics. In fact, it often took weeks requiring the expertise of an engineer having months or years of experience with the method to set up and run a complex configuration. To some extent this was unavoidable; to correctly model a complex flow for which no previous user experience was available, the engineer had to understand the mathematical properties and limitations of potential flow. Nevertheless, once the boundary value problem was formulated, the user still had to contend with certain numerical idiosyncrasies and inefficiencies that required adherence to stringent paneling rules, frequently incompatible with the complex geometrical contours and rapidly changing aerodynamic

length scales of the vehicle under analysis. Such difficulties were directly related to the use of flat panels with constant source and doublet strengths. Methods employing these features were quite sensitive to panel layout. Numerical problems arose when panel shapes and sizes varied, and fine paneling in regions of rapid flow variations often forced fine paneling elsewhere. In addition, excessive numbers of panels were often required since numerical accuracy was strongly affected by local curvature and singularity strength gradient. These problems placed severe limitations on the development of automatic panelers and other complementary aids aimed at relieving the user of the large amount of handwork and judgments associated with producing accurate numerical solutions.

Consequently, a method was developed under contract to NASA to enhance practical usability by improving upon the flat, constant singularity strength panels employed in the construction of networks [19]. This method featured the use of curved panels and higher order distributions of singularities. Source and doublet strengths were defined by least square fits of linear and quadratic splines to discrete values located at specific points on the networks. Higher order influence coefficients were obtained using recursion relations with the standard low order coefficients as initial conditions. Boundary conditions were enforced at the same or other discrete locations depending on their type. Virtually any boundary condition that made sense mathematically was provided for. In particular, the incorporation of Dirichlet boundary conditions not only offered the opportunity to design surface segments to achieve desired pressure distributions, but also clarified the nature of the boundary value problem associated with modeling viscous wakes and propulsion effects. Robin boundary conditions provided for the modeling of slotted walls, which allowed for direct comparisons of CFD results with wind tunnel data. These features were incorporated in the NASA code known as PANAIR and the Boeing code known as A502. The latter code was generalized to treat supersonic flows [20], free vortex flows [21], and time harmonic flows [22]. In the supersonic case, upwinding was achieved by forward weighting the least square singularity spline fits.

The numerics incorporated into A502 solved a number of usability issues. Fig. 9 clearly demonstrates the relative insensitivity and stability of computed results to paneling. This insensitivity encouraged project users to apply the code and trust results. In addition, the boundary condition flexibility allowed users to experiment with various types of modeling, leading to a wide variety of applications never entirely envisioned by the developers.

The versatility of A502 paid off when a ‘‘surprise’’ was encountered during the precertification flight testing of the then new 737-300. The aircraft was not demonstrating the preflight wind tunnel based prediction of take-off lift/drag ratio. A fix was needed quickly to meet certification and delivery schedules. Specialized flight testing was undertaken to find the cause and to fix the performance shortfall. A CFD study was immediately undertaken to enhance understanding and provide guidance to the flight program. Eighteen complete configuration analyses were carried out over a period of three months. These included different flap settings, wind tunnel and flight wing twist, flow through and powered nacelle simulations, free air and wind tunnel walls, ground effect, seal and slotted flaps, and other geometric variations [23]. These solutions explained and clarified the limitations of previous low-speed wind tunnel test techniques and provided guidance in recovering the performance shortfall through ‘‘tuning’’ of the flap settings during the flight testing. The aircraft was certified and delivered on schedule. A comparison of the computation L/D predictions with flight is shown in Fig. 10.

A502 studies have been used to support other flight programs on a time-critical basis. In particular, the code was used to support engine/airframe installation studies in the early 1980s [24], to evaluate wind tunnel tare and interference effects, and to provide Mach blockage corrections for testing large models. In addition, the code was used for the design of the wingtip pod for the Navy E6-A, a version of the Boeing 707. No wind tunnel testing was done before flight. The FAA has accepted A502 analysis for certification of certain aircraft features that were shown to have minimal change from previous accepted standards. Finally, A502 was used to develop a skin waviness criteria and measurement technique that led to the virtual elimination of failed altimeter split testing during the first flight of every B747-400 aircraft coming off the production line. Initially, one of every three aircraft was failing this test, requiring several days down time to fix the problem. The A502-based procedure could identify excessive skin waviness before first flight and led to manufacturing improvements to eliminate the root cause of the problem.

A502 is still used today to provide quick estimates for preliminary design studies. A relatively new feature of the code takes advantage of available linear sensitivities to predict a large number of perturbations to stability and control characteristics and stability derivatives, including control surface sensitivities. Virtual control surface deflections and rotary dynamic derivatives are modeled through surface panel transpiration. Stability derivatives, such as the lift curve slope or directional stability, are calculated automatically. A typical application may involve 20 subcases submitted in a single run, with solutions available in an hour or so. Within the limitations of the code, all major stability and control derivatives can be generated in a single run (at a single Mach). The method is typically used to calculate increments between similar configurations. The code was recently used to calculate stability and control increments between a known baseline and a new configuration. A total of 2400 characteristics were computed for eight configurations by one engineer in a two-day period!

4.2. Full potential/coupled boundary layer methods

4.2.1. A488/A411 Since Murman and Cole [25] introduced a numerical solution method for the transonic small disturbance equation in the early 1970s, computational fluid dynamics method development for nonlinear flows has progressed rapidly. Jameson and Caughey [26] formulated a fully conservative, rotated finite volume scheme to solve the full potential equation––the well-known FLO27/28 codes. The Boeing Company acquired the codes and invested a significant amount of effort to advance the capability from Phase II to Phase V. Convergence reliability and solution accuracy were enhanced. To allow transonic analyses over complex transport configurations, a numerical grid generation method based on Thompson's elliptic grid generation approach [27] was developed [28] and tested extensively for wing or nacelle alone, wing-body, and wing-body-strut-nacelle configurations. The potential flow solvers FLO27/28 coupled with the 3D finite difference boundary layer code A411 [29] and the 3D grid generation code formed the major elements of the Boeing transonic flow analysis system, A488––the most heavily used analysis code at Boeing from late 1970s to early 1990s. The production version of the A488 system, illustrated in Fig. 11, included a number of preprocessing and postprocessing programs that could handle the complete analysis process automatically for specific configuration topologies––a truly useable code for design engineers. This integrated packaged combined the various software components to go from ‘‘lofts to plots’’ in the time scale consistent with a fast paced engineering program––overnight!

Fig. 12 shows a comparison of A488 results obtained by project engineers with wing pressure distributions measured in flight on a 737-300. The computational model consisted of the wing, body, strut, and nacelle. The wing definition included the estimated aeroelastic twist for the condition flown. Although the character of the pressure distribution on the wing changes dramatically across the span, the computational results agree reasonably well with the measured data.

The Boeing Propulsion organization also employed a full potential/coupled boundary layer code called P582. It was developed at Boeing and used a rectangular grid [30] and multigrid acceleration scheme [31]. P582 was used extensively for engine inlet simulation and design in the late 1970s and 1980s and is still used in the Propulsion organization for various nacelle inlet simulations.

4.2.2. TRANAIR By 1983, complex configurations were routinely being analyzed by project engineers using panel methods. Surface geometry generation tools were maturing, and users took for granted the ability to add, move, or delete components at will; readily change boundary condition types; and obtain numerically accurate solutions at reasonable cost in a day or two. On the other hand, the nonlinear potential flow codes required expert users and considerable flow time to obtain converged and accurate results on new and nonstandard configurations. Often, geometrical simplifications had to be made jeopardizing the validity of conclusions regarding component interactions. Clearly, the nonlinear nature of the flow was responsible for numerous difficulties. The development of shocks in the flowfield prolonged convergence, especially if the shocks were strong and prematurely set in the wrong location. Moreover, weak and double shocks were often not captured accurately, if at all. Boundary layer coupling contributed problems as well, especially as separation was approached. Often, the boundary layer displacement effect had to be fixed after a certain number of iterations, leading to questionable results. Experts became very good at circumventing many of these problems; however, the one problem that could not readily be overcome was the necessity to generate a volume grid to capture nonlinear effects.

Even today, volume grid generation is one of the main barriers to routine use of nonlinear codes. Often the creation of a suitable grid about a new complex configuration can take weeks, if not months. In the early 1980s, the situation was far worse, and suitable grids were readily available only for standard and relatively simple configurations. Because of the enormous promise demonstrated by existing nonlinear methods, the panel method developers at Boeing were awarded a contract from NASA to investigate alternatives to surface fitted grid generation. In the next few paragraphs, we describe some of the technical issues that arose during this contract. They are of interest to this paper in that they followed directly from a ‘‘needs and usability’’ starting point rather than the usual ‘‘technology discovery’’ starting point. To a large extent, this has characterized the CFD development efforts at Boeing.

The developers started with a rather naıve approach, i.e., take an A502 paneling, with which the project users were already familiar, and embed it in a uniform rectangular grid to capture nonlinear effects (Fig. 13). This approach logically led to a sequence of subproblems that had to be addressed in turn [32]. First, one could hardly afford to extend a uniform grid into the far field to ensure proper far field influence. However, if the flow was assumed to be linear outside a compact region enclosing the configuration, one could use linear methods to obtain the far field influence. A discrete Green's function for the Prandtl–Glauert equation was constructed, which incorporated the effect of downstream sources and sinks resulting from wakes. This Green's function was applied using FFTs and the doubling algorithm of Hockney [33], a standard technique in astrophysics. The net effect was the same as if the uniform grid extended all the way to infinity, the only approximation being the assumption of linearity outside a compact box. As a byproduct of this solution, the user no longer had to estimate a suitable far field stretching ratio.

The next problem that had to be addressed was how to handle the intersections of the grid with the paneling and how to apply boundary conditions. The developers decided to use a finite element approach based on the Bateman variational principle [34]. Upwinding was achieved by factoring the density at the centroid of the elements out of the stiffness integrals and then biasing it in an upwind direction. The elements intersecting the paneled boundary were assumed to have linear basis functions regardless of their shapes. Stiffness matrix integrals were then evaluated over the subset of the elements exposed to the flowfield. The integration was performed recursively using volume and then surface integration by parts. Additional surface integrals were added to impose the same variety of boundary conditions as available in A502.

The main problem with a uniform rectangular grid is its inability to capture local length scales of the geometry and flow. Consequently, grid refinement was an absolutely necessary feature of the approach. However, it was felt that solution adaptive grid refinement was necessary in any event to ensure accuracy, especially if the code was to be used by project engineers without the aid of the developers. The refinement mechanism was relatively straightforward, just divide each rectangular grid box into eight similar boxes (Fig. 14) and keep track of the refinement hierarchy using an efficient oct-tree data structure.

Development of a suitable error indicator was another matter, however. Mathematical theory certainly offered guidance here, but a surprising amount of engineering knowledge had to be injected into the process. A typical ‘‘gotch-ya’’ with a pure mathematical approach was the tendency of the refinement algorithm to capture the precise details of a wing tip vortex all the way from the trailing edge to the end of a wind tunnel diffuser.

The existence of refined grid complicated the design of a solution algorithm. Multigrid methods were somewhat of a natural here, but the developers were partial to direct solvers, as they had turned out to be so flexible for the panel codes, especially when it came to implementing unusual boundary conditions and coupling boundary layer equations and unknowns. They adopted a damped Newton method approach, with the Jacobian solved using a preconditioned GMRES iterative algorithm. A sparse direct solver was used as a preconditioner. Even with nested dissection ordering, the cost and storage for a complete factorization was prohibitive, hence they settled on the use of an incomplete factorization employing a dynamic drop tolerance approach, whereby small fill-in elements were dropped as they were formed. The method was surprisingly efficient and robust. As a rule, decomposition of the Jacobian resulted in fill-in factors of less than two and constituted less than 10% of the total run cost, even for grids having more than a million nodes.

Early versions of TRANAIR used the A411 boundary layer code in an indirectly coupled mode in much the same manner as A488. However, the desired convergence reliability was never achieved, and the shock boundary layer interaction model was occasionally suspect. About this time, Drela [35] developed an exceedingly accurate 2D integral boundary layer that he directly coupled with his 2D Euler solver. With Drela's help, the TRANAIR development team modified this boundary layer to incorporate sweep and taper effects and integrated it into the code. In this connection, the use of a direct solver was invaluable. The resultant code turned out to be very accurate for transport configurations and agreement with experiment was considered by project users to be quite remarkable.

As TRANAIR received increasing use, a number of enhancements were added. To model powered effects, regions of non-freestream but constant total temperature and pressure were simulated along with appropriate shear layer effects [36]. Far field drag calculations were added, which later led to the ability to perform aerodynamic optimization. Time harmonic capability was created for stability and control calculations. Aeroelastic effects were simulated by adding structural unknowns and equations to the system [37]. Here again the use of a sparse solver was invaluable.

Without question, the development of the TRANAIR code strongly benefited from the work and experiences of CFD pioneers such as Murman [25], Jameson [26], Hafez [38], Cebeci [39], McLean [29], Drela [35], and others. Nevertheless, about 10 major and 30 minor algorithms had to be developed or adapted. A few were quite far from the mainstream CFD efforts of the time and required considerable effort. It took almost five years of research and development before a truly useful result could be produced (1989). The TRANAIR code ultimately evolved into the Boeing workhorse aerodynamic code of the 1990s and up to the current time for analyzing flows about complex configurations. TRANAIR was heavily used in the design of the 777, the 737NG, and all subsequent modifications and derivatives to the Boeing Commercial Airplanes fleet. Since 1989, it has been run to completion more than 70,000 times on an enormously wide variety of configurations, some of which were not even vehicles. It has had about 90 users in Boeing. An older version of the code was used by NASA, the Air Force, the Navy, and General Aviation. In 2002, TRANAIR was run to completion at Boeing more than 15,000 times, which is considerable use for a complex geometry CFD code. If we had to choose one single technical feature of TRANAIR that was responsible for such widespread use, we would choose solution adaptive grid refinement. In retrospect, while this feature was intended to improve accuracy, its main benefit was to greatly relieve the user of the burdensome and labor-intensive task of generating a volume grid.

Even with substantially simplified gridding requirements, inputting a general geometry CFD code and processing the outputs are still formidable tasks. An essential enabler for TRANAIR has been the development of a packaged process for inputting ‘‘standard’’ configurations. By ‘‘standard,’’ we mean those configuration types that have been scripted in the various components that make up the process. Configurations not included in the ‘‘standard’’ can still be analyzed but will not benefit from the same degree of automation. This package, illustrated in Fig. 15, is compatible and takes advantage of common Boeing Commercial Airplanes processes for geometry and postprocessing. At the center of this process is the TRANAIR flow solver. AGPS scripts have been developed to automate the paneling of ‘‘standard’’ configurations from AGPS lofts. AGPS scripts have also been developed to generate the input deck for the TRANAIR solver. These inputs define the flight conditions, solution adaptive gridding strategy, and the boundary layer inputs for ‘‘standard’’ configurations. A UNIX script is available to generate the various job control files to execute the solver on several types of computers. The TRANAIR solver generates several files for restarts of the solver and output processor, output files for various aerodynamic parameters, and a file for flowfield parameters. A special-purpose code, compatible with the unique TRANAIR grid structure, is available to view the flowfield properties. The package enables setting up and submitting for solution a ‘‘standard’’ configuration from AGPS lofts in one or two hours. Complete solutions from ‘‘lofts to plots’’ are frequently available in less than 12 h. ‘‘Standard’’ configurations include transport configurations including, for example, four-engine 747-like aircraft with underwing struts and nacelles and vertical and horizontal stabilizer with boundary layer on both wing and body.

During the aerodynamic design of the Boeing 777 in the early 1990s, the risk of significant interference drag due to the exhaust from the large engines was revealed through TRANAIR analysis. Neither the earlier linear-based CFD methods nor conventional wind tunnel testing techniques, which did not simulate the exhaust, would have detected this potential problem. Only a very expensive powered-nacelle testing technique could assess these interference effects. Three different manufacturer's engines were being considered for the new aircraft. Using the powered testing technique to develop the engine installations would have added considerable expense. Moreover, such a wind tunnel based development would have unacceptable design flow time. Nonlinear transonic TRANAIR analysis by the product development engineers made it practical to address these installation problems including the effects of the engine exhaust flows in a timely manner. Had these problems gone undetected until late in the aircraft's development when the powered testing is usually done, any fixes would have been extremely expensive to implement.

Fig. 16 shows a comparison of TRANAIR results with test data from a similar configuration. TRANAIR's ability to provide insight to design changes allowed a close ‘‘Working Together’’ relationship between the various Boeing engineering disciplines and the engine manufacturers. It is noteworthy that the exhaust system of all three engines models is very similar in design, a feature found only on the 777. Key to the success of this application was the ability to model enough of the relevant physics and to provide solutions quickly enough to support the development schedule. The effect of CFD on the project was to provide information facilitating a closer working relationship between design groups. This enabled detecting problems early in the development process, when fixing or avoiding them was least expensive.

TRANAIR continues to see extensive use as the primary tool for transonic aerodynamic evaluation and design of commercial aircraft configurations. It is well suited for analysis in the attached and mildly separated flow portion of the flight envelope. For conditions with strong viscous interactions, one must resort to using the Navier–Stokes equations.

4.2.3. BLWF The BLWF code was developed by researchers at the Central Aerohydrodynamic Institute (TsAGI) and enhanced under contract with the Boeing Technology Research Center in Moscow, CIS [40]. It saw it first use at Boeing in 1994. The BLWF technology was very similar to the technology of the A488 system that had been developed internally at Boeing. However, it differed from A488 in that it had been designed and tuned for workstations and later, PC computing systems, instead of the large vector supercomputers that had been the main computational modeling tool within Boeing Commercial Airplanes. The tool was very responsive, providing solutions within minutes, rather than hours. The rapidity of response, along with the significant cost-of-use reduction by hosting on less expensive hardware systems, changed the nature of use of the modeling tool. New applications, such as Reynolds number corrections for wing loads, have become feasible with such a tool. This application requires solutions for about a dozen Mach numbers over a range of angles of attack (five to 10). Use of BLWF allows a database of hundreds of solutions to be generated in a matter of a few hours, rather than days or weeks. The code has also been used extensively in the preliminary design stage of aircraft definition. At this point in the airplane development cycle, there are typically a large number of significant changes in the aircraft definition, along with a need to understand the behavior of the configuration over a large range of conditions. BLWF allows more realistic modeling of the flight characteristics than other Preliminary Design methods and also provides an ability to obtain the information rapidly, allowing more effective cycling of the preliminary design through the evolution of an aircraft.

4.3. Euler/coupled boundary layer methods

The use of full potential/boundary layer coupling code reaches its limit in predicting airplane performance at off-design conditions where significant shock induced flow separations or vortex flows generated from sharp edges of the configuration, occur in the flowfield. The boundary layer approximation breaks down, and the irrotational/isentropic flow assumption is not a good approximation for such flow conditions. Moreover, wake locations must be estimated a priori, preventing the accurate analysis of flows where vortex interactions are an important feature.

Algorithm research in the early 1980s focused on solution of the Euler equations––the governing equations for inviscid fluid flows. The Boeing version of an Euler/boundary layer coupling code––A588 is based on FLO57 [41] coupled with the same boundary layer code A411 used in A488. The code also introduced a capability for simulating engine inlet and exhaust flows with various total pressures and total temperatures, as well as propfan engine power effects through the use of an actuator disk concept. A588 was the main analysis tool for isolated nacelle development studies until very recently. It provided accurate predictions of nacelle fan cowl pressure distributions, as well as fan cowl drag rise. The multiblock 3D Euler code was used extensively for the simulation of the propfan engine on The Boeing 7J7 program during the mid-1980s, as shown in Fig. 17. A key application was the evaluation of propfan engine installation effects on tail stability characteristics––including simulations that could not be accomplished in the wind tunnel.

Another Euler/integral boundary layer coupling code––A585, based on Drela and Giles [42], was developed in mid-1980s for 2D airfoil analysis and design. This code has been used extensively for advanced airfoil technology development, an essential capability for airplane product development engineers.

4.4. Navier–Stokes methods

The limitation of full potential or Euler/boundary layer coupling codes to flow regimes without significant flow separation leads to the development and application of solutions to Navier–Stokes equations, which are valid over the whole range of flight regime for most commercial airplanes. Finite difference schemes [43] or finite volume schemes with either artificial numerical dissipation [44] or Roe's upwind scheme [45] were developed and tested extensively during the late 1980s and early 1990s. At the same time, development of turbulence models for attached and separated flow simulations progressed rapidly. The simple zero equation Baldwin/Lomax model [46] was used extensively during the early stage of Navier–Stokes code applications. Later on, the Baldwin/Barth one equation model [47], the Spalart/Allmaras one equation model [48], together with Menter's shear-stress transport k–w model [49], were available, and were used for a wide range of flight conditions including massively separated flows.

4.4.1. Structure grid codes––Zeus TLNS3D/CFL3D, OVERFLOW Navier–Stokes technology using structured grids was well developed by the early 1990s and is available to the industry. However, most existing structured grid Navier–Stokes codes require the users to provide high-quality 3D grids to resolve detailed viscous flows near configuration surfaces and viscous wake regions. The task of grid generation––both surface grid and field grid––has become one of the essential elements, as well as the bottleneck in using Navier–Stokes technology for complex configuration/complex flow analysis. In addition, most Navier–Stokes solvers have not been thoroughly checked out and validated for numerical accuracy, convergence reliability, and application limitations. Boeing has acquired several Navier–Stokes codes from NASA, as well from other research organizations, and has devoted a great deal of effort testing the codes and validating numerical results with available wind tunnel and flight data. In addition, to make the codes usable tools for engineering design, Boeing CFD developers have rewritten a 3D grid generation code through the use of an advancing front approach [50], so that a precise control on grid quality, such as grid spacing, stretching ratio, and grid orthogonality near configuration surfaces can be achieved. This is an important requirement for accurate resolution of viscous flow regions for all existing Navier–Stokes solvers. Two structured grid generation approaches are currently in use (i.e., the matched/patched multiblock grid approach and the overset or overlap grid approach). The former approach subdivides the flowfield into a number of topologically simple regions, such that in each region high quality grid can be generated. This is a rather time-consuming and tedious process for complex configuration analysis. However, once this ‘‘blocking’’ process is done for one configuration, a similar configuration can be done easily through the use of script or command files. The TLNS3D/CFL3D based Zeus Navier–Stokes analysis system [51] developed and used at Boeing for Loads and Stability and Control applications belongs to this structured, multiblock grid approach. The Zeus analysis system inherited the process developed in the A488 system, which packaged many user-friendly preprocessing programs that handled geometry and flow condition input as well as postprocessing programs that printed and plotted wing sectional data and airplane force and moment data. This has allowed the design engineers to reduce their input to just geometry lofts and flight conditions and obtain the solution within a few hours or overnight depending on the size of the problem and the availability of the computing resources. The Zeus system is illustrated in Fig. 18.

Some recent applications of using the Zeus Navier–Stokes analysis system include the prediction of Reynolds number effects on tail effectiveness, shown in Fig. 19. CFD results captured the effect of Reynolds number on horizontal tail boundary layer health and on tail effectiveness quite well.

Another application is the simulation of vortex generators on a complete airplane configuration [52] as shown in Fig. 20. The effects of vortex generators on airplane pitch characteristics are shown. Again, the results compare reasonably well with flight data with respect to predicting airplane pitch characteristics, even at relatively high angles of attack where the flow is massively separated. The CFD solution also provides flowfield details that illustrate the flow physics behind how vortex generators work to improve high-speed handling characteristics, a very useful tool for design engineers in selecting and placing vortex generators on lifting surfaces.

The second structured grid Navier–Stokes method uses the overset grid approach, whereby the flowfield grid is generated for each component of the configuration independently. Each set of grid overlaps with other set or sets of grid, and communication between various sets of grid is achieved through numerical interpolation in the overlap region. The advantage of this approach is that each component of the configuration is relatively simple, and a high-quality local grid can be easily generated. However, one pays the price of performing complex 3D interpolation with some risk of degrading overall numerical accuracy. The OVERFLOW code [43] used at Boeing for high-speed and high-lift configuration analysis belongs to this overset/overlap structured grid approach. Fig. 21 shows the overset grids and OVERFLOW solution of a complex high-lift system, including all high-lift components of the airplane [53]. Results agree well with experimental data for low to moderate angle of attacks. At high angle of attack, there are complex flow separations in the flap and slat gap regions, which could not be simulated adequately with the current one- or two-equation turbulence models. Improvements in turbulence models for separated flow simulation, as well as Navier–Stokes solver accuracy and robustness, are essential for a reliable prediction of airplane high-lift performance, as well as airplane pitch characteristics.

Another important element for successful use of Navier–Stokes technology in airplane design and analysis is the availability of high-performance computing. All Navier–Stokes codes require large memory and many CPU hours to resolve viscous flows over an airplane configuration. The rapid development of parallel computing hardware and software, as well as PC clusters with large number of CPUs, have made the use of Navier–Stokes technology in practical airplane design and analysis a reality. The analysis of an airplane configuration with 16 vortex generators on each side of the wing consists of approximately 25 million points. Using 56 CPUs on a SGI Origin 2000 machine, the CFD solution for each flight condition can be obtained within 11 h of flow time.

4.4.2. Unstructured grid codes––Fluent, NSU2D/3D, CFD++ The structured grid Navier–Stokes codes make highly efficient use of computer memory and processing power due to the well-ordered data structure used in the solution algorithm. However, they suffer two major drawbacks; i.e., the lack of flexibility in handling complex geometry and the difficulty of implementing solution adaptive gridding. These requirements, namely, complex geometry and solution adaptive capability, are essential for accurate and reliable predictions of airplane design and off-design performance. Consequently, it is less common and often more difficult to use CFD to analyze geometrically complex parts of the airplane, such as high-lift systems (flaps and slats), engine compartments, auxiliary power units, and so on. Paradoxically, the success of CFD in designing major components has eliminated many of the experiments that previously provided a ‘‘piggyback’’ opportunity to test these complicated devices. Consequently, there is an increased need to compute airflows around and through systems that are distinguished by very complex geometry and flow patterns. In the last decade, there has been impressive progress in unstructured grid Navier–Stokes code developments [54–57]. Boeing Commercial Airplanes has explored and used Fluent, the most recent unstructured grid Navier–Stokes codes NSU2D/NSU3D of Mavriplis [54], and CFD++ of Chakravarthy [57] for 2D and 3D high-lift analysis with success.

A recent application of unstructured grid technology involved the use of Fluent V5 [58] to investigate the behavior of the efflux from engine thrust reversers [59]. A typical commercial airplane deploys its thrust reversers briefly after touch down. A piece of engine cowling translates aft and blocker doors drop down, directing the engine airflow into a honeycomb structure called a cascade. The cascade directs the flow forward, which acts to slow the aircraft and decrease lift for more effective braking. There are some critical design considerations in properly directing the reversed flow. The reverser is used precisely at the time when high-lift devices, wing leading and trailing edge flaps and slats, are fully deployed. Consequently, the plumes of hot exhaust must be directed so as not to impinge on these devices. In addition, the plumes should not hit the fuselage or other parts of the aircraft. Moreover, reingestion (in which the reversed plume reenters the engine inlet), engine ingestion of debris blown up from the runway, and plume envelopment of the vertical tail (which affects directional control) must be avoided. To eliminate these effects, it's important for designers to know exactly where the exhaust plumes go.

The Tetra module of grid generation software from ICEM CFD Engineering [60] has been used to obtain fully unstructured meshes. Starting from a new airplane geometry (with cleaned up lofts), these meshes can be created in a day or two. The grid generation software contains a replay capability so that minor changes to the geometry can be remeshed quickly. Because the entire CFD analysis cycle can be completed in about three days, designers can use this tool repeatedly as a way to optimize the design. In this way, it is possible to map the performance of the reverser against the power setting of the reversed engine fan and the airplane forward speed. Tests that involve geometry changes, such as the repositioning of the cascades or the nacelle relative to the wing or variation of the cascade angles, can be accomplished with minimal remeshing and analysis. Wind tunnel testing and expense are reduced, but the key benefits are really time and risk mitigation. If a need to change the design should become apparent after the tooling was built and aircraft was in test, the delay in entry into service and the expense of retooling would be unacceptable. The grid and engine reverser efflux particle traces from one of these cases is illustrated in Fig. 22. Fluent is in widespread use at Boeing for other geometrically complex problems, such as cooling flows in engine compartments and dispersion of fire suppression chemicals.

4.4.3. Other Navier–Stokes codes The Propulsion Analysis group at Boeing Commercial Airplanes has long acquired, supported, and used a number of other Navier–Stokes codes. The present authors are not qualified to describe this activity; however, we do wish to mention some of the codes involved. These include the Boeing named Mach3 code based on the implicit predictor, corrector methodology of McCormack [61], the PARC code [62] of NASA Lewis, the WIND code [63], and BCFD [64], which is scheduled to be the platform for an Enterprise common Navier–Stokes code. These codes have been used for nacelle inlet analysis and design and for nacelle fan and core cowl nozzle performance studies [64,65].

4.4.4. Next generation Navier–Stokes codes The successful application of Navier–Stokes codes during the last 10 years has raised expectations among Boeing engineers that CFD can become a routine tool for the loads analysis,stability and control analysis, and high-lift design processes. In fact, there is considerable speculation that it may be possible to populate databases involving tens of thousands of cases with results from Navier–Stokes CFD codes, if dramatic improvements in computing affordability continue over the next five years. For the first time, the affordability per Navier–Stokes data point may rival that of a wind tunnel generated data point. Of course, project engineers use CFD and wind tunnel data in a complementary fashion so that cost is not a competitive issue here. Before Navier–Stokes codes can be routinely used to populate databases; however, accuracy, reliability, efficiency, and usability issues need to be addressed. Gaps in data, inconsistent data, and long acquisition times seriously degrade the utility of a database. Even with current user aids, the application of Navier–Stokes codes to new configurations generally requires the services of an expert user. The generation of a ‘‘good grid’’ is still somewhat of an art and often quite labor intensive. Although everyone realizes that a ‘‘good grid’’ is necessary for accuracy and even convergence, there is no precise definition of what constitutes a ‘‘good grid’’. In fact, the definition would probably vary from code to code and is certainly case dependent. Usability problems are reflected in the fact that although Navier–Stokes codes are now considered capable of generating more accurate results, they are used far less frequently than TRANAIR at Boeing Commercial Airplanes.

Much of the current effort to improve the usability of our Navier–Stokes codes would have to be termed evolutionary. As is always the case with evolutionary improvements, it is necessary to determine whether or not incremental improvements are approaching a horizontal asymptote, while implementation costs are mounting. Boeing is currently involved in an effort to reevaluate the current technology and explore alternatives, much the same as was done 20 years ago in the case of potential flow. The project is called General Geometry Navier–Stokes Solver (GGNS).

From our TRANAIR experience, it seems rather evident that solution adaptive grids must be an essential feature for reliability and usability. This is especially true when computing flows at off-design conditions where our understanding of the flow physics is limited, making it difficult to generate ‘‘good grids’’. However, these grids must now be anisotropic and, more than likely, quite irregular. This places a huge burden on improving discretization fidelity, as current discretization algorithms do not seem to do well with irregular spacings and cell shapes. Higher order elements are certainly desirable for efficiency's sake and for capturing latent features. However, stabilization and limiter technologies need to be advanced to handle such elements. Current solvers are relatively weak, and convergence is often incomplete, especially when turbulent transport equations are involved. Some of these issues are addressed in detail elsewhere [66]. It should be noted that our reevaluation and development work here is a joint effort between the CFD developers at Boeing and their colleagues at the Boeing Technical Research Center in Moscow. We also note there are related efforts going on elsewhere. We mention in particular the FAAST project at NASA Langley.

4.5. Design and optimization methods

4.5.1. A555, A619 inverse design codes Most existing CFD codes are analysis tools (i.e., given a configuration, the codes predict aerodynamic characteristics of the configuration). In airplane design, one would like to have tools that can provide design capability (i.e., given airplane aerodynamic characteristics, the codes generate realistic geometry). The design method used by Henne [67], which prescribes wing surface pressures and employs an iterative method to find the corresponding geometry, was one of the very first inverse design methods used in the airplane industry. Boeing Commercial Airplanes developed a similar method for wing design using the A555 code [68], illustrated in Fig. 23. This code was used extensively on the 7J7, 777, and 737NG programs. The code borrowed heavily from the A488 system to ensure usability in the fast-paced airplane development environment. On the Boeing 777 program, CFD contributed to a high degree of confidence in performance with only a three-cycle wing development program. Significantly fewer wing designs were tested for the 777 than for the earlier 757 and 767 programs. The resulting final design would have been 21% thinner without the ‘‘inverse design’’ CFD capability of A555. Such a wing would not have been manufacturable due to skin gages being too thick for the automatic riveting machines in the factory, and it would have less fuel volume. Conversely, if the wing could meet the skin gage and fuel volume requirements, the cruise Mach number would have had to be significantly slower. In either case, the airplane would not have achieved customer satisfaction. The effect of CFD wing design in this case was an airplane that has dominated sales in its class since being offered to the airlines.

More recently, Campbell [69] introduced a constrained, direct, iterative, surface curvature method (CDISC) for wing design. The method has been incorporated into both the structured grid single-block Navier–Stokes code A619 [70], and the overset grid code OVERFLOW/OVERDISC at Boeing. Both codes are in use for configuration design in the product development organization.

4.5.2. TRANAIR optimization Because of boundary condition generality, and in particular the use of transpiration to simulate surface movement, the TRANAIR code could have easily been substituted into the existing Boeing standard inverse aerodynamic design process, A555. However, the process itself had a number of issues. First and foremost was the difficulty of finding ‘‘good’’ pressure distributions for highly 3D flows. Such pressure distributions needed to result in acceptable off-design performance as well as low cruise drags. Although many rules of thumb were developed through the years, only a few highly experienced aerodynamicists could create acceptable distributions on a routine basis. Second, it was never clear whether the resultant designs were in fact optimal, a question of some importance in a highly competitive environment. Third, multidisciplinary constraints often had to be imposed after the fact leading to a highly iterative and time consuming process as well as potentially suboptimal designs.

A serendipitous result of the decision to use a powerful sparse solver to converge the TRANAIR analysis cases was the ability to rapidly generate solution sensitivities. In a sense, each sensitivity represented just another right hand side for the already decomposed analysis Jacobian matrix to solve. In addition, the adaptive grid capability allowed accurate tracking of changes in critical flow features predicted by these sensitivities. Formally, it was an easy matter to feed the sensitivities into an optimization driver such as NPSOL [71] and systematize the design process as illustrated in Fig. 24. However, optimization codes have been notorious for promising spectacular results and then falling flat because of overly simplistic mathematical realizations of the problems. Aerodynamic design requires understanding of very complicated geometric, flow and interdisciplinary constraints. These constraints are rather nebulous and often exist only in the minds of the designers. An initial optimization capability using TRANAIR was available in 1992 [72], but it took several more years before project users were willing to trust their design processes to optimization [73]. A wide variety of payoff functions and constraints were built into TRANAIR, but the one component of a payoff function that users were really interested in was, of course, drag. Consequently, a great deal of effort was invested in numerical work to improve TRANAIR's drag calculations. Careful studies in the mid-1990s [74] then validated the ability of TRANAIR to compute accurate drag increments for subsonic transports.

At the same time, a multipoint optimization capability was introduced, since it was well understood that drag minimization at a single flight condition was somewhat ill-posed and often led to unacceptable off design characteristics. Moreover, users desired capability for simultaneously optimizing slightly different configurations having major portions of their geometries in common. By 1997, TRANAIR optimization had replaced inverse design as the preferred aerodynamic design process for flight conditions where full potential/boundary layer modeling is applicable. At the current time, the code can handle as many as 600 geometry degrees of freedom and 45,000 nonlinear inequalities. These inequalities represent the pointwise application of roughly 25 different types of flow and geometry constraints. The code has seen extensive use in the design of a large variety of configurations covering the Mach range from transonic to Mach 2.4. This has contributed (in several cases critically) to detailed development studies for a number of vehicles, some of which are illustrated in Fig. 25.

TRANAIR design/optimization applications that have affected a product include the payload fairing on the Sea Launch rocket, nacelle fan cowl for the GE90-115B engine, and the process used to determine ‘‘Reduced Vertical Separation Minimums’’ compliance for new and in-service aircraft.

  1. Conclusions

During the last 30 years at Boeing Commercial Airplanes, Seattle, CFD has evolved into a highly valued tool for the design, analysis, and support of cost-effective and high-performing commercial transports. The application of CFD today has revolutionized the process of aerodynamic design, and CFD has joined the wind tunnel and flight test as a critical tool of the trade. This did not have to be the case; CFD could have easily remained a somewhat interesting tool with modest value in the hands of an expert as a means to assess problems arising from time to time. As the reader can gather from the previous sections, there are many reasons that this did not happen. The one we would like to emphasize in this Conclusion section is the fact that Boeing recognized the leverage in getting CFD into the hands of the project engineers and was willing to do all the things necessary to make it happen.



n5321 | 2025年7月29日 20:58

Advanced methodology for uncertainty propagation in computer experiments with large number of inputs


Bertrand Iooss,a,b;∗ and Amandine Marrel,c a. EDF R&D, Département PRISME, 6 Quai Watier, 78401 Chatou, France b. Institut de Mathématiques de Toulouse, 31062 Toulouse, France c. CEA, DEN, DER, SESI, LEMS, 13108 Saint-Paul-lez-Durance, France ∗Email: bertrand.iooss@edf.fr

December 24, 2018

Abstract

In the framework of the estimation of safety margins in nuclear accident analysis, a quantitative assessment of the uncertainties tainting the results of computer simulations is essential. Accurate uncertainty propagation (estimation of high probabilities or quantiles) and quantitative sensitivity analysis may call for several thousand of code simulations. Complex computer codes, as the ones used in thermal-hydraulic accident scenario simulations, are often too cpu-time expensive to be directly used to perform these studies. A solution consists in replacing the computer model by a cpu inexpensive mathematical function, called a metamodel, built from a reduced number of code simulations. However, in case of high dimensional experiments (with typically several tens of inputs), the metamodel building process remains difficult. To face this limitation, we propose a methodology which combines several advanced statistical tools: initial space-filling design, screening to identify the non-influential inputs, Gaussian process (Gp) metamodel building with the group of influential inputs as explanatory variables. The residual effect of the group of non-influential inputs is captured by another Gp metamodel. Then, the resulting joint Gp metamodel is used to accurately estimate Sobol’ sensitivity indices and high quantiles (here 95%-quantile). The efficiency of the methodology to deal with a large number of inputs and reduce the calculation budget is illustrated on a thermal-hydraulic calculation case simulating with the CATHARE2 code a Loss Of Coolant Accident scenario in a Pressurized Water Reactor. A predictive Gp metamodel is built with only a few hundred of code simulations and allows the calculation of the Sobol’ sensitivity indices. This Gp also provides a more accurate estimation of the 95%-quantile and associated confidence interval than the empirical approach, at equal calculation budget. Moreover, on this test case, the joint Gp approach outperforms the simple Gp.

Keywords | Gaussian process, Metamodel, Quantile, Screening, Sobol’ indices


I. INTRODUCTION

Best-estimate computer codes are increasingly used to estimate safety margins in nuclear accident management analysis instead of conservative procedures [1, 2]. In this context, it is essential to evaluate the accuracy of the numerical model results, whose uncertainties come mainly from the lack of knowledge of the underlying physics and the model input parameters. The so-called Best Estimate Plus Uncertainty (BEPU) methods were then developed and introduced in safety analyses, especially for thermal-hydraulic issues, and even more precisely for the large-break loss-of-coolant accident [3, 4, 5]. Its main principles rely on a probabilistic modeling of the model input uncertainties, on Monte Carlo sampling for running the thermal-hydraulic computer code on sets of inputs, and on the application of statistical tools (based for example on order statistics as the Wilks’ formula) to infer high quantiles of the output variables of interest [6, 7, 8, 9, 10].

Not restricted to the nuclear engineering domain, the BEPU approach is more largely known as the uncertainty analysis framework [11]. Quantitative assessment of the uncertainties tainting the results of computer simulations is indeed a major topic of interest in both industrial and scientific communities. One of the key issues in such studies is to get information about the output when the numerical simulations are expensive to run. For example, one often faces up with cpu time consuming numerical models and, in such cases, uncertainty propagation, sensitivity analysis, optimization processing and system robustness analysis become difficult tasks using such models. In order to circumvent this problem, a widely accepted method consists in replacing cpu-time expensive computer models by cpu inexpensive mathematical functions (called metamodels) based, e.g., on polynomials, neural networks, or Gaussian processes [12]. This metamodel is built from a set of computer code simulations and must be as representative as possible of the code in the variation domain of its uncertain parameters, with good prediction capabilities. The use of metamodels has been extensively applied in engineering issues as it provides a multi-objective tool [13]: once estimated, the metamodel can be used to perform global sensitivity analysis, as well as uncertainty propagation, optimization, or calibration studies. In BEPU-kind analyses, several works [14, 15, 16] have introduced the use of metamodels and shown how this technique can help estimate quantiles or probability of failure in thermal-hydraulic calculations.

However, the metamodeling technique is known to be relevant when simulated phenomena are related to a small number of random input variables (see [17] for example). In case of high dimensional numerical experiments (with typically several tens of inputs), and depending on the complexity of the underlying numerical model, the metamodel building process remains difficult, or even impracticable. For example, the Gaussian process (Gp) model [18] which has shown strong capabilities to solve practical problems, has some caveats when dealing with high dimensional problems. The main difficulty relies on the estimation of Gp hyperparameters. Manipulating predefined or well-adapted Gp kernels (as in [19, 20]) is a current research way, while several authors propose to couple the estimation procedure with variable selection techniques [21, 22, 23].

In this paper, following the latter technique, we propose a rigorous and robust method for building a Gp metamodel with a high-dimensional vector of inputs. Moreover, concerning the practical use of this metamodel, our final goal is twofold: to be able to interpret the relationships between the model inputs and outputs with a quantitative sensitivity analysis, and to have a reliable high-level quantile estimation method which does not require additional runs of the computer code.

In what follows, the system under study is generically denoted

Y = g (X1; ... ; Xd) (1)

where g(·) is the numerical model (also called the computer code), whose output Y and input parameters X1, ..., Xd belong to some measurable spaces Y and X1, ..., Xd respectively. X = (X1, ..., Xd) is the input vector and we suppose that X = ∏d k=1 Xk ⊂ Rd and Y ⊂ R. For a given value of the vector of inputs x = (x1, ..., xd) ∈ Rd, a simulation run of the code yields an observed value y = g(x).

To meet our aforementioned objectives, we propose a sequential methodology which combines several relevant statistical techniques. Our approach consists in four steps:

  1. Step 1: Design of experiments. Knowing the variation domain of the input variables, a design of n numerical experiments is firstly performed and yields n model output values. The obtained sample of inputs/outputs constitutes the learning sample. The goal is here to explore, the most efficiently and with a reasonable simulation budget, the domain of uncertain parameters X and get as much information as possible about the behavior of the simulator output Y. For this, we use a space-filling design (SFD) of experiments, providing a full coverage of the high-dimensional input space [12, 23].

  2. Step 2: Preliminary screening. From the learning sample, a screening technique is performed in order to identify the Primary Influential Inputs (PII) on the model output variability and rank them by decreasing influence. To achieve it, we use dependence measures with associated statistical tests. These measures have several advantages: they can be directly estimated on a SFD, the sensitivity indices that they provide are interpretable quantitatively and their efficiency for screening purpose has been recently illustrated by [24, 25, 26].

  3. Step 3: Building and validation of joint metamodel. From the learning sample, a metamodel is built to fit the simulator output Y. For this, we propose to use a joint Gp metamodel [27], by considering only the PII as the explanatory inputs while the other inputs (screened as non significantly influential) are considered as a global stochastic (i.e. unknown) input. Moreover, we use a sequential process to build the joint Gp where the ranked PII are successively included as explanatory inputs in the metamodel (ranking from Step 2). At each iteration, a first Gp model [22], only depending on the current set of explanatory inputs, is built to approximate the mean component. The residual effect of the other inputs is captured using a second Gp model, also function of the explanatory inputs, which approximates the variance component. The accuracy and prediction capabilities of the joint metamodel are controlled on a test sample or by cross-validation.

  4. Step 4: Use of the metamodel for sensitivity analysis and uncertainty propagation. A quantitative sensitivity analysis (Step 4A) and an uncertainty propagation (Step 4B) are performed using the joint metamodel instead of the computer model, leading to a large gain of computation time [28, 27]. In this work, we are particularly interested in estimating variance-based sensitivity indices (namely Sobol’ indices) and the 95%-quantile of model output.

For ease of reading and understanding of the methodology, Figure 1 gives a general workflow of the articulation of the main steps. For each step, the dedicated sections, the main notations that will be properly introduced later and the key equations are also referenced, in order to provide a guideline for the reader. The paper is organized as follows. In the following section, the nuclear test case which constitutes the guideline application of the paper is described. It consists in a thermal-hydraulic calculation case which simulates an accidental scenario in a nuclear Pressurized Water Reactor. Then, each step of the above statistical methodology is detailed in a dedicated section and illustrated as the same time on the use-case. A last section concludes the work.

Fig. 1. General workflow of the statistical methodology.

II. THERMAL-HYDRAULIC TEST CASE

Our use-case consists in thermal-hydraulic computer experiments, typically used in support of regulatory work and nuclear power plant design and operation. Indeed, some safety analysis considers the so-called "Loss Of Coolant Accident" which takes into account a double-ended guillotine break with a specific size piping rupture. The test case under study is a simplified one, as regards both physical phenomena and dimensions of the system, with respect to a realistic modeling of the reactor. The numerical model is based on code CATHARE2 (V2.5 3mod3.1) which simulates the time evolution of physical quantities during a thermal-hydraulic transient. It models a test carried out on the Japanese mock-up "Large Scale Test Facility" (LSTF) in the framework of the OECD/ROSA-2 project, and which is representative of an Intermediate Break Loss Of Coolant Accident (IBLOCA) [29]. This mock-up represents a reduced scale Westinghouse PWR (1/1 ratio in height and 1/48 in volume), with two loops instead of the four loops on the actual reactor and an electric powered heating core (10 MWe), see Figure 2. It operates at the same pressure and temperature values as the reference PWR. The simulated accidental transient is an IBLOCA with a break on the cold leg and no safety injection on the broken leg. The test under study reproduces a PWR 17% (of cold leg cross-sectional area) cold leg IBLOCA transient with total failure of the auxiliary feedwater, single failure of diesel generators and three systems only available in the intact loop (high pressure injection, accumulator and low pressure injection).

CATHARE2 is used to simulate this integral effect test (see [30] for the full details of the modeling). During an IBLOCA, the reactor coolant system minimum mass inventory and the Peak Cladding Temperature (PCT) are obtained shortly after the beginning of the accumulators’ injection. Figure 3 shows the CATHARE2 prediction and the experimental values of the maximal cladding temperature (also called maximal heater rod temperature) obtained during the test. The conclusion of [30], which also presents other results, is that the CATHARE2 modeling of the LSTF allows to reproduce the global trends of the different physical phenomena during the transient of the experimental test. In our study, the main output variable of interest will be a single scalar which is the PCT during the accident transient (as an example, see the peak in Figure 3). This quantity is derived from the physical outputs provided by CATHARE2 code.

The input parameters of the CATHARE2 code correspond to various system parameters as boundary conditions, some critical flow rates, interfacial friction coefficients, condensation coefficients, heat transfer coefficients, etc. In our study, only uncertainties related to physical parameters are considered and no uncertainty on scenario variables (initial state of the reactor before the transient) is taken into account. All uncertain physical models identified in a IBLOCA transient of a nuclear power plant are supposed to apply to the LSTF, except phenomena related to fuel behavior because of the fuel absence in the LTSF. A physical model uncertainty consists in an additive or multiplicative coefficient associated to a physical model. Finally, d = 27 scalar input variables of CATHARE2 code are considered uncertain and statistically independent of each other. They are then defined by their marginal probability density function (uniform, log-uniform, normal or log-normal). Table I gives more details about these uncertain inputs and their probability density functions (pdf). The nature of these uncertainties appears to be epistemic since they come from a lack of knowledge on the true value of these parameters.

TABLE I: List of the 27 uncertain input parameters and associated physical models in CATHARE2 code.

Type of inputsInputspdf aPhysical models
Heat transfer in the coreX1NDeparture from nucleate boiling
X2UMinimum film stable temperature
X3LNHTCb for steam convection
X4LNWall-fluid HTC
X5NHTC for film boiling
Heat transfer in the steam generators (SG) U-tubeX6LUHTC forced wall-steam convection
X7NLiquid-interface HTC for film condensation
Wall-steam friction in coreX8LU
Interfacial frictionX9LNSG outlet plena and crossover legs together
X10LNHot legs (horizontal part)
X11LNBend of the hot legs
X12LNSG inlet plena
X13LNDowncomer
X14LNCore
X15LNUpper plenum
X16LNLower plenum
X17LNUpper head
CondensationX18LNDowncomer
X19UCold leg (intact)
X20UCold leg (broken)
X27UJet
Break flowX21LNFlashing (undersaturated)
X22NWall-liquid friction (undersaturated)
X23NFlashing delay (undersaturated)
X24LNFlashing (saturated)
X25NWall-liquid friction (saturated)
X26LNGlobal interfacial friction (saturated)

a. U, LU, N and LN respectively stands for Uniform, Log-Uniform, Normal and Log-Normal probability distributions. b. Heat Transfer Coefficient.

Our objective with this use-case is to provide a good metamodel for sensitivity analysis, uncertainty propagation and, more generally, safety studies. Indeed, the cpu-time cost of one simulation is too important to directly perform all the statistical analysis which are required in a safety study and for which many simulations are needed. To overcome this limitation, an accurate metamodel, built from a reduced number of direct code calculations, will make it possible to develop a more complete and robust safety demonstration.

III. STEP 1: DESIGN OF EXPERIMENTS

This initial step of sampling is to define a design of n experiments for the inputs and performing the corresponding runs with the numerical model g. The obtained sample of inputs/outputs will constitute the learning sample on which the metamodel will then be fitted. The objective is therefore to investigate, most efficiently and with few simulations, the whole variation domain of the uncertain parameters in order to build a predictive metamodel which approximates as accurately as possible the output Y.

For this, we propose to use a space-filling design (SFD) of a n of experiments, this kind of design providing a full coverage of the high-dimensional input space [12]. Among SFD types, a Latin Hypercube Sample (LHS, [31])) with optimal space-filling and good projection properties [23] would be well adapted. In particular, [12, 32] have shown the importance of ensuring good low-order sub-projection properties. Maximum projection designs [33] or low-centered L2 discrepancy LHS [34] are then particularly well-suited.

Mathematically, the experimental design corresponds to a n-size sample {x(1), ..., x(n)} which is performed on the model (or code) g. This yields n model output values denoted {y(1), ..., y(n)} with y(i) = g(x(i)). The obtained learning sample is denoted (Xs, Ys) with Xs = [x(1)T, ..., x(n)T]T and Ys = {y(1), ..., y(n)}T. Then, the goal is to build an approximating metamodel of g from the n-sample (Xs, Ys).

The number n of simulations is a compromise between the CPU time required for each simulation and the number of input parameters. For uncertainty propagation and metamodel-building purpose, some rules of thumb propose to choose n at least as large as 10 times the dimension d of the input vector [35, 22].

To build the metamodel for the IBLOCA test case, n = 500 CATHARE2 simulations are performed following a space-filling LHS built in dimension d = 27. The histogram of the obtained values for the output of interest, namely the PCT, is given by Figure 4 (temperature is in °C). A kernel density estimator [36] of the data is also added on the plot to provide an estimator of the probability density function. A bimodality seems to be present in the histogram. It underlines the existence of bifurcation or threshold effects in the code, probably caused by a phenomenon of counter current flow limitation between the bend of hot legs and the steam generator inlet plena.

Fig. 4. Histogram of the PCT from the learning sample of n = 500 simulations.

Remark III.1 Note that the input values are sampled following their prior distributions defined on their variation ranges. Indeed, as we are not ensured to be able to build a sufficiently accurate metamodel, we prefer sample the inputs following the probabilistic distributions in order to have at least a probabilized sample of the uncertain output, on which statistical characteristics could be estimated. Moreover, as explained in the next section, dependence measures can be directly estimated on this sample, providing first usable results of sensitivity analysis.

Finally, the bimodality that has been observed on the PCT distribution strengthens the use of advanced sensitivity indices (i.e. more general than linear ones or variance-based ones) in our subsequent analysis.

IV. STEP 2: PRELIMINARY SCREENING BASED ON DEPENDENCE MEASURE

From the learning sample, a screening technique is performed in order to identify the primary influential inputs (PII) on the variability of model output. It has been recently shown that screening based on dependence measures [24, 25] or on derivative-based global sensitivity measures [37, 38] are very efficient methods which can be directly applied on a SFD. Moreover, beyond the screening job, these sensitivity indices can be quantitatively interpreted and used to order the PII by decreasing influence, paving the way for a sequential building of metamodel. In the considered IBLOCA test case, the adjoint model is not available and the derivatives of the model output are therefore not computed because of their costs. The screening step will then be based only on dependence measures, more precisely on Hilbert-Schmidt independence criterion (HSIC) indices, directly estimated from the learning sample.

The dependence measures for screening purpose have been proposed by [24] and [25]. These sensitivity indices are not the classical ones based on the decomposition of output variance (see [39] for a global review). They consider higher order information about the output behavior in order to provide more detailed information. Among them, the Hilbert-Schmidt independence criterion (HSIC) introduced by [40] builds upon kernel-based approaches for detecting dependence, and more particularly on cross-covariance operators in reproducing kernel Hilbert spaces, see Appendix A for mathematical details.

From the estimated R²HSIC [24], independence tests can be performed for a screening purpose. The objective is to separate the inputs into two sub-groups, the significant ones and the non-significant ones. For a given input Xk, statistical HSIC-based tests aims at testing the null hypothesis "H0(k): Xk and Y are independent", against its alternative "H1(k): Xk and Y are dependent". The significance level (c) of these tests is hereinafter noted α. Several HSIC-based statistical tests are available: asymptotic versions based on an approximation with a Gamma law (for large sample size), spectral extensions and permutation-based versions for non-asymptotic case (case of small sample size). All these tests are described and compared in [25]; a guidance to use them for a screening purpose is also proposed. (c) The significance level of a statistical hypothesis test is the probability of rejecting the null hypothesis H0 when it is true.

So, at the end of this HSIC-based screening step, the inputs are clustered into two subgroups, PII and non-influential inputs, and the PII are ordered by decreasing R²HSIC. This order will be used for the sequential metamodel building in step 3.

On the IBLOCA test case, from the learning sample of n = 500 simulations, R²HSIC dependence measures are estimated and bootstrap independence tests with α = 0.1 are performed. The independence hypothesis H0 is rejected for eleven inputs, which are now designated as PII (Primary Influential Inputs). These inputs are given by Table II with their estimated R²HSIC. Ordering them by decreasing R²HSIC reveals:

  • the large influence of the interfacial friction coefficient in the horizontal part of the hot legs (X10),

  • followed by the minimum stable film temperature in the core X2, the interfacial friction coefficient in the SG inlet plena X12 and the wall to liquid friction (in under-saturated break flow conditions) in the break line X22,

  • followed by seven parameters with a lower influence: the interfacial friction coefficients in the upper plenum X15, the downcomer X13, the core X14 and the SG outlet plena and crossover legs together X9, the heat transfer coefficient in the core for film boiling X5, the interfacial friction coefficient of the saturated break flow X26 and the condensation coefficient in the jet during the injection X27.

These results clearly underline the predominance influence of the uncertainties on various interfacial friction coefficients.

TABLE II: HSIC-based sensitivity indices R²HSIC for the PII (Primary Influential Inputs), identified by independence test (Step 2).

PIIX10X2X12X22X15X13X9X5X14X26X27
R²HSIC0.390.040.020.020.010.010.010.010.010.010.01

From the learning sample, some scatterplots of the PCT with respect to some well-chosen inputs (the three most influential ones: X2, X10 and X12) are displayed in Figure 5. An additional local regression using weighted linear least squares and a first degree polynomial model (moving average filter) is added on each scatterplot to extract a possible tendency. One can observe that larger values of the interfacial friction coefficient in the horizontal part of the hot legs (X10) lead to larger values of the PCT. This can be explained by the increase of vapor which brings the liquid in the horizontal part of hot legs, leading to a reduction of the liquid water return from the rising part of the U-tubes of the SG to the core (through the hot branches and the upper plenum). Since the amount of liquid water available to the core cooling is reduced, higher PCT are observed.

In addition, we notice a threshold effect concerning this input: beyond a value of 2, the water non-return effect seems to have been reached, and X10 no longer appears to be influential. We also note that the minimum stable film temperature in the core (X2) shows a trend: the more it increases, the lower the PCT. This is explained by the fact that in the film boiling regime in the core (i.e. when the rods are isolated from the liquid by a film of vapor), X2 represents (with a decrease in heat flux) the temperature from which the thermal transfer returns to the nucleate boiling regime. Thus, the larger X2, the faster the re-wetting of the rods, the faster the cladding temperature excursion is stopped, and thus the lower the PCT.

Fig. 5. Scatterplots with local polynomial regression of PCT according to several inputs, from the learning sample of n = 500 simulations.

The same kind of physical analysis can be made for other PII by looking at their individual scatterplot. Finally, it is important to note that the estimated HSIC and the results of significant tests are relatively stable when the learning sample size varies from n = 300 to n = 500. Only two or three selected variables with a very low HSIC (R²HSIC around 0.01) can differ. This confirms the robustness, with respect to the sample size, of the estimated HSIC and the results of the associated significance tests. Their relevance for qualitative ranking and screening purpose is emphasized.

In the next steps, only the eleven PII are considered as explanatory variables in the joint metamodel and will be successively included in the building process. The other sixteen variables will be joined in a so-called uncontrollable parameter.

V. STEP 3: JOINT GP METAMODEL WITH SEQUENTIAL BUILDING PROCESS

Among all the metamodel-based solutions (polynomials, splines, neural networks, etc.), we focus our attention on the Gaussian process (Gp) regression, which extends the kriging principles of geostatistics to computer experiments by considering the correlation between two responses of a computer code depending on the distance between input variables. The Gp-based metamodel presents some real advantages compared to other metamodels: exact interpolation property, simple analytical formulations of the predictor, availability of the mean squared error of the predictions and the proved capabilities for modeling of numerical simulators (see [41], [18] or [22]). The reader can refer to [42] for a detailed review on Gp metamodel.

However, for its application to complex industrial problems, developing a robust implementation methodology is required. Indeed, it often implies the estimation of several hyperparameters involved in the covariance function of the Gp (e.g. usual case of anisotropic stationary covariance function). Therefore, some difficulties can arise from the parameter estimation procedure (instability, high number of hyperparameters, see [22] for example). To tackle this issue, we propose a progressive estimation procedure based on the result of the previous screening step and using a joint Gp approach [27]. The interest of the previous screening step becomes twofold. First, the input space, on which each component of the joint Gp is built, can be reduced to the PII space (only the PII are explanatory inputs of Gp). Secondly, the joint Gp is built with a sequential process where the ranked PII are successively included as explanatory inputs in the metamodel. It is expected that these two uses of screening results could significantly make the joint Gp building easier and more efficient.

V.A. Sequential Gp-building process based on successive inclusion of PII as explanatory variables

At the end of the screening step, the PII are ordered by decreasing influence (decreasing R²HSIC). They are successively included as explanatory inputs in the Gp metamodel while the other inputs (the remaining PII and the other non-PII inputs) are joined in a single macro-parameter which is considered as an uncontrollable parameter (i.e. a stochastic parameter, notion detailed in section V.B). Thus, at the j-th iteration, a joint Gp metamodel is built with, as explanatory inputs, the j first ordered PII. The definition and building procedure of a joint Gp is fully described in [27] and summarized in the next subsection.

However, building a Gp or a joint Gp involves to perform a numerical optimization in order to estimate all the parameters of the metamodel (covariance hyperparameters and variance parameter). As we usually consider in computer experiments anisotropic (stationary) covariance, the number of hyperparameters linearly increases with the number of inputs. In order to improve the robustness of the optimization process and deal with a large number of inputs, the estimated hyperparameters obtained at the (j−1)-th iteration are used, as starting points for the optimization algorithm. This procedure is repeated until the inclusion of all the PII. Note that this sequential estimation process is directly adapted from the one proposed by [22].

V.B. Joint Gp metamodeling

We propose to use a joint Gp metamodeling to handle the group of non-PII inputs and capture their residual effect. In the framework of stochastic computer codes, [28] proposed to model the mean and dispersion of the code output by two interlinked Generalized Linear Models (GLM), called "joint GLM". This approach has been extended by [27] to several nonparametric models and the best results on several tests are obtained with two interlinked Gp models, called "joint Gp". In this case, the stochastic input is considered as an uncontrollable parameter denoted X" (i.e. governed by a seed variable).

We extend this approach to a group of non-explanatory variables. More precisely, the input variables X = (X1, ..., Xd) are divided in two subgroups: the explanatory ones denoted Xexp and the others denoted X". The output is thus defined by Y = g(Xexp, X") and the metamodeling process will now focus on fitting the random variable Y|Xexp (d). Under this hypothesis, the joint metamodeling approach yields building two metamodels, one for the mean Ym and another for the dispersion component Yd:

Ym(Xexp) = E(Y|Xexp) (2) Yd(Xexp) = Var(Y|Xexp) = E[(Y − Ym(Xexp))²|Xexp] (3)

where E[Z] is the usual notation for the expected (i.e. mean) value of a random variable Z. (d) Y|Xexp (i.e. Y knowing Xexp) is a random variable as its value depends on the uncontrollable random variable X".

To fit these mean and dispersion components, we propose to use the methodology proposed by [27]. To summarize, it consists in the following steps. First, an initial Gp denoted Gpm,1 is estimated for the mean component with homoscedastic nugget effect(e). A nugget effect is required to relax the interpolation property of the Gp metamodel. Indeed, this property, which would yield zero residuals for the whole learning sample, is no longer desirable as the output Y|Xexp is stochastic. Then, a second Gp, denoted Gpv,1, is built for the dispersion component with, here also, an homoscedastic nugget effect. Gpv,1 is fitted on the squared residuals from the predictor of Gpm,1. Its predictor is considered as an estimator of the dispersion component. The predictor of Gpv,1 provides an estimation of the dispersion at each point, which is considered as the value of the heteroscedastic nugget effect. The homoscedastic hypothesis is so removed and a new Gp, denoted Gpm,2, is fitted on data, with the estimated heteroscedastic nugget. This nugget, as a function of Xexp, accounts for a potential interaction between Xexp and the uncontrollable parameter X". Finally, the Gp on the dispersion component is updated from Gpm,2 following the same methodology as for Gpv,1. (e) Borrowed from geostatistics to refer to an unexpected nugget of gold found in a mining process, a constant nugget effect assumes an additive white noise effect, whose variance constitutes the nugget parameter. Most often, this variance is assumed to be constant, independent from the inputs (here Xexp), and the nugget effect is called homoscedastic. When this variance depends on the value of x (i.e. is a function of X), the nugget effect is called heteroscedastic.

Remark V.1 Note that some parametric choices are made for all the Gp metamodels: a constant trend and a Matérn stationary anisotropic covariance are chosen. All the hyperparameters (covariance parameters) and the nugget effect (when homoscedastic hypothesis is done) are estimated by maximum likelihood optimization process.

V.C. Assessment of metamodel accuracy

To evaluate the accuracy of a metamodel, we use the predictivity coefficient Q²:

Q² = 1 − [Σ(y(i) − ŷ(i))²] / [Σ(y(i) − ȳ)²] (4)

where (x(i)) is a test sample, (y(i)) are the corresponding observed outputs and (ŷ(i)) are the metamodel predictions. Q² corresponds to the coefficient of determination in prediction and can be computed on a test sample independent from the learning sample or by cross-validation on the learning sample. The closer to one the Q², the better the accuracy of the metamodel. In the framework of joint Gp-modeling, Q² criterion will be used to assess the accuracy of the mean part of the joint Gp, namely Gpm,•, whether Gpm,• is a homoscedastic (Gpm,1) or heteroscedastic Gp (Gpm,2). This quantitative information can be supplemented with a plot of predicted against observed values (ŷ(i) with respect to y(i)) or a quantile-quantile plot.

To evaluate the quality of the dispersion part of a joint metamodel (denoted Gpv,•), we use the graphical tool introduced in [27] to assess the accuracy of the confidence intervals predicted by a Gp metamodel. For a given Gp metamodel, It consists in evaluating the proportions of observations that lie within the α-theoretical confidence intervals which are built with the mean squared error of Gp predictions (the whole Gp structure is used and not only the conditional mean). These proportions (i.e. the observed confidence intervals) can be visualized against the α-theoretical confidence intervals, for different values of α.

V.D. Application on IBLOCA test case

The joint Gp metamodel is built from the learning sample of n = 500: the eleven PII identified at the end of the the screening step are considered as the explanatory variables while the sixteen others are considered as the uncontrollable parameter. Gps on mean and dispersion components are built using the sequential building process described in section V.A where PII ordered by decreasing R²HSIC are successively included in Gp. Q² coefficient of mean component Gpm is computed by cross validation at each iteration of the sequential building process. The results which are given by Table III show an increasing predictivity until its stabilization around 0.87, which illustrates the robustness of the Gp building process. The first four PII make the major contribution yielding a Q² around 0.8, the four following ones yield minor improvements (increase of 0.02 on average for each input) while the three last PII does not improve the Gp predictivity. Note that, in this application, these results remain unchanged whether we consider homoscedastic Gp (Gpm,1) or heteroscedastic Gp (Gpm,2), the heteroscedastic nugget effect not significantly improving the Gp predictor for the mean component. Thus, only 13% of the output variability remains here not explained by Gpm, this includes both the inaccuracy of the Gpm (part of Ym not fitted by Gp) and the total effect of the uncontrollable parameter, i.e. the group of non-selected inputs.

For this exercise, 600 remaining CATHARE2 simulations, different from the learning sample, are also available. As they are not used to build the Gp metamodel, this set of simulations will constitutes a test sample. The Q² computed on this test sample is Q² = 0.90 for both Gpm,1 and Gpm,2, which is consistent with the estimations by cross-validation.

TABLE III: Evolution of Gpm metamodel predictivity during the sequential process building, for each new additional PII.

PIIX10X2X12X22X15X13X9X5X14X26X27
0.600.640.700.790.810.830.850.850.870.870.87

Now, to assess the quality of dispersion part of the joint Gp, the predicted confidence intervals are compared with the theoretical ones (cf. Section V.C). Figure 6 gives the results obtained by Gpm,1 and Gpm,2 on the learning sample (by cross-validation) and the test sample, since available here. It clearly illustrates both the interest of considering a heteroscedatic nugget effect and the efficiency of using a joint Gp model to fit and predict this nugget. It can be seen that the joint Gp yields the most accurate confidence intervals in prediction, especially for the test sample. Indeed, all its points are close to the theoretical y = x line (a deviation is only observed for the learning sample for the highest α), while the homoscedastic Gp tends to give too large confidence intervals. Thus, in this case, the heteroscedasticity hypothesis is justified and, consequently, the proposed joint Gp model is clearly more competitive than the simple one.

Fig. 6. Proportion of observations that lie within the α-confidence interval predicted by the Gp, according to the theoretical α. Top: results for homoscedastic Gp (Gpm,1) on the learning sample (left) and on the test sample (right). Bottom: results for heteroscedastic Gp (Gpm,2) on the learning sample (left) and on the test sample (right).

VI. STEP 4A: VARIANCE-BASED SENSITIVITY ANALYSIS

Sensitivity Analysis methods allow to answer the question "How do the input parameters variations contribute, qualitatively or quantitatively, to the variation of the output?" [43]. These tools can detect non-significant input parameters in a screening context, determine the most significant ones, measure their respective contributions to the output or identify an interaction between several inputs which impacts strongly the model output. From this, engineers can guide the characterization of the model by reducing the output uncertainty: for instance, they can calibrate the most influential inputs and fix the non-influential ones to nominal values. Many surveys on sensitivity analysis exist in the literature, such as [44], [45] or [46]. Sensitivity analysis can be divided into two sub-domains: the local sensitivity analysis and the global sensitivity analysis. The first one studies the effects of small input perturbations around nominal values on the model output [47] while the second one considers the impact of the input uncertainty on the output over the whole variation domain of uncertain inputs [43]. We focus here on one of the most widely used global sensitivity indices, namely Sobol’ indices which are based on output variance decomposition.

A classical approach in global sensitivity analysis is to compute the first-order and total Sobol’ indices which are based on the output variance decomposition [48, 49], see Appendix B for mathematical details. Sobol’ indices are widely used in global sensitivity analysis because they are easy to interpret and directly usable in a dimension reduction approach. However, their estimation (based on Monte-Carlo methods for example) requires a large number of model evaluations, which is intractable for time expensive computer codes. An classical alternative solution consists in using a metamodel to compute these indices. Note that a connection can be made between the estimation error of Sobol’ indices when using a metamodel and the predictivity coefficient Q² of the metamodel. Indeed, when the Q² is estimated on a probabilized sample of the inputs (in other words when it is computed under the probability distribution of the inputs), it provides an estimation of the part of variance unexplained by the metamodel. This can be kept in mind when interpreting the Sobol’ indices estimated with the metamodel.

VI.A. Sobol’ indices with a joint Gp metamodel

In the case where a joint Gp metamodel is used to take into account an uncontrollable input X", [50] and [27] have shown how to deduce Sobol’ indices from this joint metamodel, see Appendix C for mathematical details.

Therefore, from a joint Gp, it is only possible to estimate Sobol’ indices of any subset of Xexp (equation (12)) and the total Sobol’ index of X" (equation (13)). The latter is interpreted as the total sensitivity index of the uncontrollable process. The individual index of X" or any interaction index involving X" are not directly reachable from joint Gp; their contributions in S"T can not be distinguished. This constitutes a limitation of this approach. However, the potential interactions between X" and inputs of Xexp could be pointed out, considering all the primary and total effects of all the other parameters. The sensitivity analysis of Yd can also be a relevant indicator: if a subset Xu of Xexp is not influential on Yd, we can deduce that Su" is equal to zero. Note that in practice, Var(Y) which appears in both equations (12) and (13) can be estimated directly from the learning sample (empirical estimator) or from the fitted joint Gp, using equation (9).

VI.B. Results on IBLOCA test case

From the joint Gp built in section V.D, Sobol’ indices of PII are estimated from Gpm by using equation (12), Var(Y) being estimated with Gpm and Gpd using equation (9). For this, intensive Monte Carlo methods are used (see e.g. the pick-and-freeze estimator of [51]): tens of thousands simulations of Gp are done. Remind that predictions of Gp are very inexpensive (few seconds for several thousand simulations), especially with respect to the thermal-hydraulic simulator. The obtained first Sobol’ indices of PII are given by Table IV and represent 85% of the total variance of the output. Qualitative results of HSIC indices are confirmed and refined: X10 remains the major influential input with 59% of explained variance, followed to a lesser extend by X12 and X22 with for each of them 8% of variance. The partial total Sobol’ indices involving only PII and derived from Gpm show that additional 4% of variance is due to interaction between X10, X12 and X22. The related second order Sobol’ indices are estimated and the significant ones are given in Table IV. The other PII have negligible influence. In short, the set of PII explain a total 89% of the output variance, of which 79% is only due to X10, X12 and X22.

TABLE IV: First and second Sobol’ indices of PII (in %), estimated with Gpm of the joint Gp metamodel.

PIIX10X2X12X22X15X13X9X5X14X26X27
1st-order Sobol’ indices593882120200
Interaction between PIIX10×X22X10×X12
2nd-order Sobol’ indices31

For the physical interpretation, these results confirm those revealed in Section IV, with a rigorous quantification of inputs’ importance: the interfacial friction coefficient in the horizontal part of the hot legs (X10) is the main contributor to the uncertainty of the PCT. Moreover, some results have not been revealed by the HSIC-based screening analysis of Table II. At present, Sobol’ indices clearly indicate that the interfacial friction coefficient in the SG inlet plena X12 and the wall to liquid friction (in under-saturated break flow conditions) in the break line X22 are more influential than the minimum stable film temperature in the core X2. X22 has a significant influence on the PCT because its low values lead to higher break flow rates, resulting in a loss of the primary water mass inventory at the higher break, and thus a more significant core uncovering (then higher PCT). For X12, its higher values lead to a greater supply (by the vapor) of liquid possibly stored in the water plena to the rest of the primary loops (then lower PCT). Table IV also shows that there are some small interaction effects (possibly antagonistic) between X10 and X12, as well as between X10 and X22. Let us remark that deepening this question (which is outside the scope of this paper) would be possible via plotting, from the Gp metamodel, the conditional expectations of the PCT as a function of the interaction variables.

At present, from Gpd and using equation (13), the total effect of the group of the sixteen non-PII inputs (i.e. X") is estimated to 9.7%. This includes its effect alone and in interaction with the PII. To further investigate these interactions, Sobol indices of Yd are estimated and HSIC-based statistical dependence tests are applied on Yd. They reveal that only X10, X14, X2, X22 and X4 potentially interact with the group of non-PII inputs. At this stage of our analysis, this result cannot be physically interpreted.

VII. STEP 4B: QUANTILE ESTIMATION

As already said in the introduction, once a predictive Gp metamodel has been built, it can be used to perform uncertainty propagation and in particular, estimate probabilities or, as here, quantiles.

VII.A. Gp-based quantile estimation

The most trivial and intuitive approach to estimate a quantile with a Gp metamodel is to apply the quantile definition to the predictor of the metamodel. This direct approach yields a so called plug-in estimator. More precisely, with a Gp metamodel, this approach consists in using only the predictor of the Gp metamodel (i.e. the expectation conditional to the learning sample) in order to estimate the quantile. As the expectation of the Gp mean is a deterministic function of the inputs, this provides a deterministic expression of the quantile but no confidence intervals are available. Moreover, for high (resp. low) quantiles, this methods tends to substantially underestimate (resp. overestimate) the true quantile because the metamodel predictor is usually constructed by smoothing the computer model output values (see an analysis of this phenomenon in [14]).

To overcome this problem, [52] has proposed to take advantage of the probabilistic-type Gp metamodel by using its entire structure: not only the mean of the conditional Gp metamodel but also its covariance structure are taken into account. In this full-Gp based approach also called modular Bayesian approach, the quantile definition is therefore applied to the global Gp metamodel and leads to a random variable. The expectation of this random variable can be then considered as a quantile estimator. Its variance and, more generally, all its distribution can then be used as an indicator of the accuracy of the quantile estimate. Confidence intervals can be deduced, which constitutes a great advantage of this full-Gp based approach. Moreover, the efficiency of this approach for high quantile (of the order of 95%) has been illustrated by [53].

In practice, the estimation of quantile with the full-Gp approach is based on stochastic simulations (conditionally to the learning sample) of the Gp metamodel, by using the standard method of conditional simulations [54]. We recall just that, to generate conditional Gaussian simulations on a given interval, a discretization of the interval is first considered, then the vector of the conditional expectation and the matrix of the conditional covariance on the discretized interval are required. Note that [55] uses this approach with Gp conditional simulations for the estimation of Sobol’ indices and their associated confidence intervals.

In this paper, from our joint Gp model, we will compare the full-Gp approach applied to either the homoscedastic Gp or the heteroscedastic Gp and will proceed as follows:

  • For the homoscedastic Gp, the standard technique of conditional simulations is applied to Gpm,1 (built to estimate Ym, with a constant nugget effect).

  • For the heteroscedastic Gp, we propose a new technique to simulate the conditional Gp trajectories:

    1. The heteroscedastic Gp built for Ym (namely Gpm,2) provides the conditional expectation vector and a preliminary conditional covariance matrix.

    2. The Gp built for Yd (namely Gpd,2) is predicted and provides the heteroscedastic nugget effect which is added to the diagonal of the conditional covariance matrix of the previous step.

    3. Conditional simulations are then done using the standard method [54].

VII.B. Results on IBLOCA test case

In this section, we focus on the estimation of the 95%-quantile of the PCT for the IBLOCA application. From the learning sample of size n = 500 and the joint Gp, we compare here the following approaches to estimate the PCT quantile:

  • The classical empirical quantile estimator, denoted ^q95_emp. A bootstrap method (see for example [56]) makes it possible to obtain in addition a 90%-confidence interval for this empirical quantile.

  • The plug-in estimators from the homoscedastic or the heteroscedastic Gp, denoted ^q95_Gpm,1-pi and ^q95_Gpm,2-pi. No confidence intervals are obtained using this estimation method.

  • The full-Gp estimators from the homoscedastic or the heteroscedastic Gp, denoted ^q95_Gpm,1-full and ^q95_Gpm,2-full respectively. As explained in the previous section, confidence intervals can be deduced with this full-Gp approach.

Table V synthesizes all the results obtained for the PCT 95%-quantile with these different approaches given above. In addition, 90%-confidence intervals are given when they are available. As explained in Section V.D, we also have 600 other CATHARE2 simulations, for a total of 1100 PCT simulations (learning sample plus test sample). A reference value of the 95%-quantile is obtained from this full sample with the classical empirical quantile estimator: ^q95_ref = 742.28 °C

The empirical estimator based on the learning sample is imprecise but its bootstrap-based confidence interval is consistent with the reference value. As expected, the plug-in approaches provide poor estimations of the quantile, which is here strongly underestimated. The full-Gp approach based on the homoscedastic assumption overestimates the quantile; this is consistent with the analysis of Gp confidence intervals in Figure 6 (too large confidence intervals provided by homoscedastic Gp). Finally, the best result is obtained with the conditional simulation method based on the heteroscedastic Gp metamodel, built with the joint Gp method. This approach yields a more accurate prediction than the usual homoscedastic Gp and outperforms the empirical estimator in terms of confidence interval. Once again, the heteroscedasticity hypothesis is clearly relevant in this case.

TABLE V: Results for the 95%-quantile estimates of the PCT (in °C) with its 90%-confidence interval (CI) when available.

Reference(f)Empirical(g)Plug-in(g,h) (homo-Gp)Plug-in(g,h) (hetero-Gp)Full-Gp(g,h) (homo-Gp)Full-Gp(g,h) (hetero-Gp)
Mean742.28746.80736.26735.83747.11741.46
90%-CI[736.7, 747.41][742.93, 751.32][738.76, 744.17]

(f) The reference method uses the full sample of size n = 1100. (g) Empirical and Gp-based methods are applied from the learning sample of size n = 500. (h) The plug-in and full-Gp estimators are based on either the homoscedastic or heteroscedastic Gp metamodel.

VIII. CONCLUSION

In the framework of the estimation of safety margins in nuclear accident analysis, it is essential to quantitatively assess the uncertainties tainting the results of Best-estimate codes. In this context, this paper has been focused on an advanced statistical methodology for Best Estimate Plus Uncertainty (BEPU) analysis, illustrated by a high dimensional thermal-hydraulic test case simulating accidental scenario in a Pressurized Water Reactor (IBLOCA test case). Some statistical analyses such as the estimation of high-level quantiles or quantitative sensitivity analysis (e.g., estimation of Sobol’ indices based on variance decomposition) may call in practice for several thousand of code simulations. Complex computer codes, as the ones used in thermal-hydraulic accident scenario simulations, are often too cpu-time expensive to be directly used to perform these studies.

To cope with this limitation, we propose a methodology mainly based on a predictive joint Gp metamodel, built with an efficient sequential algorithm. First, an initial screening step based on advanced dependence measures and associated statistical tests enabled to identify a group of significant inputs, allowing a reduction of the dimension. The efforts of optimization when fitting the metamodel can then be concentrated on the main influential inputs. The robustness of metamodeling is thus increased. Moreover, thanks to the joint metamodel approach, the non-selected inputs are not completely removed: the residual uncertainty due to dimension reduction is integrated in the metamodel and the global influence of non-selected inputs is so controlled. From this joint Gp metamodel, accurate uncertainty propagation and quantitative sensitivity analysis, not feasible with the numerical model because of its computational cost, become accessible. Thus, the uncertainties of model inputs are propagated inside the joint Gp to estimate Sobol’ indices, failure probabilities and/or quantiles, without additional code simulations.

Thus, on the IBLOCA application, a predictive Gp metamodel is built with only a few hundred of code simulations (500 code simulations for 27 uncertain inputs). From this joint Gp, a quantitative sensitivity analysis based on variance decomposition is performed without additional code simulation: Sobol’ indices are computed and reveal that the output is mainly explained by four uncertain inputs. One of them, namely the interfacial friction coefficient in the hot legs, is strongly influential with around 60% of output variance explained, the three others being of minor influence. The quite less influence of all the other inputs is also confirmed. Note that a direct and accurate computation of Sobol’ indices with the thermal-hydraulic code would have required tens of thousands of code simulations.

The physical interpretation of the results obtained with the screening step and the variance-based sensitivity analysis step are known to be useful for modelers and engineers. This study has demonstrated this once again, in the particular case of an IBLOCA safety analysis, by revealing some physical effects on the PCT of influential inputs which cannot be understood without a global statistical approach (e.g. the threshold effect due to the interfacial friction coefficient in the horizontal part of the hot legs). [57] has also underlined the importance of sensitivity analysis in a validation methodology in order to identify relevant physical model uncertainties on which safety engineers must focus their efforts. Counter-intuitive effects are also present during an IBLOCA transient and only a global understanding of physical phenomena can help. As a perspective of the present work, extending the screening and sensitivity analysis tools to a joint analysis of several relevant output variables of interest (as the PCT time, the primary pressure and the core differential pressure) would be essential.

In the IBLOCA test case, we are particularly interested by the estimation of the 95%-quantile of the model output temperature. In nuclear safety, as in other engineering domains, methods of conservative computation of quantiles [6, 58] have been largely studied. We have shown in the present work how to use and simulate the joint Gp metamodel to reach the same objective: the uncertainty of the influential inputs are directly and accurately propagated through the mean component of the joint metamodel while a confidence bound is derived from the dispersion component in order to take into account the residual uncertainty of the other inputs. Results on the IBLOCA test case show that joint Gp provides a more accurate estimation of the 95%-quantile than the empirical approach, at equal calculation budget. Besides, this estimation is very close from the reference value obtained with 600 additional code simulations. Furthermore, the interest of the heteroscedastic approach in joint Gp is also emphasized: the estimated quantile and the associated confidence interval are much better than those of the homoscedastic approach.

As a future application of modern statistical methods on IBLOCA safety issues, one should mention the use of Gp metamodels to identify penalizing thermal-hydraulic transients, with respect to some particular scenario inputs. As in the present work, strong difficulties are raised by the cpu time cost of the computer code and the large number of uncertain (and uncontrollable) inputs.

(The rest of the document, including ACKNOWLEDGMENTS, REFERENCES, and APPENDICES, would follow here, formatted similarly.)


n5321 | 2025年7月28日 22:20

Early Investigation, Formulation and Use of NURBS at Boeing

Robert M. Blomgren Solid Modeling Solutions

David J. Kasik Boeing Commercial Airplanes

Geometry that defines the shape of physical products has challenged mathematicians and computer scientists since the dawn of the digital age. Such geometry has strict requirements for accuracy and must be able to be understood as documentation for products that have a multi-year life expectancy. In the commercial airplane business, product life expectancy is measured in decades.

Geometry data represents points and curves in two dimensions and points, curves, surfaces and solids in three dimensions. A large number of descriptive forms are now used that range from precise canonical definitions (e.g., circle, sphere, cone) to general parametric forms (e.g. B~zier, non-uniform rational B-spline (NURBS), multi-resolution).

Solids add a level of complexity when bounded with general surfaces because of the need for reliable and efficient surface/surface intersection algorithms.

Core geometry algorithms are compute intensive and rely on floating point arithmetic. The mathematical theory of computational geometry is well documented and relies on infinity and absolute zero, a continuing problem for digital computers.

Some of the computational problems can be avoided when a closed form solution is available that does not require convergence to compute a result. As the shapes people modeled expanded beyond canonical forms, more general representations (with the associated computational problems) became necessary.

This article describes how Boeing initiated and supported a concerted effort to formulate a more computationally useful geometry representation.

Boeing Motivation and Experience

Engineering drawings were the dominant output of computer-aided design (CAD) systems in the 1970s and 1980s. The primary examples were a set of turnkey systems built from minicomputers and Tektronix direct view storage tube displays. The standalone systems produced large amounts of paper engineering drawings and gave users the famous 'green flash effect' from the Tektronix terminals.

The majority of the systems used two-dimensional geometry entities (mostly canonical forms) and integer arithmetic to provide acceptable performance. Work done at General Motors was turned into a software-only product called AD-2000 and into a number of turnkey (computer hardware and CAD software) offerings from Computervision, Autotrol, Gerber, Intergraph and McDonnell-Douglas Automation. Applicon developed its own system but the result was architecturally and computationally similar.

The other major player was Lockheed. Lockheed developed CADAM, which ran on an IBM mainframe and IBM refresh graphics terminals, to create the computer analog of a drafting table. Performance was key. The team built a program that regularly achieved sub-quarter response for a large number of users. Dassault noted the success of CADAM and built CATIA to not only generate engineering drawings but improve computer-aided manufacturing functions. CATIA also started on IBM mainframes and refresh graphics terminals like the IBM 2250 and 3250.

Other production tools were built inside large aerospace and automotive companies. These systems were based on three-dimensional entities and addressed early stages of design. In aerospace, the batch TX-90 and TX-95 programs at Boeing and the interactive, IBM-based CADD system at McDonnell-Douglas generated complex aerodynamically friendly lofted surfaces. The automotive industry followed a different path because they most often worked with grids of points obtained from digitizing full-scale clay models of new designs. Surface fitting was essential. Gordon surfaces were the primary form used in General Motors, Overhauser surfaces and Coons patches at Ford, and B~zier surfaces at Renault.

The third rail of geometry, solid modeling, started to receive a significant amount of research attention in the late 1970s. Larry Roberts started using solids as a basis in his Ph.D. thesis, Machine Recognition of 3D Solids, at MIT in the late 1960s. The Mathematical Applications Group (MAGI) developed Synthavision, a constructive solid geometry (CSG) approach to modeling scenes for nuclear penetration analysis in the early 1970s. The University of Rochester PADL system, the General Motors GMSOLID program and others started making more significant impact in the later 1970s.

Boeing and CAD

With all this variation in approach, how did Boeing get involved in the NURBS business? There were three distinct drivers:

  1. Airplane surface design and definition

  2. Experience with turnkey drafting systems

  3. Convergence of the right people

Of Ships and Airplanes

Early commercial airplane design was derived from ship design. Both the terminology (airplanes have waterlines; they roll, pitch, and yaw; directions include fore, aft, port and starboard) and the fundamental design of surfaces (lofting to make airplanes fly smoothly in the fluid material called air) are still in use today.

The lofting process is based on sets of cross sections that are skinned to form an aerodynamic surface. The fundamental way surface lofters used to derive the curves was via conic sections. Most of the early techniques for generating families specified a circular or elliptic nose followed by some sort of elaborate spline representation. The splines could then be scaled to give the desired thickness within a specified shape. Once generated, a conformal mapping routine produced the classic Joukowski family of sections.

As Boeing computerized manual processes in the 1950s and 1960s, one of the earliest was lofting. Programs like TX-90, which evolved into TX-95, implemented the math equivalent of conic-based cross sections. These programs accepted batch card input and used listings, plots or a simple viewing program using a graphics terminal to review results. The lofts became the master dimensions and defined the exterior shape of an airplane.

All Boeing evaluations of geometry representation techniques placed a high premium on the ability of the form to represent conic sections exactly because of their importance in lofting.

The Drafting World

The advent of two new airplane programs (757 and 767) in the late 1970s placed a significant burden on the company. Because drawings were the lingua franca of both engineering and manufacturing, a concerted effort was started to improve the drafting process, and an explicit decision was made to buy commercial CAD products.

The two programs, located on different campuses in the Puget Sound region, chose different vendors to act as their primary CAD supplier. The 757 program chose Computervision (CV) CADDS, and the 767 chose Gerber IDS.

As the design and engineering job moved forward, staff members wanted to exchange information for parts that were similar between the two designs. The central CAD support staff, responsible for both systems, quickly discovered that translating geometry between CV and Gerber caused subtle problems. As a result, a design was put in place to translate all CV and Gerber entities into a neutral format. Translators were then built for CV to Neutral and Gerber to Neutral.

The design for the Geometry Data Base System (GDBMS) was therefore quite extensible, and translators were built to other turnkey systems. The GDBMS concept was ultimately adopted as the model for the Initial Geometry Exchange Standard (IGES), a format still in use.

The implementation of CAD caused two significant geometry problems. First, translation between systems, even with the neutral format, was fraught with problems. Geometry that was fine in CV could not be understood by Gerber and vice versa. The workaround to the problem required that users incorporate only 'translatable' entities on their drawings, which reduced the use of sophisticated, time saving features. Second, the overall set of entities was essentially two-dimensional. Boeing realized early on that the airplane design, engineering and manufacturing business required three-dimensional surfaces and solids.

Key People

Perhaps the biggest contributor to the Boeing geometry work was the willingness of managers, mathematicians and computer scientists to push the envelope. The team put together an environment that enabled the geometry development group to discover and refine the NURBS form. After validation of the computational stability and usefulness of the NURBS form, this new representation was accepted as the mathematical foundation of a next-generation CAD/CAM/CAE system better suited to Boeing.

The head of the central CAD organization, William Beeby, became convinced early on of the shortcomings of turnkey systems. He put a team of Robert Barnes, a McDonnell-Douglas veteran who understood the importance of CADD, and Ed Edwards, who brought experience of complex systems development from Ford and Battelle, in charge of the project.

Early experimentation focused on the display of complex surfaces. Jeff Lane and Loren Carpenter investigated the problem of direct rendering B-spline surfaces. Their work was important both academically through published papers [3] and from a sales perspective because potential users could see the results clearly.

Other early work focused on evaluation of then state-of-the-art solid modeling tools like Synthavision and PADL. Kalman Brauner, Lori Kelso, Bob Magedson and Henry Ramsey were involved in this work.

As the evaluations changed into a formal project, computing experts were added to the team in:

  • System architecture/user interface software (Dave Kasik)

  • 3D graphics (Loren Carpenter, Curt Geertgens, Jeremy Jaech)

  • Database management systems (Steve Mershon, Darryl Olson)

  • Software development for portability (Fred Diggs, Michelle Haffner, William Hubbard, Randy Houser, Robin Lindner)

The team pushed the envelope in all of these areas to improve Boeing's ability to develop CAD/CAM applications that were as machine, operating system, graphics and database independent as possible. New work resulted in Vol Libre, the first fractal animated film [1], user interface management systems [2] and software that ran on mainframes, minicomputers, workstations and PCs.

The rest of this article focuses on the key NURBS geometry algorithms and concepts that comprised the geometry portion of the overall framework (called TIGER - The Integrated Graphics Engineering Resource). Robert Blomgren led the efforts of Richard Fuhr, Peter Kochevar, Eugene Lee, Miriam Lucian, Richard Rice and William Shannon. The team investigated this new form and developed the robust algorithms that would move NURBS geometry from theory to a production implementation to support CAD/CAM applications. Other Boeing mathematicians (David Ferguson, Alan Jones, Tom Grandine) worked in different organizations and introduced NURBS in other areas.

Investigation into NURBS

As its name implies, the Boeing geometry development group was the portion of the TIGER project responsible for defining, developing and testing the geometric forms and algorithms. The functional specifications listed some 10 different types of curves (from lines to splines) and an extensive list of surfaces.

There was no requirement for upward compatibility with older design systems. The most difficult requirement was that no approximation could be used for a circle.

Early research pointed to the importance and difficulty of the curve/curve, curve/surface and surface/surface intersection algorithms. As it turned out, the development of robust intersections was critical to the Boeing formulation of the NURBS form.

Curve/Curve Intersection

An excellent and meticulous mathematician, Eugene Lee, was assigned the task of developing the curve/curve intersection algorithm. The representations needed for each of the required curve forms had already been defined. The initial approach, special purpose intersection routines from each form to the other, would have resulted in far too many special cases to maintain easily.

Lee realized that each segment could be represented as a rational Bzier segment at the lowest segment level. In short, doing one intersection would solve them all. It was a great step forward, but few people knew anything about rational Bzier segments. The primary references consisted of Faux and Pratt's geometry book, deBoor's Guide to Splines, and Lane and Riesenfeld's B~zier subdivision paper. No reference contained significant discussion of rational splines.

The Lane and Riesenfeld subdivision paper was used as the basis for Lee's first curve/curve intersection algorithm. The process relied on the fact that a Bzier curve could be very easily and quickly split into two Bzier curves. Since the min-max box is also split in two, box/box overlap was used to isolate the points of intersection between two curves. This algorithm gave reasonably good results.

Rational B~zier

Since Lee needed to convert circles and other conics to rational Bzier curves to allow use of the general curve/curve intersector, he became the Bzier conics expert. His work eventually led to an internal memo of February '81, A Treatment of Conics in Parametric Rational B~zier Form. At that time, Lee felt this memo was "too trivial" and "nothing new," and it was several years before he incorporated it into later publications. The content of the memo was foundational because it contained all the formulas for converting back and forth between conics defined by the classical methods in the plane and the new 3D definition of the rational Bezier conic containing three weighted points.

B~zier to NURBS

The transition from uniform to non-uniform B-splines was rather straightforward, since the mathematical foundation had been available in the literature for many years. It just had not yet become a part of standard CAD/CAM applied mathematics.

The next step was to combine rational Bzier and non-uniform splines. Up to this point, the form P(t) = Σi wiPi bi(t) / Σi wi bi(t) (1) was used for nothing more complex than a conic Bzier segment.

As the searching for a single form continued, knowledge about knots and multiple knots led to the observation that B~zier segments, especially for conics, could be nicely embedded into a B-spline curve with multiple knots. This now seems simple because it is easy to verify that equation (1) for P(t) is valid for B-spline basis functions as well as Bernstein basis functions. By the end of 1980, the complete representation of all required curves by a single form was complete, and the form is now known as the NURBS.

We quickly realized the importance of this new geometry form. The form could provide a concise and stable geometric definition to accurately communicate design data to and from subcontractors. It would no longer be necessary to send a subcontractor 5,000 points to well define a curve segment; the few NURBS coefficients could be used instead. Therefore, Boeing proposed NURBS as an addition to IGES in 1981.

Properties

This brief overview lists many properties of the NURBS form. These properties further were observed early in the Boeing work on the form and drove NURBS to become the de facto standard representation for CAD/CAM geometry.

The NURBS form is extremely well suited for use on a computer since the coefficients, the Pi given in equation (1) above, are actually points in three dimensions. Connecting the coefficients together to form a simple polygon yields first approximation to the curve. The first and last points of the polygon are usually the actual start and end point of the curve.

Mathematically, a NURBS curve is guaranteed to be inside the convex hull of the polygon. Therefore, knowing where the polygon is means that the location of the curve is also known, and useful decisions can be made quickly. For example, the polygon may be used to determine a min-max box for each curve. The check for box/box overlap is very fast. So the curve/curve intersection process can trivially reject many cases because the bounding boxes do not overlap.

Another property of the polygon is that the curve cannot have more "wiggles" than the polygon does. Hence, if the polygon does not have an inflection, neither does the curve. When the curve is planar, this means that any line cannot intersect the curve more times than it intersects the polygon.

Simple linear transformations (translate and rotate) can be made only to the polygon, a simple operation.

As splines, a NURBS curve may consist of many segments (spans) that are connected together with full continuity. For example, a cubic curve may have C2 continuity between each span. Such curvature continuity is important in aerodynamic and automotive design.

Another NURBS advantage is that the continuity of each span is also under local control. In other words, each span of a cubic is defined by only the four neighboring coefficients of the polygon. Local control is guaranteed because only the four spans are modified if one Pi is moved.

As a continuous set of spans, a NURBS curve is defined on a set of parameter values called knots. Each knot is the parameter value at the boundary between the spans. It is often desirable to increase the number of spans. For example, this occurs when more detail is needed for a curve in one region. Adding a new knot into the existing knots is a powerful feature that increases the number of spans by one without changing the curve.

Surfaces

Given a set of basis functions like those for the NURBS form, it is a straightforward mathematical exercise to extend the curve definition to the corresponding surface definition. Such a representation is referred to as a tensor product surface, and the NURBS surface is such a surface defined over a square domain of (u,v) values. Holding one parameter yields a NURBS curve in the other parameter. Extracting and drawing the NURBS curves of the surface at each of the u and v knot values results in a satisfactory display of the surface.

The one non-trivial drawback to tensor product surfaces is that all surfaces must have four sides. One side must collapse to a point to obtain 3D, three-sided surface. This point is referred to as a pole or singularity. The partial derivatives of the surface must be calculated carefully at a pole. This is particularly important when surfaces are to be trimmed since the path of trimming in the (u,v) space must be determined correctly as the path approaches the pole.

Surface/Surface Intersection

Not all early ideas and experiments gave desirable results. Curve/curve subdivision worked well as the basis for the curve/curve intersection algorithm. However, using surface/surface subdivision as the basis for surface/surface intersection proved problematic.

Peter Kochevar developed and implemented the first Boeing NURBS surface/surface intersection algorithm using subdivision. The results quickly brought available computing resources to a halt because of computational complexity and data explosion.

Upon further analysis, it was observed that if the end result is a point, such as in curve/curve intersection, subdivision gives a good result since the segments become so small at the lowest level that line/line intersection can be used. But if the end result is a curve, which is the normal result of surface/surface intersection, the small surface segments become planes at the lowest level and the result depends on plane/plane intersection. This yields thousands of very short line segments that don't even join up. No satisfactory approach was discovered for surface/surface intersection until later.

Solids

Even in 1980, Boeing realized the importance of solid modeling. Kalman Brauner led a solids group that worked alongside the geometry development group. Their task was to design a state of the art solid modeler to develop the requirements for Boeing's aerodynamic and mechanical design processes.

The requirements were given to the geometry development group to develop and test the appropriate algorithms. This was a useful cooperative effort between groups since the requirements for doing Boolean operations on solids are very stringent. Not only do the various intersections have to give accurate results, but they also have to be extremely reliable. Everything in a Boolean fails if any one of the many intersections fails.

This work on solids was later incorporated into the Axxyz NURBS based solid modeler.

Migration from Boeing Outward

Boeing was able to demonstrate the value of NURBS to the internal design and engineering community as well as a number of CAD vendors through TIGER. A decision to launch a new airplane program (the 777) resulted in a decision to purchase a next generation CAD system from a commercial vendor rather than build one internally. Ultimately, Dassault's CATIA running on IBM mainframes was chosen as the CAD system used to design and build the 777.

To IGES

One of first adopters of NURBS was the IGES community. Dick Fuhr, of the TIGER geometry development group, was sent to the August 1981 IGES meeting where he presented the NURBS curve and surface form to the IGES community. At this meeting Boeing discovered that SDRC was also working with an equivalent spline form. The members of the IGES community immediately recognized the usefulness of the new NURBS form. In the years that have followed, NURBS has become the standard representation for not only CAD/CAM but also for other uses (e.g., animation, architecture) of computational geometric modeling.

To Axxyz

Even though Boeing chose to design commercial airplanes with CATIA, other groups expressed interest in the TIGER NURBS work for government and commercial purposes. The core NURBS implementations were given to Boeing Computer Services and a number of the technical staff built a computer independent CAD/CAM/CAE software system marketed under the name Axxyz. Axxyz debuted formally at the 1985 Autofact conference and was eventually sold to General Motors and Electronic Data Systems.

The Axxyz group did early implementations of NURBS surface bounded (B-Rep) solids as part of the first commercial product release. Topology information, based on the twin edge boundary representation, was added to enable trimmed NURBS surfaces to be used as faces that were combined into a shell structure defining a solid.

Other applications were added that associated engineering, manufacturing, and drafting data directly with the NURBS geometry. This approach added a wealth of tessellation and inquiry capabilities to the basic geometry algorithm library.

To Intergraph and Dassault

One of Boeing's goals was to improve the use of NURBS in commercial CAD packages. The algorithms that led to the software implemented in TIGER had all been documented. Both Dassault and Intergraph received copies of the algorithm books for ultimate implementation in their products.

Hard Problems

NURBS implementation pushed compute power of the late 1970s and 1980s significantly. Performance tuning was always an adventure and permeated the various algorithm implementations.

The most critical problem, intersection, has already been discussed for both curve/curve and surface/surface cases. Other issues, like display and interaction, tolerance management and translation also arose.

Display

The first interactive NURBS implementations were delivered on calligraphic, vector-only graphics devices (the Evans and Sutherland Multi-Picture System). As the technology progressed into raster graphics, other work was done to generate solid, shaded images. From an architectural perspective, Boeing treated NURBS curves, surfaces and solids as standard objects that the graphics subsystem (not the application) could draw directly. In this way, changes could be made in display resolution as zooms occurred without involving the application.

Vector rendering of NURBS curves and surfaces relied on a chord-height tolerance technique. The technique, while slower than equal subdivision, was more aesthetically pleasing because areas of high curvature were drawn with more line segments. Shading used a similar technique to tessellate surfaces into polygons that were then used as input to a standard polygon shader.

Tolerances

Like any digital form, computation of results stops before reaching an exact zero. Perhaps the most difficult values to manage were the tolerance epsilons that indicated that an answer had been found. Experimentation on the best set of tolerances was continual to balance performance and accuracy. The tolerance values were changed frequently, and no one truly understood their interrelationships.

Translation

The Boeing NURBS implementations stored all entities in that form, even if the form that the user input was simpler or used less storage. In this way, a single intersection routine would be used for curves and a second routine for surfaces. Conceptually, the design was quite clean but numerous attempts to improve performance resulted in some special cases. Even so, the special cases were embedded in the intersection routines and not in the database form of the NURBS entities.

This approach caused some interesting problems with translation to terminology the user understood and to other CAD systems that understood more primitive entities and may not have accepted rich NURBS forms. The solution to the problem was to develop a set of routines that would examine the NURBS definition to see if it was close enough to being a line or a circle to call the entity a line or a circle. This information was used dynamically to report the simplest math formulation to the user. In addition, the same technique was useful when data was being translated into forms for other systems and applications. When a NURBS curve could be identified as an arc, an arc entity was generated for IGES and a radial dimension used in the drafting package.

Conclusion

In spite of our best efforts, 3D design applications require users to become geometry experts. NURBS is no panacea. But the foundational NURBS work done at Boeing did demonstrate the utility of the approach. As a result of this pioneering work, NURBS is still the preferred form to precisely represent both complex curves and surfaces and a large number of simple curves, surfaces and solids.

Acknowledgments

Boeing's John McMasters contributed to the discussion of the reality of lofting. Rich Riesenfeld and Elaine Cohen of the University of Utah acted as early consultants who introduced NURBS basics to Boeing. There was a huge number of contributors to the proliferation of NURBS through the industry that started in the mid-1980s. Tracing a complete genealogy of their continued work is well beyond the scope of this article. Our thanks go to all who have helped solidify the approach.


n5321 | 2025年7月28日 21:58

An Historical Perspective on Boeing’s Influence on Dynamic Structural

the Finite Element Method, Craig-Bampton Reduction and the Lanczos Eigenvalue extraction method formed a foundation。

三种方法里面,Craig-Bampton Reduction 和 Lanczos Eigenvalue extraction method 传播度很低。

Craig-Bampton Reduction(Craig-Bampton 模态缩减法)用于在有限元模型中减少自由度(DOF),同时保持结构动力学行为的主要特征。1968 年 Roy R. Craig Jr. 和 M. C. C. Bampton 在他们的经典论文《Coupling of Substructures for Dynamic Analyses》中首次系统提出。当时大型结构的模态分析计算量非常大,需要将复杂结构分解成较小的子结构来分析再组合。

Lanczos Eigenvalue Extraction Method(Lanczos 特征值提取法) Lanczos 方法是一种迭代算法,用于从大型稀疏矩阵中提取低阶特征值和对应特征向量,特别适用于结构振动分析中的模态提取问题。 1950 年 Cornelius Lanczos(匈牙利裔美国数学家)该方法将原始稀疏矩阵投影到一个低维 Krylov 子空间中,在该空间中求解特征值问题,效率远高于直接求解原始大矩阵。 仅关心低频模态(例如前几个模态)

Today’s automobiles have superb handling and are extremely quiet compared to vehicles 30 years ago. The comfortable environment of a modern automobile is largely due to the industry’s focused efforts on Noise, Vibration, and Harshness (NVH) analysis as a means to improve their product and sales. At the heart of each NVH analysis is a multi-million DOF finite element vibro-acoustic model. The low to mid frequency acoustic and structural responses require that thousands of frequencies and mode shapes be calculated.

We look into the role Boeing played in the inspiration, development, and deployment of these numerical solution methods and summarize how these methods are used both within Boeing and outside of Boeing in the development of multitudes of products.

Today within Boeing, the finite element method is pervasive with several thousand engineers utilizing FEA on a regular basis

It turns out that it was Boeing’s need and desire to improve flutter prediction that led to Boeing’s leading role in the development of the finite element method.

Who invented finite elements? In the publication “The Origins of the Finite Element Method” [1], Carlos Felippa states:

“Not just one individual, as this historical sketch will make clear. But if the question is tweaked to: who created the FEM in everyday use? there is no question in the writer’s mind: M. J. (Jon) Turner at Boeing over the period 1950–1962. He generalized and perfected the Direct Stiffness Method, and forcefully got Boeing to commit resources to it while other aerospace companies were mired in the Force Method. During 1952–53 he oversaw the development of the first continuum based finite elements.”

Figure 1: Jon Turner

Jon Turner was the supervisor of the Structural Dynamics Unit at Boeing in Seattle. In the early 1950’s, with the growing popularity of jet aircraft, and with demands for high performance military aircraft, delta wing structures presented new modeling and analysis problems. Existing unidirectional (that is, beam models) models did not provide sufficient accuracy. Instead, two-dimensional panel elements of arbitrary geometry were needed.

At this time, Boeing had a summer faculty program, whereby faculty members from universities were invited to work at Boeing over the summer. In the summers of 1952-53, Jon Turner invited Ray Clough from the University of California at Berkley, and Harold Martin from the University of Washington to work for him on a method to calculate the vibration properties for the low-aspect ratio box beam. This collaboration resulted in the seminal paper by Turner, Clough, Martin and Topp in 1956 [2] which summarized a procedure called the Direct Stiffness Method (DSM) and derived a constant strain triangular element along with a rectangular membrane element. (Topp was a structures engineer at the Boeing Airplane Company, Wichita Division.)

It is apropos to hear this story in the words of Clough. The following passage is from a speech by Clough transcribed and published in 2004. [3]:

“When I applied for the Boeing Summer Faculty job in June 1952, I was assigned to the Structural Dynamics Unit under the supervision of Mr. M. J. Turner. He was a very competent engineer with a background in applied mathematics, and several years of experience with Boeing. The job that Jon Turner had for me was the analysis of the vibration properties of a fairly large model of a ‘delta’ wing structure that had been fabricated in the Boeing shop. This problem was quite different from the analysis of a typical wing structure which could be done using standard beam theory, and I spent the summer of 1952 trying to formulate a mathematical model of the delta wing representing it as an assemblage of typical 1D beam components. The results I was able to obtain by the end of the summer were very disappointing, and I was quite discouraged when I went to say goodbye to my boss, Jon Turner. But he suggested that I come back in Summer 1953. In this new effort to evaluate the vibration properties of a delta wing model, he suggested I should formulate the mathematical model as an assemblage of 2D plate elements interconnected at their corners. With this suggestion, Jon had essentially defined the concept of the finite element method.

“So I began my work in summer 1953 developing in-plane stiffness matrices for 2D plates with corner connections. I derived these both for rectangular and for triangular plates, but the assembly of triangular plates had great advantages in modeling a delta wing. Moreover, the derivation of the in-plane stiffness of a triangular plate was far simpler than that for a rectangular plate, so very soon I shifted the emphasis of my work to the study of assemblages of triangular plate ‘elements’, as I called them. With an assemblage of such triangular elements, I was able to get rather good agreement between the results of a mathematical model vibration analysis and those

好的,这是清理了换-行符并根据段落和结构重新整理好的完整文本:

measured with the physical model in the laboratory. Of special interest was the fact that the calculated results converged toward those of the physical model as the mesh of the triangular elements in the mathematical model was refined.”

While Jon Turner’s application for DSM was vibration calculations to facilitate flutter and dynamic analysis, Ray Clough realized that DSM could be applied to stress analysis. In 1960, Clough penned the famous paper titled “Finite Elements for Plane Stress Analysis” which both adapted the DSM method for stress analysis and simultaneously coined the phrase “Finite Element.” [4].

Besides the work done by those directly affiliated with Boeing, many others contributed to the development and popularization of today’s modern finite element method. In particular, J.H. Argyris, O.C. Zienkiewicz, and E.L. Wilson should be credited with their huge contributions in developing and broadening the scope of the finite element method beyond aerospace applications. References 1, 5 and 6 provide comprehensive historical background on the development and evolution of the finite element method. References 2, 4 and 17 can be considered seminal papers that laid out the foundation of the modern finite element method.

Of significance is that Argyris was a consultant to Boeing [1] in the early 1950’s and continued to collaborate with Boeing well into the 1960’s [17]. Both Turner and Topp were Boeing engineers, and Clough and Martin were affiliated with Boeing via the summer faculty program. Therefore, it is evident that Boeing, both inspired, and was directly involved in, the research and development that directly led to today’s modern finite element method.

Dr. Rodney Dreisbach, (Boeing STF, Retired 2015) summarized Jon Turner’s significance in the FEA development and deployment within Boeing’s ATLAS program nicely. He wrote about this in the BCA Structures Core “Life@Structures Blog” on November 14, 2013. His closing paragraph reads:

“In guiding the not-so-obvious steps leading up to the creation of the FEA Method, Jon Turner has been recognized as a scientist, an engineer, a mathematician, and an innovator. Furthermore, he was a visionary as exemplified by his continued leadership in addressing more advanced flight vehicles such as advanced composite structures for a Mach 2.7 supersonic cruise arrow-wing configuration in 1976, and his continued support and advocacy of Boeing’s development of the integrated multidisciplinary structural design and analysis system called ATLAS. The ATLAS System was a large-scale finite-element-based computing system for linear and nonlinear, metallic and composite, structural optimization, including the ply stackup of advanced composite structures. The engineering disciplines represented by the System included statics, weights, dynamics, buckling, vibrations, aeroelasticity, flutter, structural optimization, substructuring, acoustics, nonlinear mechanics, and damage tolerance. Its architecture was comprised of separate modules for the various technical disciplines, all of which shared a common data management system. The System also included several advanced matrix equation solvers and eigensolvers, as well as state-of-the-art substructuring techniques. Substructured interactions could be considered as being static, or as dynamic using either a modal synthesis or branch modes approach.”

Of significance in the above description of ATLAS, is that it closely describes NASTRAN as well. This is not a coincidence. The roots of both NASTRAN and ATLAS date back to the mid–late 1960’s. Boeing was the industrial center of finite element analysis and was ahead of the other major aerospace companies in recognizing the superiority of the displacement method and deploying that method within Boeing’s precursors to ATLAS.

In 1964, NASA recognized that the future of structural analysis, particularly for complex aerospace structures, was the finite element method. At this time, NASA created a committee composed of representatives from each NASA center and chaired by Tom Butler (considered by Dr. Richard MacNeal to be the Father of NASTRAN). The committee was commissioned to investigate the state of analysis in the aerospace industry and to find an existing finite element program worth recommending to all NASA centers. The first committee action was to visit the aircraft companies that had done prominent work in finite element analysis. In the end, this committee concluded that no single computer program “incorporated enough of the best state of the finite element art to satisfy the committees hopes” and recommended that NASA sponsor development of its own finite element program [18]. This program would be called NASTRAN which is an acronym for NAsa STRuctural ANalysis.

In July, 1965, NASA issued the RFP for NASTRAN. The MacNeal-Schwendler Corporation (MSC) was not recognized as a significant or large enough entity in the finite element world, and so it partnered with Computer Sciences Corporation as the lead in its response to the RFP. Boeing considered the RFP, but in the end did not submit a proposal. Had Boeing participated, according to Dr. MacNeal (co-founder of the MacNeal-Schwendler corporation), the NASTRAN contract would have certainly gone to Boeing since Boeing was the clear industrial leader in the finite element method.

In the mid-to-late 1990’s, as an employee of MSC, the author brought Dr. MacNeal to Boeing’s Renton engineering facility where Dr. MacNeal spoke to BCA’s team of finite element analysis experts. Dr. MacNeal began his talk by thanking Boeing for not participating in the NASTRAN RFP, and he went on to tell the story of how MSC essentially won the eventual NASTRAN contract due to Boeing’s decision to not participate.

Dr. MacNeal writes that Boeing departed NASA’s NASTRAN Bidders’ Conference after being told that they could not have an exception to NASA’s requirement that all work be done on NASA’s computers [18]. The NASA purchasing agent, Bill Doles, said that an exception could not be granted because NASA had determined that their computers had a lot of excess capacity and it would be uneconomical to pay the contractors for use of their computers. Boeing responded that they would carry the costs of their own computers as overhead and not charge NASA. Bill Doles responded that this was unacceptable since most of Boeing’s work was with the government, and the government would have to pay the overhead anyway. After this exchange, at the next break, the Boeing team abruptly departed the conference.

Nonetheless, Boeing had likely influenced the RFP. The RFP was essentially a collection of what NASA perceived to be the state of the art in FEA that it gathered from its studies of the various aerospace FEA codes. The fact that NASTRAN, (developed according to the requirements of the RFP), both architecturally and capability-wise are closely paralleled by ATLAS may not be due to pure coincidence, but perhaps due to the NASA incorporating Boeing’s “state of the finite element art” into the RFP.

III. CRAIG-BAMPTON COMPONENT MODE REDUCTION AND SYNTHESIS

As mentioned in the last section, ATLAS included several “state-of-the-art substructuring techniques.” One of these techniques was Component Mode Reduction. Component Mode Reduction is a technique for reducing a finite element model of a component down to a set of boundary matrices that approximately represent the dynamic characteristics of the component. The accuracy of the approximation is generally improved by increasing the number of component modes retained during the reduction process. The reduced component is generically referred to as a substructure but currently the term superelement, coined by commercial FEA software providers, is more prevalent.

There are a litany of component mode reduction and reduced order modeling techniques, but one technique stands out due to widespread usage and deployment in the popular commercial FEA packages (for example, MSC Nastran, NX Nastran, ABAQUS and ANSYS). This technique is the “Craig-Bampton” (C-B) component mode reduction method and this method is applied to a wide variety of dynamic simulations not only in aerospace, where it was conceived, but also in virtually every industry where structural dynamics has a large influence on the product design and performance, especially the automotive industry. [19]

Within Boeing, the C-B technique is central to the Boeing Aeroelastic Process (BAP) that is used for flight loads and flutter analysis. Of significant importance to the flutter community is that the C-B methodology enables rapid frequency variation studies as well as insertion and tailoring of assumed modes. The C-B method is also extensively applied in propulsion dynamics for Windmilling, Fan Blade Out (FBO) loads and Engine Vibration Related Noise (EVRN) analyses.

The EVRN analysis is a coupled vibro-acoustic analysis where C-B reduction is performed on both the airframe and acoustic fluid model and reduced down to the interface with the engine. Of significance, is that this C-B superelement package can be delivered to the engine manufacturers in the form of boundary matrices and output transformation matrices (OTMs), thereby preserving all Boeing IP, while enabling the engine companies to determine how different engine bearing and mount designs effect the interior cabin noise.

C-B reduction with OTMs is also central to Coupled Loads Analysis in Boeing’s Space spacecraft industry. Coupled Loads Analysis, in this context, is essentially the dynamic structural analysis of the complete space structure. For example, in the case of a rocket or launch vehicle, you also have the cargo (for example, a satellite). The various components of the launch vehicle and cargo are frequently built by different companies neither company can generally have visibility of the other’s finite element models. However, the dynamics of the entire system must be analyzed. This is facilitated by use of superelements typically created using C-B reduction and OTM’s similar to what was described with the propulsion EVRN analysis. This process enables all parties to generate the detailed data necessary to analyze and design their structure while preserving any IP, export, and ITAR data requirements.

Outside of Boeing, it was summarized in the Introduction how the automotive industry applies FEA with C-B reduction to their NVH dynamic analyses of their vehicles and sub-systems. Another class of dynamic analysis performed in the automotive industry, and across virtually every other industry (including aerospace) that analyzes dynamic systems is Multi-Body Dynamic (MBD) simulation.

MBD is a numerical simulation method in which systems are composed as assemblies of rigid and/or elastic bodies. Connections between the bodies are modeled with kinematic joints or linear/nonlinear springs/bushings/dampers. If inertia (mass) is eliminated, and all bodies are rigid links with kinematic constraints, then the multibody analysis reduces down to a kinematic mechanism analysis. However, when mass is included, the analysis is inherently dynamic.

For the dynamic case with flexible bodies, the challenge is to bring the flexibility of each body into the system simulation in an accurate and efficient manner. The standard methodology used to create the “flex body” is to perform a C-B reduction where the body is reduced down to the interface DOFs that connect the body to its surrounding joints. Additional transformations may be done to put the interface matrices in a form compatible with the formulation of the MBD software system. However, the first step is typically the C-B reduction. All the popular commercial finite element packages have the ability to generate “flex bodies” of components from finite element models of the component and the C-B method is used to create the reduced mass and stiffness matrices that are processed to generate the flexible body. (There are other techniques beyond C-B that can be used to generate flex bodies, particularly when nonlinearities of the component model are needed. However, for the linear cases most prevalent today, the C-B method is pervasive.)

Therefore, at this point, we have seen that Boeing had a role with the inspiration and development of the finite element method, and we have discussed how the C-B reduction technique is prevalent across industries performing dynamic structural analysis. The C-B reduction technique was also one of the “state-of-the-art substructuring techniques” present in Atlas.

The seminal paper on the C-B method was published as “Coupling of Substructures for Dynamic Analysis” in July 1968 in the AIAA Journal [9] by Roy Craig of the University of Texas and Mervyn Bampton, a Boeing Sr. Structures Engineer. Hence the name of the method “Craig-Bampton.”

Figure 2: Roy Craig

Of note is that [9] describes both the C-B reduction technique and synthesis of the multiple C-B reduced parts to generate an accurate system level dynamic model of substantially reduced order enabling both accurate and efficient calculation of dynamic characteristics of highly coupled structures. This AIAA paper has more than 1100 subsequent journal citations since publication demonstrating the impact the C-B methodology on subsequent applications and research. Of course, the motivation for this development within Boeing and Atlas was for application of Flutter and Coupled Dynamic Loads analysis of highly redundant space vehicle and airframe structures.

Also of note is that this very same paper was earlier published within Boeing in 1966 as document D6-15509 [10]. (This document is available electronically from library.web.boeing.com.) This document was prepared by R. R. Craig, supervised by M. C. C. Bampton and approved by L.D. Richmond. This work took place when Craig was employed by Boeing as part of the summer faculty program. [19]

Therefore, just as we saw substantial collaboration between Boeing and leading researchers in the development of the finite element method, we see a similar collaboration with Roy Craig in inspiration, development, and deployment of the Craig-Bampton method for Boeing’s dynamic analysis needs. The methodology is most credited to Roy Craig who spent his 40 years at the University of Texas specializing in development of computational and experimental methods of flexible substructures. However, the need by Boeing for efficient and accurate coupled dynamic analysis methods inspired and accelerated the development that became the Craig-Bampton technique and 50 years later, this Craig-Bampton method is omnipresent! [19]

IV. THE LANCZOS METHOD OF EIGENVALUE EXTRACTION

The natural frequencies of a structure may be the most fundamental dynamic characteristic of a structure. Dynamicists use the natural frequencies and associated mode shapes to understand dynamic behavior and interplay of components in a dynamic system. The computation of a structure’s or substructure’s natural frequencies and mode shapes is of fundamental importance to the dynamicist.

From a mathematical perspective, the calculation of natural frequencies and mode shapes is an eigenvalue extraction problem in which the roots (eigenvalues) and associated mode shapes (eigenvectors) are computed from the dynamic equation of motion with the assumption of harmonic motion while neglecting damping and applying no loading.

Eigenvalue/Eigenvector calculation is also a requirement of the C-B reduction method. The C-B method uses the natural frequencies and mode shapes of a component constrained at its interface to generate the dynamic portion of the reduced stiffness, mass and loads matrices. Therefore, a robust and efficient C-B reduction requires a robust and efficient eigenvalue/eigenvector calculation.

The Lanczos eigenvalue extraction method is by far the most prevalent eigenvalue extraction method used today in the popular finite element programs for vibration and buckling modes. Today, the AMLS and ACMS methods are promoted as the state-of-the-art eigenvalue/extraction methods for the largest models commonplace in the automotive industry.

While AMLS and ACMS can easily outperform the Lanczos method on large models, they are essentially automated methods of substructuring the mathematical finite element model utilizing enhanced C-B reduction for an accurate approximation of each substructure. When these C-B reduced substructures are assembled, a final system level eigenvalue extraction is performed to compute approximate system level modes.

This complete substructuring, assembly, and solution process is captured in the AMLS and ACMS methods. However, it is typically the Lanczos method with C-B reduction that is utilized to form the reduced approximate system that was solved to obtain the approximate system frequencies and mode shapes.

The Lanczos method is the bread and butter of dynamicists, whether used directly for computation of natural frequencies and mode shapes, or used indirectly with the AMLS/ACMS and similar methods that are based upon automated component modal synthesis of very large systems.

Prior to the commercial availability of the Lanczos method in the mid 1980’s, dynamicists spent a large amount of thought and time in determining how to reduce a model down to a size that could be efficiently solved with their finite element program and yield an accurate, albeit approximate solution. This is precisely why the C-B and other dynamic reduction techniques were created. However, the underlying weakness of all these methods was an accurate, efficient, and robust eigenvalue extraction method for the reduction process.

From a high level, there were essentially two families of eigenvalue extraction methods from which a dynamicist could choose: 1) Iterative based methods such as Inverse Power and Subspace Iteration, and 2) Tridiagonal methods such as the Householder-QR method. The iterative methods were relatively fast and efficient, but suffered from accuracy issues and struggled with closely spaced and large numbers of roots. The Tridiagonal methods were relatively robust and could accurately solve for all the roots of a system. Unfortunately, they also required enormous amounts of memory and were very inefficient making them impractical for all but the smallest models. The Lanczos method gained instant popularity because it could solve large models both accurately and efficiently, eliminating the tedious reduction process for a large variety of dynamic analyses.

In the 1960’s-1980’s substructuring and component mode reduction were primarily performed to enable computation of a system’s modes when the system could not be solved without reduction on the computers of the time due to memory, disk, and time constraints. After the commercial availability of the Lanczos method, substructuring and component mode reduction were primarily performed for other reasons, such as to enable efficient frequency variation studies (as is the case with BCA’s standard flutter analysis process), or to generate reduced matrix level models of components that can be shared with a third party to assemble into their system.

Only in the last 15 years with the advent of High Performance Computing (HPC) systems, have the AMLS/ACMS methods brought us back to substructuring as the norm for solving the largest eigenvalue problems because parallelization and improved performance is more easily enabled using a substructured solution process.

So what does Boeing have to do with the Lanczos method? It is twofold. First, the method was invented by Cornelius Lanczos. He published the method in 1950 while working at the National Bureau of Standards [11, 14]. However, prior to joining the National Bureau of Standards, Lanczos was employed with the Boeing Aircraft Company in Seattle from 1946-49 where he was inspired to study and improve matrix methods and numerical eigenvalue extraction of linear systems. Shortly after leaving Boeing, he completed the formulation of what we now call the Lanczos eigenvalue extraction method [12, 13].

Cornelius Lanczos was a colleague of Albert Einstein, and on December 22, 1945, he penned this passage in a letter to Einstein:

”In the meantime, my unfavorable situation here at the University has changed for the better. I have been in cooperation with Boeing Aircraft in Seattle, Washington for almost two years. Our relationship has developed in such a way that the company offered me a permanent position. It is somewhat paradoxical that I with my scientific interest can always get on as an applied mathematician.” [13]

Figure 3: Cornelius Lanczos at his desk at Boeing Plant 1, Seattle, WA

More insight into Lanczos’ inspiration from his tenure at Boeing is obtained in his recorded interview by the University of Manchester in 1972 [12]. There are several references to his time at Boeing where among other things, he mentions:

“of course this eigenvalue problem interested me a great deal because in Boeing one encountered this eigenvalue problem all the time and the traditional methods, they give you – it was easy enough to get asymptotically the highest eigenvalue, but the question is how do you get all the eigenvalues and eigenvectors of a matrix in such a way that you shouldn’t lose accuracy as you go to the lower eigenvalues… I knew of course from theoretical physics that eigenvalues and eigenvectors, I mean wave mechanics, everything, is eigenvalues and eigenvectors. Only in this case it was numerical, and in Boeing when I was frequently asked to give lectures, one of the lecture topics was matrices and eigenvalues and linear systems so that I was familiar in a theoretical way of the behavior of linear systems, particularly large linear systems.”

After joining the National Bureau of Standards, Lanczos had the opportunity to complete the formulation of his method based upon his experience at Boeing. He applied it on an analog computer available to him, but in the end, he doubted the practicality of his method. In reference 12, he tells this story:

“And I will never forget when I think it was an 8x8 matrix and the eigenvalues varied in something like 10^6. I mean the highest to the lowest, and I expected that the highest eigenvalues would come out to 10 decimal places and then we gradually lose accuracy but actually all the eigenvalues came out to 10 decimal places. I mean this was a tremendous thrill to see that, that we didn’t lose anything, but of course it had to require the careful reorthogonalization process which makes my method practically, let’s say, of less value or perhaps even of no value.”

It is somewhat entertaining that the roots of the de facto standard eigenvalue extraction method for nearly 30 years were thought by its inventor to be “of less value, or perhaps even no value.” Of course, by Lanczos’ own admission, the method was difficult to apply in practice. However, the significance of the Lanczos method in maintaining accuracy was not lost on the mathematical community and over the years, many mathematicians studied the method and searched for numerical methodologies that would make the method practical and of high value. An in-depth historical development of the Lanczos method is beyond the scope of this writing. However, this leads us to Boeing’s second point of influence on the Lanczos method: The development and deployment of the first robust commercially viable implementation of the Lanczos method.

V. BOEING COMPUTER SERVICES AND BCSLIB

The late 1960’s is a significant period for Boeing as well as for finite element analysis, numerical computing, and mainframe computing data centers. At this time, Boeing had just launched the 747 in 1969 and was about to enter the big “Boeing Bust” which saw its employment drop from >100,000 down to under 40,000 by the end of 1971. At the same time, within Boeing, this bust is perhaps responsible for the consolidation of two largely disconnected Boeing math groups: one on the military side and one on the commercial side. In 1970, Boeing Computer Services (BCS) was formed and these two math groups were brought together under the BCS organization [15].

By the 1980’s, BCS had both a mature data center where time was leased on Boeing computers to run commercial applications like NASTRAN and ANSYS. The expertise of the math group resulted in the establishment of a software group that built and licensed the math library BCSLIB-ext as well as developed the systems and controls software Easy5 (the “-ext” version of BCSLLIB was licensed externally. BCSLIB was used internally).

During the 1980’s and early 1990’s the BCS math/software team had a major impact on solutions of large linear static and dynamic systems. Notably, they were directly responsible for the first significant robust and efficient Lanczos method deployed in a commercial FEA package. In 1985, The MacNeal-Schwendler Corporation (MSC) released Nastran V65 with Boeing’s Lanczos eigensolver [22] and in the decade following, similar implementations were deployed in most of the other popular finite element packages.

The major players on the Boeing side were John Lewis, Horst Simon, Roger Grimes, and their manager Al Erisman. Louis Komzsik, from MSC also played a major role. Louis recognized the impact the Lanczos method would have if implemented robustly. He convinced MSC to fund Boeing to bring the Lanczos method to fruition in MSC Nastran. Louis was a perfectionist and drove the Boeing team to handle everything that could break so as to make it as bomb-proof as possible.

Figure 4: John Lewis, Horst Simon and Roger Grimes Figure 5: Louis Komzsik

Taking the Lanczos method from an unstable, impractical methodology to a highly practical, robust and efficient methodology was the result a many researchers and the coalescence of several key break-throughs. The summary, as provided to the author during an interview with John Lewis in May 2016 is as follows: The Lanczos algorithm in Boeing’s BCSLIB code combined work from five PhD theses with critical industrial support. The key contributions to efficiency are:

  1. Block algorithms (2 Stanford PhD theses – Richard Underwood, John Lewis))

  2. Stability correction only as needed (2 Berkeley PhD theses – David Scott, Horst Simon, part of one of the Stanford theses -- Lewis)

  3. Shifting (Swedish PhD thesis – Thomas Ericsson)

  4. Integrating all of these with a smart algorithm for choosing shifts (BCS – Grimes, Lewis & Simon)

The “creative break through,” according to John Lewis, emerged over a couple of pints with David Scott while in a pub in Reading, England in 1980 where they discussed Ericsson’s work on shifting and came up with a plan to improve upon earlier Lanczos method implementations. However, they could not get funding to implement the plan, so it sat for several years. In John Lewis’s words, Louis Komzsik emerged as the “Guardian Angel” when he brought forward the funding from MSC to implement the plan in MSC Nastran. Louis was Hungarian as was Lanczos, so he had great faith in his countryman’s idea!

Besides the Lanczos component, the other major thrust of BCSLIB was the sparse direct linear equation solver. This solver provided a substantial performance boost in solution of large linear systems and played a significant role in Lanczos performance. Within the Lanczos implementation, a series of linear solutions (matrix decompositions) takes place as the algorithm searches for the eigenvalues. Maximum performance is dependent on minimizing the number of decompositions. This requires algorithms for selection of good trial eigenvalues along with transformations to find both closely space roots and widely separated roots efficiently. (What is described here is the “shifting” and “smart algorithm for choosing shifts” mentioned above.)

The work of the BCS math team cannot be overstated when it is recognized that 30–35 years after their heroic efforts, the Lanczos method is still prominent in the popular commercial FEA packages. We attribute much of the performance improvement in finite element solutions to computing hardware improvements. However, in the late 1980’s, between the Lanczos and Sparse Solver methods, engineers realized order of magnitude gains in solution performance independent of any hardware improvements. These two performance improvements meant that many models that had previously required substantial substructuring and complex dynamic reduction could now be solved directly with the Lanczos method.

Also of significance is that this Boeing team, along with Cray went on to win the 1989 Society of Industrial and Applied Mathematics (SIAM) Gordon Bell Award. They received their award specifically for achieving record performance with their implementation of a general sparse matrix factorization on an 8-processor Cray Y-MP computer. This Sparse Matrix Solver development was another great effort that found its way into the commercial FEA codes that contributed to both Lanczos efficiency and solution efficiency of linear systems of equations.

In closing this section, the overall contribution Al Erisman made, should be noted. Erisman managed and directed the math group from 1975 until his retirement in 2001. According to John Lewis, “Al Erisman created the ethos of the Boeing Math Group, which strongly valued academic-industrial collaboration.” Were it not for Erisman, the industrial collaboration between MSC and Boeing may never have taken place.

VI. CONCLUSION

The finite element method was invented roughly 60 years ago. Craig-Bampton reduction was invented roughly 50 years ago and the modern Lanczos and Sparse solver methods were deployed into commercial FEA packages roughly 30 years ago. Virtually every Boeing product created since the 1950’s relied significantly in whole or in part on these technologies. The same can be said outside of Boeing where multitudes of consumer products ranging from toys to automobiles are engineered with significant application of these technologies. In many cases, engineers are utilizing these technologies today within modern GUI’s with no idea of the underlying solution methods and algorithms at play. The fact that after multiple decades, these technologies persist, albeit in often simpler and automated implementations, is a testament to the significance of these methods. Moreover, while Boeing did not solely invent any of these technologies, Boeing’s need to engineer some of the most complex and high performance structures, had a tremendous influence on the development and eventual deployment of these methods. We feel and see the effects of these technologies in the products all around us today. As we celebrate Boeing’s Centennial, it is appropriate to not only applaud our predecessors for the impact the products they engineered had on our society, but also applaud the engineers and mathematicians at Boeing who contributed to solution methods and algorithms that are routinely applied outside of Boeing to the development of the superb products that grace our society today.

It is also fitting to mention that on the same day this conclusion was penned, the author received an assignment to generate reduced dynamic models for the 777-9X folding wing tip. The author will utilize the aeroelastic finite element model along with C-B reduction and Lanczos eigenvalue extraction to form the flexible body representation of the airframe and folding wing tips. These reduced dynamic models will be integrated into the external controls multibody dynamic system model. Therefore, the work of Boeing engineers/mathematicians Turner, Bampton, Lanczos, Lewis, Simon, and Grimes will be applied to engineer perhaps the most iconic feature of Boeing’s next great commercial airplane. However, this is not unusual since as previously mentioned, superb products are being engineered all over the world with exactly these same methods every day!

ACKNOWLEDGMENTS

I would like to acknowledge John Lewis and Roger Grimes for their time spent outlining and explaining the Boeing BCSLIB Lanczos and Sparse Solver development history. I would like to acknowledge Louis Komzsik who provided both technical and historical background on the Lanczos development. I would like to thank both Dr. Rodney Dreisbach and Dr. Kumar Bhatia. Over the past decade, I discussed this piece of Boeing history with both on numerous occasions. Their passion for these simulation technologies and Boeing inspired me to document this piece of Boeing history.


n5321 | 2025年7月28日 21:48

科学计算,仿真,CAE的VVUQ

  1. 科学计算,仿真,CAE算一个意思。

    Define: We will refer to the application of a model to produce a result, often including associated numerical approximation errors, as a simulation。mathematical models that take the form of coupled systems of nonlinear partial differential equations. (用非线性偏微分方程描述的数学模型)

    目的:understand,predict behavior and optimize Performance!predicting the behavior of natural and engineered systems

    问题:是中间存在不确定,所以结果不准确,所以需要VVUQ. a fundamental disconnect often exists between simulations and practical applications.

    解决方式:Information on the magnitude, composition, and sources of uncertainty in simulations is critical in the decision-making process for natural and engineered systems.

    控制参数:system response quantities

    负面后果:decision makers will be ill advised, possibly resulting in inadequate safety, reliability, or performance of the system. Consequently, decision makers could unknowingly put at risk their customers, the public, or the environment. 哥伦比亚号,福岛核电站。

    正面后果:CBA(certificate by analysis)

    源头:uncertainty (aleatory and epistemic) :In scientific computing, there are many sources of uncertainty including the model inputs, the form of the model, and poorly characterized numerical approximation errors. All of these sources of uncertainty can be classified as either purely aleatory, purely epistemic, or a mixture of the two.

    manufacturing processes, natural material variability, initial conditions, wear or damaged condition of the system, and the system surroundings. the modeling process itself can introduce large uncertainties due to the assumptions in the model(model validation ) as well as the numerical approximations (code and solution verification )employed in the simulations.

    错误类别分类一

    1. Aleatory (random) uncertainties in model inputs are treated as random variables, the stochastic process can be characterized via a probability density distribution

      1. Aleatory uncertainty is generally characterized by either a probability density function (PDF) or a cumulative distribution function (CDF).

    2. epistemic uncertainty (also called reducible uncertainty or ignorance uncertainty) due to lack of knowledge by the modelers, analysts conducting the analysis, or experimentalists involved in validation. a lack of knowledge on the part of the analyst, or team of analysts, conducting the modeling and simulation.

      1. The lack of knowledge can pertain to, for example, modeling of the system of interest or its surroundings, simulation aspects such as numerical solution error and computer round-off error, and lack of experimental data.

      2. If knowledge is added (through experiments, improved numerical approximations, expert opinion, higher fidelity physics modeling, etc.) then the uncertainty can be reduced.

    错误源头(model inputs, numerical approximations, and model form uncertainty )

    1. Model inputs

      1. Model inputs include not only parameters used in the model of the system, but also data from the description of the surroundings (see Figure 1). Model input data includes things such as geometry, constitutive model parameters, and initial conditions, and can come from a range of sources including experimental measurement, theory, other supporting simulations, or expert opinion. Data from the surroundings include boundary conditions and system excitation (e.g., mechanical forces or moments acting on the system, force fields such as gravity and electromagnetism).

    2. Numerical approximation

      1. Since differential equation-based models rarely admit exact solutions for practical problems, approximate numerical solutions must be used. The characterization of the numerical approximation errors associated with a simulation is called verification. It includes discretization error, iterative convergence error, round-off error, and also errors due to computer programming (coding mistakes) mistakes.

      2. Figure 2 depicts the propagation of input uncertainties through the model to obtain output uncertainties. The number of individual calculations needed to accurately accomplish the mapping depends on four key factors: (a) the nonlinearity of the partial differential equations, (b) the dependency structure between the uncertain input quantities, (c) the nature of the uncertainties, i.e., whether they are aleatory, epistemic, or mixed uncertainties, and (d) the numerical methods used to compute the mapping.

    3. Model form

      1. The form of the model results from all assumptions, conceptualizations, abstractions, approximations, and mathematical formulations on which the model relies.

      2. The characterization of model form uncertainty is commonly estimated using model validation.

      3. assessment of model accuracy by way of comparison of simulation results with experimental measurements.

        1. (a) assumptions concerning the environment (normal, abnormal, or hostile) to which the system is exposed,

        2. (b) assumptions concerning the particular scenarios the system is operating under, e.g., various types of damage or misuse of the system, and

        3. (c) cases where experimental data are not available on any closely related systems, e.g., data are only available on subsystems,

    结果:

    存在Errors

    Numerical approximation errors (verification techniques )

    due to discretization, iteration, and computer round off

    Model form uncertainty is quantified using

    • (a) model validation procedures statistical comparisons of model predictions to available experimental data

    • (b) extrapolation of this uncertainty structure to points in the application domain

    procedure:

    1. (1) the identification of all sources of uncertainty,

      1. The goals of the analysis should be the primary determinant for what is considered as fixed versus what is considered as uncertain.

    2. (2) characterization of model input uncertainties,

      1. (a) assigning a mathematical structure to describe the uncertainty and

      2. (b) determining the numerical values of all of the needed parameters of the structure.

      3. Stated differently, characterizing the uncertainty requires that a mathematical structure be given to the uncertainty and all parameters of the structure be numerically specified such that the structure represents the state of knowledge of every uncertainty considered.

    3. (3) elimination or estimation of code and solution verification errors, (Estimate uncertainty due to numerical approximations )

      1. Recall that verification deals with estimating numerical errors which include discretization error, iterative error, round-off error, and coding mistakes.

    4. (4) propagation of input uncertainties through the model to obtain uncertainties in the SRQs,

      1. to determine the effects on the SRQs.

      2. The simplest approach for propagating aleatory uncertainty through a model is sampling.

    5. (5) quantification of model form uncertainty

      1. Model form uncertainty is estimated through the process of model validation.

      2. First, we quantitatively estimate the model form uncertainty at the conditions where experimental data are available using a mathematical operator referred to as a validation metric.

      3. Second, we extrapolate the uncertainty structure expressed by the validation metric to the application conditions of interest.

      4. A validation metric is a mathematical operator that requires two inputs: the experimental measurements of the SRQ of interest and the prediction of the SRQ at the conditions used in the experimental measurements.

      5. Model extrapolation: Numerous validation experiments would normally be required in order to estimate the area validation metric over the entire space of model input parameters for the application of interest. (In many cases, however, it is not possible to obtain experimental data at the application conditions of interest. ) The general process for determining the model form uncertainty at the conditions of interest (i.e., the prediction location) is as follows.

        1. First, a regression fit of the validation metric is performed in the space of the validation domain.

        2. Next, a statistical analysis is performed to compute the prediction interval at the conditions of interest.

        3. In the past, it has been common practice to either (a) ignore the model form uncertainty in the predictions for the application conditions or (b) calibrate adjustable parameters in the mathematical model so that improved agreement could be obtained with the available experimental data at conditions “V”.

    6. (6) estimation of model form uncertainty due to extrapolation to application conditions of interest. (Determine total uncertainty in the SRQ ) The total uncertainty in the SRQ at the application conditions of interest is computed as follows.

    技术:treating predictive uncertainty uses the technique of probability bounds analysis,


n5321 | 2025年7月28日 17:01

Q&A with Tesla’s lead motor engineer

The principal motor engineer at Tesla describes why modeling and optimization is so vital to its design process.

Creating a start-of-the-art electric vehicle requires a deep understanding of all the components. More importantly, it requires a continual process of analysis and optimization of the components to push the limits of driving range, efficiency, performance and cost reduction. The internal combustion engine has had the benefit of millions of man-hours in engineering analysis and refinement over the past century, while the collective engineering effort of the EV industry has just begun.

It comes as no surprise that Tesla, the EV trailblazer, spends a considerable amount of resources on internal R&D to develop better parts for EVs, and that its testing facilities and engineering talent are at the forefront of the industry.

As Tesla’s Principal Motor Designer, Konstantinos Laskaris is responsible for the electromechanical design and optimization of the company’s existing and future traction motors. Before joining Tesla, Laskaris earned a PhD from the National Technical University of Athens, Greece. There he combined advanced methodologies and developed algorithms for motor geometry optimization.

Charged recently chatted with Tesla’s motor guru to learn more about the process the company uses to continually evaluate and optimize motor design choices.

Charged: In general, how are electric motors inherently better for traction applications than combustion engines?

Laskaris: When you simply compare any other high-end conventional car to a Tesla, you see a tremendous difference. This is because of the technology.

As for the motor, specifically, there is a huge efficiency advantage, and it is extremely quiet and vibration-free, with very high power density and instantaneous direct response to inputs. All these characteristics of electric motors give an unparalleled performance advantage.

Tesla-Motor-Engineer-QA PQ2

This is why it was so important for Tesla, as a company, to break the stereotype that’s been out there for years. People needed to see that performance, efficiency and range can coexist in an EV. The dual-motor powertrain Model S is the fastest sedan that has ever been mass-produced. The total motor power exceeds 700 hp, and it spins as fast as 18,000 rpm – speeds that we previously only found in Formula 1 racing vehicles.

You could say that the electric motor is magic from the perspective that it awakens the soulless car.

Tesla Motor Engineer Q&A2Electric motor cutaway on display at Tesla headquarters in 2013 (Windell Oskay – CC BY 2.0)

Charged: When Tesla decides to change a parameter of its vehicles – like increase the peak battery current or add towing capacity – what does that mean for your motor design team? Do you have an iterative design process? 

Laskaris: At our factory in Fremont, we manufacture practically every aspect of the car in-house. We have a motor winding and manufacturing facility, so we can optimize every aspect of our motor manufacturing and control the quality of the product. Also, we can implement changes in production very fast, we’re a very agile company from that perspective.

Tesla Motor Engineer Q&A3

We can generate motor geometries and analyze them with finite element analysis very quickly. We have a big computer cluster with more than 500 core processors that run finite elements – a typical personal computer has two cores, maybe four. That means you can create many virtual models in parallel and do a very large number of calculations. Basically it allows us to solve the loss and efficiency maps very fast and see – according to any metrics that we created – how good any motor design is for an application we’re designing for.

Charged: There seems to be an endless array of electric motor topologies, architectures and configurations. How do you begin to evaluate and compare all of the possible options?

Laskaris: Understanding exactly what you want a motor to do is the number-one thing for optimizing. You need to know the exact constraints – precisely what you’re optimizing for. Once you know that, you can use advanced computer models to evaluate everything with the same objectives. This gives you a panoramic view of how each motor technology will perform. Then you go and pick the best.

With vehicle design, in general, there is always a blending of desires and limitations. These parameters are related to performance, energy consumption, body design, quality, and costs. All of these metrics are competing with each other in a way. Ideally, you want them to coexist, but given cost constraints, there need to be some compromises. The electric car has additional challenges in that battery energy utilization is a very important consideration.

Everyone will have a different perception of what tradeoffs should be made. How much driving range are you willing to trade for faster acceleration, for example? Once these parameters are set, you can begin to evaluate options and optimize.

Charged: You have a background in creating the algorithms that allow computers to simulate how a motor will function in the real world. How do these simulations translate into better vehicles?

Laskaris: The mathematical modeling technology, or methodology, that you use is very important and has tremendous impact on the success of electric vehicles. When I say “modeling,” I mean to understand the mathematical principles behind a system and then create software tools that will represent accurately how it will act in the real word.

Tesla Motor Engineer Q&A4Tesla’s electric motor rotor in 2007 (Tinou Bao – CC BY 2.0)

Accurate motor modeling is so important because through it we can evaluate a hypothetical motor before we produce it – the losses, performance capabilities, torque ripple, thermal management, and anything that we are interested in to classify how good or bad is a motor. And, in this way, we avoid unnecessary prototypes and unpleasant surprises.

Beyond that, through good motor modeling, we can achieve the best optimization – which means we can achieve exotic performance without the use of exotic materials and exotic manufacturing methods.

Optimization is the art of being able to navigate through different motor candidates to see what is good and what is bad, and by how much. As you begin to do optimization, you realize that without good modeling, it is meaningless. This is because the process would be based on a bad representation of the motor, and in the end the motor wouldn’t be truly optimal.

Charged: Could you give us an example of some tradeoffs that you would use modeling to optimize for?

Laskaris: Yes. A large portion of the time people spend driving is in low-torque highway situations. However, there are a lot of motors that offer great 0-60 MPH performance but are very inefficient in the low-torque highway-speed regions. So the question is, can I have everything – both high efficiency and high performance? The answer, unfortunately, is no. But you can make intelligent choices between things that are competing with each other.

Tesla Motor Engineer Q&A5

This is the beauty of optimization. You can pick among all the options to get the best motor for the constraints. If we model everything properly, you can find the motor with the high performance 0-60 MPH constraint and the best possible highway efficiency.

Another example is the overall motor efficiency versus its cost. There are cases where making a motor in more expensive ways could potentially increase efficiency and buy off multiple times the cost difference by saving money on the battery, or other aspects of the car. So, if you are able to model the motor efficiency and costs accurately, you can plot it against battery cost savings. Now you can see that the optimal motor for total cost minimization is often different from the cheapest motor.

These all come together to form the characteristic metrics of the car that you want to build. It’s a general approach of how we start from parameter design and end up with ultimate configuration.

Charged: At what point do you perform physical prototype tests to verify the results from your virtual models?

Laskaris: We do many verification tests before there is even a prototype for a specific application. They are what we call characterization experiments. And they allow us to get a known correlation point and to see if the isolated modeling tools are in sync with reality. So it’s a back-to-back comparison between what the model predicts and what is actually measured. It might not even resemble a motor, it might just be a piece of iron spinning, for example.

We then, of course, build and test full prototypes as well.


n5321 | 2025年7月26日 15:37

CAE问题总结

CAE的本质其实还是自己之前想的 y=f(x),厂家提供的功能是可用的f,以及y的表示,x的录入框架,宣传的重点在于f的准确性,作为一个工具可以为研发、生产创造价值。直接上看,这是一个极其有价值的东西,可是实际使用的效果不够好。40年来,CAE的应用主要还是在航空业、车辆行业。

为什么?

出错的地方太多了。f本身是最容易不出问题的,容易出问题的是X的框架and Y 的interpretation。

行业需求口径的宽窄程度不同。什么意思呢?就是X实现Y的效果的概率,一组设计方案实现工程师期望的设计效果的概率在不同的行业,不同的产品上是有显著差异的。

凡是那些在现代科学出现以前就存在的行业,都是几乎可以凭直觉分析、判断X是否能够实现Y的效果的。它们的数学模型几乎都是线性的,一维的。

比如说建房子,墙越厚越结实。比如各种武器,铠甲,各种车辆,船舶,农具,水中,都是一看就可以理解,然后就存在抄袭可能性的。

可是在现代科学昌明以后才出来的行业。X跟Y之间有一个复杂的非线性关系的行业,经验、直觉就失效,而且X到Y之间有一个低概率。

爱迪生试错上万次,最后找到碳化竹子来做灯丝。quote:I have not failed. I've just found 10,000 ways that won't work*. 预期正确的概率是万分之一。

是复杂的非线性物理关系,同时设计参数的排列组合最终符合设计目标的概率是低概率模型,才呼唤CAE登场。

比如说噪音、震动问题,流体问题,交流变频下的电磁问题。

从前的项目经验里:一个外转子电机,PWM控制方式,应用场景很广,在1000rpm到5000rpm下面都需要工作。开始的问题是2100rpm下存在共振,如何避开共振?!没有理论方向,客户搞了很久就是搞不定。

CAE做一个固有频率的分析,就简单搞定了。

一个新款PSC电机,公司并没有这个电机类别,然后要给一个电磁方案。工程师做了很多尝试,性能跟客户样机总是存在差距,快要崩溃,最后用CAE解决问题。

所以obstacle里面有两点。第一是麻瓜看不懂!不学点理论,干不下去的行业。第二是低概率,随便给个方案就是会一直碰壁。存在这个障碍的厂家才需要CAE登场。

CAE的价值和局限性是什么?

它的本质是预测性能!predict performance!凡是需要制样试错的行业,才有可能有它的生成空间。制样是verify performance。

它的局限就是准确、可靠的程度!或者说它会在哪些地方存在瑕疵。

所以关键的问题就是如何恰当低使用CAE工具!

以大类来分就是X的不准确,Y的不理解。f反而是出错空间最小的!

什么是X的不准确!

厂家给的X的框架不一定是完美的?X是一个数组。

X里面有若干个参数是不可知的,也有若干个参数是存在随机性的。X本质上是无法实现一致的!

Y的理解是需要理论功底的!

这样子就把绝大多数人劝退了!或者说这样子进一步压缩了它的市场空间。!

把自己的脑子搞清楚。把CAE的问题搞清楚!


n5321 | 2025年7月20日 21:41