CriticalAreaModels

This class provide methods for computing critical area for a variety of models.

class casex.critical_area_models.CriticalAreaModels(buffer=0.3, height=1.8)[source]

This class is used for computing the critical area using the JARUS model for a crash when the basic parameters for the aircraft is known. The math behind the model is described in Appendix B in Annex F [1].

The main method in this class is critical_area, which computes the size of the critical area given a number of input arguments relating to the aircraft.

There are two attributes in this class for describing a standard person, namely buffer and height.

Parameters
  • buffer (float, optional) – [m] Radius of a standard person as seen from above (the default is 0.3 m).

  • height (float, optional) – [m] The altitude above the ground at which the aircraft can first impact a person (the default is 1.8 m).

buffer

[m] Radius of a standard person as seen from above (the default is 0.3 m).

Type

float, optional

height

[m] The altitude above the ground at which the aircraft can first impact a person (the default is 1.8 m).

Type

float, optional

static check_glide_angle(glide_angle)[source]

Checks the glide angle.

Issues a warning if the glide angle is out of range, or close to zero (which produces unrealistic results in the CA model). It also flips the glide angle if it is between 90 and 180 degrees.

Parameters

glide_angle (float) – [deg] The glide angle to be checked.

Returns

glide_angle – [deg] The glide angle, which is either the same as the input, or flipped if needed.

Return type

float

critical_area(aircraft, impact_speed, impact_angle, critical_areas_overlap=0, lethal_kinetic_energy=- 1, use_obstacle_reduction=True)[source]

Computes the lethal area as modeled by different models.

This function supports one of the following input parameters to be a vector, which will give a vector of the same size as output:

  • impact_speed

  • impact_angle

  • critical_area_overlap

  • aircraft.width

  • aircraft.fuel_quantity

This vector is given as numpy.array, and only one of the parameters can be a vector for each call. The return values are then also numpy.array IF the input parameter that is a numpy.array is used in the computation.

Parameters
  • aircraft (casex.AircraftSpecs) – Class with information about the aircraft.

  • impact_speed (float) – [m/s] Impact speed of aircraft (this is speed along the velocity vector).

  • impact_angle (float) – [deg] Impact angle relative to ground (90 is vertical, straight down). Note that when using the JARUS model and the width of the aircraft is <= 1 m, the impact angle used is minimum 35 degrees, regardless of input. See Appendix A.5 in Annex F [1] for details.

  • critical_areas_overlap (float, optional) – [0 to 1] Fraction of overlap between lethal area from glide/slide and from explosion/deflagration. Default is 0.

  • lethal_kinetic_energy (float, optional) – The lethal kinetic energy threshold in J. If not specified (or set to -1), the standard approach as described in Annex F Appendix A [1] is used. If set to a positive value, this value is used independently of all other parameters. If set to a negative value other than -1, this value is used following the Annex F standard approach, but with absolute of the given value.

  • use_obstacle_reduction (bool, optional) – If set to true, the Annex F obstacle reduction is applied as described in the Annex. If set to false, no obstacle reduction is applied. Default is true.

Returns

  • critical area (float) – [\(\mathrm{m}^2\)] Size of the critical area for the selected model.

  • estimated glide area (float) – [\(\mathrm{m}^2\)] The glide and slide areas are estimated as the relation between the glide and slide distances multiplied by the glide+slide area.

  • estimated slide area (float) – [\(\mathrm{m}^2\)] The estimated slide area.

  • critical area inert (float) – [\(\mathrm{m}^2\)] The inert part of the critical area.

  • deflagration area (float) – [\(\mathrm{m}^2\)] The deflagration area as given by the deflagration model. Always 0 for non-JARUS models.

  • glide distance (float) – [\(\mathrm{m}\)] The glide distance.

  • slide distance non lethal (float) – [\(\mathrm{m}\)] The slide distance until non-lethal. Always 0 for non-JARUS models.

  • velocity min kill (float) – [\(\mathrm{m/s}\)] The speed at which the slide is no longer lethal. Always 0 for non-JARUS and NAWCAD models.

  • t safe (float) – [\(\mathrm{s}\)] The time between impact and when slide speed is non-lethal. Always 0 for non-JARUS and NAWCAD models.

