Propeller Wake Model Error

118 views
Skip to first unread message

Aaron Gilbrook

unread,
Feb 22, 2023, 11:50:25 AM2/22/23
to SUAVE FORUM
Hi,

I am attempting to use the propeller wake model implemented in SUAVE for an electric distributed propulsion propeller aircraft. I am using the rotor wake fidelity one method to run the analysis with fidelity zero aerodynamic analysis. In running the main script, the following error is raised:

File ~\OneDrive - University of Southampton\AeroAstroY3\FEEG3003 Individual Project\SUAVE\New Analysis\REDP_SBW.py:1224 in <module>
    main()

  File ~\OneDrive - University of Southampton\AeroAstroY3\FEEG3003 Individual Project\SUAVE\New Analysis\REDP_SBW.py:92 in main
    plot_vehicle(configs.base,plot_control_points = True)

  File ~\anaconda3\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Plots\Geometry\plot_vehicle.py:88 in plot_vehicle
    plot_propeller_wake(axes, prop, wake_face_color, wake_edge_color, wake_alpha)

  File ~\anaconda3\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Plots\Geometry\plot_vehicle.py:201 in plot_propeller_wake
    wVD = prop.Wake.vortex_distribution.reshaped_wake

  File ~\anaconda3\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Core\Data.py:69 in __getattribute__
    return objgetattrib(self,k)

AttributeError: 'Rotor_Wake_Fidelity_One' object has no attribute 'vortex_distribution'

Does this mean the wake shape has not converged, and thus the vortex distribution is not generated, or is there something else I need define?

Any help would be greatly appreciated.

Aaron

Emilio

unread,
Mar 15, 2023, 2:27:04 AM3/15/23
to SUAVE FORUM
Hi Aaron,
That error is in the plotting script. There's no vortex distribution attached to the prop. There's a lot of reasons why it might not be working. The plot could be made too soon. The wrong config selected.

-Emilio

Jaeseok Oh

unread,
Mar 16, 2023, 4:35:25 AM3/16/23
to SUAVE FORUM
Hi Emilio,

I've been conducting an investigation of DEP slipstream analyses. I have a same attributeerror, 'Rotor_Wake_Fidelity_One' object has no attribute 'vortex_distribution' in different file(slipstream_test.py in 2.5.2 master version).
I am running Lift_Rotor_Slipstream(wake_fidelity) function and only changed wake fidelity (0 -> 1). 

In running the main script, the following error is raised:

  File "c:\Users\user0905\Desktop\SUAVE-2.5.2\regression\scripts\slipstream\slipstream_test.py", line 57, in main
    Lift_Rotor_Slipstream(wake_fidelity=1)
  File "c:\Users\user0905\Desktop\SUAVE-2.5.2\regression\scripts\slipstream\slipstream_test.py", line 231, in Lift_Rotor_Slipstream
    results =  VLM(state.conditions,settings,vehicle)
  File "C:\Miniconda3\envs\SUAVE_252\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Methods\Aerodynamics\Common\Fidelity_Zero\Lift\VLM.py", line 240, in VLM
    rhs = compute_RHS_matrix(delta,phi,conditions,settings,geometry,pwm)
  File "C:\Miniconda3\envs\SUAVE_252\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Methods\Aerodynamics\Common\Fidelity_Zero\Lift\compute_RHS_matrix.py", line 106, in compute_RHS_matrix
    rot_V_wake_ind += r.Wake.evaluate_slipstream(r,geometry,num_ctrl_pts)
  File "C:\Miniconda3\envs\SUAVE_252\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Analyses\Propulsion\Rotor_Wake_Fidelity_One.py", line 203, in evaluate_slipstream
    rot_V_wake_ind = self.evaluate_wake_velocities(rotor, wing_CPs, ctrl_pts)
  File "C:\Miniconda3\envs\SUAVE_252\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Analyses\Propulsion\Rotor_Wake_Fidelity_One.py", line 236, in evaluate_wake_velocities
    wake_vortex_distribution = rotor.Wake.vortex_distribution
  File "C:\Miniconda3\envs\SUAVE_252\lib\site-packages\suave-2.5.2-py3.9.egg\SUAVE\Core\Data.py", line 69, in __getattribute__

    return objgetattrib(self,k)
AttributeError: 'Rotor_Wake_Fidelity_One' object has no attribute 'vortex_distribution'

If I understand correctly, doesn't the spin() function create a rotor.Wake.vortex_distribtuion'?

I hope you can help me with that:)

Jaeseok
2023년 3월 15일 수요일 오후 3시 27분 4초 UTC+9에 Emilio님이 작성:

Racheal Erhard

unread,
Apr 22, 2023, 1:39:43 AM4/22/23
to SUAVE FORUM
Hi Jaesok,

This error will occur when you try to compute the interaction of a Fidelity 1 rotor wake that has yet to be generated.

In this regression test, the Lift_Rotor_Slipstream() case was not set up for a Fidelity 1 evaluation. To make this work within the context of this example, you would need to run the spin function on each rotor instance, or have each rotor inherit the original rotor wake in the case of identical rotors. That said, this is a regression test and is intended for code coverage purposes only. Because of this, I would not recommend following this structure, and would instead point you to examples using the network analysis, as this is all taken care of within the battery propeller network. The Propeller_Slipstream() function in that script, for example, follows that framework better.

Best,
Racheal
Reply all
Reply to author
Forward
0 new messages