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.
Best use case
abaqus-contact-analysis is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Analyze multi-body contact. Use when user mentions parts touching, friction between surfaces, bolt-plate contact, press fit, or assembly with contact.
Teams using abaqus-contact-analysis should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/abaqus-contact-analysis/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How abaqus-contact-analysis Compares
| Feature / Agent | abaqus-contact-analysis | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Analyze multi-body contact. Use when user mentions parts touching, friction between surfaces, bolt-plate contact, press fit, or assembly with contact.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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: 1. Separate parts exist (at least two bodies) 2. Parts are positioned in assembly with appropriate gap/interference 3. Material properties defined for all parts 4. 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 1. **Surfaces:** Which surfaces will touch? 2. **Motion:** Will parts slide, separate, or stay bonded? 3. **Friction:** Dry contact, lubricated, or frictionless? 4. **Gap/interference:** Initial configuration? 5. **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: - [Contact API Reference](references/contact-api.md) - [Common Contact Patterns](references/contact-patterns.md) - [Contact Examples](references/contact-examples.md) ## Related Skills - `/abaqus-interaction` - Contact property details - `/abaqus-bc` - Boundary conditions - `/abaqus-step` - Nonlinear step settings - `/abaqus-dynamic-analysis` - For impact problems
Related Skills
abaqus
Master skill for Abaqus FEA scripting. Use for any finite element analysis, topology optimization, or Abaqus Python scripting task. Routes to appropriate specialized skills.
abaqus-step
Define analysis steps and procedures. Use when user mentions static analysis, dynamic step, frequency analysis, heat transfer step, or asks about analysis type, time increments, or nlgeom.
abaqus-static-analysis
Complete workflow for static structural analysis. Use when analyzing stress, displacement, or reaction forces under constant loads. For strength and stiffness evaluation.
abaqus-shape-optimization
Optimize fillet/notch geometry. Use when user mentions stress concentration, fillet optimization, reshaping surfaces, or reducing peak stress. Moves surfaces only.
abaqus-output
Configure output requests - field outputs, history outputs. Use when user asks what results to save, output variables, reduce output file size, or history output.
abaqus-odb
Read analysis results. Use when user asks about maximum stress, extracting displacements, reaction forces, or exporting results. Post-processes ODB files.
abaqus-mesh
Generate finite element meshes. Use when user mentions mesh, elements, nodes, refine mesh, mesh size, or asks about element types like C3D8R, C3D10, S4R.
abaqus-load
Apply forces and pressures to structures. Use when user asks to apply a force, add pressure, put a load on, or mentions gravity, point loads, or distributed forces.
abaqus-interaction
Define contact and interactions - contact pairs, tie constraints, connectors. Use when user mentions contact, friction, tie, parts touching, or bonded surfaces.
abaqus-field
Define initial conditions and predefined fields. Use when user mentions initial temperature, pre-stress, residual stress, or import from previous analysis.
abaqus-export
Export Abaqus geometry and results. Use when user mentions exporting to STL, STEP, CSV, or generating input files for external use.
abaqus-coupled-analysis
Complete workflow for coupled thermomechanical analysis. Use when user mentions thermal stress, thermal expansion, or temperature causing deformation.