SUAVE  2.5.2
An Aerospace Vehicle Environment for Designing Future Aircraft
SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise Class Reference
Inheritance diagram for SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise:
SUAVE.Components.Energy.Networks.Network.Network SUAVE.Components.Physical_Component.Physical_Component SUAVE.Components.Component.Component

Public Member Functions

def __defaults__ (self)
 
def evaluate_thrust (self, state)
 
def unpack_unknowns_transition (self, segment)
 
def unpack_unknowns_cruise (self, segment)
 
def unpack_unknowns_lift (self, segment)
 
def residuals_transition (self, segment)
 
def residuals_cruise (self, segment)
 
def residuals_lift (self, segment)
 
def add_transition_unknowns_and_residuals_to_segment (self, segment, initial_voltage=None, initial_prop_power_coefficient=0.005, initial_lift_rotor_power_coefficient=0.005, initial_throttle_lift=0.9, initial_battery_cell_temperature=283., initial_battery_state_of_charge=0.5, initial_battery_cell_current=5.)
 
def add_cruise_unknowns_and_residuals_to_segment (self, segment, initial_voltage=None, initial_prop_power_coefficient=0.005, initial_battery_cell_temperature=283., initial_battery_state_of_charge=0.5, initial_battery_cell_current=5.)
 
def add_lift_unknowns_and_residuals_to_segment (self, segment, initial_voltage=None, initial_lift_rotor_power_coefficient=0.005, initial_throttle_lift=0.9, initial_battery_cell_temperature=283., initial_battery_state_of_charge=0.5, initial_battery_cell_current=5.)
 

Public Attributes

 lift_rotor_motors
 
 propeller_motors
 
 lift_rotors
 
 propellers
 
 lift_rotor_esc
 
 propeller_esc
 
 avionics
 
 payload
 
 battery
 
 lift_rotor_engine_length
 
 propeller_engine_length
 
 number_of_lift_rotor_engines
 
 number_of_propeller_engines
 
 voltage
 
 tag
 
 generative_design_minimum
 
 identical_propellers
 
 identical_lift_rotors
 
- Public Attributes inherited from SUAVE.Components.Energy.Networks.Network.Network
 tag
 
 generative_design_max_per_vehicle
 
 non_dimensional_origin
 
 number_of_engines
 
 engine_length
 
 wing_mounted
 
 areas
 
- Public Attributes inherited from SUAVE.Components.Physical_Component.Physical_Component
 tag
 
 mass_properties
 
 origin
 
 symmetric
 
- Public Attributes inherited from SUAVE.Components.Component.Component
 tag
 
 origin
 
 generative_design_max_per_vehicle
 
 generative_design_characteristics
 
 generative_design_special_parent
 

Detailed Description

This is a complex version of battery_propeller with a battery powering propellers through
    electric motors. In this case we have 2 sets of motors at different motors that can be controlled seperately
    
    This network adds 2 extra unknowns to the mission. The first is
    a voltage, to calculate the thevenin voltage drop in the pack.
    The second is torque matching between motor and propeller.
    
    We have two inputs, the forward throttle and the lift throttle setting
    Since this is an airplane first and foremost, the "throttle" will be for forward thrust
    The new unknown will be for lift throttle, because of the assumption on throttle something needs to be done...
    Want only 1 residual on voltage

    Assumptions:
    For any segment using this, body angle can't be an unknown.
    
    Source:
    None

Member Function Documentation

◆ __defaults__()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.__defaults__ (   self)
This sets the default values for the network to function.
    
    Assumptions:
    None
    
    Source:
    N/A
    
    Inputs:
    None
    
    Outputs:
    None
    
    Properties Used:
    N/A

Reimplemented from SUAVE.Components.Energy.Networks.Network.Network.

