RCAIDE.Library.Methods.Aerodynamics.Vortex_Lattice_Method.deflect_control_surface
deflect_control_surface#
Functions
|
Deflects the panels of a vortex distribution that correspond to the given VLM_wing. |
|
Rotates existing points in the VD with respect to current values of a delta deflection |
|
Goes through a vehicle and updates the control surface deflections in the VD. |
|
This swaps values based on a double boolean |
|
This swaps values based on a double boolean |
|
This make a quaternion that will rotate a vector about a the line that passes through the point 'point_on_line' and has direction 'direction_unit_vector'. |
|
This rotates the points by a quaternion |
- deflect_control_surfaces(VD, geometry, settings)[source]#
Goes through a vehicle and updates the control surface deflections in the VD. Crucially this rebuilds the VD as a postprocess step
Assumptions:
Source:
Inputs: VD - vehicle vortex distribution [Unitless] geometry.wings [Unitless] settings.floating_point_precision [np.dtype]
Outputs: VD - vehicle vortex distribution [Unitless]
Properties Used: N/A
- deflect_control_surface(VD, wing)[source]#
Deflects the panels of a vortex distribution that correspond to the given VLM_wing.
Assumptions: If the user calls this function outside of generate_vortex_distribution, RCAIDE.Library.Methods.Aerodynamics.Common.Fidelity_Zero.Lift.postprocess_VD MUST be called right after
Source:
Inputs: VD - vehicle vortex distribution [Unitless] wing - a VLM_wing object that was generated in the [Unitless]
original generate_vortex_distribution call.
wing.deflection_last - last deflection applied to this wing [radians] wing.deflection - deflection to set this wing to. [radians]
Outputs: VD - vehicle vortex distribution [Unitless] wing - VLM_wing object [Unitless]
Properties Used: N/A
- deflect_control_surface_strip(wing, raw_VD, is_first_strip, sym_sign)[source]#
Rotates existing points in the VD with respect to current values of a delta deflection
Assumptions:
Source:
Inputs: wing - a VLM_wing object that was generated in the [Unitless]
original generate_vortex_distribution call.
wing.deflection_last - last deflection applied to this wing [radians] wing.deflection - deflection to set this wing to. [radians]
raw_VD - undeflected VD pertaining a strip of wing [Unitless] is_first_strip - whether this is the first strip of wing [Unitless] sym_sign - 1 for original side, -1 for symmetric side [Unitless]
Outputs: raw_VD - deflected VD values pertaining to wing [Unitless]
Properties Used: N/A
- make_hinge_quaternion(point_on_line, direction_unit_vector, rotation_angle)[source]#
This make a quaternion that will rotate a vector about a the line that passes through the point ‘point_on_line’ and has direction ‘direction_unit_vector’. The quat rotates ‘rotation_angle’ radians. The quat is meant to be multiplied by the vector [x y z 1]
Assumptions: None
Inputs: point_on_line - a list or array of size 3 corresponding to point coords (a,b,c) direction_unit_vector - a list or array of size 3 corresponding to unit vector <u,v,w> rotation_angle - angle of rotation in radians n_points - number of points that will be rotated
Properties Used: N/A
- rotate_points_with_quaternion(quat, points)[source]#
This rotates the points by a quaternion
Assumptions: None
Inputs: quat - a quaternion that will rotate the given points about a line which
is not necessarily at the origin
- points - a list or array of size 3 corresponding to the lists (xs, ys, zs)
where xs, ys, and zs are the (x,y,z) coords of the points that will be rotated
Outputs: xs, ys, zs - np arrays of the rotated points’ xyz coordinates
Properties Used: N/A
- flip_1(A, B, T1, T2)[source]#
This swaps values based on a double boolean
If T1 is false A and B are kept as is. T2 is not used
If T1 is true A and B are swapped T2 is applied at the first position
Assumptions: None
Source: N/A
Inputs: input_A [int,float,array] input_B [int,float,array] T1 [bool] T2 [bool/int/float]
Outputs: swapped or not values
Properties Used: N/A
- flip_2(A, B, T1, T2)[source]#
This swaps values based on a double boolean
If T1 is false A and B are kept as is. T2 is not used
If T1 is true A and B are swapped T2 is applied at the second position
Assumptions: None
Source: N/A
Inputs: input_A [int,float,array] input_B [int,float,array] T1 [bool] T2 [bool/int/float]
Outputs: swapped or not values
Properties Used: N/A