Presented at: OpenVSP Workshop 2017
ALPINE Automated Layout with a Python Integrated NDARC Environment
Distribution Statement A – Approved for Public Release – Distribution Unlimited. Review Completed by AMRDEC Public Affairs Office on 25 August 2017, (PR #3164)
Presented by: Travis Perry (CTR) 9/1/17 San Jose State University Research Foundation Aviation Development Directorate, AMRDEC Army CD&A Design Process
• Army Aviation Development Directorate - Concept Design & Assessment Tech Area • The Army team for conceptual design of rotorcraft • Our design tool is NDARC (NASA Design and Analysis of Rotorcraft) • NDARC uses estimates for geometry driven values. In order to close on a design, we iterate with a 3d model • NDARC does not use a 3d representation to check the values for model consistency • Use VSP to iterate quickly and reach consistent geometry solution
Start with geometry estimates
NDARC geometry output
Update geometry values Designer Layout/CAD
2 CD&A Integrated Design Environment
Mass Properties Internal Layouts Landing Gear Calculations
Landing Gear Nacelle+Air Induction 2.8% 2.4% Body 11.5% Engine System Aeromechanics Tail 3.8% 0.8% Crew+Fluids+Fixed UL 1.9%
Fuel Rotor 9.6% 8.7% Drive System Weight Empty 7.6% 61.8% Payload 26.7% Wing Extension Fuel System 1.1% 2.2% Flight Controls 2.2% Inner Wing Electrical System 3.3% 7.4% Anti-Ice 0.7% Contingency Wt 2.4% Vibration 0.5% Other Empty Wt 1.9% Furnishings 1.2% Load Handling 1.2% Cost
Model Database / Geometry Aerodynamics
Signatures
Structures
Presentation Wetted/Projected Areas Quality Graphics
3 CD&A Integrated Design Environment
Mass Properties Internal Layouts Landing Gear Calculations
Landing Gear Nacelle+Air Induction 2.8% 2.4% Body 11.5% Engine System Tail 3.8% 0.8% Crew+Fluids+Fixed UL 1.9%
Fuel Rotor 9.6% 8.7% Drive System Weight Empty 7.6% 61.8% Payload 26.7% Wing Extension Fuel System 1.1% 2.2% Flight Controls 2.2% Inner Wing Electrical System 3.3% 7.4% Anti-Ice 0.7% Contingency Wt 2.4% Vibration 0.5% Other Empty Wt 1.9% Furnishings 1.2% Load Handling 1.2%
Model Database / Geometry
Signatures
Wetted/Projected Areas
4 Motivation
• Reduce design cycle time to close on a design • Provide geometry based feedback to design iteration • Rapidly make rule based geometry corrections • Integrate geometry into an optimization loop • Provide closed design to layout engineer
Start with geometry estimates NDARC output
90% Solution
Update values Designer Layout/CAD
5 ALPINE
• Automated Layout with a Python Integrated NDARC Environment (ALPINE) is a Python based toolset to generate rotorcraft geometry from NDARC output • Allows designers to rapidly generate geometry for visual feedback • Provides parameter feedback for model updates and optimization
6 VSP Python API
fuse_id = vsp.AddGeom('HeliFuse') • Provides access to all API calls in Python # Set Positions of each Fuselage Section vsp.SetParmVal(vsp.GetParm(fuse_id, • One to one translation "X_Rel_Location", "XForm"), x) from Angelscript vsp.SetParmVal(vsp.GetParm(fuse_id, “Y_Rel_Location", "XForm"), y) • The Python wrapper is vsp.SetParmVal(vsp.GetParm(fuse_id, included in the source "Z_Rel_Location", "XForm"), z) code but not in the # Set Part Density to Default Zero packaged program vsp.SetParmVal(vsp.GetParm(fuse_id, • Must be built with VSP "Density", "Mass_Props"), 0.0)
on the platform that it vsp.SetSetFlag(fuse_id,3,True) will be used on return fuse_id
The Python API allows us to use VSP alongside a Python NDARC wrapper and packages such as OpenMDAO
7 VSP and NDARC Interface
• NDARC outputs a geometry file with component parameters • The .geom file is a simple text file that contains basic geometric information on all components • This includes everything from wing and rotor specifics, overall dimensions, component locations, etc • The .geom file is parsed into a Python dictionary as input for ALPINE
/* Fuselage Length_fus = 41.00000 Length_nose = 15.00000 Length_aft = -6.000000 Width_fus = 7.750000 Height_fus = 5.750000 Swet_fus = 1300.000 Sproj_fus = 190.0000 Circum_boom = 18.00000 Width_boom = 2.700000 Height_ramp = 0.000000 fLength_cargo = 0.350000 KIND_ramp = "none"
8 Custom Components
• Created a library of custom components that Component Library are commonly used • Cargo Fuselage • The custom component skins a generalized • Utility Fuselage part with the dimensions from the .geom file • Cowling • Many components can be created that are • Landing Gear vastly different designs from the same NDARC Wheels parameters • Nacelles • Rotor /* Fuselage • Rotor Hub Length_fus Length_nose • Tilt wing Length_aft fLength_cargo Width_fus fLength_cargo Height_fus Swet_fus Sproj_fus Circum_boom Length_fus Width_boom Length_fus Height_ramp Utility fLength_cargo Cargo Fuselage KIND_ramp Fuselage
9 Configurations
• Currently, ALPINE has a defined set of SMR defaults standard configurations NDARC Custom - SMR - Coaxial Component Component
Fuselage ‘Helifuse’
Wing ‘Tiltwing’ - Tiltrotor - Tandem Tail ‘WING’
Rotor ‘Rotor’
Rotor Hub ‘Rotorhub’ • Each configuration sets the necessary custom components to build the aircraft Langing Gear ‘LGwheel’
• The defaults can then be edited to replace Cowling ‘Cowling’ with other custom components
10 ALPINE Output
• Outputs a .vsp3 file • This is an example of a large wing compound made with the tool • The model can now be queried for various values – Wetted area – Projected area – Run a geometry update – Fuel Tank placement – Mass Properties – Landing gear sizing and placement
11 Geometry Update
• NDARC has no 3D representation of the model • Geometric inconsistencies occur • We check the model versus our own geometry rules • A routine adjusts placements to fix the inconsistencies
12 Conformal Fuel Tanks
• Fuel tanks use VSP conformal components • Placement and sizing rules were developed to limit the region the tank can occupy • A sizing routine is run to match the required fuel volume from the NDARC output for design closure • Ensures adequate space claims for fuel volumes
13 Mass Properties Analysis
• NDARC design file lists the weight breakdown • Most OML components are given a volumetric density • Internal components are represented by ‘BLANKS’ and are assigned corresponding masses • VSP’s Mass Prop Analysis is run to compute the inertial properties • The CG output is used to size and place landing gear
14 OpenVSP and NDARC Linking
Problem
Driver Solution NDARC (Fus. Swet)
ALPINE Swet
Objective Constraint Function
푺 흏 = 푾풆풕−푭풖풔풆 푭풖풔풆 (푳 풙 푾 풙 푯)
15 Example
16 ALPINE 2.0 Tasks
• More object oriented code • Implement config file to set defaults • Give more power to the user with more designer intent • Create example cases to show full capability • Auto documentation • Make open source to release to all NDARC users
17 AMRDEC Web Site www.amrdec.army.mil
Facebook www.facebook.com/rdecom.amrdec
YouTube www.youtube.com/user/AMRDEC
Twitter @usarmyamrdec
Public Affairs [email protected]
18