Source Documentation

aero.py

class Atlas.aero.Aero[source]

Bases: openmdao.main.assembly.Assembly

Array Cl

lift coefficient distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Cm

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Float Omega

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float R

rotor radius

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array c

chord distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float h

height of rotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float tWire

thickness of wire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float visc

air viscosity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float vw

wind velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Array xtL

fraction of laminar flow on the lower surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array xtU

fraction of laminar flow on the upper surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float ycmax
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
configure()[source]
class Atlas.aero.Aero2[source]

Bases: openmdao.main.assembly.Assembly

Array Cl

lift coefficient distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Cm

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Float Omega

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float R

rotor radius

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float anhedral
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array c

chord distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float h

height of rotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array q

deformation

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float tWire

thickness of wire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float visc

air viscosity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float vw

wind velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Array xtL

fraction of laminar flow on the lower surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array xtU

fraction of laminar flow on the upper surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float ycmax
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
configure()[source]

aerostructural.py

class Atlas.aerostructural.AeroStructural[source]

Bases: openmdao.main.assembly.Assembly

Performs an aerodynamic and structural computation on a single configuration given the full set of design parameters. The aerodynamic computation returns the thrust, torque, power, and induced velocity. The structural computation first computes the mass of the helicopter based on the structural description of the spars and chord lengths. It then computes the deformation of the spars, the strains, and the resulting factor of safety for each of the failure modes.

configure()[source]
class Atlas.aerostructural.Results[source]

Bases: openmdao.main.component.Component

Array Cl

lift coefficient distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float Mtot

total mass

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array cE

chord of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float collective

collective angle in radians

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
VarTree fblade
  • default: ‘<Atlas.lift_drag.Fblade object at 0x1097dc770>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’

Array phi

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array q

deformation

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yE

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float MomRot

total moment

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
Float Ptot

total powers

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
Float Qtot

total torque

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
Float Ttot

total thrust

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
Array alphaJig

aerodynamic jig angle

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array di

dihedral angle

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.aerostructural.Switch[source]

Bases: openmdao.main.component.Component

select the appropriate source for blade force data

VarTree fblade_initial
  • default: ‘<Atlas.lift_drag.Fblade object at 0x1097dc890>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
VarTree fblade_updated
  • default: ‘<Atlas.lift_drag.Fblade object at 0x1097dc8f0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
VarTree fblade
  • default: ‘<Atlas.lift_drag.Fblade object at 0x1097dc950>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
execute()[source]

coefficients.py

class Atlas.coefficients.DragCoefficient[source]

Bases: openmdao.main.component.Component

Computes drag coefficient

Float Re

description

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float tc

description

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float xtcL

description

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float xtcU

description

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: False
Float Cd

description

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
execute()[source]
Atlas.coefficients.frictionCoefficient(Re, xtc)[source]

Computes Cf of a flat plate at Re, with xtc fraction of laminar flow

configuration.py

class Atlas.configuration.AtlasConfiguration[source]

Bases: openmdao.main.component.Component

Atlas configuration

Array Cl

lift coefficient distribution

  • default: ‘[ 1.5 1.43 1.23]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False

Array Cm

  • default: ‘[-0.15 -0.12 -0.12]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float H

height of aircraft

  • default: ‘0.5’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
VarTree Jprop
  • default: ‘<Atlas.properties.JointProperties object at 0x1093e5ef0>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Int Ns

number of elements

  • default: ‘10’
  • iotype: ‘out’
Float Omega

rotor angular velocity

  • default: ‘1.03672557568’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float R

rotor radius

  • default: ‘10.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float RQuad

distance from centre of helicopter to centre of quad rotors

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True

Float TEtension

  • default: ‘50.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Array TWire

  • default: ‘[ 1100.]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float anhedral
  • default: ‘0.013962634016’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Int b

number of blades

  • default: ‘2’
  • iotype: ‘out’
Array c

chord distribution

  • default: ‘[ 0. 0.8 1.4 0.4 0.36]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float collective

collective angle in radians

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Array d

spar diameter distribution

  • default: ‘[ 0.0874268 0.050546 0.0314706]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float dQuad

diameter of quad rotor struts

  • default: ‘0.1016’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float etaP

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
VarTree flags
  • default: ‘<Atlas.configuration.Flags object at 0x1093e5e90>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Float h

height of rotor

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
Float hQuad

height of quad-rotor truss

  • default: ‘3.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Array lBiscuit

unsupported biscuit length

  • default: ‘[ 0.3048 0.3048 0.1524]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False

Float lBiscuitQuad

  • default: ‘0.3048’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Float mElseCentre

  • default: ‘9.487’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Float mElseR

  • default: ‘0.032’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Float mElseRotor

  • default: ‘5.11’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float mPilot

mass of pilot (kg)

  • default: ‘71.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Array nCap

