Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

FE based optimization 4

Status
Not open for further replies.

toothroot

Mechanical
Nov 27, 2001
40
Hi all,

I am using I-DEAS 8 for the optimization of parts, with the aim of the optimization being mostly reduction of maximum stresses or displacements. The FE models I use for these calculations are geometry based, i.e. after every change of the part's design the FE model is automatically updated to reflect the altered design. The I-DEAS optimization module then changes values of geometry parameters (part dimensions, for example notch radii in stressed areas) to reach the optimization aim.

For some reasons I am not totally happy with I-DEAS. Plus, my company is thinking about changing the CAE system. My question is now: what other FE system can perform the same type of parameter optimization as I-DEAS? This also has to incorporate the creation of the CAD and FE model which have to be linked in the way I've mentioned it.

Any help on this topic would be greatly appreciated!

Cheers,
Daniel
 
Replies continue below

Recommended for you

hi Daniel,
I have developed such an 'optimization environment' using Pro/Engineer, MATLAB and as CAE, it can be used ANSYS or NASTRAN. An interface program for Pro/Engineer was developed so that it can read the "parameter changes" from a file and then write out the FE-Model for ANSYS or NASTRAN (of course you must predefined all of the mesh controls) or IGES, STEP model (this is for the used with CFD). I use the MATLAB optimization Tool-Box and the advantage of this : i can use many opmization methodes, since MATLAB code is open (not compiled).
As design variables one can choose : dimensions (normal or angular), control points of splines, pattern and parameters (these are all the terms of Pro/Engineer). The Flow Diagram of my "optmization environment" looks like the illustration in under "The Optimization of the FAST Telescope's 9 Point Articulated Back Support", but mine is more powerful and easier to use :).
By the way, I have tdeveloped this all as my semesteral work at Institute of Light Weight at the Technical University of Munich.

cheers,

Ichwan
 
Ichwan,

