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:
| Name | Description | Units | Default value |
|---|---|---|---|
rho0 | Air density at sea level [kg/m³] | – | 1.225 |
H | Scale height of the exponential atmosphere [m] | – | 8500 |
c_u | Pitch acceleration per unit elevator deflection and unit dynamic pressure | – | 6e-4 |
c_theta | Pitch acceleration per unit pitch angle and unit dynamic pressure | – | 4e-4 |
c_omega | Pitch 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
| Name | Description | Units |
|---|---|---|
pitch | Pitch angle [rad] | – |
omega | Pitch rate [rad/s] | – |
q | Dynamic 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) #hideSource
"""
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"}}}
endTest Cases
No test cases defined.
Related
- Examples
- Experiments
- Analyses