Import/export files design. â« Array handling. â« GUI design (SWT/JFace libraries, WindowBuilder). â« Building the CAD model (porting of the Open. CASCADE ...
Missing:
A JAVA DESKTOP APPLICATION FOR AIRCRAFT PRELIMINARY DESIGN A. De Marco, F. Nicolosi, L. Attanasio, P. Della Vecchia
Objectives 2
Development of a software for aircraft preliminary design and MDO (aerodynamics, propulsion, structures, stability and control) Find the best configuration out of thousands A modern, user friendly, fast framework Support for simultaneous management/analysis of several aircraft and/or different configurations of same aircraft Conceived for collaborative design activities Interoperability with other tools/disciplines (CAD/CFD/FEM analysis)
From many to only one 3
Framework overview 4
Several tasks, different priorities
manage user input
perform the analysis of the aircraft
optimize the current configuration
Lean software design to manage the great amount of data and calculations Dual input method to ease batch analysis and integration with other software:
GUI mode Command line mode (no-GUI)
Input methods 5
GUI controls
XML files • •
Custom file Serialized file
Output files 6
XML file Microsoft Excel file (results and input parameters organized in sheets) Charts CAD model ready to be meshed
Interface with external CFD tools 7
The development of the application 8
Java programming language (JDK 1.8) Eclipse IDE A lot of work for:
Import/export files design Array handling GUI design (SWT/JFace libraries, WindowBuilder) Building the CAD model (porting of the Open CASCADE libraries) Arranging the CAD 3D viewer (JavaFX)
Java. Why? 9
Widely supported, continuously updated and improved Many open source libraries available, especially for I/O tasks and for complex mathematical operations Widely supported GUI framework and a GUI visual builder Promotes modularity: easier to work in an ever changing team
Data and analysis handling 10
OOP extremely useful to separate concerns Large pool of static methods to ease testing, and enhance code reusability Three main classes that effectively exploit such methods: o o o
Top level executive class Aircraft class Analysis class
Executing an analysis 11
After performing an analysis, access parameters as: aircraft.getWing().getAerodynamics().getDrag()
Running the application 12
Conclusions 13
Main features and general arrangement complete Work in progress:
Loads Stability Collaborative features, i.e. dealing with:
CPACS (Common Parametric Aircraft Configuration Schema) format designed by the DLR United States Air Force Stability and Control Digital DATCOM (DATa COMpendium) Flight gear simulator input xml file