Download presentation
Presentation is loading. Please wait.
Published byJuniper Bradley Modified over 9 years ago
1
Python-based Framework for CFD- based Simulation of Free-Flying Flexible Aircraft: Progress A. Da Ronch University of Liverpool, U.K. IC, London, U.K. 07 February 2013 email: andreadr@liverpool.ac.uk web: http://www.cfd4aircraft.com/andreadr@liverpool.ac.ukhttp://www.cfd4aircraft.com/
2
Motivation Physics-based simulation of very flexible aircraft gust interaction large amplitude/low frequency modes coupled rigid body/structural dynamics nonlinearities from structure/fluid (& control) Nonlinear model reduction for control design system identification methods manipulation of full order residual Control design for FCS of flexible aircraft
3
Full Model - fluid/structure/flight - large order
4
Full Model - fluid/structure/flight - large order Worst-case Gust - shape - wavelength - altitude
5
Full Model - fluid/structure/flight - large order Worst-case Gust - shape - wavelength - altitude Reduced Model - build once - time integration
6
Full Model - fluid/structure/flight - large order Worst-case Gust - shape - wavelength - altitude Reduced Model - build once - time integration Candidate Gust
7
Full Model - fluid/structure/flight - large order Worst-case Gust - shape - wavelength - altitude Reduced Model - build once - time integration Candidate Gust
8
Worst-case Gust - shape - wavelength - altitude Reduced Model - build once - time integration Candidate Gust GLA - control on SS form Full Model - fluid/structure/flight - large order
9
Worst-case Gust - shape - wavelength - altitude Reduced Model - build once - time integration Candidate Gust GLA - control on SS form Full Model - fluid/structure/flight - large order done for linear aero + nonlinear beam ready for CFD + aerofoil to be done for CFD + nonlinear beam
10
PML: Parallel MeshLess Simulation of complex geometries in relative motion Cloud of points Euler, laminar and RANS Schur complement Kennett et al., “An Implicit Meshless Method for Application in Computational Fluid Dynamics”, International Journal for Numerical Methods in Fluids; 2012
11
Pitch-Plunge Aerofoil with CFD Structure: linear/nonlinear Euler equations 7974 points “Heavy” case r α = 0.539 µ = 100 ω ξ /ω α = 0.343
12
Parameter: α 0 = 15 deg U * = 2.0 M = 0.3 Nonlinear: β ξ3 = 10 Free response - full model
13
Full model dofs > 32,000 Reduced model dofs = 2 Free response - full/reduced model
14
Gust param: “1-cos” h g = 12.5 w 0 = 0.01 Full model dofs > 32,000 Reduced model dofs = 2 Gust response - full/reduced model
15
Goland Wing with CFD Gust response - full/reduced model Full model dofs > 100,000 Reduced model dofs = 2
16
Fluid-Structure Interaction Coupling CFD + CSD incompatible topology transfer forces/displacements between domains 1.Surface mesh deformation Moving Least Square method (MLS) [1] mesh-free, conservative, linear,... 2.Volume mesh deformation Inverse Distance Weighting (IDW) [2] or MLS [1] Quaranta et al., “A Conservative Mesh-Free Approach for Fluid-Structure Interface Problems”, Coupled Problems, 2005 [2] Witteveen, “Explicit and Robust Inverse Distance Weighting Mesh Deformation for CFD”, AIAA-2010-0165
17
More at http://www.cfd4aircraft.com/research_flexflight_fsi.htmlhttp://www.cfd4aircraft.com/research_flexflight_fsi.html Open Source Fighter struct points: 429 fluid points : 32,208 DSTL UAV struct points: 1336 fluid points : 8310
18
Deformation: Δx = 5 chords Δy = 5 chords
20
Simulation: M = 0.755 α = 0.016 deg conv = 10 -14
21
Flight Dynamics with CFD
24
# PyFlexFlight.py import Aerodynamics import RigidBodyDyn... # Coupled unsteady simulation for n in range(nstep): self.RunTimestep() # Aerodynamics.py from wrap_CFD import * # Wrap C/C++/F77 code # Access dynamic shared library # RigidBodyDyn.py from wrap_Beam import * # Wrap F90 code # Access dynamic shared library # MeshDeformation.py from wrap_MeshDef import * # Wrap C code # Access dynamic shared library A “new” framework implemented to add flexibility/coupling different codes
25
# PyFlexFlight.py import Aerodynamics import RigidBodyDyn... # Coupled unsteady simulation for n in range(nstep): self.RunTimestep() # Perform inner iterations def RunIteration(): Aerodynamics.UpdateRigidMotion() Aerodynamics.RunIteration() Aerodynamics.GetBodyLoads() self.TransferLoads() RigidBodyDyn.RunIteration() RigidBodyDyn.GetPosVel() self.TransferMotion()
26
# PyFlexFlight.py import Aerodynamics import RigidBodyDyn... # Coupled unsteady simulation for n in range(nstep): self.RunTimestep() # Perform inner iterations def RunIteration(): Aerodynamics.UpdateRigidMotion() Aerodynamics.RunIteration() Aerodynamics.GetBodyLoads() self.TransferLoads() RigidBodyDyn.RunIteration() RigidBodyDyn.GetPosVel() self.TransferMotion() # Perform time-step iteration def RunTimeStep(): Aerodynamics.AdvanceTime() RigidBodyDyn.AdvanceTime() while(not converged): self.RunIteration() Aerodynamics.WriteData() RigidBodyDyn.WriteData()
27
# PyFlexFlight.py import Aerodynamics import RigidBodyDyn... # Coupled unsteady simulation for n in range(nstep): self.RunTimestep() # Perform inner iterations def RunIteration(): Aerodynamics.UpdateRigidMotion() Aerodynamics.RunIteration() Aerodynamics.GetBodyLoads() self.TransferLoads() RigidBodyDyn.RunIteration() RigidBodyDyn.GetPosVel() self.TransferMotion() # Perform time-step iteration def RunTimeStep(): Aerodynamics.AdvanceTime() RigidBodyDyn.AdvanceTime() while(not converged): self.RunIteration() Aerodynamics.WriteData() RigidBodyDyn.WriteData()
28
Conclusion Systematic approach to model reduction applicable to any (fluid/structure/flight) systems control design done in the same way Python-based framework flight dynamics + CFD shown FSI method implemented to add structural flexibility Towards CFD-based analysis of free-flying flexible aircraft gust loads prediction, worst case search, GLA SAS, performance optimization email: andreadr@liverpool.ac.uk web: http://www.cfd4aircraft.com/andreadr@liverpool.ac.ukhttp://www.cfd4aircraft.com/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.