Engineering Design Optimization: Lecture 2: About Optimization Systems

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 48

Engineering design optimization

Lecture 2: About Optimization Systems

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Lecture 2
About optimization systems
P Review of problem 2.4 P Model analogy revisited P Implicit problems and sensitivity analysis P Optimization system types P Optimization in commercial computer systems P The Optimum DESign System, ODESSY P ODESSY demo

Homework and exercises:


P Arora, [8 - example 8.1[ + [8.4 -8.5] P General info about ODESSY: http://www.ime.auc.dk/research/design/odessy/ods_pr.pdf; [1. -1.5] + 2.1 P Learning ODESSY by doing: http://www.ime.auc.dk/research/design/odessy/ods_user.pdf; [2 -2.2] P Run the bumber example listed at the end of these notes in ODESSY.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Problem 2.4
Problem: Find the radius of tubes in a heat exchanger to maximize the total surface area

P Min tube radius = 0.5 cm P Max total cross section = 2000 cm2

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Problem 2.4
Solution Design variables: Tube radius, r Number of tubes, n Objective: Maximize surface area = n 2Br Constraints: Cross section = n Br2 # 2000 cm2 r $ 0.5 cm

What is the best value of r?


John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Repetition
Analysis is a model accepting input and producing output

Input
- a design

Model

Output
- its properties

P Optimization is to find the input corresponding to desired output P Input is the set of design variables P Output is the objective function and the constraints P The model is usually implicit
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Repetition
- eksplicit and implicit models

V = hBD/4

0.5 l

FE Analysis

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Repetition
- graphical interpretation
x2 g2 (x) = G2

Unconstrained optimum

Constrained optimum Feasible domain


g (x) = G 1 1 x1

An optimization problem looks like this, but if the model is implicit, then we can never see the picture. We have to find the minimum without being able to see.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Landscape
- graphical interpretation and sensitivity analysis

Constraints

Solving this problem means walking to the lowest position inside the fences. If the problem is implicit, then we are blindfolded.

Objective

We can only feel the slope of the ground under our feet. This is sensitivity analysis.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Matematical programming
The mathematical form of an optimization problem. If the problem is implicit, then we do not know what the functions look like. But we can compute their values and their slopes.

Minimize go(x) ,

Objective function

x = {x1 , x2 , ... , xn} i = 1..m


The design space

Subject to gi(x) # Gi ,
As many constraints as necessary

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Approximation
If we know the value and slope of the functions in the current point, x(k), then we can approximate the problem

Minimize go(x(k)) + Lgo(x(k))(x - x(k)) + ...,

x = {x1 , x2 , ... , xn} i = 1..m

Subject to gi(x(k)) + Lgi(x(k))(x - x(k)) + ... # Gi ,

The solution to the approximated problem will not be completely correct, but it is probably a step in the right direction. Sensitivity analysis is finding the gradients of the functions of the problem, and this is an integral and very important part of optimization.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Sensitivity Analysis
How to find gradients
W e dont know the mathematical form of the function we are dealing with because the problem is implicit. So we cannot just differentiate symbolically. W e shall postpone the detailed treatment of this problem to the second part of the course. For now, lets just note that we can find the gradient by forward finite difference: Lgi(x(k) ) = [gi (x(k) +) xj ) - gi (x(k) )]/ ) xj, for j = 1..n This requires one additional analysis for each variable. This can be time consuming, if we have many variables.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Optimization system types


- a crude categorization

Optimization systems
Expert systems Aerospace design FE extensions ANSYS NASTRAN Deterministic systems CAD Pro/MECHANICA Dedicated ODESSY OASIS SAMCEF Genesis Low Level DOT IDESIGN Spreadsheets Special purpose ISH-design

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Finite Element Extensions


Example: ANSYS
Many reputed finite element packages have optimization facilities. Ansys was one of the first and has marketed this facility very agressively. Ansys optimization routine does not use sensitivity analysis. This means that it handle almost any type of problem, but it cannot cope with many design variables.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

CAD system with optimization


Example: Pro/ENGINEERs Pro/MECHANICA
Pro/ENGINEER by PTC was the worlds first truly parametric CAD system. PTC was also the first to integrate design optimization seamlessly with parametric CAD. Pro/MECHANICA is a very advanced optimization package. It builds on unusual ultra-high-order elements, though.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Dedicated Optimization Systems


Example: Genesis

Genesis by VMA Engineering is a commecial, dedicated system for design optimization. ODESSY is Aalborg Universitys corresponding system.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Low-Level Optimization Systems


