Importing "UIUC propeller Geometry" error

Skip to first unread message

Aya Khaled

Nov 15, 2022, 1:04:43 PM11/15/22
Hi Emilio, 

I'm trying to import propeller data instead of using the propeller design of SUAVE. I've used the radius, chord, and twist distribution data from the UIUC database, but I keep getting the same error:
 AttributeError: 'Propeller' object has no attribute 'mid_chord_alignment'
it seems that it's used in that line
 Sweep      = np.arctan(prop.mid_chord_alignment/prop.radius_distribution)

That's the code I used:
    # Network
    net                              = SUAVE.Components.Energy.Networks.Battery_Propeller()
    net.number_of_propeller_engines  = 1
    net.identical_propellers         = True
    # Propellers Geometry
    # The tractor propeller
    propeller                        = SUAVE.Components.Energy.Converters.Propeller()
    propeller.origin                 = [[0,0,0.]]
    propeller.number_of_blades       = 2
    propeller.tip_radius             = 11/2 * Units.inch
    propeller.twist_distribution     = np.array([36.414,39.25,40.053,38.239,35.366,32.531,30.047,27.912,25.975,24.217,22.591,21.273,20.146,19.223,18.367,17.943,18.192,14.53])* Units.degrees
    propeller.chord_distribution     = np.array([0.1685,0.1637,0.1619,0.1614,0.1617,0.1634,0.166,0.1684,0.17,0.1702,0.1681,0.163,0.1544,0.1416,0.1237,0.1004,0.0699,0.0086])
    propeller.radius_distribution    = np.array([0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.951,1])
    # pairfoil                       = SUAVE.Components.Airfoils.Airfoil()
    # pairfoil.coordinate_file       = 'C:/Users/Ayakh/Downloads/sec_trial/Airfoils/E221.dat'
    # propeller.airfoil_geometry(pairfoil)

I've seen a conversation here in the forum regarding the same topic, and I tried following the same steps suggested. It seemed very basic, but I'm not sure if I messed something up.  

Also, I'm still new to SUAVE and I'm struggling with knowing how to go about implementing certain stuff. One of which is defining a specific airfoil for the propeller. I tried using the same approach I did to define the airfoil for the main wing, but it doesn't work the same way (as in the 3 commented lines), but I still have an error anyways so I can't tell whether that's how it's done or not. I'd be grateful if you can guide me with how I can approach cases that are not actually implemented in the tutorials.

Id' really appreciate any help on the matter!

Thanks in advance,


Nov 18, 2022, 2:59:41 PM11/18/22
Hi Aya,
The line you're referring has to do with writing an OpenVSP model of the propeller. OpenVSP uses the sweep of the propeller. We however, require the Mid Chord Alignment. It's basically the half chord sweep, but it's not in degrees its a dimensional shift.

If you create a prop in SUAVE it defaults this automatically. If you input the rotor from a UIUC file then you need to also include this information to export the prop. SUAVE doesn't care about the MCA for analysis purposes. If UIUC provides sweep you can work out the MCA. Otherwise, if you're at a total loss, you can make this same assumption.

Reply all
Reply to author
0 new messages