Uçuş Performansı
Uçuş performansı analizi, aerodinamik ve itki çıktılarından hız zarfını, görev hızlarını, tırmanma kabiliyetini, menzil ve dayanımı türetir. Bu katmanda temel amaç, her hız noktasında seviye uçuş için gereken itki/güç ile aynı hız noktasında sistemin sağlayabildiği itki/gücü karşılaştırarak fiziksel olarak tutarlı bir görev resmi üretmektir.
Yöntem
Setuav bu problemi hız taraması üzerinde bağlı bir çözüm olarak ele alır. Önce aerodinamik tarafta seviye uçuş için \(C_L\), \(C_D\), sürükleme ve gereken güç hesaplanır; ardından aynı hız noktaları için itki tarafında tek model kullanılır. Bu tek model, PropulsionAnalyzer.solve_required_thrust_sweep(...) çağrısıdır ve itki analizinde kullanılan aynı motor-pervane-batarya denge çözücüsünü kullanır. Böylece uçuş performansındaki menzil/dayanım, cruise ve zarf metrikleri ile itki analizindeki elektriksel model birbiriyle uyumlu kalır.
Hazırlık
Girdi Hazırlığı
Uçuş performansı çözücüsü aşağıdaki girdileri kullanır ve çözüm değişkenlerine dönüştürür:
| Girdi | Çözüm karşılığı |
|---|---|
aero.cl_max |
Stall hızı hesabında \(C_{L,\max}\) |
aero.area |
Referans alan \(S\) (mm^2 -> m^2) |
aero.polars.cl_values, aero.polars.cd_values |
\(C_D(C_L)\) enterpolasyonu |
aero.cd_min |
Polar yoksa sabit sürükleme fallback'i |
aero.ld_max |
max_ld_ratio, glide_ratio |
aero.operating_velocity |
best_ld hız çıktısı |
total_mass |
Ağırlık \(W = mg\) |
air_density |
Yoğunluk \(\rho\) |
battery_capacity |
Enerji tabanlı menzil/dayanım hesabı (mAh -> Ah) |
design.propulsion |
Gerilim uyumluluğu kontrolü ve itki çözücü kurulumu |
Konfigürasyon Girdileri
Bu sınıfta doğrudan kullanılan ayarlar aşağıdadır:
| Konfigürasyon alanı | Çözüm karşılığı |
|---|---|
config.performance.velocity_min |
Hız taraması alt sınırı |
config.performance.velocity_max |
Hız taraması üst sınırı |
config.performance.velocity_steps |
Hız noktası sayısı |
config.performance.stall_margin |
Minimum güvenli hız: \(V_{\min}=V_{\text{stall}}\cdot\text{stall\_margin}\) |
config.propulsion.usable_capacity_ratio |
Kullanılabilir batarya enerjisi katsayısı |
Çözüm
Çözüm, hız ekseninde aynı adımların tekrarıyla yürür ve tüm eğriler aynı hız dizisi üzerinde üretilir.
Stall Hızı ve Hız Aralığı
Stall hızı standart kaldırma dengesiyle hesaplanır:
Tarama başlangıcı doğrudan konfigürasyon alt sınırı değildir; güvenli başlangıç hızı \(V_{\text{start}}=\max(V_{\text{stall}}\cdot\text{stall\_margin},\,V_{\min,config})\) şeklinde seçilir.
Seviye Uçuş Güç Gereksinimi
Her hız noktasında önce seviye uçuş için gereken kaldırma katsayısı bulunur:
Ardından \(C_D\), polar tablosundan \(C_D(C_L)\) enterpolasyonu ile hesaplanır; polar sınırlarının dışına çıkılırsa parabolik model kullanılır:
Sürükleme ve gereken güç:
İtki ile Bağlı Çözüm (Tek Model)
Aynı hız dizisi için itki çözücüsüne gereken itki eğrisi verilir:
Buradaki \(P_{\text{avail}}\) itki tarafında kullanılabilir itici güçtür (propulsive power), \(P_{\text{batt,req}}\) ise gereken uçuş noktasını tutmak için batarya tarafında çekilen güçtür.
Dayanım ve Menzil Eğrileri
Enerji hesabı tek elektrik modelinden gelen \(P_{\text{batt,req}}\) ile yapılır. Kullanılabilir batarya enerjisi:
Sadece geçerli ve güç gereksinimi pozitif olan hız noktalarında:
Optimal Hızlar
Geçerli görev maskesi için:
best_endurance: \(P_{\text{batt,req}}\) minimum olan hızbest_range:range_curvemaksimum olan hızbest_climb: \((P_{\text{avail}}-P_{\text{req}})\) maksimum olan hızbest_ld: doğrudanaero.operating_velocity
Bu sınıfta raporlanan cruise_speed, ham hesap içinde best_range olarak atanır.
Yani seçim ölçütü doğrudan menzilin maksimize edilmesidir; ayrı bir UI/operasyon
kuralı bu adıma dahil değildir.
Ham veri açısından alternatif cruise tanımları:
best_endurancetabanlı cruise:
\(P_{\text{batt,req}}(V)\) minimum hız seçilir; amaç maksimum havada kalış süresidir.best_climbtabanlı cruise:
\((P_{\text{avail}}-P_{\text{req}})\) maksimum hız seçilir; amaç tırmanış fazı odaklıdır.best_ldtabanlı cruise:
Aerodinamik verimlilik referans hızı (aero.operating_velocity) seçilir.
Performans Metrikleri ve Cruise Noktası
Maksimum hız, geçerli maskede son hız noktası olarak alınır. Tırmanma oranı:
En iyi tırmanma açısı, en yüksek excess-power noktasında \(\sin\gamma=\text{RoC}/V\) ile hesaplanır.
Cruise hesabı da ayrı bir yaklaşık model değil, yine aynı itki çözücüsünün
solve_required_thrust_operating_point(...) çağrısı ile yapılır.
Geçersizlik ve Fallback Davranışı
Batarya gerilimi motor/ESC penceresi ile uyumsuzsa analiz sıfırlanmış bir sonuç döndürür. İtki çözücüsü yoksa güç/itki kullanılabilir eğrileri sıfır kalır ve powered metrikler sınırlanır. Batarya kapasitesi yoksa menzil/dayanım eğrileri ve bu metrikler sıfır kalır.