Pakete, Repositories und App-Kategorien suchen

GitHub-Repositoryaeroperf/atmospeed

atmospeed

Ein Dart-Paket für Standard- und Nicht-Standard-Atmosphären-Eigenschaften sowie Geschwindigkeitsberechnungen und -umrechnungen.

Projektcover von atmospeed
Sterne
1
Forks
0
Letzter Push (UTC)
19.05.2022
Projektstatus
Aktiv

Original-README

Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.

A Dart library to perform standard and non-standard atmosphere property calculations and speed conversions. Based on the 1976 US Standard Atmosphere (NASA-TM-X-74335) methodologies and valid through 20 km (stratopause) for atmospheric flight calculations (identical to ICAO and International Standard Atmosphere definitions through 20 km).

Features

  • Define an atmospheric point in terms of pressure altitude and temperature (either as delta ISA or OAT) and for that point:
    • Calculate pressure, temperature and density ratios
    • Calculate speed of sound
    • Calculate Outside Air Temperature (OAT), standard temperature (ISA) or deviation form standard (delta ISA)
  • Define a speed point condition in terms of speed value and speed type (EAS, CAS, TAS or Mach) and for that point:
    • Convert to the other speed types at a defined atmospheric point
    • Convert between different speed units
  • Calculate pressure altitude from airport elevation and altimeter setting
  • Units default to feet (altitude), Celsius (temperature) and knots (speed), but Atmospeed offers unit choice flexibility

Getting started

No prerequisites, simply add Atmospeed to the pubspec.yaml file:

dependencies:
  atmospeed: ^1.0.0    

Usage

  1. Define one or more Atmo point condition:
// 18455 ft pressure alt, ISA+13C temperature
Atmo atmo = Atmo(hp: 18455, temperature: 13); 

// 11249 m pressure alt, -51.5 OATC temperature
Atmo atmo1 = Atmo(hp: 11249, unitAltitude: LengthUnit.m, temperature: -51.5, temperatureIsDeltaISA: false); 
  1. Calculate atmospheric properties on the atmo conditions:
atmo.getDelta(); // δ = 0.4901
atmo.getTheta(); // θ = 0.9182
atmo1.getSigma(); // σ = 0.2792
atmo1.getDeltaISA(); // ISA+5C
  1. Or, define a Speed point and convert to another speed type for an Atmo point condition:
// Define CAS as 255.6 knots
Speed kcas = Speed(value: 255.6, type: SpeedType.cas);

// Calculate EAS, TAS and Mach at atmo point
kcas.toEAS(atmo); // 251.1 KEAS
kcas.toTAS(atmo); // 343.7 KTAS
kcas.toMach(atmo); // Mach 0.5422
  1. Additional convenience methods exist:
// Convert a Speed object's speed to another unit; example knots to mph conversion
var mph_cas = kcas.convertSpeed(SpeedUnit.kts, SpeedUnit.mph);

// Or convert any double value between any two speed units
174.6.convertSpeed(SpeedUnit.kmh, SpeedUnit.fps); // 159.1 ft/sec

// Calculate pressure altitude form airport elevation and altimer setting
Altitude.pressureAltitude(airportElevation: 3456, airportAltimeter: 29.73); // 3632.2 ft

See additional examples in the /example folder.

Library Limitation

This library limits calculations to an altitude of 20km (65617 ft) and is intended for atmospheric flight calculations below the stratopause.

Michael Vogt GitHub avatar
GitHub-Autor

Michael Vogt ↗

SprachenDart

Von diesem Repository veröffentlichte Pakete

Verwendete Abhängigkeiten

Abhängigkeiten 2 Einträge

Wie wähle ich ein passendes Repository?

Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.

  1. Nach Name, Autor oder Beschreibung suchen und nach Thema eingrenzen.
  2. Sterne, Forks und letzte Pushes vergleichen. Sterne zeigen Interesse, garantieren aber keine Qualität.
  3. Vor der Nutzung README, Lizenz und Issues auf GitHub prüfen.

Quellen und Pflege

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