Source code for RCAIDE.Library.Components.Wings.Vertical_Tail_All_Moving

# RCAIDE/Library/Compoments/Wings/Vertical_Tail_All_Moving.py
# 
# Created:  Mar 2024, M. Clarke 

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ---------------------------------------------------------------------------------------------------------------------- 
# RCAIDE imports   
from .Vertical_Tail      import Vertical_Tail
from .All_Moving_Surface import All_Moving_Surface
from RCAIDE.Library.Methods.Mass_Properties.Moment_of_Inertia.compute_wing_moment_of_inertia import  compute_wing_moment_of_inertia

# ---------------------------------------------------------------------------------------------------------------------- 
#  Vertical_Tail_All_Moving
# ----------------------------------------------------------------------------------------------------------------------     
[docs] class Vertical_Tail_All_Moving(Vertical_Tail, All_Moving_Surface): """ A class representing an all-moving vertical tail that provides directional control and stability. Attributes ---------- tag : str Unique identifier for the surface, defaults to 'vertical_tail_all_moving' sign_duplicate : float Sign convention for duplicate surface deflection, defaults to -1.0 (opposite deflection for yaw control) Notes ----- The all-moving vertical tail combines the functions of a vertical stabilizer and rudder by pivoting as a complete surface. It inherits from both Vertical_Tail and All_Moving_Surface to combine their functionality. See Also -------- RCAIDE.Library.Components.Wings.Vertical_Tail Base class providing vertical tail functionality RCAIDE.Library.Components.Wings.All_Moving_Surface Base class providing pivoting surface functionality RCAIDE.Library.Components.Wings.Control_Surfaces.Rudder Alternative yaw control using conventional rudder """ def __defaults__(self): """ Sets default values for the all-moving vertical tail attributes. Notes ----- See All_Moving_Surface.__defaults__ and Wing.__defaults__ for additional inherited attributes. """ self.tag = 'vertical_tail_all_moving' self.sign_duplicate = -1.0
[docs] def make_x_z_reflection(self): """ Creates a reflected copy of the vertical tail over the x-z plane. Returns ------- Component Reflected vertical tail with appropriate deflection sign Notes ----- * Used when vertical tail's symmetric attribute is True * Deflection is reflected according to sign_duplicate convention * Should be called after setting control surface deflections """ wing = super().make_x_z_reflection() wing.deflection *= -1*self.sign_duplicate wing.hinge_vector[1] *= -1 return wing
[docs] def moment_of_inertia(wing, center_of_gravity): """ Computes the moment of inertia tensor for the vertical tail. Parameters ---------- wing : Component Wing component data center_of_gravity : list Reference point coordinates for moment calculation Returns ------- ndarray 3x3 moment of inertia tensor """ I = compute_wing_moment_of_inertia(wing, center_of_gravity) return I