Computational Design Optimization Using Distributed Grid Resources Petri Kere 1 and Juha Lento CSC the Finnish IT Center for Science http://www.csc.fi 1 Tampere University of Technology Insitute of Applied Mechanics and Optimization Acknowledgement: The work of the first author is funded by the Academy of Finland postdoctoral researcher appropriation Grant 202283 (päätösnro 204061)
Introduction Parameter studies, genetic algorithms and Monte Carlo type calculations are examples of pleasantly parallel computational tasks. Pleasantly parallel computational tasks can be effectively calculated in computer clusters or Grids. Overview: Problem formulation Modelling Optimization task Implementation
Problem Statement Using a given set of layer orientations optimize the laminate lay-up for maximum failure margin and structural stability with minimum number of layers and without first ply failure of the laminate.
Numerical Example z AS4/3501-6 t ply = 0.134 mm E 1 = 139.3 GPa E 2 = 11.1 GPa G 12 = 6.0 GPa ν 12 = 0.3 G 23 = 3.964 GPa ν 23 = 0.4 X t = 1950 MPa Y t = 48 MPa X c = 1480 MPa Y c = 200 MPa S 12 = 79 MPa ρ = 1580 kg/m 3 y F z L = 1.0 m, b = w = 0.1 m F y = 2.4 kn, F z = 1.6 kn Tsai-Hill failure criterion F y x
Computational Modelling Tool Elmer is a software package for solving Partial Differential Equations (PDEs) [1]. It has been developed at CSC in collaboration with Finnish universities, research laboratories, and industry. Elmer includes physical models of fluid dynamics, structural mechanics, electromagnetics, vibroacoustics, and heat transfer, for instance. These are described by PDEs which Elmer solves by FEM. Recently the software capabilities have been extended to cover laminated structures composed of orthotropic Fiber-Reinforced Polymer (FRP) composite layers.
Composite Modelling The plate bending problem has been formulated for a thin or moderately thick laminated composite plate. Reissner-Mindlin-Von Kármán type plate model [2] has been implemented including analysis capabilities as follows. Laminate load response including stress-strain analysis of layers Laminate failure prediction including First Ply Failure (FPF) analysis with generalized failure criterion Linear stability Postbuckling behavior (large deformation analysis)
Elmer ElmerFront Ply mechanical properties:.sif Mesh Mesh: Editing ElmerGrid, Ansys, Abaqus, Fidap, FemLab, FieldView (GridGen) Pre-processing: Netgen Laminate structure: Objective and ESAComp, MSC.Laminate ElmerSolver constraint function Modeler values.ep.dat ElmerPost Curve plotting: Matlab Optimizer Post-processing: ESAComp
Structural Optimization Problem The structural weight minimization problem is formulated in discrete form S = { y y = arg min x S N( x)} (1) where x = (x 1, x 2,..., x N ) is the layer orientation identity design variable vector defining the laminate lay-up configuration and S the feasible set of lay-up configurations S = { x g( x) = 1 RF ( x) 0} (2) A set of four allowable layer orientations is defined as Θ = (0, 90, +θ, θ) deg X = (1, 2, 3, 4).
Optimization for Strength and Stability The multi-criteria optimization problem is formulated as max x S [ RF ( x) λ( x) ] = max x S z( x) (3) The image of the feasible set in the criterion space is Λ = { z R 2 z = z( x), x S}. A solution x is Pareto optimal for the problem (3) if and only if there exists no x S such that z i ( x) z i ( x ) for all i = 1, 2 and z i ( x) > z i ( x ) for at least one i = 1, 2. The points z = z( x ) Λ in the criterion space are called the maximal points.
Achievement Function Approach The achievement problem by Wierzbicki [3] to be solved is min z Λ (4) 2 s z ( z) = max i( z i z i )} + c [w i (max{1 z i, 0})] i=1,2 (5) i=1 where z i R, i = 1, 2 are arbitrary reference objectives characterizing aspiration levels for the given criterion vector. At the jth cycle ρ i = w i /(max z (j) i min z (j) i ) and z i = max z (j) i with some fixed weighting vector w > 0 and c > 0. Termination condition is defined as max{min{s z ( z), g( x)}, 0} δ with δ 0.
Search Space The algorithm begins with the generation of initial population, i.e., permutations of Symmetric Even (SE) laminate lay-ups. At each iteration cycle design alternatives are generated as follows. x (j+1) X (j+1) = ( x (j), 3, 4), ( x (j), 4, 3), (3, 4, x (j) ), (4, 3, x (j) ), ( x (j), 1, 1), (1, x (j), 1), (1, 1, x (j) ), ( x (j), 1, 2), (1, x (j), 2), (1, 2, x (j) ), ( x (j), 2, 1), (2, x (j), 1), (2, 1, x (j) ), ( x (j), 2, 2), (2, x (j), 2), (2, 2, x (j) ) (6) Here x (j) denotes half of the selected laminate, e.g., [0/90/ ± θ] SE laminate is denoted by x (j) = (1, 2, 3, 4).
Datastructures and Parallelization { w} i θ, x, z {s( z)} θ, x, { w} j parents }} chidren x I N }} parents x I N chidren x I N+2 0th Generation 1st Generation parents }} x I N+2 chidren 2nd Generation x I N+4
Generation s Flow Chart 1. Select parents from previous Generation using s z ( z) 2. Compute (nonlinear) constraint function g( x) and check convergence 3. Generate children from parent s design point (θ, x) 4. Compute vector objective function z( x)
Computation of Objective Functions optimizer {θ i, x i } { z(θ i, x i )} filter jobf iles resultf iles executor Optimizer implements the search algorithm Filter transforms optimizer s requests to Executor s job description and parses job results Executor runs the jobs in Grid (or in a cluster) Optimizer and executor are persistent, i.e. save their state and automatically continue after restart
Submitting a Single Job to Grid Manually User creates the job specification myjob.xrsl User logs in to the Grid: grid-proxy-init User submits the job to Grid: ngsub -f myjob.xrsl User monitors the job status: ngstat JOB NAME or ngcat JOB NAME User downloads the results: ngget JOB NAME These tasks are to be automated by filter and executor modules for hundreds of modelling runs.
Job Description Example &(rsl_substitution = (TEMPLATE "/home/jlento/python/ngmco/template" )) (jobname = "elmer-template" ) (executable = "wrapper.sh" ) (inputfiles = (wrapper.sh $(TEMPLATE)/wrapper.sh ) (laminate.opt $(TEMPLATE)/laminate.opt ) (Shell.sif $(TEMPLATE)/Shell.sif ) (unchangebles.tar.gz $(TEMPLATE)/unchangebles.tar.gz ) ) (executables = lib/ld-linux.so.3 lib/elements.def ElmerSolver lib/ld-linux.so.3 lib/libc.so.6 lib/libcxa.so.3 lib/libg2c.so.0 lib/libsolver.so Shell) (outputfiles = (layup.opt "" )) (stdout = stdout.txt ) (stderr = stderr.txt ) (cache = yes ) (disk = 150 ) (cputime = 3 ) ( (architecture = i686 ) (architecture = i386 ))
Results w 1 w 2 Lay-up RF RF λ 0.13 0.87 [90/ ± 55/7(0)] SE 1.00274 1.41723 0.42676 0.15 0.85 [90/ 50/7(0)] SE 1.10132 1.43038 0.40723 0.20 0.80 [90/ 45/7(0)] SE 1.14626 1.44884 0.38928 0.25 0.75 [90/ ± 40/7(0)] SE 1.21515 1.47442 0.37288 z y F z c = 9.0 10 7 F y x
Summary NorduGrid is Production class grid facility Running since summer 2002 Open source Simple to use In active developement Attracting more resources to join
References [1] ELMER web site at www.csc.fi/elmer. [2] P. Kere and M. Lyly. Nonlinear Analysis and Design of Laminated Composites using Reissner-Mindlin-Von Kármán Type Plate Model. To appear in Proc. 4th European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS 2004), Jyväskylä, Finland, 24-28 July 2004. P. Neittaanmäki et. al., eds. [3] A. P. Wierzbicki. The Use of Reference Objectives in Multiobjective Optimization. In G. Fandel and T. Gal, eds., Multiple Criteria Decision Making Theory and Applications, Lecture Notes in Economics and Mathematical Systems 177, 468 486, Berlin: Springer-Verlag, 1980. [4] NorduGrid web site at www.nordugrid.org.