Claude-skill-registry abaqus-contact-analysis
Analyze multi-body contact. Use when user mentions parts touching, friction between surfaces, bolt-plate contact, press fit, or assembly with contact.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/abaqus-contact-analysis" ~/.claude/skills/majiayu000-claude-skill-registry-abaqus-contact-analysis && rm -rf "$T"
manifest:
skills/data/abaqus-contact-analysis/SKILL.mdsource content
Abaqus Contact Analysis Workflow
This skill guides multi-body contact analysis setup. It's a workflow skill - use it when analyzing assemblies where surfaces touch, slide, or separate.
When to Use This Skill
Route here when user mentions:
- "Parts touching each other"
- "Contact between surfaces"
- "Friction between parts"
- "Bolt and plate contact"
- "Press fit / interference fit"
- "Multi-body assembly"
- "Parts sliding on each other"
- "Impact analysis"
- "Bearing contact"
Route elsewhere:
- Single-body analysis →
/abaqus-static-analysis - Just defining contact properties →
/abaqus-interaction - Only boundary conditions →
/abaqus-bc
Prerequisites
Before contact analysis setup:
- Separate parts exist (at least two bodies)
- Parts are positioned in assembly with appropriate gap/interference
- Material properties defined for all parts
- Basic understanding of which surfaces will touch
Workflow Steps
Step 1: Identify Contact Pairs
Ask the user:
- Which surfaces will touch?
- Is there an initial gap or interference?
- Will surfaces slide or remain bonded?
Step 2: Determine Master vs Slave
| Role | Should Be |
|---|---|
| Master | Stiffer material, coarser mesh |
| Slave | Softer material, finer mesh |
Rule: Slave surface nodes cannot penetrate master surface.
Step 3: Choose Contact Type
| Scenario | Approach |
|---|---|
| Permanently bonded surfaces | Tie constraint (no slip/separation) |
| Sliding with friction | Surface-to-surface contact |
| Frictionless contact | Surface-to-surface, no tangential |
| Many bodies touching | General contact (auto detection) |
| Surface folding on itself | Self-contact |
Step 4: Define Contact Property
Configure normal behavior:
- Hard contact - Most cases, no penetration allowed
- Soft contact - For rubber, foam, or gradual engagement
Configure tangential behavior (if not tied):
- Frictionless - Lubricated surfaces
- Friction (Coulomb) - Specify coefficient
Step 5: Set Friction Coefficient
| Interface | Typical Value |
|---|---|
| Frictionless | 0.0 |
| Lubricated steel | 0.1-0.2 |
| Dry steel-on-steel | 0.3-0.5 |
| Rubber on metal | 0.5-0.8 |
Ask user if unsure about their specific interface.
Step 6: Create Analysis Step
Contact analysis typically requires:
- Nonlinear geometry (nlgeom=ON)
- Smaller initial increment (0.1)
- More increments allowed (100+)
- Minimum increment for convergence (1e-8)
Step 7: Request Contact Outputs
Essential output variables:
- CSTRESS - Contact pressure and shear
- CDISP - Contact displacement
- COPEN - Gap opening distance
- CSLIP - Accumulated slip
Key Decisions
| User Need | Configuration |
|---|---|
| Bonded joint (welded, glued) | Tie constraint |
| Bolted connection | Friction contact + preload |
| Press fit | Interference + friction |
| Bearing load | Frictionless or low friction |
| Impact/crash | Explicit dynamics + general contact |
What to Ask User
- Surfaces: Which surfaces will touch?
- Motion: Will parts slide, separate, or stay bonded?
- Friction: Dry contact, lubricated, or frictionless?
- Gap/interference: Initial configuration?
- Loading: What pushes the parts together?
Validation Checklist
After setup, verify:
- Master/slave assigned correctly (stiffer = master)
- Contact property has normal behavior defined
- Tangential behavior set (friction or frictionless)
- nlgeom=ON in analysis step
- Contact outputs requested (CSTRESS, CDISP)
- Boundary conditions don't overconstrain
Troubleshooting
| Problem | Likely Cause | Solution |
|---|---|---|
| "Severe discontinuity" | Contact chattering | Add stabilization, smaller increments |
| "Too much penetration" | Wrong master/slave | Swap roles, refine slave mesh |
| "Contact not detected" | Surfaces too far apart | Use adjust=ON or reduce gap |
| "Convergence failure" | Difficult nonlinearity | Smaller increments, check friction |
Code Patterns
For API syntax and code examples, see:
Related Skills
- Contact property details/abaqus-interaction
- Boundary conditions/abaqus-bc
- Nonlinear step settings/abaqus-step
- For impact problems/abaqus-dynamic-analysis