Agent SkillsCai-aa/CAE-Agent-Hub › calculix-sizing-optimization

calculix-sizing-optimization

GitHub

用于 CalculiX 壳/梁结构的参数优化,通过调整厚度等变量在应力、位移或固有频率约束下最小化质量。

Skill/calculix/calculix-sizing-optimization/SKILL.md Cai-aa/CAE-Agent-Hub

Trigger Scenarios

需要减轻 CalculiX 壳或梁模型质量 需满足应力和挠度限制的结构轻量化 需提高一阶固有频率以避免共振

Install

npx skills add Cai-aa/CAE-Agent-Hub --skill calculix-sizing-optimization -g -y
More Options

Non-standard path

npx skills add https://github.com/Cai-aa/CAE-Agent-Hub/tree/main/Skill/calculix/calculix-sizing-optimization -g -y

Use without installing

npx skills use Cai-aa/CAE-Agent-Hub@calculix-sizing-optimization

指定 Agent (Claude Code)

npx skills add Cai-aa/CAE-Agent-Hub --skill calculix-sizing-optimization -a claude-code -g -y

安装 repo 全部 skill

npx skills add Cai-aa/CAE-Agent-Hub --all -g -y

预览 repo 内 skill

npx skills add Cai-aa/CAE-Agent-Hub --list

SKILL.md

Frontmatter
{
    "name": "calculix-sizing-optimization",
    "description": "Workflow skill for two-stage sizing\/parameter optimization on a CalculiX shell or beam deck via the optimize_structure tool — Latin Hypercube sweep plus coordinate descent to minimize mass subject to stress\/displacement or natural-frequency constraints by tuning scalar section\/material\/load cards. Use when an agent must lighten a CalculiX shell or beam model while keeping stress and deflection within limits, or must thin a deck until its first modes clear a resonance floor (freq_1_hz constraint on a *FREQUENCY deck)."
}

CalculiX Sizing Optimization

Two-stage sizing/parameter optimization: minimize mass subject to stress, displacement, or natural-frequency constraints by editing scalar design variables in place (shell thickness, beam section, material E/nu/density, load magnitude). The mesh and geometry never change — only scalar cards.

This is sizing optimization, not topology optimization. It thins sections; it does not redistribute material in space.

When to Use

Use when an agent must lighten a CalculiX shell or beam model while keeping von Mises stress and displacement within limits (static deck), or must lighten it while keeping a natural frequency above a resonance floor (modal deck). Driven by the optimize_structure_tool MCP tool.

Do NOT use for:

  • Solid (C3D8 / C3D8R) models. Solids expose no scalar geometry card — their mass is set by node-defined volume x density, so there is no thickness to thin. Material/load variables on a solid are degenerate for mass minimization (density changes mass but not stiffness; E changes stiffness but not mass). Solid lightweighting needs shape or topology optimization, which is a different problem and is not covered here.
  • Topology optimization (material distribution over a fixed mesh) — separate, future work.

Workflow

  1. parse_inp / list_design_vars_tool — confirm the deck and find the shell.<elset>.thickness (or beam section) var_id and its current value.
  2. Choose bounds {var_id: [lower, upper]} to bracket the search. Mass falls monotonically with shell/beam thickness.
  3. optimize_structure_tool — run the two-stage loop (LHS sweep, then coordinate descent). Each evaluation is a real ccx solve, so set max_solves to bound wall time.
  4. Inspect the result: best (vars, mass_kg, stress_vm, disp, feasible, mass_reduction_pct), converged / termination_reason, and history.
  5. Optional: export_results_tool on the persisted <stem>.optimized.inp to render the optimized design in the viewer.

Rules

  • Frame results as sizing/parameter optimization (section sizing), never topology.
  • Defaults: minimize mass s.t. max von Mises < 250 MPa and max displacement < 1.5 mm; pass objective / constraints to override.
  • Match the constraint set to the deck: a *STATIC deck reports max_stress_vm / max_disp; a *FREQUENCY deck reports freq_<N>_hz (mode N in Hz, from the .dat eigenvalue table) and nothing else. Mixing a stress constraint into a modal optimization makes every point infeasible — the run warns about missing metrics rather than failing opaquely.
  • Avoid-resonance runs: on a modal deck pass e.g. constraints=[{"metric": "freq_1_hz", "op": ">", "value": 300.0}]; thinning stops where mode 1 sits just above the floor. Constraint metric names are validated (mass, max_stress_vm, max_disp, freq_<N>_hz).
  • The acceptance rule assumes shell/beam thickness (mass-monotone). Material E and load magnitude are exposed as variables but are not validated for mass-minimization — prefer section thickness.
  • Units follow the .inp (commonly mm-t-s-MPa); mass_kg is reported in kg.
  • A converged=False result is not a failure: best is the lightest feasible point found, and bound_limited tells whether it already sits at the box optimum (widen the bounds to do better).

