Simulering av flygplanrörelse, princip.

Principen för digital simulering av en flygplanrörelse förklaras nedan, med den aktuella modellen av Twin Otter som exempel. Siffrorna i figuren korresponderar med dito i texten.




  1. Trim
    Denna rutin hämtar de av användaren givna uppgifterna om begynnelsetillstånd för simuleringen (höjd, fart, tp-läge etc). Med hjälp av atmosfärs-, luftkrafts-, dragkrafts- och tröghets-rutinen (mer om dessa nedan) beräknas rodervinklar, dragkraft, anfallsvinkel etc som erfordras för trim i planflykt, rakbana, rätt på vingarna. Denna första omgång data, gällande för tid t=0, lagras i den datafil, som senare ska användas för plottning och ev vidare anlys.
  2. Loopstart
    Nu skall beräknas värdet av alla aktuella variabler vid tiden t=tn+dt, dvs dt [s] från "nu". Vi börjar här med att ge variabeln t dess nya värde. Tidssteget dt har normalt värdet 0.05 [s].
  3. MTD-modellen
    "MTD", dvs "Massa, Tp-, tröghetsData" -rutinen levererar på anfordran MTD. I princip behövs inte dessa data förrän i pkt (6) och (7), men det är bra att ha MTD tillgängligt tidigt i loopen (kan behövas i en styrlag, tex). I den aktuella modellen är bränslemängd och last är konstanta, så man kunde nöja sig med att deklarera data som konstanter. MTD-modellen ger beredskap för experiment med fall där massa och tp ändras under simuleringen.
  4. Pilotmodellen
    Pilotmodellen består av dels en rutin för verkställande av fördefinierade rodersekvenser, dels specialskrivna programrader för det aktuella simuleringsfallet, tex för hållande av konstant höjd. Utsignalerna från pilotmodellen är roderlägen, spaklägen eller spakkraft.
  5. Styrsystemmodellen
    Här modelleras sambandet mellan spakläge, roderläge och spakkraft. Man kan alltså välja att låta pilotmodellen styra med spakläge, roderläge eller spakkraft. Detta ger möjlighet att studera felfall. Hittills har endast tippkanalen modellerats (dvs i gir och roll styrs modellen alltid med roderläge). Utsignalerna från styrsystemmodellen är alltid roderlägen.
  6. Atmosfärsmodellen
    Här beräknas dels statiska atmosfärsdata (statiskt tryck, geometrisk höjd, tryckhöjd, densitet etc) gällande för en standardatmosfär, dels dynamiska atmosfärsdata (dynamiskt tryck, ekvivalent fart, machtal etc). Indata är höjd och fart, utdata bland annat dynamiskt tryck och de olika fartvariablerna.
  7. Luftkraftsmodellen
    Här beräknas de krafter och moment som luften påverkar flygplanet med. Flygplanets aerodynamiska karakteristika beskrivs i och hämtas från en separat fil (syns ej i schemat ovan), det s.k. "aerodataunderlaget". Indata är dynamiskt tryck, anfalls- och snedanblåsningsvinklar, tyngdpunktsläge (för ev. omreferering av moment), rodervinklar etc, utdata är krafter och moment i tyngdpunkten.
  8. Dragkraftsmodellen
    Motortypens officiella maxeffekt och en gissad (konstant) propellerverkningsgrad används. Dragkraftsreglagen styrs (individuellt) av pilotmodellen, när de inte styrs av trimrutinen. Indata är dragkraftsreglagens lägen, utdata är propellrarnas sammanlagda kraft och moment i flygplanets tyngdpunkt.
  9. Summa kraft och moment
    Summering - total kraft och totalt moment i flygplanets tyngdpunkt bildas.
  10. Rörelseekvationen
    Total kraft, totalt moment, massa och tröghetmoment insättes i Newtons kraft- och momentekvationer, varur acceleration och vinkelacceleration beräknas.
  11. Integration och komplettering
    Integration av acceleration och vinkelacceleration ger hastighet resp. vinkelhastighet. Integration av hastighet och (transformerad) vinkelhastighet ger position (i tre dim) och eulerska attitydvinklar.
    Vissa ytterligare variabler kan nu bildas ur dessa grundstorheter, tex lastfaktor, ekvivalent fart, anfalls- och snedanblåsningsvinklar etc.
  12. Vindbymodellen
    Med denna modell kan flygplanet utsättas för vindbyar, definierade till tidpunkt, varaktighet, vindhastighet och riktning. Sekvenser av vindbyar i godtyckliga riktningar kan genereras. Verkan av vindbyn kommer i nästa varv i beräkningsloopen.
  13. Lagra data
    Detta utgör slutpunkten för beräkningsloopen. Här lagras nu ca femtio beräknade storheter, en kolumn per storhet, tid i första kolumnen. Denna resultatdatafil kommer alltså att innehålla lika många rader som antalet varv som gjorts i räkneloopen.
    Om simuleringstiden är lika med angiven sluttid, stängs nu datafilen och processen fortsätter enligt pkt 13. Om sluttiden inte är uppnådd, startar loopen på nytt i pkt 1 med nyss framräknade värden på fart, anfallsvinkel etc som ingångsdata.
  14. Plotta resultat
    Resultatet plottas i flera diagram med fördefinierad layout. Diagramfilerna sparas med std-namn och skrivs över vid nästa körning om de inte sparats undan.