Hi,
in my vehicle I use the network SUAVE.Components.Energy.Networks.Internal_Combustion_Propeller() and two engines SUAVE.Components.Energy.Converters.Internal_Combustion_Engine().
I want to add two propellers and did that by using SUAVE.Components.Energy.Converters.Propeller(). However, this function requires many details about the Propeller, like design altitude, CL, polars, etc. which I copied them from a tutorial file.
My mission has only one cruise segment:
segment = Segments.Cruise.Constant_Speed_Constant_Altitude(base_segment)
segment.tag = "cruise"
segment.analyses.extend(analyses)
segment.altitude = 7620 * Units.m
segment.air_speed = 480 * Units.kph
segment.distance = 5500 * Units.km
ones_row = segment.state.ones_row
segment.state.numerics.number_control_points = 16
segment.state.unknowns.throttle = ones_row(1)
segment = vehicle.networks.internal_combustion.add_unknowns_and_residuals_to_segment(segment, rpm=1200)
segment.process.iterate.conditions.stability = SUAVE.Methods.skip
segment.process.finalize.post_process.stability = SUAVE.Methods.skip
# add to mission
mission.append_segment(segment)
With that everything works. Now I want to replace the propellers with the
SUAVE.Components.Energy.Converters.Propeller_Lo_Fid()function, which (in my understanding) only needs
tip_radius and
propulsive_efficiency.
What do I need to change besides the prop function? Because right now I get the following error:
Traceback (most recent call last):
File "reference_suave.py", line 446, in <module>
main()
File "reference_suave.py", line 51, in main
results = mission.evaluate()
File "../SUAVE/Analyses/Mission/Segments/Segment.py", line 180, in evaluate
self.process(self)
File "../SUAVE/Analyses/Process.py", line 96, in __call__
return self.evaluate(*args,**kwarg)
File "../SUAVE/Analyses/Process.py", line 67, in evaluate
result = step(*args,**kwarg)
File "../SUAVE/Methods/Missions/Segments/Common/Sub_Segments.py", line 137, in sequential_sub_segments
sub_segment.evaluate()
File "../SUAVE/Analyses/Mission/Segments/Segment.py", line 180, in evaluate
self.process(self)
File "../SUAVE/Analyses/Process.py", line 96, in __call__
return self.evaluate(*args,**kwarg)
File "../SUAVE/Analyses/Process.py", line 65, in evaluate
result = step.evaluate(*args,**kwarg)
File "../SUAVE/Analyses/Process.py", line 67, in evaluate
result = step(*args,**kwarg)
File "../SUAVE/Methods/Missions/Segments/converge_root.py", line 50, in converge_root
unknowns,infodict,ier,msg = root_finder( iterate,
File "../scipy/optimize/minpack.py", line 160, in fsolve
res = _root_hybr(func, x0, args, jac=fprime, **options)
File "../scipy/optimize/minpack.py", line 226, in _root_hybr
shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
File "../scipy/optimize/minpack.py", line 24, in _check_func
res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
File "../SUAVE/Methods/Missions/Segments/converge_root.py", line 99, in iterate
segment.process.iterate(segment)
File "../SUAVE/Analyses/Process.py", line 96, in __call__
return self.evaluate(*args,**kwarg)
File "../SUAVE/Analyses/Process.py", line 65, in evaluate
result = step.evaluate(*args,**kwarg)
File "../SUAVE/Analyses/Process.py", line 67, in evaluate
result = step(*args,**kwarg)
File "../SUAVE/Methods/Missions/Segments/Common/Energy.py", line 87, in update_thrust
results = energy_model.evaluate_thrust(segment.state)
File "../SUAVE/Analyses/Energy/Energy.py", line 65, in evaluate_thrust
results = network.evaluate_thrust(state)
File "../SUAVE/Components/Energy/Networks/Network.py", line 142, in evaluate_thrust
results_p = net.evaluate_thrust(state)
File "../SUAVE/Components/Energy/Networks/Internal_Combustion_Propeller.py", line 123, in evaluate_thrust
F, Q, P, Cp, outputs, etap = prop.spin(conditions)
File "../SUAVE/Components/Energy/Converters/Propeller_Lo_Fid.py", line 89, in spin
Qm = self.inputs.torque
File "../SUAVE/Core/Data.py", line 69, in __getattribute__
return objgetattrib(self,k)
AttributeError: 'Data' object has no attribute 'torque'
Seems like the propellers aren't connected to the engine?
I hope you can help me with that :)
Paul