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

Beam Vibration

ASecurity

Use when you must compute the natural frequencies of a continuous beam member: exact Euler-Bernoulli bending frequencies in hertz for pinned-pinned, cantilever, clamped-clamped and free-free end conditions from the characteristic-equation roots cos x cosh x = -1 and cos x cosh x = 1, the closed-form pinned-pinned law n^2 pi^2 sqrt(EI/(m L^4))/2pi, the shared rule f_n = (beta_n L)^2 sqrt(EI/(m L^4))/2pi, and a Rayleigh-quotient fundamental estimate omega^2 = 20 EI/(m L^4) for non-uniform canti...

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

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 beam-vibration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Beam Vibration?

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

Security grade badge for Beam Vibration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ashfordeou-beam-vibration/badge)](https://www.skillsdirectory.com/skills/ashfordeou-beam-vibration)

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

Download with Pro
Files
SKILL.md
---
name: beam-vibration
description: "Use when you must compute the natural frequencies of a continuous beam member: exact Euler-Bernoulli bending frequencies in hertz for pinned-pinned, cantilever, clamped-clamped and free-free end conditions from the characteristic-equation roots cos x cosh x = -1 and cos x cosh x = 1, the closed-form pinned-pinned law n^2 pi^2 sqrt(EI/(m L^4))/2pi, the shared rule f_n = (beta_n L)^2 sqrt(EI/(m L^4))/2pi, and a Rayleigh-quotient fundamental estimate omega^2 = 20 EI/(m L^4) for non-uniform cantilever shapes. Produces member natural frequencies for vibration clearance and excitation checks; complements the discrete 2-DOF modal-analysis leaf. Trigger: euler bernoulli beam, characteristic equation roots, cantilever beam, pinned-pinned beam, clamped beam frequency, free-free beam, rayleigh quotient, vibration clearance."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: far-25
    reference-only: true
gated: false
domain: structures
pack: fem
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
  domain: structures
  subdomain: fem
  tags: [beam-vibration, euler-bernoulli-beam, characteristic-equation-roots, cantilever-beam, pinned-pinned-beam, clamped-beam-frequency, rayleigh-quotient]
  version: 0.1.0
  author: AeroSkills
---

# Beam Vibration (structures/fem/beam-vibration)

Use when the task is computing the natural frequencies of a continuous
Euler-Bernoulli beam member: exact bending frequencies in hertz for
pinned-pinned, cantilever, clamped-clamped and free-free end
conditions, obtained from the transcendental characteristic-equation
roots rather than a discrete mass model. The beam is treated as a
distributed-parameter member with bending stiffness EI (N m^2) and
mass per unit length m (kg/m); every end condition reduces to a root
of cos x cosh x = -1 or cos x cosh x = 1, and each root feeds the
shared frequency law f_n = (beta_n L)^2 sqrt(EI / (m L^4)) / 2pi.
This leaf is the continuous-member complement to the discrete 2-DOF
modal-analysis leaf, and it supplies the member natural frequencies
that a random-vibration or vibration-clearance check consumes.

## Domain quick reference

- Transverse free vibration of a uniform Euler-Bernoulli beam obeys
  EI y'''' + m y_ddot = 0; separation of variables gives spatial
  solutions built from cos, sin, cosh and sinh of beta x, and the end
  conditions select the allowed beta_n L.
- Pinned-pinned (simply supported): beta_n L = n pi exactly, so
  f_n = n^2 pi^2 sqrt(EI / (m L^4)) / 2pi, with the exact spacing
  f_n = n^2 f_1. No root search is needed.
- Cantilever (fixed-free): cos x cosh x = -1. Bisection roots:
  1.87510407 (n=1), 4.69409113 (n=2), 7.85475744 (n=3).
- Clamped-clamped and free-free: cos x cosh x = 1, roots
  4.73004074 (n=1), 7.85320462 (n=2). A free-free beam also carries
  two zero-frequency rigid-body modes (translation, rotation); only
  the elastic modes are reported, so the first elastic free-free root
  is 4.73004074, identical to clamped-clamped.
- Shared frequency law for every end condition:
  f_n = (beta_n L)^2 sqrt(EI / (m L^4)) / 2pi in hertz, where the
  characteristic roots are non-dimensional.
- Rayleigh quotient for non-uniform members:
  omega^2 = int_0^L EI phi''^2 dx / int_0^L m phi^2 dx. With the
  uniform-cantilever parabola phi = (x/L)^2 this gives omega^2 =
  20 EI / (m L^4), an upper bound about 1.272x the exact fundamental
  (ratio sqrt(20) / 3.51602).
- FAR-25 (25.301-25.307) sets the certification context for structure
  loads and proof; the natural frequencies computed here feed
  vibration-clearance and excitation checks, not the loads
  themselves.

## Workflow

1. Gather the member data: bending stiffness EI (N m^2), mass per
   unit length m (kg/m) and length L (m), all SI.
2. Name the end condition: pinned-pinned, cantilever,
   clamped-clamped or free-free.
3. For a pinned-pinned member call pinned_pinned_frequency(mode_n,
   ei, mass_per_len, length_m); the closed form is exact and the mode
   ratios come out as exact squares.
4. For the other end conditions the module first re-derives the
   characteristic root with characteristic_root(mode_n, bc,
   tol=1e-12) by bisection: the cantilever root n=1 is bracketed in
   (1.8, 2.0), cantilever n>=2 in ((n-1) pi, n pi), and the
   clamped-clamped/free-free roots in (n + 0.5) pi +/- 0.8, brackets
   verified to straddle the published values. Pass any root into
   beam_frequency(beta_n_L, ei, mass_per_len, length_m), or call the
   convenience functions cantilever_frequency,
   clamped_clamped_frequency and free_free_frequency (elastic modes
   only) directly.
5. Sweep modes with beam_mode_frequencies(bc, n_modes, ei,
   mass_per_len, length_m) to get the first n_modes frequencies as an
   ascending list for one boundary condition.
6. For a non-uniform member or a quick shape-based estimate, call
   rayleigh_fundamental(ei, mass_per_len, length_m) with the stored
   cantilever-parabola shape and report the result as an upper bound
   to the exact fundamental.
7. Confirm the deterministic checks with the contract test
   scripts/test_beam_vibration.py.

## Worked example

Aluminum beam: E = 73.1 GPa, rho = 2780 kg/m3, cross-section 50 x
100 mm, L = 2 m. Then I = b h^3 / 12 = 4.1667e-6 m^4, EI = 3.0458e5
N m^2 and m = rho b h = 13.9 kg/m. Module outputs:

- Characteristic roots by bisection: cantilever 1.87510407,
  4.69409113, 7.85475744; clamped-clamped and free-free 4.73004074,
  7.85320462 (all match published Blevins values).
- Cantilever: f1 = 20.7089 Hz, f2 = 129.7803 Hz, f3 = 363.3887 Hz
  (about 20.709, 129.780, 363.389 Hz).
- Pinned-pinned: f1 = 58.1307 Hz, and f2 = 232.5228 Hz = 4 f1
  exactly.
- Clamped-clamped: f1 = 131.7758 Hz; free-free first elastic mode is
  the same 131.7758 Hz (shared root 4.73004074).
- Rayleigh cantilever-parabola estimate: 26.3403 Hz = 1.272x the
  exact 20.7089 Hz, confirming the upper-bound property.


## Pitfalls

- Reading the wrong characteristic equation: cantilever roots come
  from cos x cosh x = -1 while clamped-clamped and free-free share
  cos x cosh x = 1; swapping them swaps the frequency sets.
- Counting free-free rigid-body modes as elastic: a free-free beam
  carries two zero-frequency rigid-body modes, and the module
  reports elastic modes only - its first elastic root 4.73004074
  matches clamped-clamped, so expecting a lower first free-free
  frequency is wrong.
- Using the Rayleigh estimate as exact: the cantilever-parabola
  quotient gives 26.3403 Hz against the exact 20.7089 Hz fundamental
  in the worked example (an upper bound at 1.272x), so it is a
  screening bound, not the frequency.
- Forgetting pinned-pinned is closed form: pinned-pinned needs no
  root search, f_n = n^2 f_1 exactly; forcing it through the
  transcendental machinery invites rounding where none is needed.
- Feeding the shape guess into the wrong law: the shared law
  f = (beta_n L)^2 sqrt(EI / (m L^4)) / 2pi needs the
  NON-dimensional characteristic root, not a radian frequency or a
  beta in 1/m.
- Asking for invalid modes or members: a mode number below 1 (or
  fractional), non-positive EI, mass per length or length, and
  unknown boundary-condition names all raise ValueError.
## Verification

- Cantilever roots land within 1e-6 of 1.87510407 / 4.69409113 /
  7.85475744 and clamped roots within 1e-6 of 4.73004074 /
  7.85320462 (contract requires 1e-5).
- Pinned-pinned closed form: f_n / f_1 = n^2 exactly, asserted for
  several modes.
- Rayleigh bound: rayleigh_fundamental returns 26.3403 Hz, above the
  exact cantilever fundamental 20.7089 Hz by the expected 1.272x.
- Free-free reports elastic modes only: its mode list equals the
  clamped-clamped list, and no zero-frequency rigid-body rows
  appear.
- Determinism: no random numbers anywhere; identical floats run to
  run.
- beam_mode_frequencies returns n_modes entries in ascending order
  for every boundary condition.
- Every non-positive ei, mass per unit length or length, every mode
  number below 1 (and every fractional mode), and every unknown
  boundary-condition name raises ValueError.
- Run the contract test offline: python3
  scripts/test_beam_vibration.py (32 tests, deterministic, under one
  second).

## Related leaves

- structures/fem/modal-analysis: the discrete 2-DOF sibling; this
  leaf is its continuous-member complement for distributed-parameter
  beam members.
- structures/loads/random-vibration-analysis: consumes member natural
  frequencies for random excitation response assessment.
- cross-cutting/numerics/eigenvalue-decomposition: generic eigensolvers
  for discretized models; a continuous beam member instead uses the
  closed-form characteristic roots above.

## Behavior contract (gate 3)

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

    python3 scripts/test_beam_vibration.py

The test covers the worked aluminum beam frequencies inside the spec
bounds, the published characteristic roots to 1e-5 or better, the
bisection brackets and tolerance behavior, the exact pinned-pinned
n^2 spacing, the shared beam_frequency law and its round trip, the
Rayleigh upper bound at 1.272x, the free-free elastic mode identity
with clamped-clamped, ascending mode lists for every boundary
condition, determinism run to run, and ValueError rejection of
non-positive stiffness/mass/length, invalid mode numbers and unknown
boundary-condition names.

## Compliance

- Standards referenced, not reproduced: FAR-25 is public-domain US
  government work (17 U.S.C. 105) but standards-map.yaml marks it
  gated: false and reference-only: true, so only the summary
  paraphrase above is used, never standard text. The characteristic
  roots and frequency laws are standard engineering methodology
  (Blevins-style formulas), summary-only.
- 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 →