number of cap strips

  • default: ‘[0 0 0]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Array nTube

number of tube layers

  • default: ‘[4 4 4]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Int nTubeQuad

number of CFRP layers in quad rotor struts

  • default: ‘4’
  • iotype: ‘out’
VarTree presLoad
  • default: ‘<Atlas.configuration.PrescribedLoad object at 0x1093e5f50>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘1.18’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Array t

  • default: ‘[ 0.14 0.14 0.14]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float tWire

thickness of wire

  • default: ‘0.0016’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Array theta

wrap angle

  • default: ‘[ 0.34906585 0.34906585 0.34906585]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float thetaQuad

wrap angle of quad rotor struts

  • default: ‘0.610865238198’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float visc

air viscosity

  • default: ‘1.78e-05’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float vw

wind velocity

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Array xEA

  • default: ‘[ 0.27 0.33 0.24]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Array xtL

fraction of laminar flow on the lower surface

  • default: ‘[ 0.3 7. 0.3]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Array xtU

fraction of laminar flow on the upper surface

  • default: ‘[ 0.15 7. 0.15]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[ 5.8852]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Array ycmax
  • default: ‘[ 1.4656 3.2944]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: False
Float zWire

depth of wire attachement

  • default: ‘1.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
display()[source]

print values used in AeroStructural/HeliCalc (for debugging)

