alpine - openvspopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. ·...

18
9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at: OpenVSP Workshop 2017 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) San Jose State University Research Foundation Aviation Development Directorate, AMRDEC

Upload: others

Post on 17-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

9/1/17

ALPINEAutomated Layout with a Python Integrated NDARC Environment

Presented at:

OpenVSP Workshop 2017

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)San Jose State University Research Foundation

Aviation Development Directorate, AMRDEC

Page 2: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

2

• 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

Army CD&A Design Process

Designer Layout/CAD

Start with geometry

estimates

NDARC geometry output

Update geometry values

Page 3: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

3

CD&A Integrated Design

Environment

Structures

Cost

Aerodynamics

Aeromechanics

Model Database / Geometry

Mass Properties Landing Gear CalculationsInternal Layouts

Signatures

Presentation

Quality Graphics

Fuel System

2.2%

Contingency Wt 2.4%

Other Empty Wt 1.9%

Landing Gear

2.8%

Nacelle+Air Induction

2.4%

Engine System

3.8%

Drive System

7.6%

Inner Wing

7.4%

Wing Extension

1.1%

Rotor

8.7%

Tail

0.8%

Body

11.5%

Flight Controls 2.2%

Electrical System 3.3%

Load Handling 1.2%Furnishings 1.2%

Anti-Ice 0.7%

Vibration 0.5%

Weight Empty

61.8%

Fuel

9.6%

Crew+Fluids+Fixed UL

1.9%

Payload

26.7%

Wetted/Projected Areas

Page 4: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

4

CD&A Integrated Design

Environment

Model Database / Geometry

Mass Properties Landing Gear Calculations

Wetted/Projected Areas

Signatures

Fuel System

2.2%

Contingency Wt 2.4%

Other Empty Wt 1.9%

Landing Gear

2.8%

Nacelle+Air Induction

2.4%

Engine System

3.8%

Drive System

7.6%

Inner Wing

7.4%

Wing Extension

1.1%

Rotor

8.7%

Tail

0.8%

Body

11.5%

Flight Controls 2.2%

Electrical System 3.3%

Load Handling 1.2%Furnishings 1.2%

Anti-Ice 0.7%

Vibration 0.5%

Weight Empty

61.8%

Fuel

9.6%

Crew+Fluids+Fixed UL

1.9%

Payload

26.7%

Internal Layouts

Page 5: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

5

• 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

Motivation

Designer

Start with geometry

estimatesNDARC output

Update valuesLayout/CAD

90% Solution

Page 6: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

6

• 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

ALPINE

Page 7: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

7

• Provides access to all

API calls in Python

• One to one translation

from Angelscript

• The Python wrapper is

included in the source

code but not in the

packaged program

• Must be built with VSP

on the platform that it

will be used on

VSP Python API

The Python API allows us to use VSP alongside a Python

NDARC wrapper and packages such as OpenMDAO

fuse_id = vsp.AddGeom('HeliFuse')

# Set Positions of each Fuselage Section

vsp.SetParmVal(vsp.GetParm(fuse_id,

"X_Rel_Location", "XForm"), x)

vsp.SetParmVal(vsp.GetParm(fuse_id,

“Y_Rel_Location", "XForm"), y)

vsp.SetParmVal(vsp.GetParm(fuse_id,

"Z_Rel_Location", "XForm"), z)

# Set Part Density to Default Zero

vsp.SetParmVal(vsp.GetParm(fuse_id,

"Density", "Mass_Props"), 0.0)

vsp.SetSetFlag(fuse_id,3,True)

return fuse_id

Page 8: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

8

• 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

VSP and NDARC Interface

/* 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"

Page 9: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

9

• Created a library of custom components that

are commonly used

• The custom component skins a generalized

part with the dimensions from the .geom file

• Many components can be created that are

vastly different designs from the same NDARC

parameters

Custom Components

Component Library

• Cargo Fuselage

• Utility Fuselage

• Cowling

• Landing Gear

Wheels

• Nacelles

• Rotor

• Rotor Hub

• Tilt wing

/* Fuselage

Length_fus

Length_nose

Length_aft

Width_fus

Height_fus

Swet_fus

Sproj_fus

Circum_boom

Width_boom

Height_ramp

fLength_cargo

KIND_ramp

Length_fus

fLength_cargo

Length_fus

fLength_cargo

Utility

Fuselage

Cargo

Fuselage

Page 10: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

10

• Currently, ALPINE has a defined set of

standard configurations

• Each configuration sets the necessary

custom components to build the aircraft

• The defaults can then be edited to replace

with other custom components

Configurations

- SMR - Coaxial

- Tiltrotor - Tandem

SMR defaults

NDARC

Component

Custom

Component

Fuselage ‘Helifuse’

Wing ‘Tiltwing’

Tail ‘WING’

Rotor ‘Rotor’

Rotor Hub ‘Rotorhub’

Langing Gear ‘LGwheel’

Cowling ‘Cowling’

Page 11: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

11

• 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

ALPINE Output

Page 12: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

12

• 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

Geometry Update

Page 13: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

13

• 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

Conformal Fuel Tanks

Page 14: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

14

• 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

Mass Properties Analysis

Page 15: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

15

OpenVSP and NDARC Linking

𝝏𝑭𝒖𝒔𝒆 =𝑺𝑾𝒆𝒕−𝑭𝒖𝒔𝒆

(𝑳 𝒙𝑾 𝒙𝑯)

Driver

(Fus. Swet)

Problem

ALPINE

NDARC

Objective

FunctionConstraint

Solution

Swet

Page 16: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

16

Example

Page 17: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

17

• 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

ALPINE 2.0 Tasks

Page 18: ALPINE - OpenVSPopenvsp.org/.../fetch.php?media=workshop17:alpine_2017.pdf · 2018. 4. 1. · 9/1/17 ALPINE Automated Layout with a Python Integrated NDARC Environment Presented at:

18

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]