Example

MCP/CalculiX/examples/bracket.inp is a public S4 shell bracket (steel plate, clamped edge, transverse tip load). Starting from thickness 8 mm with bounds {"shell.PLATE.thickness": [2.0, 8.0]} and n_lhs=8, the optimizer converges to ~4.1 mm — about -48% mass — while keeping stress < 250 MPa and displacement < 1.5 mm.

MCP/CalculiX/examples/plate_modal.inp is the avoid-resonance counterpart: a public S4 shell cantilever plate with a 5-mode *FREQUENCY step. With constraints=[{"metric": "freq_1_hz", "op": ">", "value": 30.0}] the optimizer thins from 4 mm to ~3.23 mm — -19% mass, f1 = 30.4 Hz — matching the Euler-Bernoulli hand calc t* = 30 / 9.29 ≈ 3.23 mm for L = 300 steel (f1 ≈ (1.8751²/2π)(t/L²)√(E/12ρ)).

Version History

  • f19c0ef Current 2026-08-27 18:39

    新增基于 *FREQUENCY 卡片的固有频率约束优化功能,支持避免共振;增加约束指标校验与警告,改进坐标下降法的二分搜索策略以提高边界收敛精度。

  • fc7b93e 2026-08-16 09:00

Same Skill Collection

Skill/abaqus/analysis/abaqus-contact-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-coupled-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-dynamic-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-fatigue-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-modal-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-static-analysis/SKILL.md
Skill/abaqus/analysis/abaqus-thermal-analysis/SKILL.md
Skill/abaqus/composite-curing-simulation/core/composite-curing/SKILL.md
Skill/abaqus/composite-curing-simulation/modeling/composite-layup/SKILL.md
Skill/abaqus/composite-curing-simulation/modeling/composite-mesh/SKILL.md
Skill/abaqus/composite-curing-simulation/modeling/mold-geometry/SKILL.md
Skill/abaqus/composite-curing-simulation/setup/curing-bc/SKILL.md
Skill/abaqus/composite-curing-simulation/setup/curing-contact/SKILL.md
Skill/abaqus/composite-curing-simulation/SKILL.md
Skill/abaqus/core/abaqus/SKILL.md
Skill/abaqus/execution/abaqus-export/SKILL.md
Skill/abaqus/execution/abaqus-job/SKILL.md
Skill/abaqus/modeling/abaqus-geometry/SKILL.md
Skill/abaqus/modeling/abaqus-interaction/SKILL.md
Skill/abaqus/modeling/abaqus-material/SKILL.md
Skill/abaqus/modeling/abaqus-mesh/SKILL.md
Skill/abaqus/optimization/abaqus-optimization/SKILL.md
Skill/abaqus/optimization/abaqus-shape-optimization/SKILL.md
Skill/abaqus/optimization/abaqus-topology-optimization/SKILL.md
Skill/abaqus/postprocessing/abaqus-odb/SKILL.md
Skill/abaqus/reference/fea-structural/SKILL.md
Skill/abaqus/reference/fenics-fem/SKILL.md
Skill/abaqus/setup/abaqus-amplitude/SKILL.md
Skill/abaqus/setup/abaqus-bc/SKILL.md
Skill/abaqus/setup/abaqus-docs/SKILL.md
Skill/abaqus/setup/abaqus-field/SKILL.md
Skill/abaqus/setup/abaqus-load/SKILL.md
Skill/abaqus/setup/abaqus-output/SKILL.md
Skill/abaqus/setup/abaqus-step/SKILL.md
Skill/Ansys/aedt-evidence-electromagnetics/SKILL.md
Skill/Ansys/ansys-mechanical-evidence-structural/SKILL.md
Skill/Ansys/run-fluent-autoclave/SKILL.md
Skill/calculix/calculix-fem/SKILL.md
Skill/calculix/calculix-modal-analysis/SKILL.md
Skill/comsol/comsol-motor-nvh-evidence/SKILL.md
Skill/lammps/lammps-evidence-md/SKILL.md
Skill/ovito/ovito-evidence-postprocessing/SKILL.md
Skill/Ansys/ansys-structural-workbench/SKILL.md
Skill/fep-agent-hub/SKILL.md

Metadata

Files
0
Version
f19c0ef
Hash
0c6cb9ec
Indexed
2026-08-16 09:00

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-27 20:54
浙ICP备14020137号-1 $お客様$