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 Column Analysis

ASecurity

Use when you must margin-check a compression member that also carries bending: compute the Euler load P_E, the moment amplification factor delta that grows the moment as the axial load nears the Euler load, the amplified moment, the secant-formula peak compressive stress of an eccentrically loaded column, and the axial-plus-bending interaction ratio with its margin of safety and pass verdict. Produces P_E, the amplification factor, the amplified moment, the peak combined stress, the interacti...

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

Installs into .claude/skills of the current project.

Are you the author of Beam Column Analysis?

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

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

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

Download with Pro
Files
SKILL.md
---
name: beam-column-analysis
description: "Use when you must margin-check a compression member that also carries bending: compute the Euler load P_E, the moment amplification factor delta that grows the moment as the axial load nears the Euler load, the amplified moment, the secant-formula peak compressive stress of an eccentrically loaded column, and the axial-plus-bending interaction ratio with its margin of safety and pass verdict. Produces P_E, the amplification factor, the amplified moment, the peak combined stress, the interaction ratio, the margin and the verdict for the combined-loading check. SI units, stdlib. Trigger: combined axial compression and bending, moment amplification factor, euler load, secant formula, load eccentricity, margin of safety."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
  - id: far-25
    reference-only: true
  - id: cs-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-column-analysis, moment-amplification-factor, secant-formula, load-eccentricity, axial-bending-interaction-ratio]
  version: 0.1.0
  author: AeroSkills
---

# Beam-Column Analysis (structures/fem/beam-column-analysis)

Use when the task is the global member-level margin check of a slender
compression member that also carries bending: a longeron, spar cap or
actuator rod under combined axial compression and primary end moment or
lateral load. The Euler load P_E = pi^2 E I / (K L)^2 of the member sets
the amplification denominator, the moment amplification factor
delta = c_m / (1 - P/P_E) grows the primary moment as the axial load
approaches the Euler load, the secant formula gives the peak compressive
stress of an eccentrically loaded column, and the axial-plus-bending
interaction ratio P/P_cr + M/(M_cap (1 - P/P_E)) with its margin of
safety 1/ratio - 1 and the pass verdict closes the combined-loading
check. The logic module is pure Python standard library, deterministic,
with no FEA software. It pairs with structures/fem/buckling-analysis,
which owns the concentrically loaded Euler column and rates it slender
or stubby; this leaf takes P_E only as the amplification denominator and
interaction input. Structures/fem/beam-frame-analysis supplies first-
order member forces that this leaf then margin-checks under combined
loading. Units are SI: E in Pa, I in m^4, A in m^2, L and eccentricity in
m, forces in N, moments in N m, stresses in Pa.

## Domain quick reference

- Euler load of the member, the classic ideal-column critical load:

      P_E = pi^2 E I / (K L)^2

  where K is the effective length factor resolved from the end
  conditions (per the concentric-column sibling; pinned-pinned K = 1.0,
  fixed-fixed K = 0.5 raises P_E by the factor 4, cantilever K = 2.0
  lowers it by the factor 4).

- Moment amplification factor (standard second-order factor, name and
  paraphrase):

      delta = c_m / (1 - P/P_E)

  with c_m = 1.0 for the worst-case constant moment. delta is 1.0 at
  zero axial load and grows without bound as P approaches P_E from
  below. The amplified primary moment is M_amp = delta * M.

- Secant-formula peak compressive stress of an eccentrically loaded
  column (classical secant formula, name and paraphrase):

      sigma_max = (P/A) (1 + (e c / r^2) / cos((K L / (2 r)) sqrt(P/(E A))))

  with e the load eccentricity, c the extreme-fiber distance and
  r = sqrt(I/A) the radius of gyration. The secant argument reaches
  pi/2 exactly at P = P_E, so sigma_max diverges precisely where the
  member buckles. At e = 0 the formula returns P/A exactly, the pure
  axial stress limit.

- Section yield moment capacity of the extreme fiber:

      M_cap = sigma_y I / c

- Axial-plus-bending interaction ratio with its amplification carried
  inside the bending term:

      ratio = P/P_cr + M_applied / (M_cap (1 - P/P_E))
      margin = 1/ratio - 1
      pass = ratio <= 1.0  (inclusive)

  With M_applied = 0 the ratio degenerates to P/P_cr and the margin to
  P_cr/P - 1, the pure-axial margin-of-safety identity of the
  concentric-column sibling.

## Workflow

1. Fix the limit load case at the critical station: member properties
   E, I, A, L, the effective length factor K from the support
   conditions, the radius of gyration r = sqrt(I/A), the extreme-fiber
   distance c, the limit axial load P and the primary end moment M, or
   the load eccentricity e = M/P when the moment enters that way.