◆ add_cruise_unknowns_and_residuals_to_segment()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.add_cruise_unknowns_and_residuals_to_segment (   self,
  segment,
  initial_voltage = None,
  initial_prop_power_coefficient = 0.005,
  initial_battery_cell_temperature = 283.,
  initial_battery_state_of_charge = 0.5,
  initial_battery_cell_current = 5. 
)
This function sets up the information that the mission needs to run a mission segment using this network
    
    Assumptions:
    None
    
    Source:
    N/A
    
    Inputs:
    segment
    initial_voltage                   [v]
    initial_power_coefficient         [float]s
    
    Outputs:
    segment.state.unknowns.battery_voltage_under_load
    segment.state.unknowns.propeller_power_coefficient
    segment.state.conditions.propulsion.propeller_motor_torque
    segment.state.conditions.propulsion.propeller_torque   
    
    Properties Used:
    N/A

◆ add_lift_unknowns_and_residuals_to_segment()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.add_lift_unknowns_and_residuals_to_segment (   self,
  segment,
  initial_voltage = None,
  initial_lift_rotor_power_coefficient = 0.005,
  initial_throttle_lift = 0.9,
  initial_battery_cell_temperature = 283.,
  initial_battery_state_of_charge = 0.5,
  initial_battery_cell_current = 5. 
)
This function sets up the information that the mission needs to run a mission segment using this network

    Assumptions:
    None

    Source:
    N/A

    Inputs:
    segment
    initial_voltage                   [v]
    initial_power_coefficient         [float]s

    Outputs:
    segment.state.unknowns.battery_voltage_under_load
    segment.state.unknowns.propeller_power_coefficient
    segment.state.conditions.propulsion.propeller_motor_torque
    segment.state.conditions.propulsion.propeller_torque   

    Properties Used:
    N/A

◆ add_transition_unknowns_and_residuals_to_segment()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.add_transition_unknowns_and_residuals_to_segment (   self,
  segment,
  initial_voltage = None,
  initial_prop_power_coefficient = 0.005,
  initial_lift_rotor_power_coefficient = 0.005,
  initial_throttle_lift = 0.9,
  initial_battery_cell_temperature = 283.,
  initial_battery_state_of_charge = 0.5,
  initial_battery_cell_current = 5. 
)
This function sets up the information that the mission needs to run a mission segment using this network
    
    Assumptions:
    None
    
    Source:
    N/A
    
    Inputs:
    segment
    initial_voltage                   [v]
    initial_power_coefficient         [float]s
    
    Outputs:
    segment.state.unknowns.battery_voltage_under_load
    segment.state.unknowns.propeller_power_coefficient
    segment.state.conditions.propulsion.propeller_motor_torque
    segment.state.conditions.propulsion.propeller_torque   
    
    Properties Used:
    N/A

◆ evaluate_thrust()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.evaluate_thrust (   self,
  state 
)
Calculate thrust given the current state of the vehicle
    
    Assumptions:
    Caps the throttle at 110% and linearly interpolates thrust off that
    
    Source:
    N/A
    
    Inputs:
    state [state()]
    
    Outputs:
    results.thrust_force_vector       [Newtons]
    results.vehicle_mass_rate         [kg/s]
    conditions.propulsion:
lift_rotor_rpm                [radians/sec]
rpm _forward                  [radians/sec]
lift_rotor_current_draw       [amps]
propeller_current_draw        [amps]
battery_power_draw            [watts]
battery_energy                [joules]
voltage_open_circuit          [volts]
voltage_under_load            [volts]
lift_rotor_motor_torque       [N-M]
propeller_motor_torque        [N-M]
lift_rotor_thrust             [N]
propeller_thrust              [N]
lift_rotor_torque             [N-M]
propeller_torque              [N-M]
    
    Properties Used:
    Defaulted values

◆ residuals_cruise()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.residuals_cruise (   self,
  segment 
)
This packs the residuals to be sent to the mission solver.
    Use this if only the forward motors are operational
    
    Assumptions:
    Only the forward motors are operational
    
    Source:
    N/A
    
    Inputs:
    state.conditions.propulsion:
propeller_motor_torque                [N-m]
lift_rotor_motor_torque               [N-m]
propeller_torque                      [N-m]
lift_rotor_torque                     [N-m]
voltage_under_load                    [volts]
    state.unknowns.battery_voltage_under_load [volts]
    
    Outputs:
    None
    
    Properties Used:
    self.voltage                              [volts]