I have an interest in optimization using Matlab and Pro/ENGINEER and would like to know more about your work. Previously I had attempted to develop a first-order analysis (FOA) tool to develop optimized structural components. Unfortunately, I have had to abandon this work when I changed jobs. :-(

I still have a keen interest in working in this area and would like to learn more about what others are doing. Are there samples of your work that can be shared? If there are other resources you can point me to would be appreciated.

Also, what do you think of the optimization features in Pro/MECHANICA and with the Behavioral Modeling (BMX) features in Pro/E?

Thank you for any input you can provide.

Best regards,

Matthew Ian Loew
 
Hi volks,
Because ANSYS FEM-Model is parametric. But for some cases this capability is not satisfied, let me give you an example : The number of design parameters is less compare to NASTRAN and another example you can not optimize a part with holes that move in a space and change their number (pattern), this can be only solved by integrating a parametric CAD-System in to a CAE-System or optimization environment, since CAD can do more complicated geometric perturbation.
I-DEAS is the only engineering package, as far as i know, that combine/interfacing parametric CAD and CAE so it can do more complicated optimization problem (I have not used this feature before, I have only used IDEAS as pre-processor). But the geometric capability of I-DEAS is poor compare to the established parametric CAD System like Pro/E or the newly CATIA V5. Pro/Engineer has a "structural package brother" called Pro/Mechanica, that can do structural analysis and optimization also. His limitation is concerning the number of elements, e.g damping element is not supported. Another weakness is that, the stress constrains can only be defined as maximum stress for all the part and this is not secure, because the max-stress can change its position, e.g. from edge stress to a notch stress and it sometimes not gradually. MLoew, this is my contributing to your question. I can not answer your question well, because I have not tested Pro/Mechanica comprehensivly.
MSC/NASTRAN can do shape and sizing optimization with his SOL 200, the newly MSC/NASTRAN 2001 can even do integer optimization problem, but again NASTRAN is not parametric, so one must make a great effort to linking design variables to the element properties.
Meanwhile I try to link CATIA V5 to my MATLAB optimization environment. I find it nice regarding the capability to change the optimization algorithm, so it is very flexible.

regards,

 
zuardy,

I was actually interested to learn more about your optimization environment linking Pro/E and Matlab. I am a user of both as well as Pro/MECHANICA. You are right about the limitations on the type of analyses that Pro/M can do. It is a very good package for doing first order analysis-integrated design.

If there are any details on your work with the optimization package in Matlab and how you link it to the CAD packages, I would be very interested in learning more about it.

Thanks for your input.


Best regards,

Matthew Ian Loew
Sr. Engineer
 
Hi Matthew,
I used the function fmincon from MATLAB Optimization-toolbox that implementing SQP algorithm to test my structural static optimization problem, but now I must do a structural optimization with integer variable so I use genetic algorithm, that was developed here.
I developed the Pro/E interface with the API-Pro/Toolkit and call it Pro/Optimize. Pro/Optimize has two operating modes : synchronus and asynchronus mode.
In "asynchronus" mode, it is embedded in Pro/E, so it has an auxilary menu and you can prepare the Pro/E model ( i use hier therm model because Pro/Optimize can handle part or assembly) for optimization, like define design variables and their bounds by dialog. Pro/Optimize markt the dimensions or patterns as design variables by adding "dv" in front of their symbols. The same procedure is also implemented to parameters, but you must link them to any dimension or pattern, i think this is clear for you. all these design variables are then written in to a file named model.dvs, that will be changed during optimization. Sample of file contains is :
dvCompY = 150.000000
dvCompX = 125.000000
dvStrNum = 15
dvPlateHigh = 3.000000
dvStrThick = 2.000000
you see the desing variable number 3 : dvStrNum (Stringer Number), this is what I refer as Integer variable btw.
the other geometri values such as weight, area, moment of inertia are stored in another file, named model.geo.
If you have defined mesh controls with Pro/FEM so you can call the Pro/Optimize as batch following (assuming your part model named matthew.prt:
proe2000i2 -g:no_graphics -F:matthew.prt -O:nas_sol
means : proe2000i2 -> your Pro/E batch name
-g:no_graphics -> no graphics output
-F:matthew.prt -> perturb the part matthew with the
new design variables from
matthew.dvs
-O:nas_sol -> mesh the geometry with tetmesh and
give out NASTRAN input file matthew.nas
Of course you do this call within MATLAB environment through placing !, this also the reason why we use MATLAB, i.e. its capability to load a program within its environment (work space).

In "synchronus" mode, Pro/Optimize runs in another Process then Pro/Engineer through a so called RPC (Remote Protocols Calls), so it is a bit slowlier but it has advantage, that it call a running Pro/E with loaded model, so teh loading model time and starting time of Pro/E is avoided, think about a great, complicated model. In this mode, it works like MDICE ( although MDICE just implements only parameters as design variables.
I hope you can understand what i mentioned above, I have document and a power point presentation about my works, but unfortunately ,it is in german :(. When I have time, I will translate it in to english.

best regards,
 
I'm using ProEngineer and ProMechanica. I think it's good because u have perfectly integrated the environments. U can optimize FE and apply changes in your model. Also, ProE uses p-elements and has an self-controlling method for meshing the models (no problems of manual mesh and very good results).
ProMechanica Structure does only linear analysis, and if you use ProE u must keep in mind that it's not variational (like Ideas), so it's more rigid in his behaviour... so make up your mind
 
Hi IngLuca,
Would you please explain the term variational? I do not know exactly what you mean?

regards
 
Guys,

I'm using Unigraphics V18 and UG/Structures for PE linear or non-linear contact which is really quick on Windows ( I get 1/2 hour for 100,000 tet10). Easy to set and to use optimization using Hyperopt - Altair technology (it is embeded). They get automatic H adaptivity. I haven't tried yet because I prefer to refine my mesh after optimization, for cross checking. I also like to put my dimension to some 12.5 and not 12.345444. I sometimes run a modal analysis after. Then there is 1 button for pushing the parameters back to the model.

The post enables to make a movie of the shape evolution during the optimization run. Very instructive, and good for the project reviews.
 
Hi everybody,

thank you very much for all of your replies. I know now that there are at least three systems out there that I could use to do the same optimizations as in I-DEAS: ProE with Pro/Mechanica, ANSYS and UG. Is the UG/Structure and Hyperopt software included in a standard UG license, or would that be extra costs?
Zuardy: your Pro/E-Matlab interface sounds very interesting (and not only to me, as it seems). Do you have some more online sources or papers about it (I speak German, so the language wouldn't be a problem).

Good luck with your optimizations to all of you guys,
Daniel
 
Hi,
gillesD is right, Altair has even implemented "real" topology algorithm with his Optistruct. I refer real topology algorithm as the one developed by Benzoe.
The weakness of the "embedded" optimization system is that, the user can not easily change the optimization algorithm, if the current one doesn't satisfy the problem. For numerical optimization there exist a dozent of algorithm for linear and non linear, deterministic (gradient based) or heuristic (the modern one, like genetic algoritm). This is the reason why he have kept the optimizer outside of the CAD and chosen MATLAB as Optimizer and Application manager, besides many Universities and Institutes develop new optimization algorithm or improved the exist one in MATLAB.
My Pro/Optimize has also the capability to run the history file, this file was created during iterations (optimization) and contains all information about design variable perturbation. But my supervisor has no deep interrest with this feature, since the only important design vaiables are the first (initial) and the last (result/optimized) ones, according to him ;-)

regards
 
Daniel,

No extra cost, it goes with UG/Structures (then pick your solver PE, Ansys or MSC - Abaqus for June).
Since the UG/Ideas merge, I am looking forward for the variational analysis that is in Ideas. What's your opinion ?

Zuardy,

Just in case, I would be very interested too in the Best practices for each optimizer (my language is French). In fact, I've never had any convergence problem yet excepted when I get to the limit of the modeling: there are some inpossible topology updates that causes the optimization to stop. The option is proposed for supressing the incompatible feature(s) but this could dramatically change the design intent. The only solution sometimes is to use IF..Then and play with the model parameters. Any suggestion ?

How is it with Pro/E and Matlab ?
Does it allow to run a multi physics optimization (stress limit and minimum natural frequency for example) ?

For the history, you are right we don't use the intermediate steps. It is just as a "See guys, we browse a lot of cases"
 
Hi Daniel,
regarding to know the best practices for each optimizer is a matter of knowing the limitation and the motivation of each algorithm and then try it for simple problem first and with complicated one futher. This is again one advantage of using MATLAB, since his Optimization-Toolbox was well tested by many scientist from different disciplines, like structure, control, bioengineer, etc.
Normally, topological optimization (again refer to Bendzoe : stress homogenization) is fisrt done and then the numerical optimization after that. This because the result of topological optimization is is geometrically very poor and must be first smooted.
About Pro/E and Matlab, it can sure do the so called Multidiscipline Design Optimization (MDO), since Pro/E can put out FEA-Model and Geometry (IGES, STEP,...). If you want to do, say, Aeroelastic optimization, then you just place your CFD-Analysis with the IGES-Model and give the result to optimizer (MATLAB) as a constrain. I use hier MDO instead of multi physic, because the last term some times refer to coupled field problem and each discipline in MDO analysis must not be coupled. Any suggestion?
Folks, actually there exist an english document regarding "integrating Pro/E to optimization environment" from NASA (one of the author is Jamseed Samareh), they had carried out a similar project in 1998-1999, but I miss the end result of the project. You can download it from NASA website.

regards

 
Zuardy,

Thanks for all your information. I am struggled with the MDO from a philosophical point of view. How to deal with controversy optimization:
Say I want to optimize a car hood. The drag coef optimization will tend to a shape that will contradict the engine cooling requirement (surface of the radiator). Thus, a compromise is needed. In other words, is MDO really efficient or is it a tool to use when you know where to go ?

GillesD
 
GillesD,
in that case, there are to strategies to carry out the optimization problem, namely :
1. Drag coef (D) is to be optimized and the cooling
surface (A) is constrained to a minimum value.
2. Both D and A are to be optimized.
The first case can be carrired out by the most constrained optimization algortihm, such as fmincon by MATLAB and by all implemented optimization algortihms in FEA-Programs.
The second case need a special treatment, called PARETO front optimization (termed after the French engineer : Pareto). The optimization algorithm itself is called multi objective optimizer, it will find the best compromise between D and A according to the pareto front. Unfortunately, the most (I do not know exactly) optimization algorithms in FEA-Programs can only solve the first case problem (Single objective optimization problem). MATLAB has a special function called fgoalattain, that can deal with such a problem.
I hope, that I do not misunderstand what you mean.

regards
 
Hi guys,
i want to give some addition to tiandan's comment regarding MDO. It is actually the great "barrier" (not difficulty, i know this is something philosophic) till now in MDO to obtain the optimum in short time, due to (depends on) the involved disciplines. The time needed by the optimizer itself is neglieble comparing to that time used to solve the equation from each discipline. Especially if the sensitifity achieved by perturbing the geometry through CAD-Software, this is the disadvantage of doing such CAD-based optimization, because the Meshing (stifness matrix) change each perturbation. Another way to reduce this disadvantage is by yielding the sensitifity analitically, this is done by some FE-based optimization in some FEA-Solver. The disadvantage of this optimization type is, that only simple geometry can be handled well.
Sometimes, it is good to scan the objective space with some objective values, to get the feeling, that there is really an optimum. This is because many engineers can design a structure optimally through their experiences, so it is an optimal structure per se. My point is : MDO must not find always an optimum, but if it is there, MDO can find it more accurately then by try and error.

regards
 
Zuardy: I'm not very familiar with the maths behind optimization, although I think I've understood the basic concepts (e.g. heuristics vs. gradient methods). Right now, I wonder what "mesh perturbation" or "perturbation" is. Do you have any internet resources on hand about this topic? (I guess an explanation would be to long-winded for this forum...)

Thank you very much in advance.

Cheers,
Daniel
 
Hi Daniel,
perturbation means not other then small change, i just take this term from several papers/books. I mean with perturbation as "geometry/dimension change" and mesh perturbation as "FE-Model change".

If you are familiar with gradient based optimizer, then you should know, that it does normally a "finite differencing" to obtain the sensitivity of each design variable, in other words, it changes (perturbs) each of the design variables.

In geometry- or CAD-based optimization the design variables (DV) are normally the dimensions and the only way, to my know, to obtain their sensitivity is via finite differencing. The step looks like :
change each DV -> new meshing -> new stiffnes matrix
So if the stucture (if this is a stuctural discipline) has 10 DVs means at least 10 new stiffnes matrix must be carried out by the FEA-Solver , although it was only a small geometric change (perturbation) and this is clearly time consuming.

On the other hand, if the sensitifity obtained via semi analytic, let's recall the basic static equation :
say X is the vector of DV
KU = F partial differenciated to X
UdK/dX + KdU/dX = dF rearrange
dU/dX = (dF - UdK/dX) / K sensitifity
you see K doesn't change for each X or DV, so this is the great advantage of such methode, imaging when a big stucture has more then 100 DVs ! Unfortunately, this methode can only be applied to simple geometry or it is not generally valid compared to finite differencing.

Btw, may be you can find about this in some papers mentioned by tiandan at I hope this will satisfy your question

regards
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor