(2) Maneuver Definition
FLOWUnsteady.KinematicManeuver
— TypeKinematicManeuver{N, M, L}(angle, RPM, deltaVjet, Vvehicle, anglevehicle)
A vehicle maneuver that prescribes the kinematics of the vehicle through the functions Vvehicle
and anglevehicle
. Control inputs to each tilting, rotor, and propulsion systems are given by the collection of functions angle
, RPM
, deltaVjet
, respectively.
ARGUMENTS
angle::NTuple{N, Function}
whereangle[i](t)
returns the angles[Ax, Ay, Az]
(in degrees) of the i-th tilting system at timet
(t is nondimensionalized by the total time of the maneuver, from 0 to 1, beginning to end).RPM::NTuple{M, Function}
whereRPM[i](t)
returns the normalized RPM of the i-th rotor system at timet
. These RPM values are normalized by an arbitrary RPM value (usually RPM in hover or cruise).deltaVjet::NTuple{L, Function}
wheredeltaVjet[i](t)
returns the normalized relative jet velocity (total jet velocity minus induced, kinematic, and freestream velocity) of the i-th propulsion system at timet
. These deltaVjet values are normalized by the an arbitrary velocity (usually jet velocity in hover or cruise).Vvehicle::Function
whereVvehicle(t)
returns the normalized vehicle velocity[Vx, Vy, Vz]
at the normalized timet
. The velocity is normalized by a reference velocity (typically, cruise velocity).anglevehicle::Function
whereanglevehicle(t)
returns the angles[Ax, Ay, Az]
(in degrees) of the vehicle relative to the global coordinate system at the normalized timet
.
FLOWUnsteady.DynamicManeuver
— TypeDynamicManeuver{N, M, L}(angle, RPM)
A vehicle maneuver that automatically couples the kinematics of the vehicle with the forces and moments, resulting in a fully dynamic simulation. Control inputs to each tilting and rotor systems are given by the collection of functions angle
and RPM
, respectively.
NOTE: This methods has not been implemented yet, but it may be developed in future versions of FLOWunsteady.
FLOWUnsteady.plot_maneuver
— Functionplot_maneuver(maneuver::KinematicManeuver; ti::Real=0, tf::Real=1,
vis_nsteps=300, figname="maneuver", tstages=[])
Plots the kinematics and controls of a KinematicManeuver
.
FLOWUnsteady.visualize_kinematics
— Functionvisualize_kinematics(sim::Simulation, nsteps::Int, save_path::String)
Steps the vehicle through the prescribed kinematics, outputting VTK files of the vehicle at every time step. Use this to visualize and debug a maneuver.
nsteps
is the number of time steps in which to perform the maneuver. save_path
is the path where to save the VTK files.