2. Euler load traverse: call euler_load(e_mod, i, l, k) to get P_E,
   form the axial ratio P/P_E and confirm it sits strictly below unity,
   the pole at which the amplification diverges. If the axial-only
   critical load P_cr comes from the concentric-column sibling, form
   the axial utilization P/P_cr too.
3. Moment amplification traverse: call moment_amplification(p, p_euler,
   c_m) for delta, multiply the primary moment by delta for the
   amplified moment, and form the amplified bending utilization
   delta * M / M_cap against the section capacity.
4. Secant-formula stress traverse: for an eccentrically loaded column
   call secant_stress(p, area, ecc, c, r, l, e_mod, k) to get the peak
   compressive stress sigma_max, and compare it against the yield
   strength. A result at or above P_E means the member buckles before
   it can resist the bending, and the guard raises ValueError.
5. Interaction-ratio traverse: call interaction_check(p, p_cr,
   m_applied, m_capacity, p_euler) and read the dict with keys ratio,
   margin and pass. The margin of safety 1/ratio - 1 and the pass
   verdict gate the global combined-loading margin check.
6. Contract-test confirmation: run python3
   scripts/test_beam_column_analysis.py and confirm every deterministic
   case passes offline.

## Worked example

The steel member of the buckling-analysis worked anchor, E = 200 GPa,
I = 1e-6 m^4, A = 1e-3 m^2, L = 3.0 m, pinned-pinned K = 1.0, now
carrying combined loading. Solid circular section: r = sqrt(I/A) =
0.031623 m, extreme fiber c = 2 r = 0.063246 m, effective slenderness
K L / r = 94.8683. Limit axial load P = 100 kN with a primary end moment
M = 1 kN m from a load eccentricity e = M/P = 10 mm at the loaded end.
Real outputs of the module:

- P_E = euler_load(200e9, 1e-6, 3.0) = 219324.542 N = 219.325 kN, so
  P/P_E = 0.455945. The same member at K = 0.5 gives 877.298 kN and at
  K = 2.0 gives 54.831 kN, the K-squared scaling.
- delta = moment_amplification(100e3, 219324.542) = 1.838051, so the
  amplified primary moment is 1.838 kN m. The unamplified bending
  utilization M/M_cap is 0.252982, but the amplified utilization
  M/(M_cap (1 - P/P_E)) is 0.464994: amplification is the whole story.
- sigma_max = secant_stress(100e3, 1e-3, 0.010, 0.063246, 0.031623, 3.0,
  200e9, 1.0) = 2.295230e8 Pa = 229.5230 MPa, 0.9181 of the 250 MPa
  yield strength; the secant argument is 1.060660 rad, comfortably below
  the pi/2 = 1.570796 rad pole at P_E.
- M_cap = sigma_y I / c = 250e6 * 1e-6 / 0.063246 = 3952.847 N m (3.953
  kN m).
- interaction_check(100e3, 219324.542, 1000.0, 3952.847, 219324.542):
  axial term 0.455945, amplified moment term 0.464994, ratio = 0.920939,
  margin = +0.085848 (8.58%), verdict PASS. The Euler-only margin of
  safety on this member is 1.19; adding the 1 kN m primary bending
  moment drops the combined margin to +0.086, about a 93% reduction,
  and ignoring the moment amplification would overstate the margin to
  1/0.708927 - 1 = +0.411.
- Overload case P = 130 kN, M = 1.2 kN m (e = 9.23 mm): delta =
  2.455424, ratio = 1.3381, margin = -0.2527, verdict FAIL; the secant
  peak stress is 344.61 MPa, above the 250 MPa yield. The member passes
  neither check at this load.

## Verification

Deterministic checks, all offline:

- moment_amplification(0.0, p_euler) = 1.0 exactly; secant_stress with
  ecc = 0.0 returns P/A = 1.0e8 Pa exactly; the pinned-pinned to
  fixed-fixed Euler load ratio is 4.0 exactly (K enters squared).
- Divergence consistency: the secant argument at P = P_E computes to
  1.570796 rad = pi/2, and moment_amplification raises ValueError at
  p >= p_euler, as does secant_stress once the argument reaches pi/2
  (asserted at p = p_euler + 1.0 N, strictly above the pole).
- Monotonicity: delta rises 1.295291 at P = 50 kN, 1.838051 at P =
  100 kN, 3.163736 at P = 150 kN; secant_stress rises with ecc at fixed
  P.
- Pure-axial degeneration: interaction_check(100e3, 219324.542, 0.0,
  3952.847, 219324.542) gives ratio 0.455945 and margin +1.193245, the
  buckling-analysis margin of safety MS = Pcr/P - 1 = 1.19 anchor.