execute()[source]
class Atlas.configuration.Flags(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Int AeroStr

0 - Assume flat wing, 1 - take deformation into account

  • default: ‘1’
Str CFRPType

type of carbon fibre reinforced polymer

  • default: ‘NCT301-1X HS40 G150 33 +/-2%RW’
  • vartypename: ‘Str’
Int Cdfit

0 - analytic model for drag coefficient, 1 - curve fit on BE airfoils

  • default: ‘1’
Int ConDef

1 - constraints on maximum deformation of the rotor

  • default: ‘0’
Int ConFail

1 - use structural failure as a constraint on optimization

  • default: ‘0’
Int ConJigCont

1 - use jig continuity

  • default: ‘0’
Int ConWireCont

1 - use wire length continuity as a constraint to set appropriate wire forces in multi-point optimizations

  • default: ‘0’
Int Cover

0 - no cover over root rotor blades, 1 - cover

  • default: ‘0’
Int DynamicClimb

0 - vc imposes downward velocity, 1 - vc represents climb (final altitude depends on Nw)

  • default: ‘0’
Int FreeWake

0 - momentum theory, 1 - free vortex ring wake

  • default: ‘1’
Int GWing

0 - Daedalus style wing, 1 - Gossamer style wing (changes amount of laminar flow)

  • default: ‘1’
Int Load

0 - normal run, 1 - gravity forces only, 2 - prescribed load from pLoad

  • default: ‘0’
Int Movie

0 - dont save animation, 1 - save animation

  • default: ‘0’
Int MultiPoint

0 - single point optimization, 1 - 4 point optimization (h=0.5, h=3, wind case, gravity load)

  • default: ‘4’
Int Opt

0 - single run, 1 - optimization

  • default: ‘1’
Int PlotWake

0 - dont plot wake, 1 - plot wake

  • default: ‘0’
Int Quad

0 - prop drive, 1 - quad rotor

  • default: ‘1’
Enum WireType

Material to be used for lift wire

  • default: ‘Pianowire’
  • values: (‘Pianowire’, ‘Vectran’)
  • vartypename: ‘Enum’
  • assumed_default: False
Int wingWarp

0 - no twist constraint, >0 - twist constraint at wingWarp

  • default: ‘0’
class Atlas.configuration.PrescribedLoad(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Float distributedM

Nm/m

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: False
Float distributedX

N/m

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: False
Float distributedZ

N/m

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: False
Float pointM

Nm

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: False
Float pointZ

N

  • default: ‘1.47’
  • vartypename: ‘Float’
  • assumed_default: False
Float y

Point load location

  • default: ‘9.9999’
  • vartypename: ‘Float’
  • assumed_default: False

heli_opt_complex.py

class Atlas.heli_opt_complex.AeroStructuralOpt[source]

Bases: Atlas.aerostructural.AeroStructural

AeroStructural assembly for single point optimization

configure()[source]
class Atlas.heli_opt_complex.ConfigOpt[source]

Bases: Atlas.configuration.AtlasConfiguration

Atlas configuration for single point optimization

Float Omega_opt

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.heli_opt_complex.HeliOpt[source]

Bases: openmdao.main.assembly.Assembly

Single point aero-structural optimization

configure()[source]

heli_opt_multipoint.py

class Atlas.heli_opt_multipoint.AeroStructuralGravity[source]

Bases: Atlas.aerostructural.AeroStructural

AeroStructural assembly for gravity case in multipoint optimization

configure()[source]
class Atlas.heli_opt_multipoint.AeroStructuralHigh[source]

Bases: Atlas.aerostructural.AeroStructural

AeroStructural assembly for high altitude case in multipoint optimization

configure()[source]
class Atlas.heli_opt_multipoint.AeroStructuralLow[source]

Bases: Atlas.aerostructural.AeroStructural

AeroStructural assembly for low altitude case in multipoint optimization

configure()[source]
class Atlas.heli_opt_multipoint.AeroStructuralWind[source]

Bases: Atlas.aerostructural.AeroStructural

AeroStructural assembly for wind case in multipoint optimization

configure()[source]
class Atlas.heli_opt_multipoint.ConfigGravity[source]

Bases: Atlas.configuration.AtlasConfiguration

Atlas configuration for gravity case

Array Cl_opt
  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float H_opt

height of aircraft

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float OmegaRatio
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_opt

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float TWire_opt

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.heli_opt_multipoint.ConfigHigh[source]

Bases: Atlas.configuration.AtlasConfiguration

Atlas configuration for high altitude

Float Cl0_opt
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Cl1_opt
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float H_opt

height of aircraft

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_opt

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float TWire_opt

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.heli_opt_multipoint.ConfigLow[source]

Bases: Atlas.configuration.AtlasConfiguration

Atlas configuration for low altitude

Float H_opt

height of aircraft

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_opt

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.heli_opt_multipoint.ConfigWind[source]

Bases: Atlas.configuration.AtlasConfiguration

Atlas configuration for wind case

Array Cl_opt
  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float H_opt

height of aircraft

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float OmegaRatio
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_opt

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float TWire_opt

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vw_opt

wind velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.heli_opt_multipoint.HeliOptM[source]

Bases: openmdao.main.assembly.Assembly

Multipoint aero-structural optimization

configure()[source]
class Atlas.heli_opt_multipoint.Multipoint[source]

Bases: openmdao.main.assembly.Assembly

Assembly for multipoint AeroStructural optimization.

Evaluates AeroStructural for four cases:
low altitude high altitude wind gravity only
Float Cl0_high
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Cl1_high
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array Cl_max
  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float OmegaRatio
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_high

rotor angular velocity, high altitude

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Omega_low

rotor angular velocity, low altitude

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float TWire_grav
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float TWire_high
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float TWire_wind
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float alt_high

high altitude

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float alt_low

low altitude

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float alt_ratio

proportion of time near ground

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vw

wind velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float P

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
configure()[source]

helicalc.py

class Atlas.helicalc.HeliCalc[source]

Bases: openmdao.main.assembly.Assembly

Performs an aerodynamic and structural computation on a single configuration given the full set of design parameters. The aerodynamic computation returns the thrust, torque, power, and induced velocity. The structural computation first computes the mass of the helicopter based on the structural description of the spars and chord lengths. It then computes the deformation of the spars, the strains, and the resulting factor of safety for each of the failure modes.

configure()[source]

lift_drag.py

class Atlas.lift_drag.Fblade(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Array Fx

drag axis

  • default: ‘[]’
  • units: ‘N/m’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array Fz

lift axis

  • default: ‘[]’
  • units: ‘N/m’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array My

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array P

Power

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Pi

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Pp

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array Q

Torque

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
class Atlas.lift_drag.LiftDrag[source]

Bases: openmdao.main.component.Component

Computes lift and drag

Array Cl

lift coefficient distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Cm

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int Ns

number of Elements

  • default: ‘0’
  • iotype: ‘in’
Float Omega

Rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array c

chord distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array chordFrac

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float tWire

thickness of wire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array vi

induced downwash distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float visc

air viscosity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vw

wind

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array xtL

fraction of laminar flow on the lower surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array xtU

fraction of laminar flow on the upper surface

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array Cd

drag coefficients

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

VarTree Fblade

  • default: ‘<Atlas.lift_drag.Fblade object at 0x10944b2f0>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Array Re

Reynolds number

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array phi

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
dragCoefficientFit(Re, xtU, xtL)[source]

Computes the drag coefficient of an airfoil at Reynolds number Re, with thickness to chord ratio tc, and with xtcU and xtcL fraction of laminar flow on the upper and lower surfaces respectively. The result is a fit on existing HPH airfoils.

execute()[source]

properties.py

class Atlas.properties.ChordProperties[source]

Bases: openmdao.main.component.Component

Computes the mass of the ribs, trailing edge, LE-sheeting and covering given the chord. The mass is computed for each spanwise element. If flagTESpar is 1 then the mass of a trailing edge spar and in-plane truss is added as well.

Int GWing

0 - Daedalus style wing, 1 - Gossamer style wing (changes amount of laminar flow)

  • default: ‘0’
  • iotype: ‘in’
Array c

chord

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtU

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array mChord

mass of chords

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xCGChord

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.properties.DiscretizeProperties[source]

Bases: openmdao.main.component.Component

Discretize properties along rotor blade. Y defines the locations at which the properties are defined. Properties are linearly interpolated between Y locations.

Array Cl_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Cm_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’

Float R

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array c_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array d_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array lBiscuit_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nCap_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nTube_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array t_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array theta_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xEA_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtL_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtU_in

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yWire

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array ycmax

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array Cl

lift coefficient

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Cm

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array c100

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array cE

chord of each element

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array cN

chord at each node

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array lBiscuit

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nCap

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nTube

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array t

airfoil thickness

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array theta

CFRP wrap angle

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xEA

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtL

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtU

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yE

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.properties.JointProperties(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Properties at joint location for buckling analysis

Float d

diameter

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Float lBiscuit

unsupported biscuit length

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Int nCap

number of cap strips

  • default: ‘0’
Int nTube

number of tube layers

  • default: ‘0’
Float theta

wrap angle

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
class Atlas.properties.JointSparProperties[source]

Bases: Atlas.properties.SparProperties

subclass of SparProperties for the joints (needed to dynamically create yN and get other properties from Jprop)

VarTree Jprop
  • default: ‘<Atlas.properties.JointProperties object at 0x1093e5bf0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
execute()[source]
class Atlas.properties.QuadSparProperties[source]

Bases: Atlas.properties.SparProperties

subclass of SparProperties for the QuadCopter-specific spars (needed to dynamically create yN and nCap and provide scalar I/O)

Float RQuad

distance from centre of helicopter to centre of quad rotors

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float dQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float hQuad

height of quad-rotor truss

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float lBiscuitQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int nTubeQuad

number of tube layers

  • default: ‘0’
  • iotype: ‘in’

Float thetaQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float mQuad

mass of Quad spar (scalar

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: True
execute()[source]
class Atlas.properties.SparProperties[source]

Bases: openmdao.main.component.Component

Computes the structural properties of a CFRP spar given the diameter, d, wrap angle, theta, number of tube layers, nTube, and number of cap strips, nCap. Properties are computed for each element along the span, where the node locations are given by yN.

Str CFRPType

description

  • default: ‘’
  • iotype: ‘in’
  • vartypename: ‘Str’
Array d

diameter

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array lBiscuit

description

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array nCap

number of cap strips

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array nTube

number of tube layers

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array theta

wrap angle

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations for each element along the span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array EA

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array EIx

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array EIz

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array GJ

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dy

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array mSpar

description

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]

structures.py

class Atlas.structures.BucklingFailure(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Array torsion

Torsional Buckling failure

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array x

Euler Buckling failure in main spar from wire force

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array z

Euler Buckling failure in main spar from wire force

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
class Atlas.structures.FEM[source]

Bases: openmdao.main.component.Component

Computes the deformation of the spar

Array EA

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array EIx

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array EIz

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array GJ

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array TWire

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array cE

chord of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
VarTree fblade
  • default: ‘<Atlas.lift_drag.Fblade object at 0x10944b7d0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
VarTree flags
  • default: ‘<Atlas.configuration.Flags object at 0x10944b770>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Array mChord

mass of chords

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array mSpar

mass of spars

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
VarTree presLoad
  • default: ‘<Atlas.configuration.PrescribedLoad object at 0x10944b830>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’

Array xCG

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xEA

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yN

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array F

global force vector

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array K

global stiffness matrix

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array k

local elastic stiffness matrix

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array q

deformation

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.structures.Failure(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Float quad_bend

Quad bending moment failure

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Float quad_buckling

Quad Buckling failure

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Float quad_torbuck

Quad torsional buckling failure

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Float quad_torsion

Quad torsional material failure

  • default: ‘0.0’
  • vartypename: ‘Float’
  • assumed_default: True
Array wire

Wire tensile failure

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
class Atlas.structures.Failures[source]

Bases: openmdao.main.component.Component

Computes the factor of safety for each of the failure modes of the spar.

Array EIQuad

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array EIxJ

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array EIzJ

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array Finternal

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array GJQuad

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float RQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float TEtension

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array TWire

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’

Array d

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float dQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
VarTree fblade
  • default: ‘<Atlas.lift_drag.Fblade object at 0x10944ba70>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
VarTree flags
  • default: ‘<Atlas.configuration.Flags object at 0x10944b9b0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’

Float hQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array lBiscuit

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float lBiscuitQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array mChord

mass of chords

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float mElseRotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array mSpar

mass of spars

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nCap

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array nTube

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float nTubeQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
VarTree strain
  • default: ‘<Atlas.structures.Strain object at 0x10944ba10>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’

Float tWire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array theta

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float thetaQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array yN

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yWire

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float zWire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
VarTree fail
  • default: ‘<Atlas.structures.Failure object at 0x10944bad0>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
execute()[source]
material_failure(Ns, strain, theta, nCap, flags)[source]
torsional_buckling_failure(Ns, Finternal, d, theta, nTube, nCap, lBiscuit, flags)[source]
class Atlas.structures.MassProperties[source]

Bases: openmdao.main.component.Component

Computes the total mass and CG of the helicopter

Float R

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
VarTree flags
  • default: ‘<Atlas.configuration.Flags object at 0x10944b6b0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Array mChord

mass of chords

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float mElseCentre

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mElseR

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mElseRotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float mPilot

mass of pilot (kg)

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array mSpar

mass of spars

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float tWire

thickness of wire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array xCGChord

xCG of chords

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xEA

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float ycmax

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float Mtot

total mass

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float mCover

mass of cover

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False
Float mWire

mass of wire

  • default: ‘0.0’
  • iotype: ‘out’
  • vartypename: ‘Float’
  • assumed_default: False

Array xCG

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.structures.MaterialFailure(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Array cap

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array minus

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array plus

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
class Atlas.structures.Strain(iotype='')[source]

Bases: openmdao.main.vartree.VariableTree

Array axial_y

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array back

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array bending_x

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array bending_z

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array bottom

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array front

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array top

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array torsion_y

  • default: ‘[]’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
class Atlas.structures.Strains[source]

Bases: openmdao.main.component.Component

Computes internal forces and strains

Array F

global force vector

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array d

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array k

Local elastic stiffness matrix

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array q

deformation

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array yN

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array Finternal

internal forces

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
VarTree strain

strains

  • default: ‘<Atlas.structures.Strain object at 0x10944b8f0>’
  • iotype: ‘out’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
execute()[source]
class Atlas.structures.Structures[source]

Bases: openmdao.main.assembly.Assembly

structural computation, first computes the mass of the helicopter based on the structural description of the spars and chord lengths. It then computes the deformation of the spars, the strains, and the resulting factor of safety for each of the failure modes.

VarTree Jprop
  • default: ‘<Atlas.properties.JointProperties object at 0x10944be30>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Float R

rotor radius

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float RQuad

distance from centre of helicopter to centre of quad rotors

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float TEtension

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array TWire

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array cE

chord of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array d

spar diameter

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float dQuad

diameter of quad rotor struts

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
VarTree fblade
  • default: ‘<Atlas.lift_drag.Fblade object at 0x10944be90>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
VarTree flags
  • default: ‘<Atlas.configuration.Flags object at 0x10944bdd0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Float hQuad

height of quad-rotor truss

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array lBiscuit

unsupported biscuit length

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float lBiscuitQuad

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mElseCentre

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mElseR

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Float mElseRotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float mPilot

mass of pilot

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array nCap

number of cap strips

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array nTube

number of tube layers

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int nTubeQuad

number of CFRP layers in quad rotor struts

  • default: ‘0’
  • iotype: ‘in’
VarTree presLoad
  • default: ‘<Atlas.configuration.PrescribedLoad object at 0x10944bef0>’
  • iotype: ‘in’
  • copy: ‘deep’
  • vartypename: ‘VarTree’
Float tWire

thickness of wire

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array theta

wrap angle

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float thetaQuad

wrap angle of quad rotor struts

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True

Array xEA

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array xtU

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yN

node locations for each element along the span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array yWire

location of wire attachment along span

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Float ycmax

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float zWire

depth of wire attachement

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
configure()[source]

test_aero.py

class Atlas.test.test_aero.AeroTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setup()[source]
test_aero()[source]

test Aero (with simple actuator disk method for induced velocity calculation)

test_aero2()[source]

test Aero2 (with vortex method for induced velocity calculation)

test_aerostructural.py

class Atlas.test.test_aerostructural.Test_AeroStructural(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the AeroStructural assembly against the HeliCalc.m module from the MATLAB model

test_AeroStructural()[source]

Test the AeroStructural assembly

Atlas.test.test_aerostructural.relative_err(x, y)[source]

test_coefficients.py

class Atlas.test.test_coefficients.AtlasTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setUp()[source]
test_DragCoefficient()[source]
test_frictionCoefficient()[source]

test_configuration.py

class Atlas.test.test_configuration.AtlasTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setup()[source]
test_configuration()[source]
Atlas.test.test_configuration.absolute_err(x, y)[source]
Atlas.test.test_configuration.relative_err(x, y)[source]

test_helicalc.py

class Atlas.test.test_helicalc.Test_HeliCalc(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the HeliCalc assembly against the HeliCalc.m module from the MATLAB model

test_HeliCalc()[source]

Test the HeliCalc assembly

Atlas.test.test_helicalc.relative_err(x, y)[source]

test_lift_drag.py

class Atlas.test.test_lift_drag.AtlasTestLiftDrag(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_LiftDrag()[source]
Atlas.test.test_lift_drag.absolute_err(x, y)[source]
Atlas.test.test_lift_drag.relative_err(x, y)[source]

test_multipoint.py

class Atlas.test.test_multipoint.Test_Multipoint(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test the MultiPoint assembly against the HeliOpt.m module from the MATLAB model

test_HeliOptM()[source]

Test the multipoint optimization (HeliOptM) assembly

test_Multipoint()[source]

Test the MultiPoint assembly

Atlas.test.test_multipoint.relative_err(x, y)[source]

test_properties.py

class Atlas.test.test_properties.AtlasTestProperties(methodName='runTest')[source]

Bases: unittest.case.TestCase

test_chordProperties()[source]
test_discretizeProperties()[source]
test_sparProperties()[source]
test_wireProperties()[source]
Atlas.test.test_properties.absolute_err(x, y)[source]
Atlas.test.test_properties.relative_err(x, y)[source]

test_results.py

class Atlas.test.test_results.Test_Results(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests the Results component

test_Results()[source]

Test the Results component

Atlas.test.test_results.relative_err(x, y)[source]

test_structures.py

class Atlas.test.test_structures.TestStructures(methodName='runTest')[source]

Bases: unittest.case.TestCase

check_FEM(comp, data)[source]

check component FEM results against MATLAB data

check_failures(comp, data)[source]

check component failure results against MATLAB data

check_strains(comp, data)[source]

check component internal force and strain results against MATLAB data

setUp()[source]
tearDown()[source]
test_FEM()[source]

test of FEM calculations

test_Failures()[source]

test of failure calculations

test_Mass()[source]

test of mass properties calculations

test_Strains()[source]

test of internal force and strain calculations

test_Structures()[source]

full up test of integrated structures calculations

test_thrust.py

class Atlas.test.test_thrust.ThrustTestCase(methodName='runTest')[source]

Bases: unittest.case.TestCase

setup()[source]
test_induced_velocity()[source]
test_thrust()[source]

test_vortex.py

class Atlas.test.test_vortex.Test_Vortex(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests the VortexRing component

check_outputs(comp, data)[source]

check VortexRing outputs against MATLAB data

initialize(classname)[source]

create and initialize VortexRing component

test_TimeVortex()[source]

test that the cython version is at least 50x faster

test_VortexRing()[source]

Test the python version of the vortex ring component

test_VortexRingC()[source]

Test the cython version of the vortex ring component

Atlas.test.test_vortex.relative_err(x, y)[source]

testvals.py

class Atlas.test.testvals.values[source]

Bases: object

This object contains a collection of input and output values for the various Atlas functions, for the purpose of testing.

Gamma = array([[-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242], [-0.10610591, -0.75969 , -1.35928923, -0.40376301, -0.23868186, -0.08930098, 0.03137891, 0.12194529, 0.18248012, 1.01669425, 1.60433242]])
Ns = 10
Ntheta = 20
Ntt = 3
Nw = 8
Omega = 1.0367
b = 2
cr = 0.5
dT = array([ 0.0649, 1.5887, 6.8049, 11.2556, 15.7854, 19.8941, 23.2617, 25.7216, 27.2537, 18.6446])
dtheta = 0.157079632679
h = 1.5
qh = array([ 0. , -0.0179, -0.0427, -0.0727, -0.1049, -0.1331, -0.1445, -0.1247, -0.0789, -0.0181, 0.048 ])
r = array([[ 0.00000000e+00, 1.00000000e+00, 2.00000000e+00, 3.00000000e+00, 4.00000000e+00, 5.00000000e+00, 6.00000000e+00, 7.00000000e+00, 8.00000000e+00, 9.00000000e+00, 1.00000000e+01], [ -1.11593049e-16, 7.15433683e-01, 1.46243033e+00, 2.59624697e+00, 3.81663826e+00, 4.97136525e+00, 6.09232212e+00, 7.32178955e+00, 8.67596142e+00, 1.01605690e+01, 1.05758218e+01], [ -2.59964153e-16, 8.16126973e-01, 1.21850796e+00, 1.85625063e+00, 3.01750040e+00, 4.66298569e+00, 6.31195286e+00, 8.20253198e+00, 1.11962451e+01, 1.34738186e+01, 1.22801105e+01], [ -5.53252790e-17, 6.15185945e-01, 1.49147837e+00, 2.07462835e+00, 1.53862945e+00, 4.01866338e+00, 6.72222013e+00, 1.04077871e+01, 1.41701547e+01, 1.59107775e+01, 1.43563035e+01], [ 2.16189801e-16, 1.45417442e+00, 1.36859999e+00, 1.65601745e+00, 7.56745958e-01, 2.92959707e+00, 7.53697525e+00, 1.39774584e+01, 1.66630924e+01, 2.03691716e+01, 1.97796128e+01], [ 2.77353847e-16, 2.83983454e+00, 1.53008618e+00, 9.71787723e-01, 7.50970903e-01, 1.63213144e+00, 9.50947337e+00, 1.67388885e+01, 2.07247030e+01, 2.17343232e+01, 2.12861108e+01], [ 3.77254025e-15, 2.97756287e+00, 2.98407962e+00, 1.98340022e+00, 5.33857509e-01, 7.73232980e-01, 1.39373951e+01, 2.08153233e+01, 2.16303314e+01, 2.05852507e+01, 1.88699496e+01], [ 7.54436320e-15, 2.28911092e+00, 2.64798688e+00, 2.54747315e+00, 5.23194370e-01, 2.49166404e-01, 1.68682202e+01, 2.18784622e+01, 1.77865629e+01, 1.64250080e+01, 1.68467785e+01], [ 7.14511754e-15, 2.83658026e+00, 2.02761978e+00, 2.13772836e+00, 2.47964742e+00, 3.45606596e-01, 2.06915983e+01, 2.19450616e+01, 1.65079032e+01, 1.27424654e+01, 1.96349589e+01]])
rho = 1.18
thetaArray = array([ 0.07853982, 0.23561945, 0.39269908, 0.54977871, 0.70685835, 0.86393798, 1.02101761, 1.17809725, 1.33517688, 1.49225651, 1.64933614, 1.80641578, 1.96349541, 2.12057504, 2.27765467, 2.43473431, 2.59181394, 2.74889357, 2.9059732 , 3.06305284])
vc = 0
vi = array([-1.03436094, -0.78533105, 0.00435388, 0.10583591, 0.16224559, 0.18458877, 0.18900787, 0.23332607, 0.37492639, 0.34628884])
vr = array([[ -4.76034418e-17, -1.01586468e-01, -1.26082039e-01, -1.58267865e-01, -9.22351356e-02, -2.66363983e-02, 1.71275648e-02, 1.01617989e-01, 2.59903360e-01, 5.59048161e-01, 2.65424818e-01], [ -5.84113538e-17, 6.31150921e-02, -1.19772553e-01, -1.80112167e-01, -2.35649413e-01, -1.16023771e-01, 6.00890574e-02, 2.79185259e-01, 9.46964284e-01, 9.82511226e-01, 5.14060415e-01], [ -6.00607126e-19, 4.53123200e-02, -6.33689039e-02, 9.78383939e-02, -3.58437059e-01, -2.19361405e-01, 1.20000960e-01, 8.82515199e-01, 9.01520591e-01, 7.86279628e-01, 5.40876247e-01], [ 9.23941861e-17, 2.62683117e-01, -4.28417964e-02, 1.17799462e-01, -1.87874576e-01, -3.72875720e-01, 2.25948749e-01, 9.54869356e-01, 8.68455584e-01, 8.71905894e-01, 9.13558234e-01], [ 9.60831941e-17, 2.02670853e-01, 9.75970928e-02, 2.19461466e-02, -1.04046887e-01, -3.89743142e-01, 5.97304992e-01, 8.97669710e-01, 7.91509172e-01, 5.42731054e-01, 5.68322423e-01], [ 9.19351430e-16, 1.06108281e-02, 7.55470015e-02, -7.94920745e-03, 1.11850292e-01, -2.11343041e-01, 9.62521618e-01, 8.05453497e-01, 4.64597403e-01, 2.25541235e-01, 2.34977086e-01], [ 1.82328737e-15, -1.30142324e-01, -3.64107595e-02, 5.33014716e-02, 7.07229474e-02, -5.83317242e-02, 9.06504995e-01, 5.44689947e-01, 2.34025614e-01, 2.13628700e-01, 7.11047674e-01], [ 1.71986179e-15, -1.60581236e-02, -2.23066095e-02, -1.08295245e-02, 3.04122291e-01, -2.85815083e-03, 8.25553162e-01, 5.30209110e-01, 2.75643353e-01, 1.15832376e-01, 7.24554362e-01], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])
vz = array([[ 1.55433914e+00, 1.17241198e+00, 5.63179879e-01, 5.29856127e-02, -8.23367599e-02, -1.12713646e-01, -1.13911597e-01, -1.27948020e-01, -1.87490765e-01, -2.81605000e-01, -1.50896947e-01], [ 1.28692718e+00, 1.46664152e+00, 9.39132638e-01, 2.45393955e-01, -1.31355686e-02, -7.10620305e-02, -7.63184084e-02, -9.89914043e-02, -1.79221395e-02, 6.65611856e-04, -1.34925264e-01], [ 1.32160090e+00, 1.44232521e+00, 8.70022888e-01, 1.59482021e-01, 2.97532157e-01, -3.11484375e-02, -4.23697705e-02, -5.20280624e-02, -1.63805256e-02, -3.92832227e-02, 9.25601323e-03], [ 6.80872042e-01, 5.68406202e-01, 1.02818489e+00, 7.76253134e-01, 9.15986473e-01, 3.57441558e-03, -2.73265531e-02, -1.67911690e-03, -3.48975665e-02, 1.09651009e-03, -1.27693546e-02], [ 6.76043393e-01, 1.54087154e-01, 7.47703706e-01, 1.01070091e+00, 1.14065470e+00, 7.66466667e-02, -1.74900954e-02, -1.13143945e-02, 8.85886582e-03, 7.68056724e-02, 6.44381429e-02], [ 6.75970304e-01, 1.46385042e-01, 1.60891471e-01, 7.69203158e-01, 1.40021632e+00, 2.77551784e-01, -1.98659799e-04, 3.13543168e-03, 1.14263537e-01, 8.64807184e-02, -8.83969554e-02], [ 6.75966925e-01, 1.93507568e-01, 2.53354588e-01, 3.50982169e-01, 1.07814108e+00, 8.91541266e-01, -2.46342486e-03, 4.97067855e-02, -1.10970484e-01, -6.69612264e-02, -3.29220958e-02], [ 6.75966766e-01, -6.00945884e-02, 4.60373181e-01, 5.64073892e-01, 1.93425335e-01, 1.22905410e+00, 4.46802690e-04, 3.97251864e-02, -5.63444379e-02, -2.49826446e-02, -3.38379369e-02], [ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]])
yE = array([ 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5])
yN = array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
ycmax = 1.4656
z = array([[ 0. , -0.0179 , -0.0427 , -0.0727 , -0.1049 , -0.1331 , -0.1445 , -0.1247 , -0.0789 , -0.0181 , 0.048 ], [ 4.36506303, 3.48425065, 1.4735452 , -0.18317685, -0.49671375, -0.60374202, -0.65481778, -0.72720999, -0.96472736, -1.13235711, -0.54785034], [ 8.35355333, 7.74223163, 3.97440724, 0.31410264, -0.62420573, -0.95423671, -1.02695393, -1.1752909 , -1.2898336 , -1.29225175, -0.73368151], [ 12.3917423 , 11.31996222, 6.89293066, 1.57967593, -0.13725015, -1.12716586, -1.24581372, -1.45107237, -1.27424196, -1.3069341 , -0.71047942], [ 14.27836151, 13.6726411 , 10.29844518, 5.1917794 , 2.74302078, -1.19612608, -1.38744355, -1.43422053, -1.33662677, -1.47674809, -1.36796463], [ 14.28107918, 11.76344494, 12.82540292, 11.9735729 , 6.32866434, -1.11140858, -1.48347804, -1.44250309, -1.27106154, -1.04517664, -0.88291514], [ 14.28112067, 8.60414455, 10.07530993, 7.78169595, 11.82935903, -0.58662546, -1.48659541, -1.41505732, -0.7792653 , -0.14550683, -0.23309429], [ 14.28112259, 6.03510054, 7.59660289, 11.31781531, 13.93007328, 1.44182438, -1.48249852, -1.22970352, -0.16868314, -0.21906473, -0.97648103], [ 14.28112268, 3.70067867, 4.04847619, 10.00572637, 12.54941028, 5.68671006, -1.48899807, -1.28994371, -0.31616856, -0.04603148, -0.94091165]])

thrust.py

class Atlas.thrust.ActuatorDiskInducedVelocity[source]

Bases: openmdao.main.component.Component

Compute induced velocity using annual-ring actuator disk theory

Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Float R

rotor radius

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array dT

thrust

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float h

height of rotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array vi

induced downwash distribution

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]
class Atlas.thrust.Thrust[source]

Bases: openmdao.main.component.Component

Array Cl

lift coefficient distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Float Omega

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array c

chord distribution

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dr

length of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array r

radial location of each element

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float ycmax
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array chordFrac
  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array dT

Thrust

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]

vortex.py

class Atlas.vortex.VortexRing[source]

Bases: openmdao.main.component.Component

Vortex ring calculations Computes the induced velocity on the rotor blades given the thrust distribution on the rotor

Int Ns

number of elements

  • default: ‘0’
  • iotype: ‘in’
Float Omega

rotor angular velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float anhedral
  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Int b

number of blades

  • default: ‘0’
  • iotype: ‘in’
Array dT

thrust

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float h

height of rotor

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array q

deformation

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Float rho

air density

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Float vc

vertical velocity

  • default: ‘0.0’
  • iotype: ‘in’
  • vartypename: ‘Float’
  • assumed_default: True
Array yN

node locations

  • default: ‘[]’
  • iotype: ‘in’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array Gamma

vortex strength

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array r

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
Array vi

induced velocity

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array vr

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array vz

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True

Array z

  • default: ‘[]’
  • iotype: ‘out’
  • comparison_mode: 1
  • vartypename: ‘Array’
  • assumed_default: True
execute()[source]