Automatizált, integrált CAD-alapú fejlesztési rendszer Horváth Zoltán Széchenyi István Egyetem CFD Workshop, BME, Budapest, 2007. június 20.
Tartalom 1. Ipari gyártmányfejlesztés Általános fogalmak, módszerek Automatizált, integrált CAD-Mesh-CFD optimalizáció Alkalmazás: Diesel-motor fejlesztés 2. Gyártási pontosság megállapítása Probléma megfogalmazása Klasszikus megoldás Megoldás CAD-alapú globális optimalizálással GO: LGO (Pintér), Memetic PSO (Schütze, Talbi, Coello et.al.) Alkalmazás: gépkocsi-tükör elemzése
1. Ipari gyártmányfejlesztés SZE JRET Széchenyi István Egyetem Jármőipari Regionális Egyetemi Tudásközpont, Gyır Projekt: Jármő fıegységek optimalizálási algoritmusainak kutatása Csapat: Horváth Z., projekt vezetı (OPTIM., CAD, CFD) Tóth K., (CAD) Morauszki T., (Mesh, CFD)
Tipikus mérnöki fejlesztési folyamat: Feladat: adott termékbıl fejlesszünk hasonló struktúrájút, de jobb -at Egymás utáni lépésekben: 1. Modellalkotás a fejlesztendı termékrıl; 2. Elemzés (pl. áramlástani); 3. Döntés: elég jó-e, vagy vissza az 1. lépésre Ez alapulhat fizikai modelleken és méréseken, vagy számítógépes szimuláción. Hagyományos megoldás: minden részlépést külön specialista végzi (pl. CAD-osztály, hálózó csoport, CFD-csoport)
Automatizált, integrált CAD-alapú fejlesztési rendszer Publikációk: Z. Horváth, T. Morauszki, K. Tóth: Automated CAD-based CFD-Optimization and Applications in Diesel Engine Design. 3rd European Automotive CFD Conference, 05-06 July 2007, Frankfurt, Germany (accepted) Z. Horváth, T. Morauszki, K. Tóth: CAD-based optimization and applications in automotive engineering. 6th EUROSIM Congress, Ljubljana, Slovenia, September 9-13, 2007 (accepted)
Automatizált, integrált, CAD alapú fejlesztés CAD Paraméteres CAD-modell Tervezési változók: a CAD modell bizonyos paraméterei Több elıkészítés Lehetıség folyamatok integrálására és automatikus végrehajtására! MESH FEM OPTIM Optimalizálási algoritmusok használatának megteremtése!
Az optimalizálási folyamat célfüggvényének kiszámítása: CAD Mesh CFD Az új modell elıállítása az opt. algoritmus szerint Hálózás: felület, majd térfogat felbontása kis cellákra, cellaszám: ~500.000 CFD feladat megoldása
Beintegrált szoftverek CAD-modellezés: Pro/ENGINEER WF3, Catia V5R17 Felületi hálózás: HyperMesh 8.0 Térfogati hálózás: TGrid 4.0 Áramlástani analízis: Fluent 6.3 Optimalizálás: Lipschitz Global Optimizer, Particle Sworm Optimizer Keretrendszer: saját fejlesztéső C-kód
Alkalmazás: Diesel-motor szívócsatornájának optimalizálása p rel =0; T=300K Adott egy hagyományos módon optimalizált szívócsatorna Kilépı tömegáram: 216.6 kg/h p rel =-5000 Pa Feladat: ezt maximalizálni a tartomány megadott, kis módosításaival! Mérıeszköz: stacionárius próbapad (ellenırzı mérésre)
CAD-modell konstrukció: Tervezési változók: a CAD modell paraméterei (pl. sugarak, szögek) Elérendı: változatos geom. modellcsalád Nehézség: stabilitás elérése
Hálózás Felületi, majd térfogati hálózás Hálófüggetlenséghez elég finom rács tesztelése
CFD (Computational Fluid Dynamics) Analysis Mass flow: 212.4 kg/h
Az optimalizálási folyamat sémája: CAD Mesh CFD És így tovább, automatikusan 1 célfv. kiértékelése 5-12-20 perc
Az optimalizált modell 80 GA célfv-kiértékelés után Az optimalizált modellben a tömegáram: 2,7% növekedés! Változási helyek zölddel
Példa: kipufogó rendszer optimalizálása phase_03
5 design variables
Design variable Formulation of the problem x element of R^n Bounds xl x xu (component-wise) Feasible set D D0:= {x: xl x xu} R^n (xl,xu given) Objective min f(x) f: D R1 (obj. Function) D is not known a priori, exceptional elements of D0 observed at running time, x0 from D is given initially Evaluation of f(x) takes 5-15 minutes (in the examples) only few iterations (typically <200) can be taken We want to find the globally optimal solution(s) or at least to find x with f(x)<<f(x0) numerically.
Optimalizáló algoritmusok/szoftverek 1. GENOCOP Michalewicz GA 2. LGO (Lipschitz Global Optimizer) Pintér s GO 3. Memetic PSO (Particle Swarm Optimizer) by Schütze, Talbi, Coello et al.
GENOCOP Michalewicz GA genetic algorithm elimination of the equalities present in the set of constraints careful design of special genetic operators, which guarantee to keep all chromosomes within the constrained solution space Reference: Z. Michalewicz, C.Z. Janikow: GENOCOP: a genetic algorithm for numerical optimization problems with linear constraints Communications of the ACM Vol 39 (1996)
LGO by J.D. Pintér Lipschitz Global Optimizer (LGO) solver system for nonlinear both global and local - optimization LGO integrates the following solver components (options): branch-and-bound global search adaptive global random search (single-start) stochastic multi-start global search generalized reduced gradient local search Theoretical global and local convergence is established LGO has been applied to solve thousands of GO models for over a decade; related professional literature available Reference: J. Pintér: Global Optimization in Action. Kluwer Academic Publishers, 1996
Memetic PSO method by Schütze, Talbi, Coello et. al. Global stochastic search Local line search with crossover Population of particles Each particle has a position and a velocity (balanced into the direction of local and global best found particles) Reference: Schütze, Talbi, Coello, Santana-Quintero, Pulido: A Memetic PSO Algorithm for Scalar Optimization problems, to appear at IEEE SIS07
Computations for the exhaust system optimization example (5 design variables) Reference parameters: 100., 100., 100., 100., 400.; obj=0.20433 GENOCOP pop.size: 30; number of generations: 5 (180 function evaluationev.) best solution found: 0.21904 Feval=180 0.gen. 1.gen. 2.gen. 3.gen. 4. gen. 5. gen. best 0.21637 0.21705 0.21732 0.21732 0.21746 0.21904
Reference parameters: 100., 100., 100., 100., 400.; obj=0.20433 LGO, started from reference parameters, mode=2, GARS+LS n_cfd = 213 P1_T = 99.946856 P2_T = 100.018355 P3_T = 100.156320 L_1 = 100.000000 L_2 = 400.019207 obj = 0.204334 Similar results with LGO and other modes Starting LGO from results with GENOCOP, gen=1: often more accurate results than with GENOCOP gen=4
Starting LGO from the best individual of GENOCOP, gen=1: n_cfd = 1 P1_T = 267.032273 P2_T = 210.858320 P3_T = 113.990387 L_1 = 220.891127 L_2 = 608.431220 obj = 0.217384 n_cfd = 22 P1_T = 265.469208 P2_T = 210.807875 P3_T = 109.046863 L_1 = 221.276902 L_2 = 609.755814 cfv = 0.218469 Notice: GENOCOP gen=4: best obj=0.21746
Computations for the exhaust system optimization example (5 design variables) Memetic PSO n_cfv = 1 P1_T = 96.396985 P2_T = 243.574328 P3_T = 353.254189 L_1 = 194.009189 L_2 = 421.910170 obj = 0.205330 n_cfv = 2 P1_T = 330.028382 P2_T = 121.951964 P3_T = 6.690878 L_1 = 146.794657 L_2 = 350.986196 obj = 0.202453 n_cfv = 23 P1_T = 293.668765 P2_T = 202.099298 P3_T = 80.279870 L_1 = 143.274097 L_2 = 608.461332 obj = 0.217354 n_cfv = 24 P1_T = 275.479598 P2_T = 207.198962 P3_T = 75.135235 L_1 = 147.510887 L_2 = 613.152059 obj = 0.217342!!
Intake port, 6 design variables reference values (hand-optimized values): 35. 37.5 26. 30. 4.25 35., obj=0.057163 (kg/s) One fc.eval. takes rather long, cca. 20 min. Better results than the reference obj. value with GENOCOP usually first after fc.eval>40 (i.e. experienced engineers do well against random choice) Most efficient method: again PSO (it seems at least) but not so much (large number of faults). Improvements with PSO: 3.4% under 39 fc.eval remarkable result from engineering point of view
Exhaust system: improvements: GENOCOP: 7.2% (180 feval) PSO: 6.4% (29 feval) seems most efficient GENOCOP (60 feval) + LGO (23 feval): 6.9% Further tests to be taken for more reliable comparison
Általánosítási lehetıségek CAD MESH CFD Analízis modul kicserélhetı OPTIM Célfüggvény nemcsak az elemzéstıl nem függı mennyiséget is tartalmazhat (pl. gyártási költség)
Közös munka Tóth Krisztiánnal 2. Gyártási pontosság megállapítása
Tükörtartó borítással: összeszerelve 3 részbıl Zöld, piros: karosszéria, Sárga: tartó, Kék: borítás Összeszerelés: tájolócsapokkal irányok + rögzítés (máshol) Gyártási tőrés (csapokra, ): ± 0,2 mm egyenetlen rés a karosszéria és a tartó között Vevıi reklamáció (kerülendı)
Széchenyi István Egyetem, Gyır Illesztés (pontok, irányok): Zöld: karosszéria - tükör alap Piros: tükör alap borítás Tolerancia: ± 0.2 mm illesztések mentén adott irányokban elmozdulás c_i: az i. csap elmozdulása
Rés a piros és kék részek között Rés mérése 33 mérési hely d_i (23 görbe és felület, 10 felület-felület között) Egyenetlenség jellemzése: D = max d_i min d_i Kérdés: max D =?
Feladat: max D =? ha c_i eleme [-0,2, 0.2] (megengedett tőrések) Tipikus megoldás: Gauss-féle hibaterjedés számítása Ennek erıs hátrányai: normalitás feltételezése D-re D=D(c_1,,c_6) képlet közelítı meghatározása parc. deriváltakhoz, egyszerősített geometriát feltételezve Ehelyett: max D meghatározása globális optimalizálással
CAD-modell készítése Tipikusan: kézzel végzett mőveletek ezzel csak kevés függvénykiértékelés végezhetı el Integrált CADalapú folyamatunk alkalmazása (most analízis a CAD-en belül)
Betekintés a célfüggvénybe metszetekkel Nominális érték körül Optimális érték körül makroszkópikusan mintha konkáv lenne, de mikroszkópikusan kis recék
Glob. Opt. eredmények Megjegyzés: egy célfv. kiszámítása kb. 8 másodperc; 3 óra alatt kb. 1200 kiértékelés Particle Sworm Optimizer (15 egyed, 40 generáció) x_best= 0.216231 2.22156e-006 0.399999 1.18148e-005 0.399997 0.00137605 Number of function calls: 1152 Mean Best: -6.2712e-001 LGO (MS+LS) n_cfv = 1141 A:0 = 0.257657 B:0 = 0.036294 C:0 = 0.324008 E:2 = 0.016125 F:2 = 0.400000 H:2 = 0.047862 cfv_res = -0.594575
--- LGO Solver Results Summary --- Runtime limit (default value, or as set by user) is exceeded. Current best result: Total number of function evaluations 7584 Nem jó beállítással Objective function: res_max -0.5846040000 Estimated optimal solution vector (components) 1 A:0 0.2812355756 2 B:0 0.0289346104 3 C:0 0.4000000000 4 E:2 0.0309779567 5 F:2 0.3950986607 6 H:2 0.0860874226 Constraint function (component) values at optimum estimate For additional runtime information, please consult the LGO.OUT file. --- LGO application run completed. ---
Megjegyzések. 1. PSO ezen a feladaton hatékonyabbnak tőnik, mint LGO (5%-kal nagyobb érték ugyanannyi célfv-kiértékelésbıl) 2. LGO érzékeny a beállításokra 3. Az integrált CAD-OPTIM rendszerrel pontos statisztika készíthetı a célváltozó, D eloszlásáról, ill. az érzékenység-vizsgálathoz szükséges parc. deriváltakhoz 4. A normális eloszlás feltételezésével 400 szim. esetén D_max=0.5068 <<0.6271 Hisztogram 60 Gyakoriság 50 40 30 20 10 Gyakoriság delta = 0.000010 (optimum helyen) df/dx0 = -0.050000 df/dx1 = -0.150000 df/dx2 = 0.200000 df/dx3 = -0.350000 df/dx4 = 0.350000 df/dx5 = 0.000000 0 0,30097 0,3318532 0,3627364 0,3936196 0,4245028 Rekesz 0,455386 0,4862692
Köszönöm a figyelmüket!