Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Aeroelastic Gust Response

ASecurity

Use when you must compute the dynamic aeroelastic response of a flexible two-degree-of-freedom typical wing section to a discrete gust with indicial unsteady aerodynamics: run the Wagner and Kussner lag-state lift model in the time domain, produce the plunge and pitch response histories for a one-minus-cosine gust, and report the dynamic magnification factor of the peak lift over the quasi-steady value plus the peak-load verdict against a limit. Produces response histories, the dynamic magnif...

2 stars
0 votes
0 copies
0 views
Added 9/27/2026
ai-agentspython

Works with

claude code

Security Analysis

A100/100

Scanned 9/27/2026

Install to Claude Code

$npx -y skills add ashfordeOU/aero-agent-skills --skill aeroelastic-gust-response --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aeroelastic Gust Response?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Aeroelastic Gust Response
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-aeroelastic-gust-response/badge)](https://www.skillsdirectory.com/skills/ashfordeou-aeroelastic-gust-response)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: aeroelastic-gust-response
description: "Use when you must compute the dynamic aeroelastic response of a flexible two-degree-of-freedom typical wing section to a discrete gust with indicial unsteady aerodynamics: run the Wagner and Kussner lag-state lift model in the time domain, produce the plunge and pitch response histories for a one-minus-cosine gust, and report the dynamic magnification factor of the peak lift over the quasi-steady value plus the peak-load verdict against a limit. Produces response histories, the dynamic magnification factor, and load margin. Trigger: aeroelastic gust response, dynamic gust response, kussner function, wagner function, indicial aerodynamics, dynamic magnification factor, typical section gust, gust response history."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: far-25
    reference-only: true
  - id: cs-25
    reference-only: true
gated: false
domain: aerodynamics
pack: aeroelasticity
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: aerodynamics
  subdomain: aeroelasticity
  tags: [aeroelastic-gust-response, dynamic-gust-response, kussner-function, wagner-function, indicial-aerodynamics, dynamic-magnification-factor, typical-section-gust, unsteady-aerodynamics, gust-response-history]
  version: 0.1.0
  author: AeroSkills
---

# Aeroelastic Gust Response (aerodynamics/aeroelasticity/aeroelastic-gust-response)

Use when the task is the DYNAMIC response of a flexible two-degree-of-freedom
typical wing section to a discrete gust: the plunge and pitch time histories
driven by the unsteady (indicial) aerodynamic lift, the dynamic magnification
factor of the peak lift over the quasi-steady value, and the peak-load
verdict against a limit. This leaf is the flexible-section RESPONSE problem,
distinct from the rigid discrete-gust certification load case
(structures/loads/gust-maneuver-loads owns that load method), from the flutter speed search (flutter-speed-prediction
owns the V-g method), and from static divergence (divergence-speed). The
model pairs with flutter-speed-prediction: the same typical-section
machinery, a different question (stability there, forced response here).

## Domain quick reference

- Typical section: plunge h (positive DOWN, m), pitch theta (positive
  nose-up, rad) about an elastic axis at fraction e of the chord from the
  leading edge; per-unit-span mass m_s (kg/m), pitch inertia I_theta
  (kg m^2/m), plunge stiffness k_h (N/m), pitch stiffness k_theta
  (N m/rad), structural damping ignored. Reduced time s = 2*V*t/c with
  semi-chord b = c/2.
- Sign conventions: lift L is positive UPWARD (conventional lift) and the
  plunge equation is m_s*h_ddot + k_h*h = -L; an upward gust therefore
  accelerates the section upward, the physically correct direction. A
  section moving down (h_dot > 0) sees an upwash, so the effective angle at
  the three-quarter chord is alpha_m = theta + h_dot/V +
  (0.75 - e)*c*theta_dot/V; the +h_dot/V term is what gives the standard
  plunge damping. The nose-up moment about the elastic axis from the lift at
  the quarter-chord aerodynamic center is M_ea = -L*(0.25 - e)*c: for e <
  0.25 (elastic axis forward of the aerodynamic center, statically stable)
  an upward lift produces a restoring nose-down moment.
- Indicial (Duhamel) aerodynamics in lag-state form, incompressible thin
  airfoil: the motion angle alpha_m enters through the Wagner function
  phi_w(s) = 1 - A1*exp(-b1*s) - A2*exp(-b2*s) with the R.T. Jones
  two-term coefficients A1 = 0.165, b1 = 0.0455, A2 = 0.335, b2 = 0.3, and
  the gust angle alpha_g through the Kussner function phi_k(s) =
  1 - A1k*exp(-b1k*s) - A2k*exp(-b2k*s) with A1k = 0.5, b1k = 0.13, A2k =
  0.5, b2k = 1.0. The Kussner channel models streamwise gust penetration;
  apparent-mass and full Theodorsen noncirculatory terms are neglected at
  this level (documented assumption). phi_w(0) = 0.5 and phi_k(0) = 0: a
  step in alpha_m starts at half the quasi-steady lift, a sharp-edge gust
  starts at zero.
- Lag-state form: filtered states x1, x2 (Wagner, driven by alpha_m) and
  xk1, xk2 (Kussner, driven by alpha_g) follow x_dot = (2*V/c)*b_i*
  (alpha - x) per term, and the lift per unit span is L = 2*pi*rho*V^2*b*
  [(1 - A1 - A2)*alpha_m + A1*x1 + A2*x2 + (1 - A1k - A2k)*alpha_g +
  A1k*xk1 + A2k*xk2].
- Gust: one-minus-cosine vertical gust w_g (m/s, upward positive) with
  gradient length H (m), alpha_g(s) = (w_g/V)*(1 - cos(2*pi*s/s_g))/2 over
  0 <= s <= s_g, s_g = 2*H/c in reduced time, zero after. A sharp-edge gust
  is the short-gradient limit.
- Equations of motion (per unit span, RK4 in real time):
  m_s*h_ddot + k_h*h = -L and I_theta*theta_ddot + k_theta*theta = M_ea.
- Quasi-steady reference: L_qs = 2*pi*rho*V*b*w_g, the lift the peak gust
  angle w_g/V would produce on the rigid section. Dynamic magnification
  factor DMF = peak(|L(t)|)/L_qs over the encounter history.
- Quasi-static flexible reference: with q = (0.25 - e)*c*2*pi*rho*V^2*b/
  k_theta, the static aeroelastic peak lift is L_qs/(1 + q). For e = 0.2
  and the worked-example stiffness, q = 0.195 so L_qs_flex = 0.837*L_qs:
  a forward elastic axis gives static aeroelastic load relief, and a very
  long gust gradient approaches that ratio, not unity. Putting the elastic
  axis at the aerodynamic center (e = 0.25, q = 0) removes the relief and
  the long-gradient DMF approaches 1.0.
- Metric direction: for this flexible-section lift response the DMF rises
  monotonically with gradient length toward the quasi-static value; the
  shortest gradients give the smallest DMF because the section recoils and
  the gust is over before the structural response peaks. This is the
  opposite trend of the rigid discrete-gust load-factor method in the
  structures loads family, whose alleviation treatment belongs to that
  leaf, not here.
- FAR 25 and CS 25 gust-load rules frame the certification gust context;
  the relations above are standard engineering methodology, summary-only,
  no standard text reproduced.

## Workflow

1. Set the section: V, c, rho, m_s, I_theta, k_h, k_theta, e (elastic axis
   fraction from the leading edge, 0 to 1) in a params dict; the module
   checks every non-positive mass, inertia, stiffness, speed, chord and
   non-finite input with a ValueError. Choose k_h = m_s*(2*pi*f_h)^2 and
   k_theta = I_theta*(2*pi*f_theta)^2 for the target uncoupled plunge and
   pitch frequencies.
2. Confirm the indicial coefficients with wagner_coefficients() and
   kussner_coefficients() (module constants, R.T. Jones and classical
   two-term values).
3. Set the gust: w_g (m/s, upward positive), gradient length H (m). The
   gradient reduced time follows as s_g = 2*H/c. The gust angle at any
   reduced time s is gust_angle_time(w_g, V, s_g, s).
4. Integrate: gust_response_history(params, w_g, H, dt_real, t_max)
   returns the t, s, h, h_dot, theta, theta_dot, lift, alpha_gust and
   alpha_motion histories plus the peak absolute lift and its time. Use a
   dt small enough to resolve the pitch mode (about 5e-4 s for the worked
   example) and a t_max long enough for the structural settling, 2.5 s or
   more.
5. Reference: quasi_steady_peak_lift(rho, V, c, w_g) gives the rigid
   quasi-steady peak L_qs; dynamic_magnification_factor(peak_lift, L_qs)
   gives the DMF.
6. Check the peak load: peak_load_verdict(peak_lift, limit) returns the
   verdict PASS or FAIL and the fractional margin limit/peak - 1, negative
   when the limit is exceeded.
7. Sanity checks: a step in effective angle with no gust must start at
   about 0.5 of the quasi-steady lift (Wagner phi(0) = 0.5) and converge
   to the full value; the long-gradient DMF must approach the quasi-static
   flexible ratio; confirm with the contract test.

## Worked example

Transport-wing typical section: c = 2 m, m_s = 300 kg/m, I_theta = 40
kg m^2/m, elastic axis e = 0.2 (20 percent chord), k_h = 47374 N/m
(uncoupled plunge 2.0 Hz), k_theta = 39478 N m/rad (uncoupled pitch 5.0
Hz), V = 100 m/s, rho = 1.225 kg/m^3, gust w_g = 15 m/s, H = 25 m
(s_g = 25, gust duration 0.25 s).

- Rigid quasi-steady peak: L_qs = 2*pi*rho*V*b*w_g = 11545 N/m.
- Response: peak |L| = 6901 N/m at t = 0.135 s, inside the gust. The
  dynamic magnification factor is DMF = 6901/11545 = 0.598. The section
  recoils against the gust (upward plunge velocity subtracts from the
  incidence) so the flexible peak sits below the rigid quasi-steady value.
- Quasi-static flexible peak: L_qs/(1 + q) with q = (0.25 - 0.2)*2*
  2*pi*1.225*1e4*1/39478 = 0.195 gives 0.837*11545 = 9662 N/m. A much
  longer gradient H = 200 m gives DMF = 0.830, approaching that ratio; the
  residual difference is the penetration and structural lag. With the
  elastic axis at the aerodynamic center (e = 0.25) the same long gradient
  gives DMF = 0.987, approaching 1.0, confirming the aerodynamics alone
  tend to the quasi-steady peak.
- Short gradient H = 2 m (near sharp edge) gives DMF = 0.320: the DMF
  rises monotonically with gradient length for this flexible section,
  documented above.
- Peak-load verdict at H = 25 m: against a limit of 8 kN/m the peak
  6901 N/m PASSes with margin +15.9 percent; against 6.5 kN/m it FAILs
  with margin -5.8 percent.

## Verification

- Confirm a step in effective angle with no gust starts at 0.5 of the
  quasi-steady lift and converges to the full value within a few percent
  (test_lag_state_step_* methods assert ratios 0.5 -> 1.0 against the
  closed-form Wagner function).
- Confirm the worked-example run returns peak |L| = 6901 N/m and
  DMF = 0.598 at H = 25 m, and that the long-gradient DMF (H = 200 m) sits
  in [0.78, 0.88], the e = 0.25 variant in [0.93, 1.05], and DMF(2 m) <
  DMF(25 m) < DMF(200 m).
- Confirm peak_load_verdict returns FAIL with a negative margin when the
  limit is below the computed peak.
- Confirm ValueError rejection of non-positive V, c, rho, m_s, I_theta,
  k_h, k_theta, H, dt and t_max, negative w_g, elastic axis outside
  [0, 1], missing parameter keys and non-finite inputs.
- Run the contract test offline: python3
  scripts/test_aeroelastic_gust_response.py (35 tests, deterministic,
  under 1 s).

## Related leaves

- aerodynamics/aeroelasticity/flutter-speed-prediction: the stability
  counterpart of this leaf, V-g flutter speed of the same typical section.
- aerodynamics/aeroelasticity/divergence-speed: static divergence of a
  section whose elastic axis lies aft of the aerodynamic center.
- structures/loads/gust-maneuver-loads: the rigid discrete-gust
  certification load factor method, the other half of the gust-loads
  story.

## Pitfalls

- Confusing the DMF trend with the rigid discrete-gust method: on this
  flexible section the DMF rises monotonically with gradient length
  (0.320 at H = 2 m, 0.598 at H = 25 m, 0.830 at H = 200 m) toward the
  quasi-static flexible ratio - the opposite of the rigid-gust
  load-factor alleviation trend owned by the structures loads family.
- Reporting the rigid quasi-steady lift as the load: the flexible peak
  |L| = 6901 N/m in the worked example is only 0.598 of L_qs = 11545
  N/m because the section recoils against the gust; run the response
  history, do not substitute the quasi-steady anchor.
- Misreading the plunge sign: h is positive DOWN and the plunge equation
  is m_s*h_ddot + k_h*h = -L, so an upward gust drives the section
  upward and a downward-moving section adds +h_dot/V upwash incidence -
  flipping these signs removes the plunge damping.
- Integrating too coarsely for the pitch mode: the worked example needs
  dt near 5e-4 s to resolve the 5 Hz pitch mode, and t_max long enough
  (2.5 s+) for structural settling; a coarse dt aliases the response
  peak and the DMF.
- Placing the elastic axis at or aft of the aerodynamic center without
  re-checking relief: with e = 0.25 the static aeroelastic relief
  vanishes (q = 0) and the long-gradient DMF approaches 1.0 rather than
  0.837; e aft of 0.25 is the divergence regime owned by divergence-speed.
- Expecting the verdict margin sign convention to be positive on pass:
  peak_load_verdict returns margin = limit/peak - 1, so a negative
  margin means FAIL and a positive margin means PASS - do not flip the
  comparison when reading the verdict.

## Behavior contract (gate 3)

Run the deterministic contract test (stdlib unittest, offline):

    python3 scripts/test_aeroelastic_gust_response.py

The test covers the indicial coefficient values, the Wagner step-response
limits (0.5 at s = 0, unity at large s) and Kussner sharp-edge limits
(zero at s = 0, unity at large s), the one-minus-cosine gust angle shape
and peak, the lag-state step anchor (initial lift about 0.5 of the
quasi-steady value, convergence to the full value, match to the closed
form), the fully developed lift kernel and the zero-start gust channel,
the quasi-steady peak lift formula, the dynamic magnification factor, the
peak-load verdict PASS/FAIL/margin logic, the worked-example peak and DMF,
the long-gradient bands, the monotonic DMF trend with gradient length,
quiescence with no gust, linear scaling with gust velocity, and ValueError
rejection of every non-physical input class.

## Compliance

- Standards referenced, not reproduced: the FAR 25 and CS 25 gust-load
  rules frame the certification context; the indicial aerodynamics and
  typical-section relations above are standard engineering methodology,
  summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

Attribution

ashfordeOUashfordeOU
View sourceMore from ashfordeOU →
SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Know which skills are safe — weekly.

Best new skills + every skill we flagged as malicious. From the team that scanned 103,619.

Join free

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

694821 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →