1 Int. J. Solids Strictures Vol. 26. No. 9/10, pp , /90 S Pnnted in Great Bntain. Pergamon Pres pic GENOPT-A PROGRAM THAT WRITES USER-FRIENDLY OPTIMIZATION ODE DAVID BUSHNELL Department 93-30/251, Lockheed Palo Alto Research Hanover Street, Palo Alto, A 94304, U.S.A. Abstract-The purpose of GENOPT (GENeral OPTimization) is to enable an engineer to create a user-friendly system of programs for analyzing and/or optimizing anything. The application of GENOPT is not limited to the field of structural mechanics. GENOPT is designed to handle problems with small data bases, not large finite element models, although it might well be used to provide a user-friendly "shell" within which any analysis could be done. GENOPT is ideal for generating programs for optimizing objects the behavior (stress, buckling, vibration, etc.) of which can be expressed by relatively simple tables or formulas such as those that appear in handbooks, or for optimizing objects the behavior of which has been previously encoded in existing subroutines. The optimizer used in GENOPT, created by Vanderplaats, is called ADS. Two examples are presented, one relatively simple, the other more complex. INTRODUTION When engineers embark on the task of designing an object that must survive certain environments during service, they often develop or use computer programs that analyze given, fixed configurations. If, under the various applied loads, a configuration appears to be inadequate, certain dimensions, materials, or other parameters are changed by the engineer and the analysis is repeated. The design evolves by means of this "manual" iterative process, which may require the expenditure of much labor and the passage of many days. Should a certain configuration prove satisfactory, that is, should the analysis program or programs show that this configuration survives all the environments with adequate margins of safety, the engineer is sorely tempted to terminate the iteration process and accept the design even though, while feasible, it may not be optimum. The step from simple analysis to automated optimization seems to be a difficult one for many engineers and their managers. In every field there are many proven computer programs that analyze things with given configurations and given environments. Therefore, workers in a field are willing to accept the results of computerized analyses and to use these results as a basis for decisions on what to do next. However, these engineers and managers often seem less willing at present to allow the computer to make decisions about how the dimensions and other properties of the configuration are to be changed in order to minimize cost, minimize weight, or meet some other objective. Entering the field of automated optimization seems scary and appears to require mathematical expertise not available in time to meet the goals of a design project. The main purpose of GENOPT is to make this step into the world of automated optimization easy. If the engineer has formulas from handbooks such as Roark's (1954), design curves, and/or algorithms for predicting the behavior of given configurations, GEN- OPT, working with these analysis tools, will generate a program system that can find the "best" design in a user-friendly way. The user of GENOPT does not need to know much about optimization as a mathematical discipline. The optimizer used in GENOPT is called ADS. It was created by Vanderplaats (Vanderplaats and Sugimoto, 1986; Vanderplaats, 1987). ADS is "hardwired" in the "0-5-7" mode, which is the reliable "modified-method-of-feasible-directions" branch of this widely used optimization software. The user of GENOPT must establish: (1) what types of behavior should be included in the analysis? (2) what allowable limits should be assigned to each type of behavior? (3) what factor of safety should be assigned to each type of behavior? (4) what is the objective of the optimization? 1173
2 1174 D. BL SHNFLL Over the past several years the author has developed several program systems written in FORTRAN that allow the user to analyze and optimize certain kinds of structures (Bushnell. 1983a. b. 1986a. b: ). These program systems have a similar style and structure. In a preprocessor. usually called "BEGIN", the user is asked in an interactive mode to supply a starting design. material properties. boundary conditions and loads. In a second processor called 'DEIDE' the user is asked in an interactive mode to choose decision variables, lower and upper bounds of decision variables. linked variables, and something called "escape" variables (variables that are iteratively increased in size by 10lo per iteration until optimization via ADS takes over). Then in a third processor called "MAINSETUP" the user is asked in an interactive mode to provide certain strategy parameters for the batch-mode analysis to follow. Finally, the user launches a batch run involving a mainprocessor. If the problem is an optimization problem, this batch run will yield a new design. Three of the program systems (Bushnell. 1983a. b, 1987, 1988) have a "HANGE" processor which permits the user to assign new values to certain of the variables without having to run a case from "BEGIN". The three program systems (Bushnell, 1983a, b, 1987, 1988; have in common a user-friendly feature that definitions of the data appear throughout the output so that this output is easy to understand. The idea is close at hand to offer the engineer the potential for developing analysis optimization program systems that have a similar user-friendly style and structure. It should be possible to write a 'master" computer program that, eliciting certain information from its user, generates program systems that perform tasks analogous to those performed by the program systems described in Bushnell (1983a, b, 1987, 1988) tasks that are defined by the user of this "master" program. This paper describes the implementation of this idea. Further details appear in files called GENOPTST.ORY, GENOPT.HLP, PLATE.*, PLATE L.*. PANEL.*. ARIANE.* and HOWTO.RUN included with other files in the GENOPT program system (Bushnell, 1989). THE ROLES OF USERS There are two types of user that are involved here, called "GENOPT user" and "end user". The GENOPT user conceives of a generic class of objects for which a user-friendly ("end user" -friendly) analysis and/or optimization code is needed. He or she decides what types of behavior must be accounted for, from where program coding should be obtained to predict these types of behavior, what input data are needed, what name, definition, and "help" paragraphs should be associated with each input datum, and how the input data should be organized. If the GENOPT user performs these tasks well, GENOPT generates a user-friendly program system that will yield well documented, reliable analyses and/or optimum designs. The end user finds optimum designs of specific items that fit within the generic class conceived by the GENOPT user. The next two subsections provide more details on the roles of each of these two types of user. It is expected that the end user will often be the same person as the GENOPT user. Both type of user are GENOPT users in a literal sense: they both use GENOPT. However, they use GENOPT in different ways, as listed in Table 1. Role of the GENOPT user The GENOPT user designs the framework for optimization. He or she must perform the following tasks: (1) hoose a generic class of problems for which an analysis and/or optimization program is needed. This class should not be so narrow as to be practically useless, nor should it be so broad that the end product is difficult to use, or overly expensive to run. (2) Decide which phenomena (behaviors) may affect the design. Since these behaviors may constrain the design they are commonly termed "behavioral constraints" or just "constraints". For example, a certain structure may experience (a) instability, (b) material failure, (c) unacceptable modal vibration, (d) unacceptably large displacement, (e) high drag, (f) violation of clearance tolerances, etc. It is very important that every conceivable
3 The GENOPT program 1175 Table. 1. A typical GENOPT (GENeral OPTimization) runstream. ommands typed by the user are preceded by "S" OMMAND PURPOSE OF THE OMMAND $ GENOPTLOG (Activate the GENOPT commands.) SETION 1 (TASKS TO BE PERFORMED BY THE GENOPT USER.) First, decide upon a class of things for which there is a need for a user-friendly analysis/optimization program. Then consider the following: (a) What variables (length, width, thickness,...) are involved? (b) What environments (loads, temperatures...) is the class of things subjected to? (c) What types of behavior (stress, buckling, vibration,...) should be accounted for? (d) What is the objective (weight, cost,...) of the optimization? (e) From where are you going to obtain algorithms for predicting the types of behavior in (c) and the objective in (d)? In brief, you must have a good idea of your goal before you start. You don't need quantitative answers, only a well-formulated plan. $ GENTEXT During an interactive session, provide data names, definitions, and help paragraphs for a problem class for which you establish a generic name. The GENOPT system sets up a data base, a system of FORTRAN programs, and a prompting file, all of which use data names, definitions, and ''help'' paragraphs created by you. You are asked by GENTEXT to provide data names for variables each of which performs one of seven possible roles: 1 = a possible decision variable for optimization, typically a dimension of a structure. 2 = a constant parameter (cannot vary as the design evolves), typically a control integer or a material property, but not a load, allowable, or factor of safety, which are asked for later. 3 = a parameter characterizing the environment, such as a load component or a temperature. 4 = a quantity that describes the response of the structure. (e.g. stress, buckling load, frequency) 5 = an allowable, such as maximum allowable stress, minimum allowable frequency, etc. 6 = a factor of safety 7 = the design objective (e.g. weight) Please provide these data names, definitions, and ''help'' paragraphs in the following order: all variables with Roles 1 or 2 first; then all Role 3 variables; then variables with Roles 4, 5 and 6 in the repeating pattern (A4, AS, A6); (B4, B5, B6); (4, 5. 6);... The last variable name and definition you supply is the single Role 7 variable: the design objective. Next, write/gather FORTRAN code that predicts behavior such as stress, buckling, vibration frequency, displacement. clearance. etc. as functions of the data names that you provided via GENTEXT. The types of behavior for which algorithms must be supplied were chosen
4 176 D. BUSHNELL. Table I-ontinued by you during the interactive ''GENTEXT'' session. Insert this FORTRAN code into libraries called BEHAVIOR.NEW and/or STRUT.NEW and ADDODEn.NEW. Skeletal forms of BEHAVIOR.NEW and STRUT.NEW are created by GENTEXT. You may create new libraries called ADDODEn.NEW, n = 2, 3,..., if you think this is a good idea. This is done in the complex example case, Example 2, documented in detail in the file called PANEL.AS in [10). In order to learn more about BEHAVIOR.NEW. STRUT.NEW. ADDODEn.NEW, use the ''HELPG'' command. Information about these libraries appears on your screen when you type one or more of the following three-word commands: HELPG LIBRARIES GENOPTUSER HELPG LIBRARIES BEHAVIOR HELPG LIBRARIES STRUT HELPG LIBRARIES ADDODEn. reating and properly installing new FORTRAN code for predicting the GENOPT-user-defined behavior that might constrain the design is the most challenging part of the GENOPT user's activity. When you have completed this task, type the command GENPROGRAMS. $ GENPROGRAMS The GENOPT system generates object libraries called: BEGIN.OLB, STOGET.OLB. STRUT.OLB. BEHAVIOR.OLB, HANGE.OLB and absolute elements called: BEGIN.EXE, DEIDE.EXE, MAINSETUP.EXE, OPTIMIZE.EXE, HANGE.EXE, STORE.EXE. HOOSEPLOT.EXE, DIPLOT EXE, that incorporate the code that you wrote/gathered as described above. End of Section 1: The user-friendly program system has been generated. SETION 2 (TASKS PERFORMED BY THE END USER: APPLY THE NEW ANALYSIS/OPTIMIZATION PROGRAM TO A SPEIFI ASE.) t BEGIN You, or an end user appointed by you, assign a specific case name which is different from the generic case name. Provide a starting design, material properties, tables and control integers, loads, allowables, and factors of safety for the specific case. $ DEIDE hoose decision variables and their lower and upper bounds, linked variables and their linking coefficients, inequality constraints based on system dimensions rather than system behavior, and ''escape'' variables. $ MAINSETUP hoose the type of analysis (loptimization, 2-analysis of a fixed design) and the maximum number of design iterations to be performed by OPTIMIZE. $ OPTIMIZE Launch a batch run that does the work specified by MAINSETUP. Upon completion of the batch run and inspection of the results
5 The GENOPT program 1177 Table I-ontinued provided in the file called NAME.OPM, decide whether to do more design iterations. NAME = end-user-assigned specific case name: NAME - PLATEI in Example 1. Part 2; NAME = ARIANE in Example 2, Part 2. $ OPTIMIZE You launch a second batch run for another set of design iterations. The starting design for this run is the ending design of the previous run. $ HOOSEPLOT hoose which design variables and design margins should be plotted v. design iterations. $ DIPLOT ause the variables chosen by you in HOOSEPLOT to be plotted. NOTE: The runstream given here is very similar that used in Example 1. The only difference is that in Example 1 only one "OPTIMIZE" was needed, as convergence to an optimum design was achieved within the maximum number of iterations permitted in that run. More details appear in the file PLATE.AS in . type of behavior and contingency be accounted for in order that generation of impractical designs be avoided. The writer has encountered examples in which failure to characterize the behavior completely has led to disappearance of the object as optimization iterations proceed! (3) Decide what the objective of the optimization is. In the aerospace industry it is often weight. In the civil engineering industry it is often cost. There are of course many other possible objectives. The author has encountered a problem in which the objective was minimum heat flow (Bushnell, 1988). In another problem the objective was minimum rootmean-squared error of the surface of a mirror (Bushnell, 1983a). A mixed objective is possible, with weights assigned to each component of the objective. (4) Organize the input data. For example, are pointers needed? Should a certain class of input items be an array or should each member of this class be a simple variable with its own unique name? If a variable is an array, should it be a one-dimensional or a twodimensional array? In what order should the user be prompted for the input data? (GEN- OPT determines this to some extent, as described in Section I of Table 1.) (5) hoose (a) a meaningful name, (b) a clear one-line definition, and, if needed, (c) a supporting "help" paragraph or paragraphs for each input datum. areful attention to these items will contribute greatly to the user-friendliness of the program system generated by GENOPT, since the data names and definitions appear in the output from this system seen by the end user. (6) Write or "borrow" computer algorithms to calculate the various behaviors to be included as possible constraints on the design. In this paper two examples are presented: a simple one in which short algorithms are written, and a more complex one in which subroutines are "borrowed" from elsewhere and either used directly or modified and then used. (7) Test the program system generated by GENOPT. Does the code introduced in Item 6 work properly? Are enough behaviors included as constraining influences on the design? Are the data names informative and the data definitions complete enough? Is there sufficient "help" documentation for a naive end user? If the end user looks at the output 6 months or a year from now will he or she be able to understand it at once?
6 178 D. BUSHNELL (8) Interact with the end user. If it proves that additional types of behavior must be included. incorporate them using the "INSERT" command. ["INSERT" is described in Bushnell (1989)]. Role of the end user Whereas the GENOPT user provides the framework within which a certain class of objects may be optimized, the end user applies the program system thus generated. In his or her applications, the end user must: (1) hoose a specific problem that fits within the generic class established by the GENOPT user. For example, it will not do to try to optimize something in which creep is an important phenomenon if creep is not part of the "universe" conceived by the GENOPT user. (2) hoose a starting design with appropriate sets of loads and an allowable factor of safety for each behavioral constraint. (This is done in the "BEGIN" processor, to be described below.) (3) hoose appropriate decision variables with reasonable lower and upper bounds. (This is done in the "DEIDE" processor, to be described below.) (4) hoose linked variables and linking expressions (equality constraints), if any. (This is done in the "DEIDE" processor.) (5) hoose inequality constraint expressions, if any. (This is done in the "DEIDE" processor.) (6) hoose "escape" variables. These are variables that, when increased, force the design toward the feasible region. They are needed sometimes because ADS may fail to modify a grossly unfeasible design. (This is done in "DEIDE".) (7) During optimization use enough restarts, iterations, and "HANGE" commands to ensure that a global optimum design has been obtained, not merely a local optimum. (The "HANGE" command will be introduced later.) (8) Interact with the GENOPT user. Suggest introduction of new types of behavior, better data names, definitions, and "help" paragraphs. (9) onfirm the appropriateness of the optimum design by detailed analysis with a general purpose program and/or experiments. PROPERTIES OF GENOPT The GENOPT program system has the following properties: (I) GENOPT is a FORTRAN program that writes other FORTRAN programs. These programs, when augmented by GENOPT user-supplied coding, form a menu-driven program system that is user-friendly in the GENOPT user's field. In the two examples, (a) and (b), discussed here the GENOPT user (the author in this case) had to supply FOR- TRAN coding that: (a) calculates stress, buckling, vibration and displacement of rectangular, isotropic flat plates under in-plane loads or pressure, and (b) calculates stress and various kinds of buckling for laminated, composite, ring and stringer stiffened plates and cylindrical panels and shells under multiple sets of combined in-plane loading. (2) An analysis of a fixed design is "automatically" converted by GENOPT into the capability of optimizing that design concept should the end user wish to do so. (3) The analysis/optimization problems need not be in fields, nor in jargon familiar to the developer of GENOPT. Although both example cases are in the field of structural analysis. GENOPT is not limited to that field. (4) Input data and textual material are elicited from the GENOPT user in a general enough way, so that he or she can employ whatever data names, definitions and "help" paragraphs will make subsequent use of the program system thus generated easy, by those less familiar with the generic class of problems than the GENOPT user. The data names
7 The GENOPT program 1179 and definitions appear in the output of the GENOPT-generated program system to be used by the end user. If meaningful data names, and clear definitions and "help" paragraphs are supplied by the GENOPT user, the analysis/optimization capability generated by GENOPT will be user-friendly for the end user. (5) The program system generated by GENOPT has the same general architecture as previous programs written for specific applications (Bushnell, 1983ab, 1986ab, ). It is driven by a pre-established menu of commands. A typical runstream executed by the end user of the GENOPT-generated program system is: BEGIN DEIDE MAINSETUP OPTIM IZE HOOSEPLOT DIPLOT (End user supplies starting design, control integers, material properties, loads. allowables, and factors of safety in an interactive- "help" mode.) (End user chooses decision variables, lower and upper bounds of the decision variables, linked variables, inequality constraints based on system dimensions rather than system behavior, and "'escape" variables.) (End user chooses output option, whether to perform an analysis of a fixed design or to optimize. and the number of design iterations.) (The program system performs, in a batch mode, the work specified in MAINSETUP.) (End user chooses which variables to plot versus design iterations.) (End user obtains plots.) ARHITETURE OF THE GENOPT MAINPROESSOR AND OPTIMIZATION STRATEGY Each command "OPTIMIZE", which occurs twice in Section 2 of Table 1, causes a batch run of the GENOPT mainprocessor to be launched. The architecture of this mainprocessor, which is called "MAIN", is depicted in Fig. 1. It is assumed in Fig. I that the decision variables have been stored in a vector X of length NDV. The behavior of the system being optimized is determined once in SUBROUTINE STRUT for the unperturbed design and NDV times, again in SUBROUTINE STRUT, for the design in which each of the decision variables X(i) is perturbed in turn by 5% [dx(i) = 0.05*ABS(X(i))]. Gradients of the behavioral constraints are calculated, yielding a matrix of numbers with dimensions NONST x NDV. in which NONST is the number of behavioral constraints and NDV is the number of decision variables. This information is provided in a scaled form as input 10 ONTINUE Fig. 1. Architecture of the GENOPT mainprocessor "'MAIN".
8 180 D. BUJSHNELL to ADS, which derives a new design based on the modified method of feasible directions (Vanderplaats, 1987; Vanderplaats and Sugimato, 1986). The new design derived by ADS is used as a new unperturbed design on the left-hand side of Fig. 1. alculations proceed in this manner until ADS can do no more or until the maximum number of iterations specified by the end user in MAINSETUP has been reached. Further iterations are performed by successive commands "OPTIMIZE", as listed in Tables I and 10. Section 2 of Table I shows the command "OPTIMIZE" being typed twice. Each "OPTIMIZE" run was "instructed" by MAINSETUP to permit a maximum of n design iterations. One might well ask, "Why take two sets of n iterations each, instead of just one set with 2n or more iterations?" There are two reasons. The first is that it is always a good idea for the user to monitor carefully the output as the design evolves. Hence, after each set of n iterations the user should inspect the results. The second reason has to do with how the optimizer ADS works in GENOPT. Figure 2 illustrates the case of two decision variables. Given the user's lower and upper bounds of the decision variables, GENOPT establishes a more restrictive "window" within which the decision variables are allowed to vary in any given iteration. The size of this "window" decreases with each design iteration by a factor of 0.8. These restrictions are placed upon the permitted excursions of the decision variables in order to prevent wild swings in the design as it evolves. The example shown in Fig. 2 shows eight iterations, and the last design point is labeled "FINAL DESIGN FOR THIS SET OF ITERATIONS". Note that the final "window" of permitted excursions is rather small. To the user it may appear that design iterations have converged, whereas actually they may not have. On the other hand, they really may have converged. This can easily be checked simply by executing "OPTI- MIZE" again. When this is done, the "window" of permitted excursions is re-expanded to its original size, the new starting design is the last design obtained in the previous set of iterations, and new iterations proceed as before. The user should keep executing "OPTI- VUB (2) ---- r-- 1+-VU( X INITIAL I Ii Vf LB B(2)-' DESIL G FU FOR THIS SET OF ITERATIONS DEISION VARIABLE (X 1 ) Fig. 2. Schematic of the evolution of a design with one set of design iterations and two decision variables, X(l1) and X(2). With each iteration the optimizer, ADS, establishes a "window" of permitted excursion of the decision variables. In GENOPT this "window" shrinks by a factor of 0.8 with each design iteration. Upon re-execution of OPTIMIZE the "window"- is re-expanded to its original size, which depends upon lower and upper bounds supplied by the end user in DEIDE and upon certain strategies used by ADS.
9 The GENOPT program MIZE" until the objective does not change very much. When the user is satisfied with the current design, he or she should then take one additional set of design iterations in which the number of iterations is larger than the number used previously, say twice or three times as many EXAMPLE 1: MINIMUM WEIGHT DESIGN OF A PLATE Part I: Tasks performed by the GENOPT user Statement of the problem. This case is a bit contrived. However, it demonstrates a relatively simple use of GENOPT. The problem is to find the minimum weight design of an isotropic, rectangular flat plate simply supported along all four edges. The plate is subject to the following environments, each applied as if it were a separate "event" that occurs during operation of the object of which the plate is a part: (1) uniform axial compression, (2) uniform in-plane shear, (3) uniform normal pressure. These separate loadings might represent environments seen by the structure during different phases of its operation. The following behavioral constraints apply: (I) the maximum effective stress in the plate shall not exceed an allowable value to be specified by the end user; (2) the plate is not allowed to buckle under the axial compression or under the in-plane shear loads to be specified by the end user; (3) the minimum natural frequency of the unloaded plate must be greater than an allowable value to be specified by the end user; (4) the maximum normal deflection of the plate under uniform normal pressure to be specified by the end user shall not exceed an allowable value to be specified by the end user. The following constraints on the geometry of the plate will be imposed by the end user in the interactive "DEIDE" session: (I) the area of the plate shall not exceed 100 (units)**2; (2) the area of the plate shall not be less than 50 (units)**2; (3) the variable LENGTH (to be defined later as "length of the plate") shall be greater than the variable WIDTH (to be defined later as "width of the plate"). This problem is defined and solved by a runstream similar to that given in Table 1. Preparation for the "GENTEXT" interactive session: (1) Finding models for predicting the behavior of the plate: An important task in solving the problem just stated is to find predictors for the four behavioral constraints listed above. These predictors can be found in handbooks. In this case Roark (1954) has formulas for buckling of rectangular, isotropic, simply supported plates under uniform axial compression (Table XVI, Entry No. I) and under uniform inplane shear (Table XVI, Entry No. 10). For uniform axial compression the critical axial stress resultant Nx(cr) (stress resultant Nx = stress*thickness) is given by: Nx(cr) = K*[E*t/(l -nu**2)]*(t/b)**2 (1) in which K is a coefficient that depends on the length/width ratio alb of the plate; E is the elastic modulus of the plate material; t is the plate thickness; nu is the material Poisson ratio; and b is the width of the plate. Roark gives a table of K values versus a/b. The critical in-plane shear resultant Nxy(cr) has the same form as eqn (1). The coefficient K depends on alb in a different way from that for axial compression. Roark gives a table of K versus alb for shear buckling in Entry No. 10 of Table XVI. Since the Roark formulas are to be SAS 26:9/1O4
10 1182 D. BUSHNELL used in this case, the GENOPT user will have to introduce arrays of constant parameters: (1) KI (i) and ALPHA I (i) for axial compression buckling coefficients: (2) K2(j) and ALPHA2(j) for in-plane shear buckling coefficients. in which KI and K2 represent Kin eqn (1). and ALPHAI and ALPHA2 represents the plate aspect ratios a/b for which Roark gives K in Entries I and 10. respectively. of Table XVI in Roark (1954). The GENOPT user will also have to use an interpolating routine to calculate K for values of a/b between the discrete values given in Roark. In this case a subroutine called INTERP is used. [See Table 6(b).] The algorithms for compression and shear buckling appear in Table 6(b). The GENOPT user must set the maximum permitted values of the indices i and i large enough to give an end user reasonable freedom to use tabular data from any source, perhaps from design curves. The discussion on the axial and shear buckling behaviors is an important ingredient of this example because it illustrates how design curves would be used as input to GENOPT for automated optimization of systems for which graphic or tabular design data are available. Table 2. Seven roles of GENOPT input data and data names chosen by the GENOPT user for Example I ROLE OF DATA 1. andidates or-- DATA NAMES SHORT DEFINITIONS andidates for decision variables THIK, LENGTH, WIDTH thickness t. length a. width b. 2. onstant parameters 3. Environmental parameters (loads) 4. Responses (behavioral constraints) 5. Allowables 6. Factors of safety 7. Objective function E. NU, RHO AOBAXL(i), KAXL(i) AOBSHR(j). KSHR(j) Nx(k), Ny(k). Nxy(k). PRESS(k) STRESS(k). BUKLEWk). FREQWk). W(k) MAXSTR(k), MINBU(k). MINIPS(k), AW(k) FSTRES(k). FBUKL(k), FSFREQ(k). FW(k) WEIGHT modulus, Poisson ratio, weight density a/b, K values from Roark for compression buckling a/b, K values from Roark for shear buckling. axial resultant, transverse resultant, inplane shear resultant, normal pressure for the kth load set. max. stress, buckling load factor, natural frequency, max. normal displacement for the kth load set. allowable stress, buckling load factor, frequency, normal displacement for the kth load set. factors of safety for stress, buckling, frequency, displacement for the kth load set. weight of the plate.
11 Roark (1954) also provides formulas for the maximum stress and normal deflection of rectangular, isotropic, simply supported plates under uniform normal pressure (Table X, Entry No. 36). Formulas for the maximum stress appear in Table 6(a) and for maximum normal deflection in Table 6(d). Leissa (1969) provides a formula for the fundamental vibration frequency of a simply supported. isotropic, rectangular plate. The formula appears in Table 6(c). The objective function, WEIGHT, is simply WEIGHT = (weight density) * a * b * t (2) (2) Organizing and deciding on names for the input data: The GENOPT program 1183 GENTEXT forces the GENOPT user to classify generic problem data into seven categories or roles. Table 2 lists these roles and shows the data names that the GENOPT user decided to use in this example. The "GENTEXT" interactive session. The following is a list (abridged to save space) of part of the interactive session initiated when the GENOPT user types the command "GENTEXT". Input from the user is set in boldface. ************ BEGINNING OF INTERATIVE ''GENTEXT'' SESSION ************ $ GENTEXT ENTER THE GENERI ASE NAME: PLATE ARE YOU ORRETING, ADDING TO. OR USING PLATE.INP? (y or n): n You have chosen the following name for this case: PLATE. Henceforth, this will be called the ''generic'' name. After you have completed your tasks in GENOPT, you and other users will be able to optimize specific things that fit within the class of optimization problems that you have called PLATE. HOOSE STARTING PROMPT INDEX (integer from 1 to 10. Try 6): 5 HOOSE INREMENT FOR PROMPT INDEX (integer from 1 to 10. Try 5): 5 HOOSE: 0 or 1: (O means ''introductory explanatory text'') (1 means ''one-line input datum prompt'') HOOSE: 0 or 1: 1 You will next be asked to provide information about a new variable that will play a role in your program. The following items relative to this new variable will be asked of you: 1. A name of the variable (six characters or less). 2. The role of the variable in your program. 3. Is the variable an array? (If yes, give number of rows. NROWS and columns, NOLS.) 4. A one-line definition of the variable. 5. Do you want to include a ''help'' paragraph that explains more about the variable than the one-line definition? 6. If you answer S. with Y. you provide a help paragraph. The variable can have one of the following roles: 1 = a possible decision variable for optimization. typically a dimension of a structure. 2 = a constant parameter (cannot vary as the design evolves), typically a control integer or a material property,
12 1184 D. BUSHNE-LL but not a load, allowable, or factor of safety. which are asked for later. 3 = a parameter characterizing the environment, such as a load component or a temperature. 4 = a quantity that describes the response of the structure, (e.g. stress, buckling load, frequency) 5 = an allowable, such as maximum allowable stress, minimum allowable frequency, etc. 6 = a factor of safety 7 = the quantity that is to be minimized (e.g. weight) (LINES SKIPPED IN ORDER TO SAVE SPAE.) PROVIDE A NAME FOR THE VARIABLE (6 or less characters, APS): THIK IDENTIFY ROLE OF THIK (1 or 2 or 3 or 4 or 5 or 6 or 7): 1 Is the variable THIK an array? n PROVIDE A DEFINITION FOR THIK. (LESS THAN 60 HARATERS!) thickness of the plate THIK = thickness of the plate DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): n ANY MORE DEISION VARIABLE ANDIDATES (ROLE 1 VARIABLES) OR FIXED PARAMETERS (e.g. material) (ROLE 2 VARIABLES)? y (MANY LINES SKIPPED IN ORDER TO SAVE SPAE) HOOSE AN ENVIRONMENTAL PARAMETER (load) (ROLE 3 VARIABLE). HOOSE: O=introductory text or 1=one-line input datum prompt: 0 PROVIDE INTRODUTORY EXPLANATORY TEXT NEXT, PROVIDE ALL ENVIRONMENTAL PARAMETERS (LOADS) ANY MORE LINES IN THIS PARAGRAPH? (y or <cr> or n): n HOOSE: O=introductory text or 1=one-line input datum prompt: I PROVIDE A NAME FOR THE VARIABLE (6 or less characters, APS): Nx IDENTIFY ROLE OF Nx (1 or 2 or 3 or 4 or 6 or 6 or 7): 3 PROVIDE A DEFINITION FOR Nx. (LESS THAN 60 HARATERS!) Axial tension per unit width of the plate (lb/in) Nx = Axial tension per unit width of the plate (lb/in) DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): y PROVIDE HELP PARAGRAPH TO EXPLAIN INPUT NOTE: Nx must be negative for axial compression! ANY MORE LINES IN THIS PARAGRAPH? (y or <cr> or n): n ANY MORE ENVIRONMENTAL PARAMETERS (loads) (ROLE 3 VARIABLES)? y (MANY LINES SKIPPED IN ORDER TO SAVE SPAE) HOOSE A RESPONSE PARAMETER (e.g. stress) (ROLE 4 VARIABLE). HOOSE: O=introductory text or l=one-line input datum prompt: I
13 The GENOPT program PROVIDE A NAME FOR THE VARIABLE (6 or less characters, APS): FREQ IDENTIFY ROLE OF FREQ (1 or 2 or 3 or 4 or 5 or 6 or 7): 4 FREQ is an array with the number of rows equal to 20. Each row corresponds to a load case. Max. of 20 load cases permitted. Do you want to reset the number of columns in FREQ? In this case, if you answer ''no'' FREQ would be dimensioned FREQ(20). Do you want to reset the number of columns in FREQ? n PROVIDE A DEFINITION FOR FREQ. (LESS THAN 60 HARATERS!) Fundamental frequency of unloaded plate FREQ = Fundamental frequency of unloaded plate DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): n HOOSE AN ALLOWABLE FOR FREQ (ROLE 5 VARIABLE). HOOSE: O=introductory text or l=one-line input datum prompt: I PROVIDE A NAME FOR THE VARIABLE (6 or less characters, APS): MINPS PROVIDE A DEFINITION FOR MINPS. (LESS THAN 60 HARATERS!) Minimum allowable value for the fundamental frequency MINPS = Minimum allowable value for the fundamental frequency DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): n HOOSE FATOR OF SAFETY FOR FREQ (ROLE 6 VARIABLE). HOOSE: O=introductory text or i=one-line input datum prompt: I PROVIDE A NAME FOR THE VARIABLE (6 or less characters. APS): FSFREQ PROVIDE A DEFINITION FOR FSFREQ. (LESS THAN 60 HARATERS!) Factor of safety for FREQ FSFREQ = Factor of safety for FREQ DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): n 1185 (MANY LINES SKIPPED IN ORDER TO SAVE SPAE) ANY MORE RESPONSE VARIABLES (e.g.buckling) (ROLE 4 VARIABLES)? n HOOSE AN OBJETIVE (e.g. minimum weight) (ROLE 7 VARIABLE). HOOSE: O=introductory text or 1=one-line input datum prompt: 0 PROVIDE INTRODUTORY EXPLANATORY TEXT LAST, AN OBJETIVE MUST BE HOSEN, SUH AS MINIMUM WEIGHS ANY MORE LINES IN THIS PARAGRAPH? (y or <cr> or n): y OR MINIMUM OST. ANY MORE LINES IN THIS PARAGRAPH? (y or <cr> or n): n HOOSE: O=introductory text or 1=one-line input datum prompt: I PROVIDE A NAME FOR THE VARIABLE (6 or less characters, APS): WEIGHT PROVIDE A DEFINITION FOR WEIGHT. (LESS THAN 60 HARATERS!) Weight of the plate WEIGHT = Weight of the plate DO YOU WANT TO INLUDE A ''HELP'' PARAGRAPH? (y or n): n DUMMY ENTRY WRITTEN AT END OF PLATE.PRO STOGET.NEW HAS BEEN REATED. BEGIN.NEW HAS BEEN REATED. STRUT.NEW HAS BEEN REATED. BEHAVIOR.NEW HAS BEEN REATED. HANGE.NEW HAS BEEN REATED. ************ END OF THE 'GENTEXT'' INTERATIVE SESSION ************
14 186 D. BUSHNELL Files produced bl the interactive "GENTEXT" session. The interactive "GENTEXT' session produces many files, all of which are described in Bushnell (1989) and in the interactive "help" utility called "HELPG" that forms part of the GENOPT system. In order to save space only a few of these files will be described here. One of the most important files is called NAME.PRO, in which NAME is the generic name selected by the GENOPT user (NAME - PLATE in this example). The file PLATE.PRO is listed in Table 3. PLATE.PRO is used by the "BEGIN" processor. which will be executed by the end user. Note that while the prompt numbers and format are established by GENOPT, the text (except for certain array dimension names) is created by the GENOPT user. This text, particularly the one-line definitions given on the lines in Table Table 3. List of the file PLATE.PRO which provides the end user with prompts and 'HELPS" when the end user uses "BEGIN" 5.0 PROGRAM FOR OPTIMIZATION OF A RETANGULAR PLATE SUBJETED TO SEVERAL LOADING ENVIRONMENTS AND ONSTRAINTS ON STRESS, BUKLING, DISPLAEMENT. AND FREQUENY FIRST, PROVIDE ALL VARIABLES THAT AN BE DEISION VARIABLES, THAT IS, VARIABLES THAT AN HANGE DURING OPTIMIZATION ITERATIONS (ROLE TYPE 1). AND FIXED VARIABLES (ROLE TYPE 2) thickness of the plate: THIK 20.1 Length of the plate: LENGTH 26.1 Width of the plate: WIDTH 30.1 Young's modulus of the plate material: E 35.1 Poisson's ratio of the plate material: NU 40.1 Weight density (e.g. lb/in**3) of the plate material: RHO 45.0 THE FOLLOWING TABLE (FROM ROARK. 3RD EDITION, TABLE XVI, ENTRY NO. 1, PAGE 312), GIVES THE RELATIONSHIP OF PLATE (LENGTH/WIDTH) TO A OEFFIIENT FOR BUKLING UNDER UNIFORM AXIAL OMPRESSION Number IAOBAX of rows in the array AOBAXL: IAOBAX 55.1 (plate length, LENGTH)/plate width, WIDTH): AOBAXL 60.1 oefficient for buckling under uniform axial compression: KAXL 65.0 THE FOLLOWING TABLE (FROM ROARK. 3RD EDITION. TABLE XVI. ENTRY NO. 10, PAGE 312), GIVES THE RELATIONSHIP OF PLATE (LENGTH/WIDTH) TO A OEFFIIENT FOR BUKLING UNDER UNIFORM IN-PLANE SHEAR Number IAOBSH of rows in the array AOBSHR: IAOBSH 75.1 (plate length, LENGTH)/(plate width, WIDTH): AOBSHR 80.1 oefficient for buckling under uniform in-plane shear: KSHR 85.0 NEXT. PROVIDE ALL ENVIRONMENTAL PARAMETERS (LOADS. TEMPERATURES) 90.1 Number NASES of load cases (environments): NASES 96.1 Axial tension per unit width of the plate (lb/in): Nx
15 The GENOPT program 1187 Table 3-ontinued ====s 95.2 NOTE: Nx must be negative for axial compression! Transverse tension per unit length of the plate (lb/in): Ny In-plane shear per unit edge length applied to the plate.: Nxy Uniform normal pressure on the plate: PRESS NEXT. PROVIDE RESPONSE PARAMETERS, ALLOWABLES. AND FATORS OF SAFETY. THE ORDER IN WHIH YOU MUST PROVIDE THESE DATA IS: AB,; A.B.; A.B; A.B.; etc. in which A = RESPONSE, B = ALLOWABLE, = FATOR OF SAFETY Maximum effective (von Mises) stress: STRESS Maximum effective (von Mises) stress allowed: MAXSTR Factor of safety for effective stress: FSTRES Buckling load factor: BUKLE Minimum allowable buckling load factor (use 1.0): MINBU Factor of safety for buckling load factor: FBUKL Fundamental frequency of unloaded plate: FREQ Minimum allowable value for the fundamental frequency: MINPS Factor of safety for FREQ: FSFREQ Normal deflection under uniform pressure: W Maximum allowable normal deflection under pressure: AW Factor of safety for max deflection under pressure: FW LAST, AN OBJETIVE MUST BE HOSEN, SUH AS MINIMUM WEIGHT OR MINIMUM OST Weight of the plate: WEIGHT DUMMY ENTRY TO MARK END OF FILE NOTE: The GENOPT user provides the starting prompt index and index increment, the names of the variables, and the text. GENTEXT provides the prompt numbers and the layout of the prompt file. Informative data names and clear text will make the GENTEXT- generated optimization program system easy to use. 3 identified with indices of the form xx. 1, will appear throughout the output from the system of programs (BEGIN, DEIDE, OPTIMIZE, HANGE, HOOSEPLOT) to be used by the end user. If the GENOPT user composes clear one-line prompts and frequent, wellwritten "help" paragraphs, the GENTEXT-generated optimization program system will be end user-friendly. During the interactive "GENTEXT" session various blocks of FORTRAN code are written by the GENOPT system. Examples are listed in Tables 4 and 5. This machinegenerated FORTRAN code is concatenated with certain other files that contain FORTRAN fragments to form FORTRAN libraries called BEGIN.NEW, STOGET.NEW, STRUT.NEW, BEHAVIOR.NEW, and HANGE.NEW, as noted by GENOPT in the last five lines of the interactive "GENTEXT" session listed above. These libraries are described in Bushnell (1989). Only BEHAVIOR.NEW and STRUT.NEW may be modified by the GENOPT user. In this example, only BEHAVIOR.NEW is modified by the GENOPT user. Table 5 lists BEHAVIOR.NEW in its skeletal form. Table 6 lists the algorithms created by the
16 188 D. BUSHNELL Table 4. Part of the file PLATEON generated by "GENTEXT", this file contains calls to BEHXI, BEHX2.... BEHXn and to subroutine ONX. which generates behavioral constraints for optimization. This file forms part of STRUT NEW =======... Behavior and constraints generated next for STRESS: STRESS = Maximum effective (von Mises) stress PHRASE = 1 'Maximum effective (von Mises) stress' ALL BLANKX(PHRASEIENDP4) ALL BEHX1 (IFILE8,NPRINX.IMODX. ILOADX 1 'Maximum effective (von Mises) stress') IF (STRESS(ILOADX ).EQ.0.) STRESS(ILOADX ) = 1.E-10 IF (MAXSTR(ILOADX ).EQ.0.) MAXSTR(ILOADX ) = 1.0 IF (FSTRES(ILOADX ).EQ.0.) FSTRES(ILOADX ) = 1.0 KONX = KONX + 1 ARXKONX) =STRESS(ILOADX ) WORDX= 'MAXSTR('//IX//')/[STRESS('//IX// 1 ') X FSTRES('//IX//'))' ALL ONX(STRESS(ILOADX ),MAXSTR(ILOADX ),FSTRES(ILOADX ) 1,'Maximum effective (von Mises) stress'. 1 'Maximum effective (von Mises) stress allowed'. 1 'Factor of safety for effective stress'. 1 1,INUMTTIMODX.ONMAXIONSX.IPOINONSTX.WORDX. 1 WORDMX.PWORDPLOTXIARX) IF (IMODX.EQ.0) THEN ODPHR = 1 Maximum effective (von Mises) stress: IENDP4 =40 ODNAM ='STRESS('//IX//')' MLET4 =6 + 4 WORDBX(KONX)= ODPHR(1:IENDP4)//ODNAM(1:MLET4) IF (NPRINX.GT.0) WRITE(IFILE8,'(I5.6X.G14.7.A.A)') 1 KONXARX(KONX).ODPHR(1:IENDP4).ODNAM(1:MLET4) ENDIF 130 ONTINUE 131 ONTINUE Behavior and constraints generated next for BUKLE: BUKLE = Buckling load factor (LINES OF ODE OMITTED IN THE FOLLOWING IN ORDER TO SAVE SPAE) PHRASE = 'Buckling load factor' ALL BEHX2 (IFILE8,NPRINX.IMODX. ILOADX. 'Buckling load factor') WORDX= 'BUKLE('//IX//')/[MINBU('//IX//') X FBUKL('//IX//')] ALL ONX(BUKLE(ILOADX ).MINBU(ILOADX ),FBUKL(ILOADX ) Behavior and constraints generated next for FREQ: FREQ = Fundamental frequency of unloaded plate (LINES OF ODE OMITTED IN THE FOLLOWING IN ORDER TO SAVE SPAE) PHRASE = 'Fundamental frequency of unloaded plate' ALL BEHX3(IFILE8.NPRINX,IMODX.ILOADX.'Fundamental frequency...
17 The GENOPT program 1189 Table 4-ontinued WORDX= 'FREQ('//IX//')/[MINPS('//IX//') X FSFREQ('//IX//')]' ALL ONX(FREQ(ILOADX ),MINPS(ILOADX ),FSFREQ(ILOADX ) Behavior and constraints generated next for W: W = Normal deflection under uniform pressure (LINES OF ODE OMITTED IN THE FOLLOWING IN ORDER TO SAVE SPAE) PHRASE = 'Normal deflection under uniform pressure' ALL BEHX4(IFILE8,NPRINX.IMODXILOADX,'Normal deflection under... WORDX= 'AW('//IX//')/(W('//IX//') X FW('//IX//')]' ALL ONX(W(ILOADX ),AW(ILOADX ).FW(ILOADX ) ONTINUE END OF LOOP OVER NUMBER OF LOAD SETS (environments) NEXT, EVALUATE THE OBJETIVE. OBJGEN: PHRASE ='Weight of the plate' ALL BLANKX(PHRASEIENDP4) ALL OBJET(OBJGEN,'Weight of the plate') NONSX = IONSX RETURN END End of the final portion of STRUT written by "GENTEXT" NOTES: (1) Skeletal SUBROUTINES BEHXn are listed in TABLE 5. Algorithms written by GENOPT user for this case are listed in TABLE 6. (2) SUBROUTINE ONX is included in the GENOPT:MAIN.NEW library. (3) SUBROUTINE OBJET is part of the BEHAVIOR.NEW library. The skeletal version is listed in TABLE 5 and the particular algorithm for the objective for this case is listed in TABLE 6e. (4) About ''behavior''. "behavioral constraint''. ''margin'': (i) ''behavior"': refers to a quantity. Example: FREQ(ILOAD). (ii) "behavioral constraint": refers to a quotient that plays a role in constraining the design. The form of a ''type 1'' constraint (see ''GENTEXT'' interactive session in (10]) is: (allowable)/[(behavior)*(factor of safety)]. The form of a "type 2"' constraint is: (behavior)/[(allowable)*(factor of safety)]. EXAMPLE: MAXSTR(ILOAD)/(STRESS(ILOAD)*FSTRES(ILOAD)] (type 1) EXAMPLE: FREQ(ILOAD)/[MINPS(ILOAD)*FSFREQ(ILOAD)I (type 2) (iii) "margin'' = ''behavioral constraint'' - 1.0
18 1190 D. BtuSHNELI Table 5. Part of the file BEHAVIOR.NEW generated by "GENTEXT". Skeletal routines BEHXI. BEHX-2 BEHXn and subroutine OBJET are to be completed by the GENOPT user in this case. =DEK BEHAVIOR.NEW (LINES OF DESRIPTION OMITTED TO SAVE SPAE.) (OMMENT LINES HAVE BEEN OMITTED FROM THE BEHX* ROUTINES TO SAVE SPAE.) =DEK BEHX1 SUBROUTINE BEHX1 (IFILENPRINX,IMODXILOADX.PHRASE) PURPOSE: OBTAIN Maximum effective (von Mises) stress (ommon blocks in the file PLATE.OM are inserted here by GENOPT.) (See Table 6a for the algorithm used in ''PLATE''. which must be inserted here by the GENOPT user.) RETURN END (SUBROUTINES BEHX2 AND BEHX3 ARE OMITTED TO SAVE SPAE.) =DEK BEHX4 SUBROUTINE BEHX4 (IFILENPRINX IMODXILOADX,PHRASE) PURPOSE: OBTAIN Normal deflection under uniform pressure (ommon blocks in the file PLATE.OM are inserted here by GENOPT.) (See Table 6d for the algorithm used in ''PLATE'', which must be inserted here by the GENOPT user.) RETURN END =DEK OBJET SUBROUTINE OBJET(OBJGENPHRASE) PURPOSE:Weight of the plate (ommon blocks in the file PLATE.OM are inserted here by GENOPT.) (See Table 6e for the algorithm used in ''PLATE'', which must be inserted here by the GENOPT user.) OBJGEN =WEIGHT RETURN END NOTES: (1) The GENOPT user completes the BEHAVIOR.NEW library by inserting certain algorithms for predicting the behavior. The algorithms for this example (''PLATE'') are listed in TABLE 6.
19 The GENOPT program Notes-ontinued Table 5-ontinued sss~~ === ============-=w===================~ (2) In the more complex case, ''PANEL'', only SUBROUTINE OBJET was completed. (See TABLE 28 of ). The behavioral characteristics were computed in new subroutines introduced by the GENOPT user into the library ADDODE1.NEW and called from STRUT.NEW as listed in TABLE 26 of (10). In the more complex case ''PANEL' the existence of previously written code made this strategy easier than using BEHX1, BEHX2... BEHXn. (3) Notice that the argument IMODX appears in the argument lists of the BEHX1. BEHX2,...BEHXn subroutines. It may be in some cases that calculation of the behavior for the perturbed design takes much less computer time than does calculation of this behavior for the unperturbed design. (This is true for the complex example, "PANEL'.) The GENOPT user may want to include IMODX in his/her strategy for efficient calculation of the various behaviors for perturbed designs. Table 6. Algorithms used in BEHAVIOR.NEW for example 1, the case called "PLATE". (a) GENOPT-user-written code for insertion into SUBROUTINE BEHX1: PURPOSE: OBTAIN Maximum effective (von Mise.) stress SA1 = Nx(ILOADX)/THIK SB1 = Ny(ILOADX)/THIK SAB = Nxy(ILOADX)/THIK ALPHA = WIDTH/LENGTH MAX. EFFETIVE STRESS UNDER UNIFORM PRESSURE (LINEAR THEORY) (TAKEN FROM ROARK, 3RD EDITION TABLE X. FORMULA 36, P. 203 VALID FOR POISSON RATIO NU = 0.3) NOTE: VALID ONLY FOR LINEAR BEHAVIOR!!! SA2 = (PRESS(ILOADX)*WIDTH**2/THIK**2)*( *ALPHA** *ALPHA**3) SB2 = 0.75*PRESS(ILOADX)*WIDTH**2/ 1 (THIK**2*(l *ALPHA**3)) EFFETIVE STRESS AT SURFAE WHERE PRESSURE IS APPLIED: SATOP = SA1 - SA2 SBTOP = SB1 - SB2 SEFTOP= SQRT(SATOP**2 +SBTOP**2 - SATOP*SBTOP +3.*SAB**2) EFFETIVE STRESS AT OPPOSITE SURFAE: SABOT = SAI + SA2 SBBOT = SBl + SB2 SEFBOT= SQRT(SABOT**2 +SBBOT**2 - SABOT*SBBOT +3.*SAB**2) STRESS(ILOADX) = MAX(SEFTOP.SEFBOT)
20 192 Table 6-sontinued f=== l--s=== - ================== (b) GENOPT-user-written code for insertion into SUBROUTINE BEHX2: PURPOSE: OBTAIN Buckling load factor BUKLE(ILOADX) = 0. GO TO (10,20,30). ILOADX 10 ONTINUE BUKLING LOAD FATOR UNDER UNIFORM AXIAL OMPRESSION, Nx: TAKEN FROM ROARK, 3RD EDITION, 1954, TABLE XVI. FORMULA 1. P. 312 ALL INTERP(IFILE.IAOBAXAOBAXL.KAXL.LENGTH/WIDTH.OEFAX) WRITE(6.*)' OEFAX.LENGTH/WIDTH =',OEFAX.LENGTH/WIDTH IF (Nx(ILOADX).LT.O.) 1 BUKLE(ILOADX) =(OEFAX*(E*THIK/(1.-NU**2))*(THIK/WIDTH)**2)/ 1 ABS(Nx(ILOADX)) GO TO ONTINUE BUKLING UNDER UNIFORM IN-PLANE SHEAR. Nxy: AGAIN. TAKEN FROM ROARK. 3RD EDITION, TABLE XVI, FORMULA 10, P. 313 ALL INTERP(IFILE.IAOBSH.AOBSHR.KSHR.LENGTH/WIDTHOEFSH) WRITE(6.*)' OEFSH,LENGTH/WIDTH =',OEFSH.LENGTH/WIDTH IF (Nxy(ILOADX).NE.O.) 1 BUKLE(ILOADX)=(OEFSH*(E*THIK/(1.-NU**2))*(THIK/WIDTH)**2)/ 1 ABS(Nxy(ILOADX)) GO TO ONTINUE THERE IS NO BUKLING UNDER UNIFORM NORMAL PRESSURE. 50 ONTINUE (c) GENOPT-user-written code for insertion into SUBROUTINE BEHX3: PURPOSE: OBTAIN Fundamental frequency of unloaded plate FREQ(ILOADX) = 0. GO TO (50.50,30),ILOADX FIND FUNDAMENTAL NATURAL FREQUENY FOR UNLOADED PLATE. THE VALUE ESTABLISHED FOR ILOADX = 3 IGNORES THE EFFET OF ANY TENSION THAT MAY DEVELOP IN THE PLATE WHEN IT IS LOADED BY NORMAL PRESSURE. NO FREQUENIES ARE ALULATED FOR THE PLATE AS LOADED AXIALLY (LOAD ASE 1) OR IN UNIFORM IN-PLANE SHEAR (LOAD ASE 2). 30 ONTINUE D = E*THIK**3/(12.*(1.-NU**2)) DMASS = RHO/386.4 PI =
21 ==============-w==ss-=s ====== Table 6ontinued 1193 ALULATE FUNDAMENTAL FREQUENY IN PS, NOT RADIANS/SEOND: TAKEN FROM LEISSA. "VIBRATION OF PLATES''. NASA SP-160. P. 44, EQ. 4.20: FREQ(ILOADX) 1 = SQRT(D/DMASS)*((1./LENGTH)**2 + (1./WIDTH)**2)*.6*PI 50 ONTINUE (d) GENOPT-user-written code for insertion into SUBROUTINE BEHX4: PURPOSE: OBTAIN Normal deflection under uniform pressure AS WITH THE VIBRATION OF THE UNLOADED PLATE, HERE WE ARE NOT ONERNED WITH THE NORMAL DEFLETION UNDER AXIAL OMPRESSION (Nx. ILOADX=1) OR UNDER UNIFORM IN-PLANE SHEAR (Nxy, ILOADX=2). W(ILOADX) = 0 GO TO (50,50,30).ILOADX 30 ONTINUE TAKEN FROM ROARK, 3RD EDITION. TABLE X. FORMULA 36, P. 203, 1954: NOTE: VALID ONLY FOR LINEAR THEORY!!! W(ILOADX) =.1422*PRESS(ILOADX)*WIDTH**4/ 1 (E*THIK**3*( *(WIDTH/LENGTH)**3)) 50 ONTINUE (e) GENOPT-user-written code for insertion into SUBROUTINE OBJET: PURPOSE:Weight of the plate ALULATE THE WEIGHT OF THE RETANGULAR PLATE... WEIGHT = RHO*LENGTH*WIDTH*THIK NOTES: (1) These five algorithms are to be inserted in positions analogous to those indicated in TABLE 5 for BEHX1. BEHX4, and OBJET. (BEHX2 and BEHX3 are omitted in TABLE 5 to save space.) (2) Notice in (b) that the buckling loads for axial compression and in-plane shear are calculated from formulas that include the use of tables of buckling coefficients v. the aspect ratio of the plate. LENGTH/WIDTH. The actual tabular values of the buckling load coefficients KAXL for axial buckling and KSHR for shear buckling will be provided later by the end user. The GENOPT user provided the OPPORTUNITY for the end user to compute the buckling load factors with the use of interpolated coefficients. This illustrates an important point: GENOPT can be used for setting up simple program systems for optimizing things for which there exist design curves that can be expressed in the computer in tabular form. The linear interpolator, INTERP, is located in the GENOPT system library UTIL.NEW.
22 1194 D. BUSHNELL GENOPT user which are to be inserted in each of the BEHXn, n = 1, 2, 3.4, routines for prediction of the various behaviors of the plate which may constrain the design during optimization iterations. Table 6 also lists the simple algorithm created by the GENOPT user for the objective function, which is to be inserted in the skeletal subroutine OBJET. also located in the BEHAVIOR.NEW library. Generation of absolute elements. After the GENOPT user has written/gathered the subroutines and algorithms to calculate the types of behavior that he or she has identified in GENTEXT as possibly constraining the design, he or she generates all the program system absolute elements needed by the end user for optimizing specific items within the generic class. The GENOPT command "GENPROGRAMS" generates the absolute elements. Table 15 of Bushnell (1989) lists the results of a "GENPROGRAMS" session and Table 16 of Bushnell (1989) lists the files generated. The GENOPT user has now completed his/her tasks. The end user next chooses a specific case within the generic class. EXAMPLE 1: MINIMUM WEIGHT DESIGN OF A PLATE Part 2: Tasks performed by the end user The end user now performs the tasks listed in Section 2 of Table 1. In this case the end user chooses a specific case name "PLATE 1". In order to save space only a small part of the output from this example will be listed here. The reader is referred to Bushnell (1989) for more details. In the interactive "BEGIN" session the end user supplies starting dimensions THIK, LENGTH, WIDTH; material properties E, NU, RHO; tables of buckling coefficients KAXL for pure axial compression and KSHR for pure in-plane shear; loads Nx, Ny, Nxy and p for each of three load sets; and allowables and factors of safety for each of the three load sets for each of the four behaviors listed in Table 4. In the interactive "BEGIN" session the end user is prompted for input and helped by the text listed in Table 3. Part of an interactive "BEGIN" session is listed in Table 17 of Bushnell (1989). This interactive session creates an annotated file of the input data called PLATE1.BEG in this example. Part of PLATE1.BEG is listed in Table 7. Note that the phrases and data names that follow the dollar signs in Table 7 are the same as the one-line definitions and data names listed in Table 3 on lines with leading indices of the form xx. l. Recall that these one-line definitions and data names were created by the GENOPT user with end user-friendliness in mind. The end user next starts the interactive "DEIDE" session. He or she chooses decision variables, lower and upper bounds of the decision variables, linked variables and the linking expressions (equality constraints), inequality expressions, and "escape" variables. The linking expressions and inequality expressions are in the form of power series of the decision variable candidates. Tables 19 and 20 in Bushnell (1989) list part of the interactive "DEIDE" session and the annotated input file PLATEL.DE created by this session. The format of PLATEI DE is analogous to the format of PLATEI.BEG, part of which is listed here in Table 7. Following execution of "DEIDE", the end user conducts a very brief interactive "MAINSETUP" session. The interactive input session and the resulting annotated file PLATE I.OPT are listed in Tables 21 and 22, respectively, of Bushnell (1989). The end user next launches a batch run via the command "OPTIMIZE". This batch run creates several files with names PLATE1.*, in which "*" signifies "any alphanumeric string". The files called PLATEL.OPM and PLATEL.OPP are the most important. PLATE.OPP lists all decision variables and design margins and the value of the objective function since the beginning of the case (after the command "OPTIMIZE" has been given possibly many times). PLATEL.OPM lists the results from each design iteration. Table 8 contains an abridged version of PLATE1.OPM. Note that the output contains the names established by the GENOPT user. The meanings of these names can be looked up in a glossary produced by GENOPT and stored in a file called NAME.DEF
23 The GENOPT program 1195 Table 7. Part of the file PLATEIBEG generated by "BEGIN" N E $ * * $ $ $ $ $ $ $ Do you want a tutorial session and tutorial output? thickness of the plate: THIK Length of the plate: LENGTH Width of the plate: WIDTH Young's modulus of the plate material: E Poisson's ratio of the plate material: NU Weight density (lb/in**3) of the plate material: RHO Number IAOBAX of rows in the array AOBAXL: IAOBAX (plate length. LENGTH)/(plate width, WIDTH): AOBAXL(1) (plate length. LENGTH)/(plate width, WIDTH): AOBAXL(2) (MANY LINES SKIPPED IN ORDER TO SAVE SPAE.) 0 $ Maximum allowable normal deflection under pressure: AW(1) 0 $ Maximum allowable normal deflection under pressure: AW(2) $ Maximum allowable normal deflection under pressure: AW(3) 0 $ Factor of safety for max deflection under pressure: FW(1) 0 $ Factor of safety for max deflection under pressure: FW(2) 1 $ Factor of safety for max deflection under pressure: FW(3) NOTE: In the last six entries the loop over 3 corresponds to looping over the number of load cases. The allowables AW(1) and AW(2) and the factors of safety FW(1) and FW(2) are zero because there is no normal. deflection of the plate corresponding to load case 1 (pure axial compression) nor to load case 2 (pure in-plane shear). Table 8. Part of the file PLATEI.OPM generated during the batch run launched by the end user's command "OPTIMIZE" $ OPTIMIZE (Launch batch run for first set of 5 design iterations) ENTER THE SPEIFI ASE NAME: PLATEI (YOU HAVE JUST LAUNHED A BATH RUN ON THE FAST QUEUE. WHEN IT IS OMPLETED, YOU INSPET THE PLATE1.OPM FILE TO SEE WHAT TO DO NEXT.) STRUTURAL ANALYSIS FOR DESIGN ITERATION NO. 0: VAR. NO DE. VAR. Y Y Y SUMMARY OF INFORMATION FROM ESAPE LINK. LINKED LINKING VAR. VAR. TO ONSTANT Y N 0 O.OOE+00 N N 0 O.OOE+00 N N 0 O.OOE+00 OPTIMIZATION ANALYSIS LOWER URRENT UPPER BOUND VALUE BOUND OOOOE OOOOE E VARIABLE NAME THIK LENGTH WIDTH ***** RESULTS FOR LOAD SET NO. 1 ****** THOSE MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN MAR. URRENT NO. VALUE DEFINITION E-01 BUKLE(1 )/(MINBU(1 ) X FBUKL(1 )) -1; F.S.= 1.20
24 1196 D. BUSHNELL Table 8-ontinued === == == == == === == === == == == === == == == === == ===-=====t ***** RESULTS FOR LOAD SET NO. 2 **** THOSE MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN MAR. URRENT NO. VALUE DEFINITION E-02 MAXSTR(2 )/(STRESS(2 ) X FSTRES(2 )) -1; F.S.= E-01 BUKLE(2 )/(MINBU(2 ) X FBUKL(2 )) -1; F.S.= 1.20 ***** RESULTS FOR LOAD SET NO. 3 ****** THOSE MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN MAR. URRENT NO. VALUE DEFINITION E-01 MAXSTR(3 )/STRESS(3 ) X FSTRES(3 )) -1; F.S.= E-01 FREQ(3 )/ (MINPS(3 ) X FSFREQ(3 )) -1; F.S.= E-01 AW(3 )/(W(3 ) X FW(3 )) -1; F.S.= 1.00 ******************** DESIGN OBJETIVE ******************* URRENT VALUE OF THE OBJETIVE FUNTION: VAR. URRENT NO. VALUE DEFINITION E-01 Weight of the plate: WEIGHT (MANY LINES SKIPPED IN ORDER TO SAVE SPAE. ONLY THE WEIGHT OF THE PLATE FOR EAH DESIGN ITERATIONS IS GIVEN FOR THE NEXT FOUR ITERATIONS IN THIS PARTIULAR EXEUTION Of "OPTIMIZE".) 5.940E E E E-01 Weight of the plate: WEIGHT Weight of the plate: WEIGHT Weight of the plate: WEIGHT Weight of the plate: WEIGHT STRUTURAL ANALYSIS FOR DESIGN ITERATION NO. 5: SUMMARY OF INFORMATION FROM OPTIMIZATION ANALYSIS VAR. DE. ESAPE LINK. LINKED LINKING LOWER URRENT UPPER VARIABLE NO. VAR. VAR. VAR. TO ONSTANT BOUND VALUE BOUND NAME 1 Y Y N 0 O.OOE E THIK 2 Y N N 0 O.OOE E LENGTH 3 Y N N 0 O.OOE E WIDTH ***** RESULTS FOR LOAD SET NO. 1 ****** THOSE MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN MAR. URRENT NO. VALUE DEFINITION E ( *VAR(2)**(1.00)+50.0*VAR(3)**(-1.00)) E-02 BUKLE(1 )/(MINBU(1 ) X FBUKL(1 )) -1; F.S.= 1.20 ***** RESULTS FOR LOAD SET NO. 2 ****** THOSE MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN MAR. URRENT NO. VALUE DEFINITION E-08 MAXSTR(2 )/(STRESS(2 ) X FSTRES(2 )) -1; F.S E-01 BUKLE(2 )/(MINBU(2 ) X FBUKL(2 )) -1; F.S.= 1.20
25 The GENOPT program 1197 Table 8-ontinued THOSE MAR. NO RESULTS FOR LOAD SET NO. 3 ****** MARGINS LESS THAN UNITY ORRESPONDING TO URRENT DESIGN URRENT VALUE DEFINITION 6.753E-01 MAXSTR(3 )/(STRESS(3 ) X FSTRES(3 )) -1; F.S 5.657E-02 FREQ(3 )/ (MINPS(3 ) X FSFREQ(3 )) -1; F.S, 3.438E-02 AW(3 )/(W(3 ) X FW(3 )) -1; F.S *****************'** DESIGN OBJETIVE ******************* URRENT VALUE OF THE OBJETIVE FUNTION: VAR. URRENT NO. VALUE DEFINITION E-01 Weight of the plate: WEIGHT *** *** ******** *** ** *** ** ***** ***** *** *********** *** * ADS DID NOT HANGE THE DESIGN (Because the design converged to an optimum!) ***** RESULTS FOR LOAD SET NO. 1 ****** PARAMETERS WHIH DESRIBE BEHAVIOR (e.g. stress, buckling load) BEH. URRENT NO. VALUE DEFINITION E+04 Maximum effective (von Mises) stress: STRESS(1 ) E+00 Buckling load factor: BUKLE(1 ) 3 1.OOOE+10 Fundamental frequency of unloaded plate: FREQ(1 ) OE-10 Normal deflection under uniform pressure: W(1 ) ***** RESULTS FOR LOAD SET NO. 1 ****** MARGINS ORRESPONDING TO URRENT DESIGN (F.S.= FATOR OF SAFETY) MAR. URRENT NO. VALUE DEFINITION E *VAR(2)**(1.00)+100.0*VAR(3)**(-1.00) E ( *VAR(2)**(1.00)+50.0*VAR(3)**(-1.00)) E ( *VAR(2)**(1.00)+1.00*VAR(3)**(1.00)) E+OO MAXSTR(1 )/(STRESS(1 ) X FSTRES(1 )) -1; F.S.= E-02 BUKLE(l )f(minbu(1 ) X FBUKL(1 )) -1; F.S.= 1.20 ***** RESULTS FOR LOAD SET NO. 2 ****** PARAMETERS WHIH DESRIBE BEHAVIOR (e.g. stress, buckling load) BEH. URRENT NO. VALUE DEFINITION E+04 Maximum effective (von Mises) stress: STRESSO2 ) E+00 Buckling load factor: BUKLE(2 ) 3 1.OOOE+10 Fundamental frequency of unloaded plate: FREQ(2 ) E-10 Normal deflection under uniform pressure: W(2 ) ***** RESULTS FOR LOAD SET NO. 2 ****** MARGINS ORRESPONDING TO URRENT DESIGN MF.S.= FATOR OF SAFETY) MAR. URRENT NO. VALUE DEFINITION E-08 MAXSTR(2 )/(STRESS(2 ) X FSTRES(2 )) -1; F.S.= E-01 BUKLE(2 )/(MINBU(2 ) X FBUKL(2 )) -1; F.S.= SAS 26:9/100
26 1198 D_ BUSHNELL Table 8-ontinued ***** RESULTS FOR LOAD SET NO. 3 ***** PARAMETERS WHIH DESRIBE BEHAVIOR (e.g. stress, buckling load) BEH. URRENT NO. VALUE DEFINITION E+04 Maximum effective (von Mises) stress: STRESS(3 ) E+10 Buckling load factor: BUKLE(3 ) E+02 Fundamental frequency of unloaded plate: FREQ(3 ) E-02 Normal deflection under uniform pressure: W(3 ) ***** RESULTS FOR LOAD SET NO. 3 ****** MARGINS ORRESPONDING TO URRENT DESIGN (F.S.= FATOR OF SAFETY) MAR. URRENT NO. VALUE DEFINITION E-01 MAXSTR(3 )/(STRESS(3 ) X FSTRES(3 )) -1; F.S.= E-02 FREQ(3 )/ (MINPS(3 ) X FSFREQ(3 )) -1; F.S.= E-02 AW(3 )/(W(3 ) X FW(3 )) -1; F.S.= 1.00 *********** ALL 3 LOAD ASES PROESSED *********** (NAME = "PLATE" in this example). For each datum this glossary lists: (1) whether or not the datum is an array; (2) the number of rows and columns in the array; (3) the role of the datum (1-7, as listed in Section I of Table I and for this example in Table 2); (4) the index number of the prompt for the datum (numbers preceding the decimal point on the left side of Table 3); (5) the name of the datum; (6) the GENOPT-user supplied one-line definition of the datum. Table 7 of Bushnell (1989) lists the glossary for this example. (Table 29 in Bushnell (1989) lists the complete glossary for the much more complex Example 2, to be discussed below.) Note from Table 8 that convergence to an optimum design is obtained in this simple case after only five design iterations. This is unusual. With more practical cases, such as the rather large case described in the next section, the command "OPTIMIZE" must be given several times before convergence is obtained. Each time the command "OPTIMIZE" is given the starting design is the same as the final design after the previous "OPTIMIZE" run. As seen from Table 8, at the converged optimum design, there are five margins that are very small, two from Load Set 1, one from Load Set 2, and two from Load Set 3. These critical margins have obviously acted as constraints on the design as it evolved during design iterations. Figures 3-5 are GENOPT-generated plots of the history of the design process. The end user obtains plots such as these via the interactive "HOOSEPLOT" and "DIPLOT" processors, both of which are described in Bushnell (1989). The files generated by actions of the end user are described in an interactive HELP utility which is activated by the user's typing the command "HELPG". Further details are given in Bushnell (1989). EXAMPLE 2: MINIMUM WEIGHT DESIGN OF A OMPOSITE FLAT OR URVED PANEL OR YLINDRIAL SHELL WITH OMPOSITE STRINGERS AND/OR RINGS Part 1: Tasks performed by the GENOPT user Unlike Example 1. which is a bit contrived, this example represents a practical problem.
27 The GENOPT program W u.bu I I i I I I ! DESIGN ITERATIONS Fig. 3. Example I: minimum weight design of rectangular, isotropic plate vs design iterations. A maximum of 10 iterations was allowed, but convergence of the design to an optimum was achieved after only five iterations. The number of iterations required for convergence is usually much greater. 11 I o - LENGTH OF THE PLATE: LENGTH A * WIDTH OF THE PLATE: WIDTH a I V I 8 - h. z ca I I I I I I I DESIGN ITERATIONS Fig. 4. Example 1: minimum weight design of plate. Decision variables LENGTH and WIDTH vs design iterations. The purpose here is to determine what problems might be encountered in forming the absolute element "OPTIMIZE" via the following process: (1) "borrowing" and modifying previously developed software from another source. (2) creating a new library of subroutines called ADDODEI.NEW, (3) inserting labelled common blocks and subroutine calls at the appropriate locations in SUBROUTINE STRUT, and (4) collecting FORTRAN object elements for code that requires no changes for use in the GENOPT system. In this example the absolute element "OPTIMIZE" permits minimum weight design of rather complex, composite, curved, stiffened panels subject to multiple sets of combined in-plane loads. The "borrowed" subroutines are from PANDA2 (Bushnell, 1987). The
28 1200 D. BUSHNELL o ( OO'VAR(2) *(1.OO)+50.0VAR(3) (-1.00)) A. MAXSTR(1)I(STRESS(1) X FSTRES(1)) -1; F.S BUKLE(1)/(MIN9U(1) X FBUKL(1)) -1; F.S. = MAXSTR(2)/(STRESS(2) X FSTRES(2)) -1; F.S x - BUKLE(2)/(MINBU(2) X FBUKL(2)) -1; F.S v MAXSTR(3)/(STRESS(3) X FSTRES(3)) -1; F.S. * FREQ(3)/(MINPS(3) X FSFREQ(3)) -1; F.S = AW(3)/(W(3) X FW(3)) -1t F.S ZU DESIGN ERATIONS Fig. 5. Example 1: minimum weight design of plate. History of design margins vs design iterations. The quantities in the legend are defined as follows: VAR(2), VAR(3) = LENGTH, WIDTH (see Table 8); the remaining variables (MAXSTR, STRESS, FSTRESS, BUKLE, MINBU. FBUKL, etc.) are defined in Table 2. F.S. = "factor of safety". theoretical basis of the analysis is described in Bushnell (1987) and Bushnell (1983b). More details on this example are provided in the files GENOPTST.ORY and PANEL.AS in the GENOPT program system (Bushnell, 1989). Statement of the problem. The composite, curved or flat, stiffened panels can be subjected to up to 20 combinations of uniform in-plane stress resultants, Nx, Ny, Nxy (axial, transverse or "hoop", in-plane shear, respectively). The multiple combinations might represent environments seen by the structure during different phases of its operation. The composite panel may be made of several different materials. The panel may be unstiffened or reinforced by stringers or rings or both. In this example there are, for each load combination, 18 types of behavior which might constrain the design. Most of these are types of buckling. The various kinds of buckling are listed in Table I of Bushnell (1983b). Types of buckling accounted for are: (I) general instability, (2) buckling between rings with "smeared" stringers (Baruch and Singer, 1963), curvature included, (3) buckling between rings with "smeared" stringers, wide column model, (4) local buckling between adjacent rings and stringers, (5) local buckling of the various segments (webs, flanges) of both stringers and rings, (6) various "rolling" or "tripping" modes of the stiffeners, both including and neglecting participation of the panel skin between the stiffeners, and (7) an axisymmetric "rolling" of rings on complete cylindrical shells. In addition to this variety of buckling phenomena, five types of stress are computed in material coordinates (referring to the fiber direction) of each lamina of each segment of the composite structure: (I) maximum tensile stress along the fibers,
29 The GENOPT program 1201 (2) maximum compressive stress along the fibers, (3) maximum tensile stress normal to the fibers, (4) maximum compressive stress normal to the fibers, (5) maximum in-plane shear stress. Behavioral constraints are introduced for the maximum stress in each category for each type of material used in the panel. Preparation for the "GENTEXT" interactive session. (I) Finding models for predicting behavior of the stiffened panels: The first task of the GENOPT user is to assemble the various algorithms needed to predict the behaviors just listed. In this case all of the algorithms were "borrowed" from the PANDA2 program system (Bushnell, 1987). In PANDA2 a stiffened panel is considered to be an assemblage of panel modules as illustrated in Fig. 6a. Each module is considered to consist of several segments (four in Fig. 6b), each segment of which has its own laminated wall construction (Fig. 6c). Both crosssections of panel skin and stringers and panel skin and rings are modelled in this way. Figure 6a shows a panel with three modules; Fig. 6b shows a single module with four segments; and Fig. 6c shows the layer numbering convention within each segment. Stiffeners with T. J. Rectangular (blade), of Hat cross-sections are permitted. In this case it was necessary to modify some of the "borrowed" software because, as originally written, it contained calculation of behavioral constraints, whereas in GENOPT the actual constraint conditions are calculated in a GENTEXT-generated portion of STRUT: the part with the calls of BEHXI, BEHX2,... BEHXn and ONX (Table 4). (a)ill I-MODULE NO MODULE NO MODULE NO. 3.. (b) - SEGMENT NO. 4. SEGMENT NO. 3 SEGMENT NO. 2I SEGMENT NO. SEGMENT NO b2 A MODULE WIDTH = STIFFENER SPAING, - 2 b () LAYER NO. 1 LAYER NO. LAYER NO. 1 - LAYER NO. k LAYER NO. 1 LAYER NO I LAYER NO 1 LAYER NO. m LAYER NO. n LAYER NO. m Fig. 6. Example 2: minimum weight design of stiffened composite panels. Approach created by the GENOPT user: (a) panel with T-shaped stringers, (b) a single module of the panel with segment numbering convention, (c) layer numbering convention.
30 1202 D. BUSHNELL The way in which stress constraints are calculated in PANDA2 had to be changed: in PANDA2 behavioral constraints are calculated corresponding to maximum stress components for each segment for each material type, whereas in this GENOPT application it was decided that only the overall maximum stress components for each material type be calculated in order not to require the introduction of too many allowables and factors of safety. In this complex case, in which much software is "borrowed" from another source, the many different kinds of behavior (18 for each load set!) were calculated in subroutines the calls for which were introduced by the GENOPT user into SUBROUTINE STRUT rather than into each of 18 BEHXn subroutines. A subroutine called TRANFR was written to translate data names from those established by the GENOPT user to those used by the developer of the "borrowed" code. Further details are provided in Bushnell (1989). In this example the presence of many labelled common blocks in PANDA2 and the fact that PANDA2 already is an optimization code and not simply an analysis code made the process of creating a GENOPT-based panel optimization program more onerous than would be expected during generation of other GENOPT-based optimization programs. Analysis codes that do not contain too many labelled common blocks that must be included in STRUT.NEW would be easier to insert and use with the GENOPT system. As with Example 1, the objective is minimum weight of the panel. In order to save space, the interactive GENTEXT session and the GENPROGRAMS session will not be shown here. They proceed in ways analogous to those shown in Example 1. (2) Organizing and deciding on names and definitions for the input data: In this complex example there are many more names, arrays, and pointers than was the case in the relatively simple Example 1. Therefore, the author does not introduce a table analogous to Table 2, but reproduces here as Table 9 part of the glossary that GENTEXT Table 9. Abridged glossary of variables used in the generic case "PANEL" (Example 2). (Because of space limitations only those variables that appear in Figs 13 and 14 are included in this list. The complete glossary can be found in Bushnell (1989). ARRAY NUMBER OF PROMPT VAR.? (ROWS,OLS) ROLE NUMBER NAME DEFINITION OF THE VARIABLE (PANEL. PRO) y ( 20. 0) GENBU = General instability load factor y 20, 0) AGENBK = Allowable for general instability load factor (use 1.0) y ( 20, 0) FSGEN = Factor of safety for general instability load factor y ( 20. 0) WIDOL = Wide column buckling between rings load factor y ( 20, 0) AWIDL = Allowable for wide column buckling load factor (use 1.0) y ( 20, 0) FSWID = Factor of safety for wide column buckling load factor y 20. 0) PANBU = Panel buckling load factor y ( 20. 0) APANBK = Allowable for panel buckling load factor (use 1.0) y 20. 0) FSPAN = Factor of safety for panel buckling load factor y ( 20, 0) LOBU = Local buckling load factor (panel skin) y ( 20. 0) ALOBK = Allowable for panel skin buckling load factor (use 1.0) y ( 20. 0) FSLO = Factor of safety for panel skin buckling load factor
31 The GENOPT program 1203 Table 9-ontinued ARRAY NUMBER OF PROMPT VAR.? (ROWSOLS) ROLE NUMBER NAME DEFINITION OF THE VARIABLE (PANEL.PRO) y ( 20. 0) ROLSKN = Local buckling load factor with stiffener rolling y ( 20. 0) AROLSK = Allowable local buck. with stiffener rolling (use 1.0) y ( 20. 0) FROLSK = Factor of safety for skin buckling with stiffener rolling y ( 20. 2) ROLSTF = Rolling of stiffeners without skin participation y ( 20. 2) AROLST = Allowable for rolling of stiffener without skin (use 1.0) y ( 20, 2) FSROL1 = Factor of safety for rolling of stiffener, no skin motion y 20, 2) ROLSMR = Rolling of stiffeners with other set smeared y 20, 2) AROLSM = Allowable for rolling of stiffeners, other set smeared (use 1.0) y ( 20, 2) FSROL2 = Factor of safety for rolling with other set smeared n 0. 0) JSIG1T = Index for type of material in SIGIT(NASES.JSIGlT) y ( 20. 5) SIGIT = Max. tension along fibers for matl type y ( 20, 6) ASIGIT = Allowable stress for tension along fibers y ( 20, 5) FSS1T = Factor of safety for tension along fibers y 20, 5) SIG1 = Max. compression along fiber y 20, 5) ASIGI = Allowable compression along fiber y 20, 5) FSS1 = Factor of safety for compression along fibers y 20, 6) SIG2T = Max. tensile stress normal to fibers y 20, 5) ASIG2T = Allowable tensile stress normal to fibers y ( 20. 5) FSS2T = Factor of safety for tensile stress normal to fibers y ( 20, 5) SIG2 = Max. compressive stress normal to fibers y 20, 5) ASIG2 = Allowable compressive stress normal to fibers y 20, 5) FSS2 = Factor of safety for compressive stress normal to fibers y 20, 5) SIG12 = Max. in-plane shear stress y 20. 5) ASIG12 = Allowable in-plane shear stress y ( 20, 5) FSS12 = Factor of safety for in-plane shear stress n ( 0, 0) WEIGHT = Weight of the panel NOTES: (1) GENBU... Number of rows = 20, corresponding to 20 load sets. (2) SIGIT....Max. of 5 columns corresponding to 5 different materials. (3) In order to save space, this table lists primarily the variables that appear in Figs. 13 and 14. The full glossary appears in .
32 120 D. BUJSHNELL produces in the file NAME.DEF. (In this case NAME ="PANEL'). The complete GENTEXT-generated glossary is given in Table 29 of Bushnell (1989). The generic case name is PANEL. Table 30 of Bushnell (1989) lists a small part of the input data prompting file, PANEL.PRO, in which the text was composed interactively by the GENOPT user during the GENTEXT session. EXAMPLE 2: MINIMUM WEIGHT DESIGN OF A OMPOSITE FLAT OR URVED PANEL OR YLINDRIAL SHELL WITH OMPOSITE STRINGERS ANDiOR RINGS Part 2: Tasks performed by the end user The end user now performs the tasks listed in Section 2 of Table 1. The runstream actually used by the end user in this case is listed in Table 10. In this case the end user chooses a specific case name "ARIANE". A minimum weight design is to be obtained for the ARIANE4 interstage between the second and third stages of ARIANE4 booster. Blaas and Wiggenraad call it "Interstage 2.3" (Blass and Wiggenraad, 1986). Many details of the modelling philosophy and strategy are given in Bushnell (1987). Figures 7-9, taken from Bushnell (1987) show the structure, which is a complete cylindrical Table 10. End user portion of the PANEL/ARIANE example $ BEGIN (You or your appointed user start a specific case. You call this case ARIANE. The BEGIN processor allows you to provide a starting design, material properties, loading. allowables, and factors of safety for multiple (in this case 2) load sets.) $ DEIDE (You choose decision variables, their lower and upper bounds; linked variables and their linking constants; and escape variables.) $ MAINSETUP (You choose what type of analysis to perform, and how many design iterations.) $ OPTIMIZE (You launch a batch run for the first 5 iterations.) $ OPTIMIZE (You launch a batch run for the second 5 iterations.) $ OPTIMIZE (You launch a batch run for the third 5 iterations.) $ OPTIMIZE (You launch a batch run for the fourth 5 iterations.) $ HANGE (You interactively set some of the layer thicknesses equal to zero. They were getting very small.) * OPTIMIZE (You launch a batch run for the fifth 5 iterations.) $ OPTIMIZE (You launch a batch run for the sixth 5 iterations.) $ OPTIMIZE (You launch a batch run for the seventh 5 iterations.) * OPTIMIZE (You launch a batch run for the eighth 5 iterations.) * MAINSETUP (You change number of design iterations from 5 to 10) $ OPTIMIZE (You launch a batch run for the ninth set of iterations.) $ HOOSEPLOT (You choose several variables to be plotted v. iterations.) $ DIPLOT (You get plots from the laser printer.) * HOOSEPLOT (You choose several more variables to be plotted v. iterations.) $ DIPLOT (You get new plots from the laser printer.)
33 The GENOPT program in. ARIANE 1 INTERSTAGE 2/3 STRINGER7 Fig. 7. Example 2: minimum weight design of stiffened composite panels. Specific case run by end user: ARIANE4 interstage between stage 2 and stage 3. The cylindrical shell is reinforced by external stringers and internal rings. shell with external T-shaped stringers and internal blade-shaped rings (Fig. 7); how the complete cylindrical shell with variable loads around its circumference is modelled as a single cylindrical panel with three different uniform loads (Fig. 8); and how a panel skinstringer module is to be constructed (Fig. 9). As explained in more detail in Bushnell (1987), the complete cylindrical shell under loads that vary around its circumference, is modelled as a single cylindrical panel spanning 40 inches of circumference and subjected to two sets of uniform in-plane loads: (1) pure axial compression of 3000 lb in.-' and (2) combined axial compression of 1000 lb in.-' and in-plane shear of 1000 lb in.- '. It was found in Bushnell (1987) that the third load set, pure axial tension of 2000 lb in.-' does not generate any active behavioral constraint conditions during the optimization process. The end user's runstream for the optimization is listed in Table 10. In order to save space, no details will be given here of the interactive "BEGIN", "DEIDE", "MAIN- SETUP", and "HANGE" sessions. These and other details appear in the file PANEL.AS in Bushnell (1989). The results from "HOOSEPLOT/DIPLOT" are shown in Figs During the first 23 design iterations some of the wall thicknesses became very small. These were set equal to zero via an interactive "HANGE" session (see Fig. 12). The evolution of the panel weight and of the design are shown in Figs The variables are defined in the legend. Notice that variables of like magnitude are plotted together. Figure 13 shows the evolution of the more critical design margins corresponding to the first load set (Nx = lb in.-'); Fig. 14 shows the evolution of the more
34 1 206 D BUSHNELL Nx = Ib/in. N = 0 XY N = 3000 Ib/i n. XY lblin. lb /I n. n Fig. 8. Example 2: minimum weight design of stiffened composite panels. Specific case run by end user: applied moment M, axial compression P and shear S: assumed resulting distributions of line loads Nx and Nxy in the shell; and replacement of the actual complete cylindrical shell with circumferentially varying line loads by a single cylindrical panel spanning 40 in. of circumference with three separate load sets, each of which has uniform line loads Nx and Nxv. [In Example 2 the load case with Nxv = 0, Nx = lb in. -' is not used because a previous study (Bushnell, 1987) found that this load set created no critical behavioral constraints.]
35 The GENOPT program (#5, I. MATL 3 (LAYER TYPE I) 4m / K SKIN H z =~0.10 z (MATL TYPE 2) ALUhMINUM 1n E a107 ps. v DIMENSIONS IN INHES I- L I [DEFAULT GROUP: 12 LAYERS F( j -isno. 11 9O,] 5,MIATLl 1 E. R, pi MT TE - SEGMENT NO. I.tf STRINGER BASE, Iz I : -=10 /90/0,]MATL I (LAYER TYPES - me me ) '(# }MATL.~ 3 (LAYER TYPE I) MATL TYPE 1: GRAPHITE-EPOXY (GR/EP) TAPE: T300/93# e o.oos/ply MATL TYPE 3: Gm GRIEP LOTH: HMF330/934 e 0.006/ply MATERIAL PROPERTIES AND MAXIMUM ALLOWABLE STRESSES ARE LISTED IN THE FILE ARIANE. BEG. LAYER TYPES: b 2 (SEGMENT NO. 23 a2190/1) ] MATL I PANEL SKIN MIDDLE SURFAE - LAYER TYPES: 1 2 EMEW. 6 `\W72 Fig. 9. Example 2: minimum weight design of stiffened composite panels. Specific case run by end user: design concept to be optimized: external T-shaped stringers made of graphite-epoxy cloth and tape with thickened areas under the stringer web, and internal aluminum rings with spacing fixed at in. The spacing of the stringers is to be determined, as well as the cross-section dimensions and thicknesses of the various composite laminae. 44 o - WEIGHT OF THE PANEL: WEIGHT HAG MI f I DESIGN ITERATIONS Fig. 10. Example 2: minimum weight design of stiffened composite panels. Weight vs design iterations for all nine "OPTIMIZES" listed in Table 10. The "HANGE" processor was used after four "OPTIMIZES" in order to set several of the lamina thicknesses equal to zero. (See Fig. 12.)
36 D1 Bu SHNEILL U, cc Lu I- Lu 4 z, Lu 0 q n I- 3.0 k 0 = A = + -K; = STRINGER SPAING: BS WIDTH OF BASE UNDER STRINGER: B2S HEIGHT OF THE STRINGER: HS WIDTH OF THE OUTSTANDING FLANGE OF THE STRINGER: WS HEIGHT OF THE RING: HR soot 1.5I 1.0. All 0.5 N. I DESIGN ITERATIONS I Fig. I1. Example 2: minimum weight design of stiffened composite panels. ross section dimensions vs design iterations. 0 A% + V El THIKNESS FOR LAYER INDEX: T(1) THIKNESS FOR LAYER INDEX: T(2) THIKNESS FOR LAYER INDEX: T(3) THIKNESS FOR LAYER INDEX: T(4) THIKNESS FOR LAYER INDEX: T(6) THIKNESS FOR LAYER INDEX: T(7) THIKNESS FOR LAYER INDEX: T(8) THIKNESS FOR LAYER INDEX: T(10) MNGt'i] o Ace I U.U0U0 tl- LU Lu 4 < IL a. wu 0.010! 0 I II I I DESIGN ITERATIONS Fig. 12. Example 2: minimum weight design of stiffened composite panels. Laminae thicknesses (see Fig. 9) vs design iterations. The thickness for Layer Index 5 is the same as that for Layer Index 3 and the thickness for Layer Index 9 is fixed at in.
37 The GENOPT program x V El GENBU(1)/(AGENBK(1) X FSGEN(1)) -1; F.S. * 2.00 WIDOL(1)/(AWIDL(1) X FSWID(1)) -1; F.S PANBU(1)/(APANBK(1) X FSPAN(1)) -1; F.S LOBU(1)/(ALOBK(1) X FSLO(1)) -1; F.S ROLSKN(1)/(AROLSK(1) X FROLSK(1)) -1; F.S ROLSTF(1,1)/(AROLST(1,1) X FSROL1(1,1)) -1; F.S ROLSMR(1,1)/(AROLSM(1,1) X FSROL2(1,1)) -1; F.S ASIG2T(1,1)/(SIG2T(1,1) X FSS2T(1,1)) -1; F.S z (A W a DESIGN ITERATIONS Fig. 13. Example 2: minimum weight design of stiffened composite panels. Significant margins vs design iterations for the first load set (pure axial compression, Nx = lb in. -'). The variables (GENBU, AGENBK, etc.) in the legend are defined in Table 9. F.S. = "factor of safety". 0 A x V - GENBU(2)/(AGENBK(2) X FSGEN(2)) -1; F.S * WIDOL(2)/(AWIDL(2) X FSWID(2)) -1; F.S PANBU(2)/(APANBK(2) X FSPAN(2)) -1; F.S * LOBU(2)/(ALOBK(2) X FSLO(2)) -1; F.S ROLSMR(2,1)/(AROLSM(2,1) X FSROL2(2,1)) -1; F.S ASIG2T(2,1)/(SIG2T(2,1) X FSS2T(2,1)) -1; F.S z 52 0 a DESIGN ITERATIONS Fig. 14. Example 2: minimum weight design of stiffened composite panels. Significant margins vs design iterations for the second load set (axial compression, Nx = lb in.- ', in-plane shear, Nxy = 1000 lb in.- '). The variables in the legend are defined in Table 9. F.S. = "factor of safety".
38 1210 D. BUSHNELL critical design margins corresponding to the second load set (Nx = lb in Nxv = 1000 lb in.- '). Again, the variables plotted are defined in the legend. Acknowledqements-This work was sponsored by the Lockheed Independent Development Program. The author is indeed grateful for the continuing support of Mr Bill Sable, Structural Analysis and Test Department in Lockheed Missiles and Space ompany's Satellite Systems Division. Ms Karen Neier of Department of the Lockheed Palo Alto Research Laboratones wrote the original DIPLOT package which was modified for use with GENOPT. Harold abiness, hris Dumlao and Jorgen Skogh of the omputational Mechanics Section of Department of the Lockheed Palo Alto Research Laboratories reviewed this paper, tested GENOPT. and offered many suggestions for improvements. The author is especially grateful for the many tests of GENOPT performed by Harold abiness and for his insistence that GENOPT be made more user-friendlv and that unnecessary pitfalls be eliminated. REFERENES Baruch, M. and Singer, J. (1963). Effect of eccentricity of stringers on the general instability of stiffened cylindrical shells under hydrostatic pressure. J. Mech. Engng Sci. 5, Blass.. and Wiggenraad, J. F. M. (1986). Development and test verification of the ARIANE4 interstage 2.3 in FRP, Proc. AIAA1ASME 27th Structures, Structural Dynamics Materials onf., Part 1, pp Bushnell. D. (1983a). ATUATOR-an interactive computer program for optimum design of mirror/actuator systems. (Unpublished paper.) Bushnell, D. (1983b). PANDA-interactive program for minimum weight design of stiffened cylindrical panels and shells. omput. Struct. 16, Bushnell, D. (1986a). BOSOR4: Program for stress, stability, and vibration of complex, branched shells of revolution. In Structural Analysis Systems (Edited by A. Niku-Lari), Vol. 2, pp Pergamon, Oxford. Bushnell, D. (1986b). BOSOR5: Program for buckling of complex, branched shells of revolution including large deflections, plasticity and creep. In Structural Analysis Systems (Edited by A. Niku-Lari), Vol. 2, pp Pergamon, Oxford. Bushnell, D. (1987). Theoretical basis of the PANDA computer program for preliminary design of stiffened panels under combined in plane loads. omput. Struct. 27, Bushnell, D. (1987). PANDA2-program for minimum weight design of stiffened, composite, locally buckled panels. omput. Struct. 25, Bushnell, D. (1988). Improved optimum design of dewar supports. omput. Struct. 29, Bushnell, D. (1989). The files called GENOPTST.ORY, GENOPT.HLP, PLATE.*, PLATEI.*, PANEL.*, ARIANE.* and HOWTO.RUN included with other files in the GENOPT program system. (Unpublished.) Leissa, A. (1969). Vibration of plates. NASA SP-160, p. 44, Eqn NASA Langley Research tr, Hampton, VA. Roark, R. J. (1954) Formulasfor Stress and Strain, 3rd edn. McGraw-Hill, New York. Vanderplaats, G. N. (1987). ADS-a FORTRAN program for automated design synthesis, Version 2.01, Engineering Design Optimization, Santa Barbara, A. (Unpublished user's manual.) Vanderplaats, G. N. and Sugiomoto, H. (1986). A general-purpose optimization program for engineering design, omput. Struct. 24,
Introduction to Solid Modeling Using SolidWorks 2007 COSMOSWorks Tutorial Page 1 In this tutorial, we will use the COSMOSWorks finite element analysis (FEA) program to analyze the response of a component
Module 1.5: Moment Loading of a D Cantilever Beam Table of Contents Page Number Problem Description Theory Geometry 4 Preprocessor 7 Element Type 7 Real Constants and Material Properties 8 Meshing 9 Loads
Module 1.6: Distributed Loading of a 2D Cantilever Beam Table of Contents Page Number Problem Description 2 Theory 2 Geometry 4 Preprocessor 7 Element Type 7 Real Constants and Material Properties 8 Meshing
Name ME 575: Two-bar Truss Consider the design of a simple tubular symmetric truss shown in Fig. 1.1 below (problem originally from Fox 1 ). A design of the truss is specified by a unique set of values
Aufgabe 1: Dreipunktbiegung mit ANSYS Workbench Contents Beam under 3-Pt Bending [Balken unter 3-Pkt-Biegung]... 2 Taking advantage of symmetries... 3 Starting and Configuring ANSYS Workbench... 4 A. Pre-Processing:
TIPS www.ansys.belcan.com 鲁班人 (http://www.lubanren.com/weblog/) Picking an Element Type For Structural Analysis: by Paul Dufour Picking an element type from the large library of elements in ANSYS can be
Finite Element Analysis Prof. Dr. B. N. Rao Department of Civil Engineering Indian Institute of Technology, Madras Lecture - 36 In last class, we have derived element equations for two d elasticity problems
Module 1.7: Point Loading of a D Cantilever Beam Table of Contents Page Number Problem Description Theory Geometry 4 Preprocessor 6 Element Type 6 Material Properties 7 Meshing 8 Loads 9 Solution 15 General
Module 1.3W Distributed Loading of a 1D Cantilever Beam Table of Contents Page Number Problem Description 2 Theory 2 Workbench Analysis System 4 Engineering Data 5 Geometry 6 Model 11 Setup 13 Solution
APPENDIX E The Essence of Result Post- Processing Objectives: Manually create the geometry for the tension coupon using the given dimensions then apply finite elements. Manually define material and element
International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 10, Issue 2 (February 2014), PP.79-83 Finite Element Buckling Analysis Of Stiffened
Exercise 1 3-Point Bending Using the Static Structural Module of Contents Ansys Workbench 14.0 Learn how to...1 Given...2 Questions...2 Taking advantage of symmetries...2 A. Getting started...3 A.1 Choose
FEA TUTORIAL 2D STRESS ANALYSIS OF A THIN BAR (Using ProMechanica Wildfire 1.0) Introduction: A simple 2D stress analysis of a thin bar with a hole will be performed using Pro/Mechanica. The bar will be
Embedded Reinforcements Gerd-Jan Schreppers, January 2015 Abstract: This paper explains the concept and application of embedded reinforcements in DIANA. Basic assumptions and definitions, the pre-processing
Shell finite elements There are three types of shell finite element; 1) flat elements, 2) elements based on the Sanders-Koiter equations and 3) elements based on reduction of a solid element. Flat elements
CHAPTER 5 FINITE ELEMENT METHOD 5.1 Introduction to Finite Element Method Finite element analysis is a computer based numerical method to deduce engineering structures strength and behaviour. Its use can
1 IEI Innova Engineering 1 Park Plaza Suite 980 Irvine, California 92614 Case Study- Importing As-Molded Plastic Part Conditions into CAE tools 2 CONTENTS CONTENTS... 2 EXECUTIVE SUMMARY... 3 APPROACH...
3D Finite Element Software for Cracks Version 3.2 Benchmarks and Validation October 217 1965 57 th Court North, Suite 1 Boulder, CO 831 Main: (33) 415-1475 www.questintegrity.com http://www.questintegrity.com/software-products/feacrack
STRUCTURAL OPTIMIZATION OF A HAT STIFFENED PANEL BY RESPONSE SURFACE TECHNIQUES Roberto Vitali, Oung Park, Raphael T. Haftka and Bhavani V. Sankar University of Florida Department of Aerospace Engineering,
ixcube 4-10 Brief introduction for membrane and cable systems. ixcube is the evolution of 20 years of R&D in the field of membrane structures so it takes a while to understand the basic features. You must
Problem 52: rushing of a crash tube Problem description onsider the crushing of a crash tube by a rigid weight: Initial velocity 12000 mm/sec eveled end with varying thickness Thickness=0.5 Thickness=1
ANSYS Workbench Guide Introduction This document serves as a step-by-step guide for conducting a Finite Element Analysis (FEA) using ANSYS Workbench. It will cover the use of the simulation package through
Problem description The figure shows a double cantilever beam (DCB) of a composite material, subjected to displacement loads at its ends. u All lengths in mm. Not drawn to scale. Plane strain conditions,
Simulation of RF HEat Test Date: Tuesday, December 22, 2015 Designer: Solidworks Study name: Stress One Third Emissivity Analysis type: Nonlinear - Dynamic Description No Data Table of Contents Description...
R50 ANSYS 5.6 Tutorials Lecture # 2 - Static Structural Analysis Example 1 Static Analysis of a Bracket 1. Problem Description: The objective of the problem is to demonstrate the basic ANSYS procedures
PTC Creo Simulate PTC Creo Simulate gives designers and engineers the power to evaluate structural and thermal product performance on your digital model before resorting to costly, time-consuming physical
2011 Overview has been designed as a universal, adaptive and user-friendly graphical user interface for geometrical modeling, data input and visualization of results for all types of numerical simulation
Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size The third tutorial is designed to give you a demonstration in using the Cell Size Calculator to obtain the optimal cell size for your circuit
OPTIMISATION METHODS FOR COMPRESSION, EXTENSION AND TORSION SPRING DESIGN Emmanuel Rodriguez Laboratoire de Génie Mécanique de Toulouse, INSA, F-31077 Toulouse, France, phone: 33 5 61 55 97 18, fax: 33
NonLinear Analysis of a Cantilever Beam Introduction This tutorial was created using ANSYS 7.0 The purpose of this tutorial is to outline the steps required to do a simple nonlinear analysis of the beam
Multiframe 12.02 18 May 2010 Release Note This release note describes the version 12.02 release of Multiframe, Steel Designer and Section Maker. This release will run on Windows XP/2003/Vista/7. Contents
Available online at www.sciencedirect.com ScienceDirect Procedia Engineering 144 (2016 ) 576 583 12th International Conference on Vibration Problems, ICOVP 2015 Vibration Response Prediction of the Printed
Page 1 Elfini Solver Verification Preface Using this Guide Where to Find More Information Conventions What's new User Tasks Static Analysis Cylindrical Roof Under its Own Weight Morley's Problem Twisted
CT3000: Bachelor Thesis Report, Izik Shalom (4048180) Computations of stresses with volume-elements in rectangular and HE sections Supervisors: dr. ir. P.C.J. Hoogenboom en Ir. R. Abspoel June 2013 Preface
FINITE ELEMENT ANALYSIS (FEA) OF A C130 TOWING BAR Fadzli Ibrahim* & Mohammad Shafiq Toha Mechanical & Aerospace Technology Division (BTJA), Science & Technology Research Institute for Defence (STRIDE),
WORKSHOP 4 Rigid Element Analysis with RBAR Y Objectives: Idealize the tube with QUAD4 elements. Use RBAR elements to model a rigid end. Produce a Nastran input file that represents the cylinder. Submit
Linear Programming Module Outline Introduction The Linear Programming Model Examples of Linear Programming Problems Developing Linear Programming Models Graphical Solution to LP Problems The Simplex Method
Non-Linear Analysis of Bolted Flush End-Plate Steel Beam-to-Column Connection Nur Ashikin Latip, Redzuan Abdulla 1 Faculty of Civil Engineering, Universiti Teknologi Malaysia, Malaysia firstname.lastname@example.org Keywords:
LESSON 15 Sliding Split Tube Telescope Objectives: Shell-to-shell contact -accounting for shell thickness. Creating boundary conditions and loads by way of rigid surfaces. Simulate large displacements,
Problem description A plate with a hole is subjected to tension as shown: y p = 25. N/mm 2 Region to mesh 56 x All lengths in mm. Thickness=1mm 4 E = 7. 1 N/mm =.25 1 2 This is the same model and loading
Module : Buckling of 1D Simply Supported Beam Table of Contents Page Number Problem Description Theory Geometry 4 Preprocessor 7 Element Type 7 Real Constants and Material Properties 8 Meshing 9 Solution
CAD - How Computer Can Aid Design? Automating Drawing Generation Creating an Accurate 3D Model to Better Represent the Design and Allowing Easy Design Improvements Evaluating How Good is the Design and
Introduction to C omputational F luid Dynamics D. Murrin Computational fluid dynamics (CFD) is the science of predicting fluid flow, heat transfer, mass transfer, chemical reactions, and related phenomena
Engineering Analysis with SolidWorks Simulation 2012 Paul M. Kurowski SDC PUBLICATIONS Schroff Development Corporation Better Textbooks. Lower Prices. www.sdcpublications.com Visit the following websites
Automation of Static and Dynamic FEA Analysis of Bottomhole Assemblies Nader E. Abedrabbo, Lev Ring & Raju Gandikota 1 Weatherford International 11909 Spencer Road, Houston, TX email@example.com
Dynamics and Vibration Tutorial Startup To use Dynamics and Vibration Analysis (DVA), you must first start TK Solver. Once in TK, select Dynamics & Vibration from the Applications Menu. The DVA Menu will
Implementation of Domain Integral Approach for J Integral Evaluations Carlos Cueto-Felgueroso Tecnatom S.A., San Sebastifin de los Reyes (Madrid), Spain ABSTRACT This paper presents an implementation of
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661,p-ISSN: 2278-8727 PP 79-89 www.iosrjournals.org Design optimization of C Frame of Hydraulic Press Machine Ameet B. Hatapakki 1, U D. Gulhane
PLAXIS 3D Tutorial Manual 2010 Build 2681 TABLE OF CONTENTS TABLE OF CONTENTS 1 Introduction 5 2 Lesson 1: Foundation in overconsolidated clay 7 2.1 Geometry 7 2.2 Case A: Rigid foundation 8 2.3 Case B:
Top Layer Subframe and Node Analysis By Paul Rasmussen 2 August, 2012 Introduction The top layer of the CCAT backing structure forms a critical interface between the truss and the primary subframes. Ideally
Stress analysis of toroidal shell Cristian PURDEL*, Marcel STERE** *Corresponding author Department of Aerospace Structures INCAS - National Institute for Aerospace Research Elie Carafoli Bdul Iuliu Maniu
STRUCTURAL TOPOLOGY OPTIMIZATION SUBJECTED TO RELAXED STRESS AND DESIGN VARIABLES Hailu Shimels Gebremedhen, Dereje Engida Woldemichael and Fakhruldin M. Hashim Mechanical Engineering Department, Universiti
Appendix C Page Generalized Network Flow Programming This chapter adapts the bounded variable primal simplex method to the generalized minimum cost flow problem. Generalized networks are far more useful
Graphical Analysis of Data using Microsoft Excel [2016 Version] Introduction In several upcoming labs, a primary goal will be to determine the mathematical relationship between two variable physical parameters.
ME09 Homework # OBJECTIVES: Introduction to convergence issues and modeling approaches Postprocessing procedures Element selection Experience with shape functions and stiffness terms NOTES: Problems 1and
Appendix B: Creating and Analyzing a Simple Model in Abaqus/CAE The following section is a basic tutorial for the experienced Abaqus user. It leads you through the Abaqus/CAE modeling process by visiting
onstrained Functions of N Variables: Non-Gradient Based Methods Gerhard Venter Stellenbosch University Outline Outline onstrained Optimization Non-gradient based methods Genetic Algorithms (GA) Particle
Crashbox Tutorial In this tutorial the focus is on modeling a Formula Student Racecar Crashbox with HyperCrash 12.0 (Written by Moritz Guenther, student at Altair Engineering GmbH) 1 HyperMesh* 1. Start
DEVELOPMENT OF A NUMERICAL MODEL FOR SIMULATIONS OF SPLIT HOPKINSON PRESSURE BAR Afdhal 1, Annisa Jusuf 1, Muhammad Agus Kariem 2 and Leonardo Gunawan 1 1 Lightweight Structures Research Group, Faculty
Problem description A cylindrical water tank is subjected to gravity loading and ground accelerations, as shown in the figures below: Tank walls Water in tank Wall thickness 0.05 C L 5 g=9.81 m/s 2 Water:
SSR Polygonal Search Area 22-1 SSR Polygonal Search Area In this tutorial, Phase2 is used to determine the factor of safety of a slope using the shear strength reduction (SSR) method. The SSR Polygon Search
Lateral Loading of Suction Pile in 3D Buoy Chain Sea Bed Suction Pile Integrated Solver Optimized for the next generation 64-bit platform Finite Element Solutions for Geotechnical Engineering 00 Overview
DOE SENSITIVITY ANALYSIS WITH LS-OPT AND VISUAL EXPLORATION OF DESIGN SPACE USING D-SPEX AUTHORS: Katharina Witowski Heiner Muellerschoen Marko Thiele DYNAmore GmbH Uwe Gerlinger AUDI AG CORRESPONDENCE:
Flow and Heat Transfer in a Mixing Elbow Objectives The main objectives of the project are to learn (i) how to set up and perform flow simulations with heat transfer and mixing, (ii) post-processing and
CHAPTER 4 Linear Programming with Two Variables In this chapter, we will study systems of linear inequalities. They are similar to linear systems of equations, but have inequalitites instead of equalities.
STRUCTURAL ANALYSIS AND TOPOLOGY OPTIMIZATION OF CONTINUOUS LINEAR ELASTIC ORTHOTROPIC STRUCTURES USING OPTIMALITY CRITERION APPROACH IN ANSYS Kishan Anand 1, Anadi Misra 2 1 P.G. Student, Department of
Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The
CONSECUTIVE INTEGERS AND THE COLLATZ CONJECTURE Marcus Elia Department of Mathematics, SUNY Geneseo, Geneseo, NY firstname.lastname@example.org Amanda Tucker Department of Mathematics, University of Rochester, Rochester,
7 th International LS-DYNA Users Conference Methods Development Analyzing Elastomer Automotive Body Seals Using LS-DYNA Linhuo Shi TG North America Corporation 95 Crooks Road Troy, MI 4884 Tel: (248) 28-7348
Titre : SSD106 - Tractions rotations multiples en grandes[...] Date : 06/06/2016 Page : 1/9 SSD106: Multiple tractions rotations in great deformations, isotropic work hardening Summary: This test models
th World Congress on Structural and Multidisciplinary Optimization May 9-24, 23, Orlando, Florida, USA Element energy based method for topology optimization Vladimir Uskov Central Aerohydrodynamic Institute
Z Periodic boundary condition 1 1 0.001 Periodic boundary condition 2 Y v V cos t, V 1 0 0 The second Stokes problem is 2D fluid flow above a plate that moves horizontally in a harmonic manner, schematically
Computer Project 3 AA 543 - Computational Fluid Dyanmics University of Washington Mishaal Aleem March 17, 2015 Contents Introduction........................................... 1 3.1 Grid Generator.......................................
Problem: A cast-iron bell-crank lever, depicted in the figure below is acted upon by forces F 1 of 250 lb and F 2 of 333 lb. The section A-A at the central pivot has a curved inner surface with a radius
11 th World Congress on Structural and Multidisciplinary Optimisation 7-12, June 2015, Sydney Australia TV packaging optimization of the frontal drop impact using equivalent static loads Insik Han 1, Youngmyung
Proceedings of the IMAC-XXVIII February 1 4, 2010, Jacksonville, Florida USA 2010 Society for Experimental Mechanics Inc. Modal Test Data Adjustment For Interface Compliance Ryan E. Tuttle, Member of the
Module D: Laminar Flow over a Flat Plate Summary... Problem Statement Geometry and Mesh Creation Problem Setup Solution. Results Validation......... Mesh Refinement.. Summary This ANSYS FLUENT tutorial
Lab Practical - Finite Element Stress & Deformation Analysis Part A The Basics In this example, some of the basic features of a finite element analysis will be demonstrated through the modelling of a simple
Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity
The CST (Constant Strain Triangle) An insidious survivor from the infancy of FEA by R.P. Prukl, MFT Computing (Pty) Ltd P.O. Box 221, Rivonia 2128 (This paper was delivered at the FEMSA 92 Symposium, 11
1.1.22 UEL User subroutine to define an element. Product: Abaqus/Standard References Overview Warning: This feature is intended for advanced users only. Its use in all but the simplest test examples will
Optimization of Process Plant Layout Using a Quadratic Assignment Problem Model Sérgio. Franceira, Sheila S. de Almeida, Reginaldo Guirardello 1 UICAMP, School of Chemical Engineering, 1 email@example.com
Lecture 3 : General Preprocessing 16.0 Release Introduction to ANSYS Mechanical 1 2015 ANSYS, Inc. February 27, 2015 Chapter Overview In this chapter we cover basic preprocessing operations that are common
White Paper: Using the HyperSizer Object Model for Software Integration 1 of 15 White Paper: Using the HyperSizer Object Model for Software Integration Phil Yarrington, Craig Collier, Mark Pickenheim Collier
JAVA APPLETS FOR TEACHING FINITE ELEMENT ANALYSIS Kamal B. Rojiani 1, Suryanarayana Raju S.V.N. 2 ABSTRACT An applet for teaching fundamental concepts of finite element analysis is developed. An applet