Aerostructural Optimization with the Component Object Model Technology
description
Transcript of Aerostructural Optimization with the Component Object Model Technology
Supercomputing Korea 2006
Aerostructural Optimization Aerostructural Optimization with the Component Object Model Technologywith the Component Object Model Technology
Jaehun Lee*, Jang Hyuk KwonJaehun Lee*, Jang Hyuk Kwon
Korea Advanced Institute of Science and Technology
Department of Aerospace Engineering
Aerodynamic Simulation & Design Integration Lab.
2006. 11. 20.2006. 11. 20.
2/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
ContentContent
Background
Objective
Component Object Model
Aerostructural optimization
Discussion & Conclusion
3/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Background: ModelCenterBackground: ModelCenter
Phoenix Integration Corporation Process integration environment
Easy to integrate programs running in different computers or different OS’.
Optimization tool Design of Experiment tool
4/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Background: ModelCenterBackground: ModelCenter
Advantage Analysis server: Java, OS independent Convenient to integrate programs running in various operating
systems
Disadvantage Programming environment: Visual Basic Script, Java Script and
etc. Limited optimizer
• DOT: variable Metric, conjugate gradient, sequential linear programming, sequential quadratic programming
• Genetic algorithm
5/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
ObjectiveObjective
To construct the Multidisciplinary Analysis in the FORTRAN environment with ModelCenter
To use the COM technology
To use object-oriented programming in the FORTRAN environment
6/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Component Object ModelComponent Object Model
Microsoft’s middleware to support component-based distributed computing. OMG(Object Management Group): CORBA (Common Object Req
uest Broker Architecture) Sun: EJB (Enterprise JavaBeans)
A binary standard that defines how objects are created and destroyed and how they interact with each other1)
Different applications from different sources can communicate with each other across process boundaries.
Language independent
1) MSDN online
7/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Component Object ModelComponent Object Model
Object An object combines different data types and creates a new data
type. Structure in C, derived type in FORTRAN90 FORTRAN
• FORTRAN90 supports the object-oriented programming
• Module procedure: a subroutine defined in a module
• Compaq Visual Fortran and Intel Visual Fortran provide subroutines to support COM such as AUTOALLOCATEINVOKEARGS, AUTOADDARG and AUTOINVOKE. complicate to use
8/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Component Object Model: MatlabComponent Object Model: Matlab
Actxserver: to create a COM Automation server and return a COM object for the server's default interface
Invoke: to invoke a method on an object or interface Example: to call ModelCenter in Matlab
%To initialize COM client
mc=actxserver(‘ModelCenter.Application’);%To load a modelcenter fileinvoke(mc,’loadModel’,’D:\public_aserver\kflow.pxc’);
%To assign a parameter for KFLOW
invoke(mc,’setvalue’,’Model.kflow.Input.SolverCondition.FlowItermax’,100);
%To run KFLOW
Cl=invoke(mc,’getValue’,’Model.kflow.Output.SolverLog.Cl’);
9/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Component Object Model: FORTRANComponent Object Model: FORTRAN
To create ModelCenter interfaces with CVF/IVF Fortran Module Wizard
MODULE ModelCenter
…
! Module Procedures
CONTAINS
FUNCTION IModelCenter_getValue($OBJECT, varName, $STATUS)
….
END FUNCTION IModelCenter_getValue
END MODULE
10/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Component Object Model: FORTRANComponent Object Model: FORTRAN
COM Routine Cominitialize: to initialize the COM library Comcreateobject: to create a COM Automation server and return a COM o
bject
ModelCenter interface IModelCenter_loadModel: to load a model IModelCenter_setValue: to set a value in the model IModelCenter_getValue: to get the value of a variable
INTEGER(4):: status,$status2,model_center
CHARACTER(50)::citer
CALL COMINITIALIZE(status)
CALL COMCREATEOBJECT ('ModelCenter.Application', model_center, status)
CALL IModelCenter_loadModel(model_center,cmodel_center)
CALL IModelCenter_setValue(model_center,'Model.KFLOW.Input.SolverCondition.FlowIterMax',citer,$status2)
flowtime=IModelCenter_getValue(model_center,'Model.KFLOW.Output.CLCDLog.FlowTime',$status2)
11/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Aerostructural OptimizationAerostructural Optimization
Flow Analysis KFLOW: in-house code, parallelized multiblock structured solver Navier-Stokes equation, Bald-lowmax turbulence model ONERAM6 OS: Linux
Structural Analysis NASTRAN: MacNeal-Schwendler Corporation (MSC) Linear static analysis Skin, spar, rib OS: Windows
Fluid Structure Interaction Analysis Static aeroelastic analysis
12/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Aerostructural OptimizationAerostructural Optimization
Optimization Design variables
• Aerodynamic: sweepback, upper thickness ratio, lower thickness ratio(3EA)
• Structural: thickness of structural members(12EA) Objective: to find minimum structural weight (estimated by NASTRAN) Constraints
• Aerodynamic:
• Structural: Optimization Algorithm: Sequential Quadratic Programming Language: FORTRAN, Compaq Visual Fortran (CVF)
01/ ,01/ 00 DDLL CCCC
01/ ,01/ 00
13/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Aerostructural Optimization: KFLOWAerostructural Optimization: KFLOW
(b) Running of KFLOW through ModelCenter(a) Running of KFLOW in Linux
14/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Aerostructural OptimizationAerostructural Optimization
Optimization Result
Objective CL CD max max
Initial 293.3 0.16234 0.9359E-02 83.7MPa 1.797E-02m
Designed273.2
(-6.9%)0.16235 0.8960E-02 83.6MPa 1.819E-02m
15/15
AERODYNAMIC SIMULATION & DESIGN INTEGRATION Lab.Supercomputing Korea 2006
Discussion & ConclusionDiscussion & Conclusion
Demonstration of the use of COM in FORTRAN Based on the use of commercial programs (CVF, ModelCenter) Object-oriented programming via FORTRAN Application of COM in the aerostructural optimization Alternative approach for integrating programs in the
multidisciplinary analysis