540 likes | 951 Views
CORBA-based Integration of Simulation Workflows. A. Holtz, S. Kolibal, J-V. Peetz, A. Weihermüller, K. Wolf Institute for Algorithms and Scientific Computing (SCAI) GMD- German National Research Center for Information Technology. Overview. Definition of our Problem Area
E N D
CORBA-based Integration of Simulation Workflows A. Holtz, S. Kolibal, J-V. Peetz, A. Weihermüller, K. Wolf Institute for Algorithms and Scientific Computing (SCAI) GMD- German National Research Center for Information Technology
Overview • Definition of our Problem Area • Iterative Modifications in Large Engineering Simulations • Object Oriented Data Structures • CORBA and JAVA as Implementation Layer • System Architecture • Going through an Example • Conclusion
www. .de
Iterative Modifications in Large Engineering Simulations • Object Oriented Data Structures • CORBA and JAVA as Implementation Layer • System Architecture • Going through an Example • Conclusion Definition of ourProblem Area
Engineering Departments Design and construction Simulation and optimisation Industrial Branches Automotive Aircraft Mechanical Engineering …... Application Fields
Numerical Simulation Disciplines Structural Analysis Crash Simulation Metal Forming .. Computational Fluid Dynamics Electro-Mechanical ... Simulation Areas
Commercial Tools without Source Code Access CAD Preprocessing, Mesh-Generator Assembly Simulation Optimisation and Postprocessing Visualisation and VR ... Engineering Tools
Variety of proprietary tools Designed for standalone interactive use In binary and with poor programming interfaces Established at end-users sites Lots of non-matching data-formats Syntactically incompatible Semantically loss of information through converting Engineering Data Flow Existing only in the hands & heads of the engineers What is the Problem
Easy exchange of information between tools Overall definition of data organisation Tool independent Based on small units Providing hierarchical organisation schemes Central point of view and control Distributed workflow Easy adaptation of proprietary tools What is our Goal
Definition of our Problem Area • Object Oriented Data Structures • CORBA and JAVA as Implementation Layer • System Architecture • Going through an Example • Conclusion Iterative Modifications inLarge Engineering Simulations
Machine 1 Machine 2 Machine 3 Machine 4 Distributed Working User Tool Network Host Disk
Iterative Modification Car Design by Microsoft
Complexity of Structural Analysis 2 Million Car Design by BMW
1 Subset for each simulation discipline Data Sets used for 1 Part CAD Construction Definition of Material Numerical Model Loads Boundary Conditions Example: Fuel Tank Simulation Results Optimisation Parameters Visualisation Data
Working with local Parts yesterday today tomorrow
Definition of our Problem Area • Iterative Modifications in Large Engineering Simulations • CORBA and JAVA as Implementation Layer • System Architecture • Going through an Example • Conclusion Object Oriented Data Structures
Object-oriented data organisation Interface specification in CORBA/IDL Direct access to each data item System implemented through CORBA components Easy extensions through modular architecture Adapter-Libraries for CAE-Tools Concepts for Integration of Data
Different interpretations of model quantities e.g. ‘Stress’ in Crash and Metal forming Different material data bases Different views on hierarchies e.g. ‘Parts’ or ‘Configuration Groups’ Different numerical models e.g. element definitions are not compatible Problems
Data organisation does not define any physics Definition of a minimal set of very basic objects Numerical Models: nodes, elements, subsets, .. Element definition: using an element catalogue Material: IDs referring to tool specific data bases Definition of Links between objects definition of different basic link types e.g. loads, weld types, boundary conditions, ... Solution
Assembly Groups, Units and Links Assembly- Group Assembly- Group Link Link Link Assembly- Unit Link Assembly- Unit Assembly- Unit Assembly- Unit Set Model Result Properties Link Stub
Set Set Set Model Model Model Result Result Result Properties Properties Properties Link Stub Link Stub Link Stub Set Set Set Result Result Result Properties Properties Properties Link Stub Link Stub Link Stub Set Set Set Result Result Result Properties Properties Properties Link Stub Link Stub Link Stub Adaptive Models in Assembly Units Assembly- Unit
createAssemblyGroup() initModel() putCoor() putElements() closeModel() initResult() put-NodeResult() putElementResult() closeResult() delete AssemblyGroup() Interface Specification (1)
getAssemblyGroup() getAssemblyUnits () getResultDescriptors () getCoor () getElements () getElementResult () getNodeResult () Interface Specification (2)
Definition of our Problem Area • Iterative Modifications in Large Engineering Simulations • Object Oriented Data Structures • System Architecture • Going through an Example • Conclusion CORBA and JAVAas Implementation Layer
Industrial middleware standard for client-server applications Transparent access to services (like compute services) No essential performance degradation Object oriented interfaces (CORBA-IDL) Why CORBA?
Workflow Management System TENT 1999 first implementation by GMD & DLR Further Development by DLR SISTEC Applications in Aeronautics, Automotive and others http://www.sistec.dlr.de/tent Application Layer
Definition of our Problem Area • Iterative Modifications in Large Engineering Simulations • Object Oriented Data Structures • CORBA and JAVA as Implementation Layer • Going through an Example • Conclusion System Architecture
BrowserGUI BrowserGUI BrowserGUI BrowserGUI CAE Tool CAE Tool CAE Tool CAE Tool Wrapper Wrapper Wrapper Wrapper DataServer AVS Import/Export Import/Export Import/Export Import/Export VTK Reduce … PostProc Data ManagementComponent System Integration Platform: TENT 0.9 Middleware: JAVA 1.2, CORBA
System Services Extended Name Service Factories and Job Management DataServer Central Component acting as data cache Putting data items into the right place File Management writing and reading the actual data to a file Basic Components
Based on I/O Communication Starting tools in batch-mode Co-Processes as CORBA-adapters communication via Files using IPC Direct Adaptation of Tools CORBA-main using the tool as a library Tool main routine calls CORBA library CAE Tool-Wrapper
Proprietary Formats Reading and writing Extracting data Composing input decks from collected informations Temporary Files Additional files for internal use Data Base Persistent data bases (e.g. material definitions) Format Import and Export
InputData Common Data AssemblyUnit $ENTER COMPONENT NAME = Konsole DOFTYPE = DISP MATH $STRUCTURE $COOR 305 1.559560E+03 -4.738740E+02 3.945060E+02 306 1.556520E+03 -4.759290E+02 3.945120E+02 307 1.554500E+03 -4.789900E+02 3.945160E+02 ... $ELEMENT TYPE = QUAD4 545 866 1025 909 855 546 864 910 1025 866 547 1025 1026 908 909 548 910 911 1026 1025 ... $GEODAT SHELL CONT = THICK P1 2.000000E+00 2.000000E+00 2.000000E+00 & 2.000000E+00 P2 2.000000E+00 2.000000E+00 2.000000E+00 & 2.000000E+00 P3 1.500000E+00 1.500000E+00 1.500000E+00 & 1.500000E+00 ... $MATERIAL NAME = M1_8 TYPE = ISO ! $ELASTIC GENERAL INPUT = DATA 2.100000E+05 3.000000E-01 ! $DENSITY GENERAL INPUT = DATA 7.850000E-15 ! $END MATERIAL GeoDatSymbolTable Codespecific Data MaterialSymbolTable Importing Native File Formats
Browsing and Modification of Information Name service Data contents Controlling Tools Setting parameters Starting tools Runtime control and job monitoring Graphical User Interface
Based on simulation results additional post -processing can easily be realised Reduction Algorithms Analysing tools Public Domain Visualiser High End VR ... Additional Postprocessors
Definition of our Problem Area • Iterative Modifications in Large Engineering Simulations • Object Oriented Data Structures • CORBA and JAVA as Implementation Layer • System Architecture • Conclusion Going through an Example
CAD: Geometries in CATIA-native Preprocessing: FE-Modelling with MEDINA Configuration: with Assembler/CrashViewer Simulation: Structural Analysis with PERMAS Visualisation: AVANGO, AVS oder VTK Integration: DataServer and CORBA-Wrappers Tools in the Workflow
DS* DS* DS* DS* Material-Database (ASCII) <*>.matdb CAD Geometry (CATIA Modell) <AssUnit>.model Attributs (ASCII) <AssUnit>.attrib Structural Organi- sation(ASCII) <AssGroup>.struct Linklist Definitions (ASCII) <AssGroup>.linklist Weldpoints, Weldtype IDs, other Linktypes, Loads Boundary Conditions Description of Geometry including internal sets Materialsa and their Properties Material ID, Wall Thickness, Fe-Element Types Hierarchical Organisation of Parts Weldtype-Database (ASCII) <*>.weldtype Elementtypes including physical Properties, max. Distance of Weldsurfaces FEA FE-Modell Assembler Importer n n DataServer Example Dataflow