Part 1 Introduction to optiSLang Challenges in Virtual Prototyping • Virtual prototyping is necessary for cost efficiency • Test cycles are reduced and placed late in the product development • CAE-based optimization and CAE-based robustness evaluation becomes more and more important in virtual prototyping • Optimization is introduced into virtual prototyping • Robustness evaluation is the key methodology for safe, reliable and robust products • The combination of optimizations and robustness evaluation will lead to robust design optimization strategies 2 Part 1&2: Introduction and Process integration Application of Multidisciplinary Optimization • Virtual prototyping is an interdisciplinary process • Multidisciplinary approach requires to run different solvers in parallel and to handle different types of constraints and objectives • Arbitrary engineering software with complex non-linear analysis have to be connected • The resulting optimization problem may become very noisy, very sensitive to design changes or ill conditioned for mathematical function analysis (e.g. non-differentiable, non-convex, nonsmooth) 3 Part 1&2: Introduction and Process integration Application of Stochastic Analysis • Structural models become increasingly detailed • Substantially more precise data is required for the analysis, also about uncertainties • Optimized designs lead to high imperfections in sensitivities • Optimized designs tend to loose robustness • Virtual prototyping calls for stochastic analysis to ensure robustness, reliability and safety • Variance-based robustness analysis identifies the sensitivities and shows the response scattering • Reliability-based robustness analysis (reliability analysis) quantifies product risks 4 Part 1&2: Introduction and Process integration How to make a product safe and optimal? Optimizing high end products may require the consideration of the reliability or safety aspect. Ensuring safety with global safety factors (load factors) result in conservative designs and may need verification using tests or simulation. If reliability (safety) needs to be introduced into CAE-based virtual product development, stochastic analysis is the method of choice. Measuring reliability and introducing this measurements into the optimization process leads to robust design optimization. Introducing stochastic analysis is not trivial, a good balance between Know-how of uncertainties, stochastic methodology and statistic post processing is the success key. DYNARDO and optiSLang are technology leaders. 5 Part 1&2: Introduction and Process integration Excellence of optiSLang optiSLang is an algorithmic toolbox for sensitivity analysis, optimization, robustness evaluation, reliability analysis and robust design optimization. optiSLang is the commercial tool that has completed the necessary functionality of stochastic analysis to run real world industrial applications in CAE-based robust design optimizations. optiSLang development priority: safe of use and ease of use! 6 Part 1&2: Introduction and Process integration Robust Design Methodology Definition Start Robust Design Optimization Robust Design Optimization Variance based Robustness Evaluation Sensitivity Study Probability based Robustness Evaluation, (Reliability analysis) Single & Multi objective (Pareto) optimization CAE process (FEM, CFD, MBD, Excel, Matlab, etc.) 7 Part 1&2: Introduction and Process integration Part 2 Process Integration Process Integration Parametric modeling as base for • Customer defined optimization design space • Naturally given robustness/reliability space Design variables: Entities that define the design space Scattering variables: Entities that define the robustness space 9 The CAE process generates the results according to the inputs Part 1&2: Introduction and Process integration Result variables: measures from the system optiSLang Process Integration Arbitrary CAE-processes can be integrated with optiSLang. Default procedure is the introduction auf inputs and outputs via ASCII file parsing. Additionally interfaces to CAE-tools exist. Available interfaces in optiSLang CATIA v5 interface ANSYS workbench interface Excel Plugin Extraction tool kit (ABAQUS, LS-DYNA) Madymo positioner Connected CAE-Solver: ANSYS, ABAQUS, NASTRAN, LS-DYNA, PERMAS, Fluent, CFX, Star-CD, MADYMO, SLang, Matlab, Excel,… 10 Part 1&2: Introduction and Process integration optiSLang Process Integration • optiSLang offers simple-to-use predefined workflows with robust default settings • Script flow and parameterization editor for process integration • Flows for sensitivity, optimization, robustness and reliability • Post processing flow, revaluation flow 11 Part 1&2: Introduction and Process integration Workflow name and identificator • Workflow name is used as name in the workflow tree • Workflow identificator is used as part of the name of the working directory and of appropriate files 12 Part 1&2: Introduction and Process integration optiSLang directory handling ../tutorial1/ project directory ../tutorial1/DirInOutputFiles/ directory of the solver input and output files ../tutorial1/bin/ directory of the start scripts running solver evaluations ../tutorial1/opti_problems/ directory of the problem parameterization files ../tutorial1/Gradient_based_optimization_OPTGRAD/ workflow directory ../tutorial1/Gradient_based_optimization_OPTGRAD/Design_0001/ optiSLang creates design subdirectories for every run, copies all parameterized input files into that directory and starts the external solver there 13 Part 1&2: Introduction and Process integration optiSLang file handling • optiSLang will ask You to define the WorkflowIdentificator. This name will be used by optiSLang when storing result file [Save_WorkflowIdentificator_EA.bin] replay file [Replay_WorkflowIdentificator_EA.bin] • optiSLang will ask You to enter the name for the problem parameterization file my_problem.pro (please define the name of the problem file in the parametrize workflow, we recommend to use *.pro extension) • optiSLang will save algorithm settings from dialogs in .set files • optiSLang writes an report file Report.htm (here all workflow settings and problem definitions are reported) • optiSLang writes an protocol file Protocol.txt where all data operations are logged 14 Part 1&2: Introduction and Process integration How to connect the external solver? • • • • optiSLang runs external CAE-processes via command line or script optiSLang supports scripting via script writer flow optiSLang will create design directories for all external solver runs Using central solver control script (main flow) • All input files including parameters will be copied to the executing directory • Additional input files have to be copied within the central script • Within the script, all solvers and postprocessing/service programs have to be called • Specify which data shall be removed 15 Part 1&2: Introduction and Process integration Script Writer Flow 16 Part 1&2: Introduction and Process integration Distributed computing Example unix shell script using ssh: #!/bin/sh thisDIR=$PWD DESIGN=‘basename $PWD’ cd .. tar czf "$DESIGN".tgz $DESIGN scp "$DESIGN".tgz compute-server:/home/project cd $thisDIR ssh compute-server ‘cd /home/project;\ rm -rf ‘$DESIGN’;\ tar xzf ‘$DESIGN’.tgz;\ cd ‘$DESIGN’;\ cp /home/project/problem/*.inp .;\ cp /home/project/problem/target_values.txt .;\ ansys -b -i input_file.inp -o console.out;\ rm file.*;\ cd ..; rm ‘$DESIGN’.tgz;’ scp compute-server:/home/project/"$DESIGN"/objdat.txt . cd .. rm "$DESIGN".tgz exit 0 17 Part 1&2: Introduction and Process integration Parametrize Editor • optiSLang reads and writes parametric data to and from ASCII • Parameterize functionality Input file: • Optimization variable • Robustness variable • RDO variable • Dependent variables Output file: • Response variable • Response vector • Signals Problem definition section • Optimization Constraints • Robustness criteria • Limit state function • Multiple objectives/terms 18 Part 1&2: Introduction and Process integration Signals in optiSLang • Motivation: numerous scripts were written for extraction, processing and visualization of time or frequency signals • Now signals are available in optiSLang (pre processor, solver, post processor) • Definition at parametrize editor (multiple channel signal objects) • Response parameters can be extracted via signal processing • Response parameters and signals are available for post processing 19 Part 1&2: Introduction and Process integration Success string definition • Success string option will check result files for defined strings • Success string handling is context sensitive: • Gradient-based optimization: Stop when no success • Evolutionary strategy: Stop if >= 50 % of generation fails • DOE/Robustness analysis: no action, non-successful runs are reported in report file and post processing 20 Part 1&2: Introduction and Process integration Dependent parameters • optiSLang allows the definition of dependencies between parameters • Two types are supported: simple (functional) dependencies conditional (if-then) dependencies 21 Part 1&2: Introduction and Process integration Dependent variables • optiSLang allows the definition of free dependent (help) variables • Two types are supported: • simple (functional) dependencies • conditional (if-then) dependencies 22 Part 1&2: Introduction and Process integration Restrictions • Use C format declarations • Use only formats which are successfully identified by the parameterize editor • Windows writes E-format with 3 Exponent characters !!!! • Do not use Tabs in the ASCII files, optiSLang may fail to locate the variable • Do not use spaces (blancs), slashes and umlauts in names • The name strings are limited to 32 characters 23 Part 1&2: Introduction and Process integration Is Your input/response parameter valid? variable type real integer string continuous optimization variable expected (possible) not recommended — discrete optimization variable possible possible possible binary optimization variable possible possible possible stochastic variable with continuous distribution type expected (possible) not recommended — stochastic variable with discrete distribution type possible possible possible single response variable expected (possible) not recommended — response variable vector expected (possible) not recommended — 24 Part 1&2: Introduction and Process integration Running Excel as solver Running Excel as optiSLang solver 1. 2. 3. 4. 5. Input and output parameters in marked lines Import dynardo excel macro Write ASCII input file Modify and run Dynardo Jscript to generate output.txt Parameterize ASCII input output with optiSLang Excel Data Import Excel plugin via support@dynardo.de Exporting Excel Data to optiSLang 1. 2. 3. 4. 5. Install the Dynardo Excel plugin Start plugin Define inputs/outputs/design numbers Write optiSLang binary (*.bin) or ASCII format (*.csv) Post process the data with optiSLang 26 Part 1&2: Introduction and Process integration Optimal translation of scattered variables - measurement of scattering variables can be easily imported and optimal statistic translation (distribution function and correlation) can be fitted using Excel and optiSLang 27 Part 1&2: Introduction and Process integration optiSLang Integration Environment optiPlug SoS - Statistics on Structure ETK - Extraction Tool Kit 28 Part 1&2: Introduction and Process integration Process integration with ANSYS workbench & optiSLang CAD / PDM ANSYS Workbench Structural Mechanics - Fluid Dynamics - Heat Transfer - Electromagnetics An adaptable multi-physics design and analysis system that integrates and coordinates different simulation tasks Sensitivity 29 Robustness Optimization Part 1&2: Introduction and Process integration Reliability Robust Design optiPlug - ANSYS Workbench optiSLang Interface Parameter Manager OptiSLang-Plugin: just click to integrate workbench in optiSLang Parameter & Responses 30 Part 1&2: Introduction and Process integration optiPlug Export • User has to choose/create the optiSLang project directory • Automatic generation of • Workbench input and output files • optiSLang problem definition • Workbench batch run start scripts 31 Part 1&2: Introduction and Process integration optiPlug Procedure • Optimization parameter and stochastic parameter definition is realized within the WB parameter module • Response values are defined within WB • Workbench-addin generates optiSLang project with all necessary ascii files (ascii-parameter and response sets, scripts for automatic Workbench runs, default workflows) • Completion of optimization/robustness problem with optiSLang • Run the optimization/robustness workflow controlled by optiSLang • Re-import of single designs in Workbench after optimization/robustness evaluation new Version optiPlug 3.0 for WB 12 • Update mechanism for existing optiSLang projects • Default: workbench batch mode • copy all workbench files into Design directory • Parallel job distribution supported 32 Part 1&2: Introduction and Process integration Extraction Tool Kit (ETK) 33 Part 1&2: Introduction and Process integration Extraction Tool Kit (ETK) • Extraction toolkit to replace the scripting for result extraction and processing • GUI interface for extraction and processing Batch execution mode Creates optiSLang *.pro file • • • • • • 34 Full functional support of Abaqus *.odb and ANSYS binary files (RST, RTH,RMG, RFL) Support of Adams XML format Support of ASCII output for MADYMO Available on Windows/Linux Part 1&2: Introduction and Process integration Extraction Tool Kit (ETK) • • 35 Operations with scalar, vector and signal objects Definition of optiSLang output parameters Part 1&2: Introduction and Process integration Extraction Tool Kit (ETK) • • • • 36 Output objects are written in additional ASCII text file Parametrization of the outputs is done by ETK Definition of objectives and constraints has to be done by hand Integration of ETK in solver batch script is necessary Part 1&2: Introduction and Process integration Plugins in ABAQUS • Optiqus -Abaqus – Pro/E plug in • Abaqus – Catia plug in • creates a command script which can be executed by the optimization program • uses associative interfaces to update the geometry in Abaqus/CAE • creates Abaqus input files for the CAE models • Additional in Abaqus – Catia plugin (betaversion) • uses Catia design table for input parameters • input parameters are automatically parsed • creates the basic structure for optiSLang including runscript, and DoE workflow 37 Part 1&2: Introduction and Process integration CATIA optiSLang Interface optiSLang plugin with export feature Generation of the optiSLang project 38 Part 1&2: Introduction and Process integration Pre and Post Processing • The Pre Processing • Open architecture, user friendly parametrize editor and one click solution for ANSYS workbench support simulation flow setup • Solving the RDO Task • Easy and safe to use flows with robust default settings allows the engineer to concentrate on his engineering part and let optiSLang do the job of finding the optimal design. • Post Processing • The Interactive case sensitive multi document post processing offers the important plots as default 39 Part 1&2: Introduction and Process integration Post Processing • History of the • Parameters • Objectives • Terms, objectives,.. • Histograms • Anthill plots • Correlation CoD/CoI • Prognosis quality CoP • Pareto Frontier • Parallel Coordinate Plot 40 Part 1&2: Introduction and Process integration Post Processing and Data Extraction • Design Table • Structured table of active optiSLang design data • Overview, parameter, responses, constraints, objectives • Multiple export options • Sorting 41 Part 1&2: Introduction and Process integration SoS – Statistics on Structures The post processor for Statistics on finite element Structures - - Statistic Measurements - Single Designs - Differences between Designs - Variation interval - Minimum/Maximum - Mean Value - Standard deviation - Coefficient of variation - Quantile (± 3 σ) Correlation & CoD - Linear correlation & CoD - At nodal/element level Process quality criteria Cp, Cpk process indices Random field generation - Scatter shape extraction and visualisation 42 [Will, J.; Bucher, C.; Ganser, M.; Grossenbacher, K.: Berechnung und Visualisierung statistischer Maße auf FE-Strukturen für Umformsimulationen; Proceedings Weimarer Optimierung- und Stochastiktage 2.0, 2005] Part 1&2: Introduction and Process integration