suavecode / tutorials Goto Github PK
View Code? Open in Web Editor NEWThis is where the tutorial scripts live
License: Other
This is where the tutorial scripts live
License: Other
Hi all,
First, thank you for this powerful tool and the tutorials.
I am trying to lauch the BWB_CFD tutorial and SUAVE returns an error (installed : VSP 3.11.0).
I am under the impression that in get_vsp_areas (Input_Output/OpenVSP/get_vsp_areas.py) the reading of the file Unnamed_CompGeom.csv crashes. The file format may have changed. Here is the contents of the file :
Name, Theo_Area, Wet_Area, Theo_Vol, Wet_Vol
main_wing0,3124.876446,3124.876446,3801.754585,3801.754585
Totals,3124.876446,3124.876446,3801.754585,3801.754585
Tag_Name, Tag_Theo_Area, Tag_Wet_Area
main_wing0,1562.438223,1562.438223
main_wing1,1562.438223,1562.438223
The subsurfs calculations added (I don't know how to disable this calculation from the python code)
I changed the reading of the file (stop when only one element in split string = '\n') : I supposed that the area is one calculated in the first section and not subsurfs.
With this modification, the result I obtained :
# AoA Mach CL CD
0.00000000 0.30000000 0.00249014 0.00112912
0.00000000 0.50000000 0.00286961 0.00149279
0.00000000 0.70000000 0.00377595 0.00250259
0.00000000 0.85000000 0.00695390 0.00971161
0.05235988 0.30000000 0.20416800 0.00426807
0.05235988 0.50000000 0.21541200 0.00524543
0.05235988 0.70000000 0.24162500 0.00819756
0.05235988 0.85000000 0.29267600 0.02799510
0.10471976 0.30000000 0.40301700 0.01387190
0.10471976 0.50000000 0.42178900 0.01712480
0.10471976 0.70000000 0.45752300 0.02798540
0.10471976 0.85000000 0.50738500 0.06668510
is different from the one provided :
0.00000000 0.30000000 0.00357426 0.00198925
0.00000000 0.50000000 0.00385438 0.00262971
0.00000000 0.70000000 0.00471753 0.00444076
0.00000000 0.85000000 0.00856885 0.01859320
0.05235988 0.30000000 0.20620500 0.00821743
0.05235988 0.50000000 0.21761550 0.01013710
0.05235988 0.70000000 0.24444750 0.01578280
0.05235988 0.85000000 0.29654400 0.05575920
0.10471976 0.30000000 0.40600150 0.02727500
0.10471976 0.50000000 0.42532150 0.03379330
0.10471976 0.70000000 0.46278650 0.05568500
0.10471976 0.85000000 0.51038000 0.13394200
Can you confirm the provided data with the new OpenVSP application ?
aerodynamics.settings.discretize_control_surfaces = True
The BWB has not yet been updated to include a tip segment.
This was initially in the main repository.
When I tried running the example code, I received this error message:
Importing "Mission_Plots" module in tut_mission_B737.py should be found nested under Plots.Performance.Mission_Plots line 31
from SUAVE.Plots.Performance.Mission_Plots import *
instead of
from SUAVE.Plots.Mission_Plots import *
I downloaded and installed SUAVE follow the Developer instructions at https://suave.stanford.edu/download/standard_install.html and downloaded the tutorial
from Github at https://github.com/suavecode/SUAVE. and the SUAVE tutorials from https://github.com/suavecode/Tutorials. When I run either the tut_mission_B737.py or tut_solar_uav.py tutorial examples using Anaconda Spyder from the tutoral folder, I get The following Error:
runfile('E:/Users/Bob/Downloads/Suave/Tutorials-2.4.0/tut_mission_B737.py', wdir='E:/Users/Bob/Downloads/Suave/Tutorials-2.4.0')
Traceback (most recent call last):
File "E:\Users\Bob\anaconda3\lib\site-packages\suave-2.4.0-py3.8.egg\SUAVE\Core\Data.py", line 61, in getattribute
return dictgetitem(self,k)
KeyError: 'propulsors'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:\Users\Bob\Downloads\Suave\Tutorials-2.4.0\tut_mission_B737.py", line 947, in
main()
File "E:\Users\Bob\Downloads\Suave\Tutorials-2.4.0\tut_mission_B737.py", line 48, in main
configs, analyses = full_setup()
File "E:\Users\Bob\Downloads\Suave\Tutorials-2.4.0\tut_mission_B737.py", line 83, in full_setup
configs_analyses = analyses_setup(configs)
File "E:\Users\Bob\Downloads\Suave\Tutorials-2.4.0\tut_mission_B737.py", line 108, in analyses_setup
analysis = base_analysis(config)
File "E:\Users\Bob\Downloads\Suave\Tutorials-2.4.0\tut_mission_B737.py", line 143, in base_analysis
energy.network = vehicle.propulsors
File "E:\Users\Bob\anaconda3\lib\site-packages\suave-2.4.0-py3.8.egg\SUAVE\Core\Data.py", line 63, in getattribute
return objgetattrib(self,k)
AttributeError: 'Config' object has no attribute 'propulsors'
The tut_mission_B737.py code seems to setup a turbofan at line 402, but I can find nowhere in the example or in the SUAVE base code where this is assigned to 'propulsors.
I am a relatively new python user, but the SUAVE egg seems to be properly loaded in to my E:\Users\Bob\anaconda3\Lib\site-packages folder SUAVE-2.4.0-py3.8.egg.
Optimum motor design failed. Using slack constraints
Traceback (most recent call last):
File "c:\Users\soren\Downloads\tut_eVTOL.py", line 592, in
main()
File "c:\Users\soren\Downloads\tut_eVTOL.py", line 48, in main
results = mission.evaluate()
^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Mission\Segments\Segment.py", line 180, in evaluate
self.process(self)
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 96, in call
return self.evaluate(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 67, in evaluate
result = step(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Methods\Missions\Segments\Common\Sub_Segments.py", line 137, in sequential_sub_segments
sub_segment.evaluate()
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Mission\Segments\Segment.py", line 180, in evaluate
self.process(self)
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 96, in call
return self.evaluate(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 65, in evaluate
result = step.evaluate(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 67, in evaluate
result = step(args,**kwarg)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Methods\Missions\Segments\converge_root.py", line 50, in converge_root
unknowns,infodict,ier,msg = root_finder( iterate,
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\scipy\optimize_minpack_py.py", line 166, in fsolve
res = _root_hybr(func, x0, args, jac=fprime, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\scipy\optimize_minpack_py.py", line 232, in _root_hybr
shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\scipy\optimize_minpack_py.py", line 29, in _check_func
res = atleast_1d(thefunc(((x0[:numinputs],) + args)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Methods\Missions\Segments\converge_root.py", line 99, in iterate
segment.process.iterate(segment)
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 96, in call
return self.evaluate(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 65, in evaluate
result = step.evaluate(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Process.py", line 67, in evaluate
result = step(*args,**kwarg)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Methods\Missions\Segments\Common\Energy.py", line 87, in update_thrust
results = energy_model.evaluate_thrust(segment.state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Analyses\Energy\Energy.py", line 65, in evaluate_thrust
results = network.evaluate_thrust(state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Components\Energy\Networks\Network.py", line 143, in evaluate_thrust
results_p = net.evaluate_thrust(state)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Components\Energy\Networks\Lift_Cruise.py", line 167, in evaluate_thrust
volts = battery.compute_voltage(state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Components\Energy\Storages\Batteries\Constant_Mass\Lithium_Ion_LiNiMnCoO2_18650.py", line 432, in compute_voltage
V_ul_cell = compute_NMC_cell_state_variables(battery_data,SOC,T_cell,I_cell)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\soren\AppData\Local\Programs\Python\Python311\Lib\site-packages\suave-2.5.2-py3.11.egg\SUAVE\Methods\Power\Battery\Cell_Cycle_Models\LiNiMnCoO2_cell_cycle_model.py", line 51, in compute_NMC_cell_state_variables
V_ul = np.atleast_2d(battery_data.Voltage(pts)[:,1]).T
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'Voltage'
when running "tut_mission_B737_AVL.py",Spyder reported this error :
"
File "C:\Users\01376028\AppData\Local\Continuum\anaconda3\lib\subprocess.py", line 942, in _get_handles
errwrite = msvcrt.get_osfhandle(stderr.fileno())
UnsupportedOperation: fileno
"
I don't know if I am not doing the right thing or what kind of problem, please help me.
thanks~๏ผ
I've noticed several small mistakes in the code for the solar UAV optimization tutorial:
Optimize.py
, line 53: I guess wing_area
should be Units.meter**2
and not Units.meter
, right? (just like for the regional jet optimization tutorial)
Procedure.py
, line 69: Change the dynamic pressure based on the, add a factor of safety
Not quite sure what word is missing there.
If I find more I'll add them here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.