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 Calculations

Landing Gear +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 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 • • 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 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 – 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