Battery_Prop guidelines

Skip to first unread message

Dimitris Terzis

Sep 7, 2021, 7:04:45 AM9/7/21
Hi everyone,

I am new to SUAVE and trying to use it for my thesis, where I have to size battery-powered UAVs with a propeller for its propulsion. Following the guidelines and the examples, I managed to build a primary structure, but I am having trouble building the Battery_Propeller network (which is currently missing from doxygen) 

The error I am currently stuck on is the following:
AttributeError: 'Unknowns' object has no attribute 'battery_voltage_under_load'
Which belongs to "state/unknowns" during the "evaluate_thrust" process, so I am guessing it is an input problem?

 My question is, which will the minimum inputs be, in order to properly build the network and eventually overcome the error?

Thank you in advance,


Sep 7, 2021, 10:06:48 PM9/7/21
The doxygen link for battery_propeller is here.

The mission is missing unknowns and residuals that need to be setup a priori. You can see an example here in the Solar UAV tutorial that does this. The mission requires the battery_voltage_under_load and propeller_power_coefficient as well as two residuals (unlike 1 in the solar UAV).

We're very close to the next version of SUAVE that totally changes this. Users won't be required to setup this manually anymore.


Dimitris Terzis

Oct 5, 2021, 7:07:12 AM10/5/21
Hello Emilio,

Thank you for your response and for what you guys are doing!
I have managed to run it without any further errors for a time now, but now it seems that is not converging in any of the mission segments. I am using a constant climb rate-constant speed segment to avoid throttle issues, but I still think that the problem lies somewhere in the prop-battery-motor area. Since I am using already real data, I would like to know more about the propeller inputs and mostly the "design" ones, because I probably feed the program with the wrong ones:

Specifically, design altitude, thrust, power, Cl, and RPM from the propeller, and the expected current from the motor.
I would like to know which design point do you specifically refer to! Should it be the max? Should it be for the cruise condition?

Also, would you recommend updating the package to the programmer version in order to follow the changes that you are constantly doing in the code?

Thanks a lot in advance!


Oct 5, 2021, 3:43:37 PM10/5/21
Hi Dimitris,
If you do have real data it's possible to bypass the propeller design script and input the geometry directly. We have done that before in cases where it's a commercially available propeller, or when someone provides an OpenVSP model.

The propeller design script is useful when you have little knowledge of the vehicle. It uses the Adkins-Liebeck method for optimum propellers. Here's a link to the paper, if you don't have access to AIAA there are other sites who host the paper.

The design point, is whatever point you know about the propeller. If it's cruise information, use that, if it's a climb condition, use that, etc... If you have multiple points where you know the conditions, try all of them. It's likely they won't result in the exact same propeller, but hopefully they should be similar.

You can update to the latest "develop" branch, but it won't change your results (if you're on 2.4).  It sounds like something in your vehicle and mission aren't well matched. There's just new features and some code reorganization. I don't know of any bugs in SUAVE that have been patched that would affect your work. Working on develop is a double edged sword, you do get the latest features, but code syntax does change. So you do have to constantly update your scripts.

Reply all
Reply to author
0 new messages