Examples: IDESIGN and Spreadsheets
Low-level systems offer optimization routines that the user can link to his own software. IDESIGN described in Aroras book is such a system. All modern spreadsheets offer similar facilities. W ell look at that in lecture 3.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Special Purpose Systems


Example: ISHIPOPT

Special purpose systems are developed to solve a specific class of design problems. ISHIPOPT is developed at the Department of Ocean Engineering at DTU and was used at several Danish shipyards. The systems offers a rationa solution to optimization of enormously complicated ship structures.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ISHOPT
Ship hulls are very complex structures

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ISHOPT (contd)
- constructed from ribbed panels

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ISHOPT (contd)
- panels converted to macro elements

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

The Optimum DESign System ODESSY


Fact sheet (see also http://www.ime.auc.dk)
P A system for modeling, analysis, sensitivity analysis and optimization of mechanical components. P Developed at the Institute of Mechanical Engineering, Aalborg University since 1991. P Statistics: < 616 files of C and C++ code < 296728 lines of code < about 20 man-years invested P Used by 22 different universities all over the world P Not commercial but used for consultancy by spin-off company Rational Engineering, http://www.rateng.dk P Incomplete manuals available online: http://www.ime.auc.dk
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODESSY Input
- the .acd file
The direct way of specifying a geometry in ODESSY is to type data into a text file that can be read by the preprocessor. The name of the file is <name>.acd, where <name> is a user-defined name of the problem. The extension .acd historically comes from the fact that AutoCAD was the first CAD system for which an interface was developed to ODESSY. When a CAD system is used to define the geometry, the .acd file is generated automatically. Each input line begins with a keyword that can be recognized by ODESSY. The contents of the rest of the line depends on the keyword. Please refer to the User's Reference for a complete description of the available keywords. Lines that do not begin with a keyword are ignored by ODESSY. This is very convenient because it allows you to type comments in between the input, but it is also potentially dangerous because the system just skips lines with no further warning in case you make a mistake when typing the keyword.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODESSY Input (Contd)


Acd file example
*** Points ODS_PNT p1 0 0 0 ODS_PNT p2 0.5 0 0 ODS_PNT p3 2.8 0 0 ODS_PNT p4 3 0 0 ODS_PNT p5 3 2 0 ODS_PNT p6 1.6 2 0 ODS_PNT p7 1.6 1.2 0 ODS_PNT p8 1.8 1.5 0 ODS_PNT p9 2.8 0.5 0 ODS_PNT p10 2.8 1.8 0 ODS_PNT p11 3 1.8 0 * *** Curves ODS_CUR c1 1 0 p1 p2 ODS_CUR c2 3 0 p2 p7 p3 ODS_CUR c3 1 0 p3 p4 ODS_CUR c4 1 0 p4 p5 ODS_CUR c5 1 0 p5 p6 ODS_CUR c6 1 0 p6 p1 ODS_CUR c7 1 0 p9 p10 ODS_CUR c8 3 0 p10 p8 p9 *** One muti-connected surface ODS_SUR s1 2 c1 c2 c3 c4 c5 c6 c7 c8 * *** Meshing: Mixed membrane mesh, side length 0.02 ODS_MSH s1 230 ODS_GEZ 0.02 * *** Link design variables to points ODS_LNK dv1 VPL dx p2 * ODS_LNK dv2 VPL dx p7 ODS_LNK dv2 VPL dx p8 * ODS_LNK dv3 VPL dy p7 ODS_LNK dv3 VPL dy p8 * ODS_LNK dv4 VPL dx p3 ODS_LNK dv4 VPL dx p4 ODS_LNK dv4 VPL dx p10 * ODS_LNK dv5 VPL dx p6 * *** Optimization specifications. Try also "min[maxval[nstress(svm) >> 0.7]]" ODS_OPT min[maxval[comp()]] ODS_OPT maxval[vol()] < initial * *** Material ODS_MA T steel lin 1 ODS_MA T steel iso 0 ODS_MA T steel E11 210000.0e6 ODS_MA T steel ny12 0.3 * *** Link material to surface ODS_MDL steel s1 * *** Use maximally 32 MB of RAM ODS_MEM 32

*** Boundary conditions: Fix boundaries c1 and c3 ODS_CDI c1 0 0 0.0 0.0 ODS_CDI c3 0 0 0.0 0.0 * *** Load: Unity load on upper part of c4 ODS_CIF c4 0 1 0 0 -1.0 -1.0 p11 p5 * *** Modifiers: one horizontal and one vertical ODS_MF dx 1 p1 p2 ODS_MF dy 1 p4 p5 * *** Design variables: name, upper, and lower value ODS_DV dv1 -0.2 0.3 ODS_DV dv2 -0.3 0.3 ODS_DV dv3 -0.3 0.3 ODS_DV dv4 -0.3 0.15 ODS_DV dv5 -0.5 0.5 *

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODESSY Input (Contd)


- the .acd file
The construction of the model is hierarchical, but it is not necessary to reflect this hierarchy in the order of inputting data into the .acd file. Keywords may appear in any order in the input file because ODESSY reads the whole file before processing it. The format of the .acd file is free, i.e., there is no need to put data in any specific columns or positions in the file as customary in input files to many traditional finite element systems. ODESSY works with names rather than numbers of entities in the model. Points, curves, surfaces, volumes, materials, cross sections etc., all have names defined by the user. The name of an entity is usually but not always the second record after the keyword in a line of input. A full description af all keywords can be found in the User's Reference. DO NOT USE TABS TO SEPARATE WORDS IN THE ACD FILE. You will suffer endless agonies if you happen to replace a space character with a tab. ODESSY will think the tab is a part of the word next to it rather than a separator.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODESSY dataflow
How to use the .acd file
.dxf file Text editor Ods_dxf Picture Owi .acd file Ods_femo Analysis
DSA Optimization
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

(CAD)

Generates the FE model FE analysis Design sensitivity analysis

Geometrical Points
ODS_PNT
Points are defined in the .acd file by means of the keyword ODS_PNT. The lines ODS_PNT p1 0.000000 0.000000 0.000000 ODS_PNT p2 3.000000 0.000000 0.000000 ODS_PNT p3 3.000000 2.000000 0.000000 ODS_PNT p4 0.000000 2.000000 0.000000 define four points, named p1 through p4 with the coordinates mentioned above. Each point requires three coordinates, because ODESSY always works in three dimensions, even when the problem is two-dimensional.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Curves
ODS_CUR
Curves are defined by specifying the type and attribute, and a list of control points that determine the shape of the curve. Several different curve types are available. For a complete listing, please refer to the Users Reference. Curves are defined in the .acd file as shown below ODS_CUR line 4 2 p1 p2 ODS_CUR spline 4 4 p1 p2 p3 p4

The lines above define two curves. The first curve is a straight line. This comes first of all from the fact that it has only two control points. If more than two control points were used, a piecewise straight line would be the result because of the string "4 2" in the definition. The number "4" is the curve type and means "b-spline". The number "2" is the attribute which, in case of a b-spline is the so-called k-value. The number k in the mathematical definition of a b-spline is the continuity + 2. A piecewise straight line has 0'th order continuity. This also means that the second line of input above defines a b-spline with second order continuity, i.e., continuous curvature.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Surfaces
ODS_SUR
A surface in ODESSY is specified with the keyword ODS_SUR. A surface can be flat or curved, and it can be two-dimensional, in which case it lies in the xy plane of the global coordinate system, or it can be a surface in space. Whatever the type, the definition of a surface in ODESSY is the same: it consists of a list of bounding curves. At least two curves are required, and the curves must form a number of simply connected loops. The outer loop will form the exterior boundary, and inner loops are interpreted as holes. It not necessary to input the curves in any particular order. ODESSY automatically connects the curves to form loops. Non-plane surfaces all have the form of Coons patches. A Coons patch is a surface representation defined by four bounding curves. If the definition of a surface contains a number of curves different from four, ODESSY automatically performs a subdivision or merging of the curves to form four segments.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Surfaces (contd)
ODS_SUR
Coons patches give an intuitive smooth interpolation between the bounding curves, but it does not necessarily take the exact shape that you desire. The present solution to this problem is to subdivide the surface into smaller patches and thereby obtain a finer control of the shape, but it is also planned to add other surface representations in the future. Below is an example of a surface definition in the .acd file: ODS_SUR s1 2 c1 c2 c3 c4 where "s1" is the name of the surface, and "c1 c2 c3 c4" is the list of bounding curves. The number "2" means Coons patch and is currently the only available option.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Meshing
ODS_MSH
ODESSY has a variety of different mesh generators to be used for different types of geometries, but the algorithms can be categorized into three types: structured meshes, unstructured meshes and semi-structured meshes. The user selects a mesh type for each curve, surface and volume in the input file by the keyword ODS_MSH, for instance ODS_MSH s1 230 which specifies that surface s1 should be subdivided into an unstructured mix of triangular and quadrangular membrane elements. Naturally, the mesh type must be allowable for the curve, surface or volume mentioned. For instace, you cannot use 2D elements for a volume or 3D elements for a surface. This keyword is described in detail in the reference manual. Mesh size can be controlled locally or globally. An example of global mesh size specification is: ODS_GEZ 0.05 Which specifies a element side length of 0.05 length units in regions where no local specifications apply.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODS_CDI
Boundary conditions
Prescribed displacements for an entire boundary can be specified by the ODS_CDI keyword: Syntax: ODS_CDI <name> <ldcs> <dir> <end1> <end2> where <name> is the name of the curve. <ldcs> is an integer number specifying the load case number to which this condition applies. If <ldcs>=0, the condition applies to all load cases. <dir> is the number of the degree of freedom to which the condition applies. If <dir>=0, all boundary conditions are fixed, i.e., the boundary is clamped. The two real numbers <end1> and <end2> are the prescribed displacements at the two curve end points. Displacements for the intermediate curve points are interpolated linearly between these values. Example: ODS_CDI c1 0 0 0.0 0.0 clamps curve c1 at zero displacement in all applicable load cases.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODS_CIF
Curve interval forces
This keyword defines distributed forces or moments acting on an interval of a boundary. Syntax: ODS_CIF <name> <ldcs> <dir> <con> <tf> <end1> <end2> <pnt1> <pnt2> where <name> is the name of the curve for which the load applies, <ldcs> is the load case number where <ldcs> = 0 means all load cases, <dir> is the degree of freedom. <con> is a flag used for variable boundaries. If <con> = 0, the nodal forces if the initial geometry are maintained through design changes. If <con>=1, the forces are scaled with design changes such that the integral (net) size of the force is maintained despite possible changes of force interval length. <tf> is the number of a function specifying a time time-varying load. If <tf> = 0 the load is static. <end1> and <end2> are the values of the distributed force in the two interval end points. Intermediate values are interpolated linearly between <end1> and <end2>. <pnt1> and <pnt2> are the names of two ODS_PNTs bounding the loaded interval. These points may or may not contribute to the definition of the curve.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODS_CIF(contd)
Curve interval forces
For example, ODS_CIF c1 0 1 0 0 1.0 5.0 p11 p5 specifies a static, distributed load in the x direction varying between 1.0 and 5.0 force/length on curve c1 for all load cases. The load is applied to an interval of the curve framed by the two points p11 and p5.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Material Definition
ODS_MAT and ODS_MDL
The full definition of a material can literally comprise hundreds of properties, and the ODESSY material definition is therefore constructed as one keyword with an additional attribute specifying the name of the property to be described. This means that each keyword statement defines only one property. The user needs only define the properties relevant for the problem in question, so the material definition usually comprises a few input lines, for instance ODS_MAT ODS_MAT ODS_MAT ODS_MAT steel steel steel steel lin iso E11 ny12 1 (specifies that material steel is linearly elastic) 0 (Specifies that material steel is isothropic) 210000.0e6 (Specifies a Youngs modulus) 0.3 (Specifies Poissons ratio)

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Design variables
ODS_DV, ODS_MF, and ODS_LNK
A parametric model in ODESSY is described by means of a finite set of parameters. Each parameter can vary within an upper and a lower limit, and each combination of parameter values results in a different model. Parameters like these are called "design variables" in ODESSY terminology, and they are defined by the ODS_DV keyword: ODS_DV <name> <lower value> <upper value> [<current value>] where <name> is a user-chosen name of the parameter. The initial design is characterized by all design variables being zero. If <current value> is not specified, the default is <current value>=0.0. The <lower value> must be # 0, and the upper value must be > 0. Design variables do not affect the model until they are linked to model entities. This takes place by means of modifiers and links.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Design variables (contd)


ODS_DV, ODS_MF, and ODS_LNK
Modifiers can be thought of as geometrical transformations, such as translations, rotations, and scalings. Several modifiers can be combined to form complex transformations of the geometry. The most commonly used modifier is the translation defined as a direction by means of two ODS_PNTs, for instance ODS_MF trans1 1 p5 p6 trans1" is the name the user has picked for the modifier. The integer 1 specifies that the modifier is a translation, and the two points, p5 and p6, define the direction of the translation. The distance between the two points does not matter; they only define the direction. Having defined a design variable and a modifier, we can parametrize the position of a point by means of a link, for instance: ODS_LNK dv1 VPL trans1 p2 which specifies that the ODS_PNT p2 will be moved dv1 length units in the direction of trans1. VPL means variable-point link.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Defining the Optimization Problem


ODS_OPT
One of the most important part of a general design optimization system is to give the user the largest possible freedom in defining the optimization problem. Generality and simplicity are conflicting criteria, and the specification of the optimization problem is therefore one of the more complex parts of the ODESSY input file. The problem definition consists of a series of ODS_OPT specifications of which the first designates the objective function and the subsequent (if present) are constraints.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Defining the Optimization Problem


ODS_OPT
Each ODS_OPT specification is really a query string for the ODESSY database. The syntax is too complicated to be described here, but the following examples should form an starting point: ODS_OPT min[maxval[nstress(svm,mat=steel,ldc=1)]] (minimizes the maximum value of the von Mises stress in the material named steel in load case 1) ODS_OPT min[maxval[comp()]] (minimizes the compliance of the structure. Notice the use of maxval even though compliance is a scalar criterion) ODS_OPT vol() < initial (specifies that the volume of the structure must be kept below the initial value) ODS_OPT maxval[nstress(s1,mat=glass)] < 20 (requires the maximum value of the first principal stress in the material named glass to be kept below 20 units)

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Bumper Example
Survival sheet

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Bumber Example
*** Link design variables to points ODS_LNK dv1 VPL dx p2 * *** Points ODS_LNK dv2 VPL dx p7 ODS_PNT p1 0 0 0 ODS_LNK dv2 VPL dx p8 ODS_PNT p2 0.5 0 0 * ODS_PNT p3 2.8 0 0 *** Boundary conditions: Fix boundaries ODS_LNK dv3 VPL dy p7 ODS_PNT p4 3 0 0 c1 and c3 ODS_LNK dv3 VPL dy p8 ODS_PNT p5 3 2 0 ODS_CDI c1 0 0 0.0 0.0 * ODS_PNT p6 1.6 2 0 ODS_CDI c3 0 0 0.0 0.0 ODS_LNK dv4 VPL dx p3 ODS_PNT p7 1.6 1.2 0 * ODS_LNK dv4 VPL dx p4 ODS_PNT p8 1.8 1.5 0 *** Load: Unity load on upper part of c4 ODS_LNK dv4 VPL dx p10 ODS_PNT p9 2.8 0.5 0 ODS_CIF c4 0 1 0 0 -1.0 -1.0 p11 p5 * ODS_PNT p10 2.8 1.8 0 * ODS_LNK dv5 VPL dx p6 ODS_PNT p11 3 1.8 0 *** Modifiers: one horizontal and one * * vertical *** Optimization specifications. Try also *** Curves ODS_MF dx 1 p1 p2 "min[maxval[nstress(svm) >> 0.7]]" ODS_CUR c1 1 0 p1 p2 ODS_MF dy 1 p4 p5 ODS_OPT min[maxval[comp()]] ODS_CUR c2 3 0 p2 p7 p3 * ODS_OPT maxval[vol()] < initial ODS_CUR c3 1 0 p3 p4 *** Design variables: name, upper, and * ODS_CUR c4 1 0 p4 p5 lower value *** Material ODS_CUR c5 1 0 p5 p6 ODS_DV dv1 -0.2 0.3 ODS_MA T steel lin 1 ODS_CUR c6 1 0 p6 p1 ODS_DV dv2 -0.3 0.3 ODS_MA T steel iso 0 ODS_CUR c7 1 0 p9 p10 ODS_DV dv3 -0.3 0.3 ODS_MA T steel E11 210000.0e6 ODS_CUR c8 3 0 p10 p8 p9 ODS_DV dv4 -0.3 0.15 ODS_MA T steel ny12 0.3 *** One muti-connected surface ODS_DV dv5 -0.5 0.5 * ODS_SUR s1 2 c1 c2 c3 c4 c5 c6 c7 c8 * *** Link material to surface * ODS_MDL steel s1 *** Meshing: Mixed membrane mesh, side * length 0.02 *** Use maximally 32 MB of RAM ODS_MSH s1 230 ODS_MEM 32 ODS_GEZ 0.02 *

.acd file

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Download and installation


The executables of ODESSY
P Point your browser to http://www.ime.auc.dk/research/design/odessy/download/win.zip and download the file P Create a directory to hold ODESSY. Recommended name: \odessy\bin P Include \odessy\bin (or whatever you call it) in your systems path variable.
< If you are r unning NT or Win2000, t hen you set it up in control panel -> syste m. < If you are on Win98, t hen you set it up in your autoexec.bat file. < Reboot if necessary. < Open a dos window and type c:\> PATH <e nter>, to check t hat \odessy\bin is in the pat h.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Executables of ODESSY
P Owi is ODESSYs windows model viewer. It loads an .acd file and presents a graphical image of the points and curves of the model. P ods_dxf is a small utility that converts the dxf files, produced by many CAD systems, to an acd input file for ODESSY. It only reads points and curves from the dxf file, and the resulting acd file usually has to be edited manually afterwards. P ods_femo is the preprocessor. It generates the geometrical model, creates the mesh and sets up all data necessary for the finite element analysis. Prior to the sensitivity analysis w.r.t. each variable, ods_femo perturbs the model and stores information about the sensitivity analysis. P ods_fem is the finite element analysis program. In addition to many types of finite element analysis, ods_fem can also do sensitivity analysis. P ods_dtb is the database module. It extracts analysis data and thereby provides the input for optimization and post processing. ods_dtb can be operated manually, but the module is really best suited to be executed automatically by the optimization process. P ods_post is the interactive post processor. It can present various graphical interpretations of the model and the analysis data, and it automatically calls the database module to extract information. P odessy is a primitive shell program which takes care of executing the other modules in the correct order. Preprocessing, analysis, sensitivity analysis, and optimization can all be handled through odessys screen dialogue, but for manual preprocessing and analysis are easier accomplished by calling ods_femo and ods_fem directly.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Preprocessing
Assuming we have created an input file, say, bumber.acd, the first step is to test if the file is error free and if the finite element model is satifactory. After saving bumper.acd to the disk, open a command prompt window, cd to the directory where you put the file, and execute the preprocessor: > ods_femo bumper The preprocessor starts and provides the following dialogue (answers in bold) Mode (0=preprocessing, 1=regeneration, 2=...): 0 Design iteration number: 0 Design variable number (0 for overall processing): 0 (An easier way to accomplish the same result is to type ods_femo bumper 0 0 0") The preprocessor starts executing and will display eventual warnings and errors on the screen. Correct possible errors in the .acd file and repeat the process until ods_femo finishes successfully. The result can be viewed with the post processor: > ods_post bumper The post processor is menu driven and should be self-explanatory. The post processing window can be left open for later use.
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Analysis
Having defined and preprocessed the model, it is a good idea to verify the result by running an manual analysis before optimization is attempted. This can be done by: > ods_fem bumper which creates the dialogue Analysis or sensitivity analysis (0/1): 0 Analysis type: 1: Stress 2: Forces vibrations . . :1 (The same result may be accomplished by typing ods_fem bumper 0 1") The analysis will start executing. Watch out for eventual warnings or errors. In case of problems, correct the .acd file, re-run the preprocessor, and re-run ods_fem.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Analysis (contd)

When ods_fem has finished successfully, the analysis results can be viewed in the post processor. The optimization problem definition can now be tested by the command > ods_dtb 1 bumper 0 0 This will create a screen full of databease extracts, and, in case no errors appear, we are ready to begin the optimization.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Optimization
The design optimization process is managed by the odessy shell program which takes care of calling ods_femo, ods_fem, and ods_dtb in the correct order and with the correct input. After starting odessy: > odessy the user is presented with a simple (and slightly clumsy) screen dialogue: Input name of problem: bumper Program mode: 4 (for shape optimization) Number of first iteration: 0 (because there have been no previous iterations) Number of iterations: 10 (a reasonable number to begin with) The process will, in this case, run for a maximum of 10 iterations, but it will stop before if the process has converged to an optimum. While the process is running, the system prints data on the screen to let the user follow the development of design variables, objective function, and constraints. These data are also logged to the file bumper.his for later investigation. If the post processor window is still open, the user can at any time choose the menus File -> Reload to udate the geometry and plot a picture of the current shape and analysis results. If the process has not converged after 10 iterations (it usually has not), more iterations can be requested. In this case it is important to specify the number of the first iteration to 10 (i.e. as far as the process had come in the previous iteration series).
John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

ODESSY Demo
Bumper example

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

Exercises
P Learning ODESSY by doing: http://www.ime.auc.dk/research/design/odessy/ods_user.pdf; [2 -2.2]. DO NOT USE TABS T O SEPARATE WORDS IN T HE ACD FILE. P Run the bumber example listed in these notes in ODESSY.

John Rasmussen, Institute of Mechanical Engineering, Aalborg University, 2001

You might also like