Raises
static glide_angle_from_glide_ratio(glide_ratio)[source]

Compute glide angle from glide ratio.

Parameters

glide_ratio (float) – [-] The ratio between vertical and horizontal speed during glide.

Returns

glide_angle – [deg] The glide angle for the given glide ratio.

Return type

float

glide_distance(glide_angle)[source]

Compute glide distance based on glide angle.

Glide distance is the distance an aircraft will glide through the air for a given glide angel from altitude height until it impacts the ground. Thus, the glide starts at altitude Height and continues until the aircraft impacts the ground.

Parameters

glide_angle (float) – [deg] The angle of the aircraft relative to the ground as is impacts the ground. Must be between 1 and 179 degree. Values above 90 degrees are used as ‘180 - GlideAngle’.

Returns

distance – [m] The glide distance.

Return type

float

static horizontal_speed_from_angle(impact_angle, impact_speed)[source]

Compute horizontal speed component for a given impact angle and impact speed.

Parameters
  • impact_angle (float) – [deg] Impact angle of the aircraft.

  • impact_speed (float) – [m/s] Impact speed of the aircraft (speed in the direction of travel).

Returns

horizontal_speed – [m/s] The horizontal compotent of the impact speed.

Return type

float

static horizontal_speed_from_ratio(glide_ratio, impact_speed)[source]

Compute horizontal speed from glide ratio.

Parameters
  • glide_ratio (float) – [-] The ratio between vertical and horizontal speed during glide.

  • impact_speed (float) – [m/s] The impact speed of the aircraft (in the direction of travel).

Returns

horizontal_speed – [m/s] The horizontal compotent of the impact speed.

Return type

float

static slide_distance_friction(velocity, friction_coefficient)[source]

Computes slide distance based on initial velocity and friction.

Sliding distance computed based on the assumption

\[F = -f \cdot w,\]

where \(F\) is the frictional force, \(f\) the frictional coefficient, and \(w\) the body weight. The slide distance is the length of the slide between impact and the body coming to rest.

This is a standard assumption found in most sources that includes friction. See for instance [5].

Parameters
  • velocity (float) – [m/s] Horizontal component of the impact velocity.

  • friction_coefficient (float) – [-] Friction coefficient, typically between 0.4 and 0.7.

Returns

distance – [m] Distance from impact to rest.

Return type

float

static speed_from_kinetic_energy(KE, mass)[source]

Compute speed from kinetic energy.

Parameters
  • KE (float) – [J] Kinetic energy of the aircraft.

  • mass (float) – [kg] Mass of the aircraft.

Returns

speed – [m/s] The speed associated with the given kinetic energy and mass.

Return type

float

static vertical_speed_from_angle(impact_angle, impact_speed)[source]

Compute vertical speed from impact angle.

Parameters
  • impact_angle (float) – [deg] Impact angle of the aircraft.

  • impact_speed (float) – [m/s] Impact speed of the aircraft (speed in the direction of travel).

Returns

vertical_speed – [m/s] The vertical compotent of the impact speed.

Return type

float

1(1,2,3)

JARUS. JARUS guidelines on SORA - Annex F - Theoretical Basis for Ground Risk Classification. Technical Report, 2022. JAR-WG6-QM.01.

2

Range Commanders Council. Range safety criteria for unmanned air vehicles - rationale and methodology supplement. Supplement to document 323-99. Technical Report, Range Commanders Council, 2001.

3

Robert M. Montgomery and James A. Ward. Casualty Areas from Impacting Inert Debris for People in the Open - RTI Report No. RTI/5180/60-31F. Technical Report, Research Triangle Institute, 1995.

4

Federal Aviation Administration. Flight Safety Analysis Handbook Federal Aviation Administration. Technical Report, Federal Aviation Administration, sep 2011.

5

John A. Ball, Michael Knott, and David Burke. Crash Lethality Model - Report no. NAWCADPAX/TR-2012/196. Technical Report, Naval Air Warfare Center Aircraft Division, 2012.