150 likes | 310 Views
Aerostructural Optimization with the Component Object Model Technology. Jaehun Lee*, Jang Hyuk Kwon Korea Advanced Institute of Science and Technology Department of Aerospace Engineering Aerodynamic Simulation & Design Integration Lab. 2006. 11. 20. Content. Background Objective
E N D
Aerostructural Optimization with the Component Object Model Technology Jaehun Lee*, Jang Hyuk Kwon Korea Advanced Institute of Science and Technology Department of Aerospace Engineering Aerodynamic Simulation & Design Integration Lab. 2006. 11. 20.
Content • Background • Objective • Component Object Model • Aerostructural optimization • Discussion & Conclusion
Background: ModelCenter • Phoenix Integration Corporation • Process integration environment • Easy to integrate programs running in different computers or different OS’. • Optimization tool • Design of Experiment tool
Background: 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
Objective • 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
Component Object Model • Microsoft’s middleware to support component-based distributed computing. • OMG(Object Management Group): CORBA (Common Object Request 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
Component 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
Component 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 file invoke(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’);
Component 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
Component Object Model: FORTRAN • COM Routine • Cominitialize: to initialize the COM library • Comcreateobject: to create a COM Automation server and return a COM object • 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)
Aerostructural 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
Aerostructural 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)
Aerostructural Optimization: KFLOW (b) Running of KFLOW through ModelCenter (a) Running of KFLOW in Linux
Aerostructural Optimization • Optimization Result
Discussion & 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