◆ residuals_lift()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.residuals_lift (   self,
  segment 
)
This packs the residuals to be sent to the mission solver.
    Only the lift motors are operational
    
    Assumptions:
    The lift motors are operational
    
    Source:
    N/A
    
    Inputs:
    state.conditions.propulsion:
propeller_motor_torque                [N-m]
lift_rotor_motor_torque               [N-m]
propeller_torque                      [N-m]
lift_rotor_torque                     [N-m]
voltage_under_load                    [volts]
    state.unknowns.battery_voltage_under_load [volts]
    
    Outputs:
    None
    
    Properties Used:
    self.voltage                              [volts]

◆ residuals_transition()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.residuals_transition (   self,
  segment 
)
This packs the residuals to be sent to the mission solver.
    Use this if all motors are operational
    
    Assumptions:
    All motors are operational
    
    Source:
    N/A
    
    Inputs:
    state.conditions.propulsion:
propeller_motor_torque                [N-m]
lift_rotor_motor_torque               [N-m]
propeller_torque                      [N-m]
lift_rotor_torque                     [N-m]
voltage_under_load                    [volts]
    state.unknowns.battery_voltage_under_load [volts]
    
    Outputs:
    None
    
    Properties Used:
    self.voltage                              [volts]

◆ unpack_unknowns_cruise()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.unpack_unknowns_cruise (   self,
  segment 
)
This is an extra set of unknowns which are unpacked from the mission solver and send to the network.
    This uses only the forward motors and turns the rest off.
    
    Assumptions:
    Only the forward motors and turns the rest off.
    
    Source:
    N/A
    
    Inputs:
    state.unknowns.propeller_power_coefficient [None]
    state.unknowns.battery_voltage_under_load  [volts]
    state.unknowns.throttle_lift               [0-1]
    state.unknowns.throttle                    [0-1]
    
    Outputs:
    state.conditions.propulsion.propeller_power_coefficient [None]
    state.conditions.propulsion.battery_voltage_under_load  [volts]
    state.conditions.propulsion.throttle_lift               [0-1]
    state.conditions.propulsion.throttle                    [0-1]
    
    Properties Used:
    N/A

◆ unpack_unknowns_lift()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.unpack_unknowns_lift (   self,
  segment 
)
This is an extra set of unknowns which are unpacked from the mission solver and send to the network.
    This uses only the lift motors.
    
    Assumptions:
    Only the lift motors.
    
    Source:
    N/A
    
    Inputs:
    state.unknowns.propeller_power_coefficient [None]
    state.unknowns.battery_voltage_under_load  [volts]
    state.unknowns.throttle_lift               [0-1]
    state.unknowns.throttle                    [0-1]
    
    Outputs:
    state.conditions.propulsion.propeller_power_coefficient [None]
    state.conditions.propulsion.battery_voltage_under_load  [volts]
    state.conditions.propulsion.throttle_lift               [0-1]
    state.conditions.propulsion.throttle                    [0-1]
    
    Properties Used:
    N/A

◆ unpack_unknowns_transition()

def SUAVE.Components.Energy.Networks.Lift_Cruise.Lift_Cruise.unpack_unknowns_transition (   self,
  segment 
)
This is an extra set of unknowns which are unpacked from the mission solver and sent to the network.
    This uses all the motors.
    
    Assumptions:
    None
    
    Source:
    N/A
    
    Inputs:
    state.unknowns.lift_rotor_power_coefficient [None]
    state.unknowns.propeller_power_coefficient  [None]
    state.unknowns.battery_voltage_under_load   [volts]
    state.unknowns.throttle_lift                [0-1]
    state.unknowns.throttle                     [0-1]
    
    Outputs:
    state.conditions.propulsion.lift_rotor_power_coefficient [None]
    state.conditions.propulsion.propeller_power_coefficient  [None]
    state.conditions.propulsion.battery_voltage_under_load   [volts]
    state.conditions.propulsion.throttle_lift                [0-1]
    state.conditions.propulsion.throttle                     [0-1]
    
    Properties Used:
    N/A

The documentation for this class was generated from the following file: