BallisticDescent2ndOrderDragApproximation¶
Class supports computation of a ballistic descent under the influence of gravity and drag.
-
class
casex.ballistic_descent_models.
BallisticDescent2ndOrderDragApproximation
[source]¶ This class allows for computation of ballistic descent using a variation of the standard second order drag model. In this implementation it has been modified to support fast calculations. Details on this can be found in [1].
-
aircraft
¶ Class holding information about the aircraft.
- Type
:class:’AircraftSpecs’
-
distance1
¶ [m] Horizontal distance travelled between start time of descent and time time_top.
- Type
float
-
distance2
¶ [m] Horizontal distance travelled between time time_top and time time_cross.
- Type
float
-
distance3
¶ [m] Horizontal distance travelled between time time_cross and time time_impact.
- Type
float
-
velocity_x
¶ [m/s] Horizontal part of the impact velocity.
- Type
float
-
velocity_y
¶ [m/s] Vertical part of the impact velocity.
- Type
float
-
time_top
¶ [s] Time from start of descent to reaching the top of the descent curve. This is 0 if the descent starts with a descent.
- Type
float
-
time_cross
¶ [s] Time from start of descent to reaching the point, where the vertical velocity exceeds the horizontal velocity.
- Type
float
-
time_impact
¶ [s] Time from start of descent to impact.
- Type
float
-
c
¶ This represents the multiplication of frontal area, air density, and drag coefficient, which often appears together in the computations. The c attribute is just a placeholder for this multiplication.
- Type
float
-
gamma
¶ A placeholder for \(\sqrt{m \cdot g / c}\), where \(m\) is the mass of the aircraft, and \(g\) is the gravitational constant.
- Type
float
-
compute_ballistic_distance
(altitude, initial_velocity_x, initial_velocity_y)[source]¶ Compute the distance, time, angle, and velocity of a ballistic descent impact.
One of the following parameters can be an
numpy.array
altitude
initial_velocity_x
initial_velocity_y
aircraft.ballistic_drag_coefficient
aircraft.ballistic_frontal_area
and the output will also be an
numpy.array
for the outputs that depends on the parameters given as annumpy.array
. Note that aircraft refers to the variable set with the methodsset_aircraft
.The following requirements apply to the inputs
initial_velocity_x must be positive.
initial_velocity_x must be larger than initial_velocity_y.
absolute value of initial_velocity_y must be less than the terminal velocity.
- Parameters
altitude (float) – [m] Altitude of aircraft at time of event.
initial_velocity_x (float) – [m/s] Horizontal velocity as time of event.
initial_velocity_y (float) – [m/s] Vertical velocity as time of event.
- Returns
distance_impact (float) – [m] Horizontal distance to impact point relative to event point.
velocity_impact (float) – [m/s] Impact velocity.
angle_impact (float) – [deg] Impact angle (relative to horizontal).
time_impact (float) – [s] Time from event to impact.
- Raises
NegativeHorizontalVelocityError – If the initial horizontal velocity is negative.
HorizontalSmallerThanVerticalVelocityError – If the initial horizontal velocity is smaller than the initial vertical velocity.
-
- 1
A. la Cour-Harbo and H. Schioler. How obstacles may reduce the impact of a crashing unmanned aircraft. Preprint, pages, 2021.