- Rejection: non-positive modulus, moment of area, length, effective
  length factor, radius of gyration, extreme-fiber distance, capacity
  and negative eccentricity all raise ValueError, as do axial loads at
  or above the Euler load in every function that divides by
  1 - P/P_E.
- Run the contract test: python3
  scripts/test_beam_column_analysis.py (27 tests, deterministic,
  exit 0).

## Related leaves

- structures/fem/buckling-analysis: the concentrically loaded slender
  column, source of the Euler critical load, the end-condition factors
  and the slender-or-stubby rating; the pure-axial margin of safety
  this leaf reproduces at zero moment.
- structures/fem/beam-frame-analysis: first-order rigid-jointed frame
  solves whose member axial and bending results feed the combined
  margin check here when a member carries both.
- structures/fem/plate-buckling: flat-panel compression and shear
  stability, the panel-level stress interaction that this leaf does not
  cover.
- structures/fem/truss-analysis: pin-jointed axial bars with no bending
  moment, the pure-axial limit of this leaf's interaction ratio.

## Contract test

Run it offline and deterministic from the repo root:

    python3 scripts/test_beam_column_analysis.py

The suite exercises the numbered Workflow steps by name: the Euler load
traverse (step 2) against the 219.325 kN worked anchor with the K
scaling and the exact 4.0 ratio, the moment amplification traverse
(step 3) against delta 1.838051 with the monotone series, the zero-load
unity limit, the c_m scaling and the amplification-to-interaction
utilization bridge, the secant-formula stress traverse (step 4) against
the 229.5230 MPa peak with the ecc = 0 pure-axial limit, eccentricity
monotonicity, the pi/2 pole and the overload-yield case, the
interaction-ratio traverse (step 5) against ratio 0.920939 PASS and the
130 kN overload FAIL, the pure-axial margin identity 1.193245, the
inclusive ratio = 1.0 boundary, the exact dict keys and margin
recomputation, plus cross-step determinism and bool verdict typing
(step 6). It also asserts every ValueError rejection named in the spec
Validation list.

## Pitfalls

- Sizing on the unamplified moment: ignoring delta = 1/(1 - P/P_E)
  overstates the margin to +0.411 against the true +0.086 in the worked
  example. At P/P_E = 0.456 the amplification nearly doubles the
  bending utilization.
- Applying the pure-axial Euler margin to a bending member: the axial
  margin of safety is 1.19, but the combined margin falls to +0.086
  once the 1 kN m primary moment is added, a 93% reduction. The
  interaction ratio, not the axial ratio, gates the combined case.
- Running at or above the Euler load: both delta and the secant
  argument diverge at P = P_E, where the member buckles before it can
  resist the moment. Inputs at or above P_E raise ValueError in every
  amplification and interaction function; a result near the pole means
  the check is meaningless, not that the margin is huge.
- Feeding the eccentricity in millimeters: the worked eccentricity is
  10 mm = 0.010 m; passing 10.0 m for ecc makes the secant term
  e c / r^2 enormous and the stress wrong by orders of magnitude. All
  length inputs are meters.
- Confusing the extreme-fiber distance with the radius of gyration: for
  the solid circular section c = 2 r = 0.063246 m while r = 0.031623 m;
  swapping them halves the eccentricity leverage term and understates
  the peak stress.
- Double counting the amplification: the interaction bending term
  carries 1/(1 - P/P_E) built in, so the applied moment must enter
  interaction_check unamplified; multiplying M by delta first inflates
  the ratio and fails healthy members.

## Behavior contract (gate 3)

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

    python3 scripts/test_beam_column_analysis.py

The test covers the Euler load traverse with the worked P_E anchor, the
K-squared scaling and the non-physical-input rejections, the moment
amplification traverse with the 1.838051 worked factor, the monotone
series to the pole, the exact unity limit and the c_m scaling, the
secant-formula stress traverse with the 229.5230 MPa worked peak, the
ecc = 0 pure-axial limit, the eccentricity monotonicity, the pi/2 pole
guard and the overload-yield comparison, the interaction-ratio traverse
with the PASS case, the FAIL overload, the pure-axial margin identity,
the inclusive ratio = 1.0 boundary, exact dict keys and the margin
recomputation, plus determinism and boolean verdict typing. All 27
methods must pass and the process must exit 0.

## Compliance

- Standards referenced, not reproduced: FAR/CS 25 airworthiness strength
  and margin requirements frame the combined-loading context
  (reference-only per standards-map.yaml). The Euler load, the moment
  amplification factor and the secant formula above are standard
  engineering methodology, summary-only, named and paraphrased, never
  quoted from a standard text.
- 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 →