- name
- abaqus-modal-analysis
- description
- Complete workflow for modal/frequency analysis - extract natural frequencies and mode shapes. Use for vibration analysis and resonance avoidance.
- allowed-tools
- ["Read","Write","Edit","Glob","Grep","Bash(abaqus:*)","Skill"]
# Abaqus Modal Analysis Skill
Extract natural frequencies and mode shapes from a structure. Use for vibration analysis, resonance avoidance, and dynamic characterization.
## When to Use This Skill
**Route here when user mentions:**
- "Natural frequency", "modal analysis", "vibration"
- "Resonance", "mode shapes", "eigenvalue"
- "How will it vibrate?", "avoid resonance at X Hz"
- "First mode frequency", "natural frequency of beam/plate"
**Route elsewhere:**
- Forced vibration response → use transient dynamic
- Frequency response function → use steady-state dynamics
- Static stress/deflection → `/abaqus-static-analysis`
- Impact/crash → `/abaqus-dynamic-analysis`
## Prerequisites
Before modal analysis:
1. Geometry and mesh ready
2. Material MUST have density defined (required for mass matrix)
3. Boundary conditions define the modal boundary
4. NO loads needed for eigenvalue extraction
## Workflow: Modal Analysis
### Step 1: Understand User's Goal
Ask if unclear:
- **How many modes?** First few (5-10) or all in frequency range?
- **Boundary conditions?** Fixed, pinned, free-free?
- **Frequency range of interest?** Motor at 60 Hz, etc.?
- **What geometry?** Beam, plate, bracket, assembly?
### Step 2: Create Geometry
Route to `/abaqus-geometry` for part creation.
### Step 3: Define Material WITH DENSITY
Route to `/abaqus-material` - density is **essential**.
Without density, Abaqus cannot compute the mass matrix and modal analysis will fail.
| Material | Density (tonne/mm^3) |
|----------|---------------------|
| Steel | 7.85e-9 |
| Aluminum | 2.7e-9 |
| Titanium | 4.5e-9 |
### Step 4: Create Mesh
Route to `/abaqus-mesh` for meshing.
Mesh quality affects mode shapes - finer mesh gives more accurate high-frequency modes.
### Step 5: Apply Boundary Conditions
Route to `/abaqus-bc` to define support type.
| Configuration | Expected Modes | Use Case |
|---------------|----------------|----------|
| Free-free (no BCs) | 6 rigid body modes at ~0 Hz, then elastic | Test correlation |
| Cantilever (one end fixed) | First mode is bending | Mounted component |
| Simply supported | Bending, plate modes | Bridge-like structures |
| Fixed-fixed | Higher frequencies than cantilever | Both ends constrained |
**Note:** Free-free analysis gives 6 modes at ~0 Hz (rigid body translation/rotation). Real elastic modes start at mode 7.
### Step 6: Create Frequency Step
Route to `/abaqus-step` for FrequencyStep configuration.
Key decisions:
- **Fixed count:** Extract exactly N modes (numEigen=10)
- **Frequency range:** All modes between min and max Hz
- **Shift-invert:** Modes near target frequency (for high-frequency focus)
### Step 7: Run and Extract
Route to `/abaqus-job` to submit, then `/abaqus-odb` to read frequencies from result frames.
## Key Parameters
| Parameter | Recommended | Notes |
|-----------|-------------|-------|
| Eigensolver | LANCZOS | Best for most problems |
| numEigen | 10 | Start with first 10 modes |
| Normalization | DISPLACEMENT | Mode shapes max = 1 |
| Mesh size | Adequate for highest mode | Finer mesh for high frequencies |
## Validation Checklist
After analysis, verify:
- [ ] Density defined in material
- [ ] BCs match intended support condition
- [ ] No loads applied (eigenvalue extraction ignores loads)
- [ ] Mesh adequate for highest mode of interest
- [ ] Frequencies reasonable for geometry/material
- [ ] Free-free: confirm 6 modes near 0 Hz
## Analytical Comparison (Simple Geometries)
For cantilever beams, first mode can be verified analytically:
- f1 ~ (1.875^2 / 2*pi*L^2) * sqrt(E*I / rho*A)
Compare FEA result to analytical for validation.
## Troubleshooting
| Problem | Likely Cause | Solution |
|---------|--------------|----------|
| "Material has no density" | Density not defined | Add density to material |
| Negative eigenvalue | Unconstrained/unstable | Check BCs or add soft springs |
| 6 zero-frequency modes | Free-free (expected) | Real modes start at mode 7 |
| Frequencies too high/low | Unit error | Verify mm-tonne-s-N-MPa units |
| Memory error | Too many modes/elements | Reduce numEigen or coarsen mesh |
## Related Skills
- `/abaqus-material` - Must include density
- `/abaqus-bc` - Define modal boundary conditions
- `/abaqus-step` - FrequencyStep configuration
- `/abaqus-odb` - Extract frequencies and mode shapes
- `/abaqus-geometry` - Create geometry
- `/abaqus-mesh` - Mesh affects mode accuracy
## Code Patterns
For API syntax and code examples, see:
- [API Quick Reference](references/api-quick-ref.md)
- [Common Patterns](references/common-patterns.md)
- [Troubleshooting Guide](references/troubleshooting.md)
在 GitHub 查看