AircraftPitch AircraftPitch Icon

Examples.AircraftPitch

Simplified pitch-attitude dynamics of an aircraft whose aerodynamic coefficients scale with the dynamic pressure.

The pitch angle $θ$ and the pitch rate $ω$ obey

\[\begin{aligned} \dot θ &= ω \\ \dot ω &= q \left( c_u u - c_θ θ \right) - c_ω \dfrac{q}{V} ω \end{aligned}\]

where $u$ is the elevator deflection, $V$ the airspeed and $q = \tfrac{1}{2} ρ_0 e^{-h/H} V^2$ the dynamic pressure at the altitude $h$, computed with an exponential model of the air density. The static gain from $u$ to $θ$ is independent of the operating point, whereas the gain at high frequencies is proportional to $q$ and the natural frequency is proportional to $\sqrt{q}$.

Usage

DiscreteComponents.Examples.AircraftPitch(rho0=1.225, H=8500, c_u=6e-4, c_theta=4e-4, c_omega=7.4e-3)

Parameters:

NameDescriptionUnitsDefault value
rho0Air density at sea level [kg/m³]–1.225
HScale height of the exponential atmosphere [m]–8500
c_uPitch acceleration per unit elevator deflection and unit dynamic pressure–6e-4
c_thetaPitch acceleration per unit pitch angle and unit dynamic pressure–4e-4
c_omegaPitch damping coefficient–7.4e-3

Connectors

  • u - This connector represents a real signal as an input to a component (RealInput)
  • h - This connector represents a real signal as an input to a component (RealInput)
  • V - This connector represents a real signal as an input to a component (RealInput)
  • theta - This connector represents a real signal as an output from a component (RealOutput)

Variables

NameDescriptionUnits
pitchPitch angle [rad]–
omegaPitch rate [rad/s]–
qDynamic pressure [Pa]–

Behavior

using DiscreteComponents #hide
using ModelingToolkit #hide
@variables rho0 #hide
@variables H #hide
@variables c_u #hide
@variables c_theta #hide
@variables c_omega #hide
@named sys = DiscreteComponents.Examples.AircraftPitch(rho0=rho0, H=H, c_u=c_u, c_theta=c_theta, c_omega=c_omega) #hide
full_equations(sys) #hide

Source

"""
Simplified pitch-attitude dynamics of an aircraft whose aerodynamic coefficients scale with the dynamic pressure.

The pitch angle ``θ`` and the pitch rate ``ω`` obey

```math
\begin{aligned}
\dot θ &= ω \\
\dot ω &= q \left( c_u u - c_θ θ \right) - c_ω \dfrac{q}{V} ω
\end{aligned}
```

where ``u`` is the elevator deflection, ``V`` the airspeed and ``q = \tfrac{1}{2} ρ_0 e^{-h/H} V^2`` the dynamic pressure at the altitude ``h``, computed with an exponential model of the air density. The static gain from ``u`` to ``θ`` is independent of the operating point, whereas the gain at high frequencies is proportional to ``q`` and the natural frequency is proportional to ``\sqrt{q}``.
"""
component AircraftPitch
  "Elevator deflection [rad]"
  u = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -100, "y1": 450, "x2": 0, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  "Altitude [m]"
  h = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 200, "y1": -100, "x2": 300, "y2": 0, "rot": 90}
      },
      "tags": []
    }
  }
  "Airspeed [m/s]"
  V = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 700, "y1": -100, "x2": 800, "y2": 0, "rot": 90}
      },
      "tags": []
    }
  }
  "Pitch angle [rad]"
  theta = RealOutput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 1000, "y1": 450, "x2": 1100, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  "Air density at sea level [kg/m³]"
  parameter rho0::Real = 1.225
  "Scale height of the exponential atmosphere [m]"
  parameter H::Real = 8500
  "Pitch acceleration per unit elevator deflection and unit dynamic pressure"
  parameter c_u::Real = 6e-4
  "Pitch acceleration per unit pitch angle and unit dynamic pressure"
  parameter c_theta::Real = 4e-4
  "Pitch damping coefficient"
  parameter c_omega::Real = 7.4e-3
  "Pitch angle [rad]"
  variable pitch::Real
  "Pitch rate [rad/s]"
  variable omega::Real
  "Dynamic pressure [Pa]"
  variable q::Real
relations
  initial pitch = 0
  initial omega = 0
  q = 0.5 * rho0 * exp(-h / H) * V ^ 2
  der(pitch) = omega
  der(omega) = q * (c_u * u - c_theta * pitch) - c_omega * q / V * omega
  theta = pitch
metadata {"Dyad": {"icons": {"default": "dyad://Dyad/Default.svg"}}}
end
Flattened Source
"""
Simplified pitch-attitude dynamics of an aircraft whose aerodynamic coefficients scale with the dynamic pressure.

The pitch angle ``θ`` and the pitch rate ``ω`` obey

```math
\begin{aligned}
\dot θ &= ω \\
\dot ω &= q \left( c_u u - c_θ θ \right) - c_ω \dfrac{q}{V} ω
\end{aligned}
```

where ``u`` is the elevator deflection, ``V`` the airspeed and ``q = \tfrac{1}{2} ρ_0 e^{-h/H} V^2`` the dynamic pressure at the altitude ``h``, computed with an exponential model of the air density. The static gain from ``u`` to ``θ`` is independent of the operating point, whereas the gain at high frequencies is proportional to ``q`` and the natural frequency is proportional to ``\sqrt{q}``.
"""
component AircraftPitch
  "Elevator deflection [rad]"
  u = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": -100, "y1": 450, "x2": 0, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  "Altitude [m]"
  h = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 200, "y1": -100, "x2": 300, "y2": 0, "rot": 90}
      },
      "tags": []
    }
  }
  "Airspeed [m/s]"
  V = RealInput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 700, "y1": -100, "x2": 800, "y2": 0, "rot": 90}
      },
      "tags": []
    }
  }
  "Pitch angle [rad]"
  theta = RealOutput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 1000, "y1": 450, "x2": 1100, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  "Air density at sea level [kg/m³]"
  parameter rho0::Real = 1.225
  "Scale height of the exponential atmosphere [m]"
  parameter H::Real = 8500
  "Pitch acceleration per unit elevator deflection and unit dynamic pressure"
  parameter c_u::Real = 6e-4
  "Pitch acceleration per unit pitch angle and unit dynamic pressure"
  parameter c_theta::Real = 4e-4
  "Pitch damping coefficient"
  parameter c_omega::Real = 7.4e-3
  "Pitch angle [rad]"
  variable pitch::Real
  "Pitch rate [rad/s]"
  variable omega::Real
  "Dynamic pressure [Pa]"
  variable q::Real
relations
  initial pitch = 0
  initial omega = 0
  q = 0.5 * rho0 * exp(-h / H) * V ^ 2
  der(pitch) = omega
  der(omega) = q * (c_u * u - c_theta * pitch) - c_omega * q / V * omega
  theta = pitch
metadata {"Dyad": {"icons": {"default": "dyad://Dyad/Default.svg"}}}
end


Test Cases

No test cases defined.

  • Examples
  • Experiments
  • Analyses