Abaqus ODB Skill

SkillFiles & storage

Read analysis results. Use when user asks about maximum stress, extracting displacements, reaction forces, or exporting results. Post-processes ODB files.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Abaqus ODB Skill skill

What this skill tells your AI

The instructions your AI receives, as published by cai-aa/cae-agent-hub in Skill/abaqus/postprocessing/abaqus-odb/SKILL.md and read by ahel’s review.

This skill reads and extracts analysis results from Abaqus ODB files.

When to Use This Skill

Route here when user mentions:

  • "What is the maximum stress?", "extract displacement"
  • "Get reaction forces", "post-process the ODB"
  • "Export results to CSV", "what are the eigenfrequencies?"

Route elsewhere:

  • Running the analysis → /abaqus-job
  • Configuring what output to save → /abaqus-output
  • Exporting geometry (STL, STEP) → /abaqus-export

Key Decisions

1. What Result is Needed?

NeedFieldNotes
DisplacementUUse .magnitude for total
StressSUse .mises for von Mises
Reaction forceRFSum components for total
StrainESimilar structure to stress
TemperatureNTThermal analysis results
EigenfrequencyFrame descriptionParse from frame metadata

2. Which Step/Frame?

ScenarioFrame Selection
Final resultsstep.frames[-1]
All time historyLoop all frames
Specific timeFind by frameValue
Modal analysisEach frame = mode

3. Location: Global Max or Specific?

NeedApproach
Overall maximumLoop all values, find max
Specific nodeFilter by nodeLabel
Subset/regionUse getSubset(region=...)

4. Export Format?

FormatUse Case
Print to consoleQuick check
CSV fileSpreadsheet analysis
Text reportDocumentation

What to Ask User

If unclear, ask:

  1. What result? Stress, displacement, reaction force, frequency?
  2. Which step/frame? Final, specific time, or all?
  3. Location? Maximum anywhere, or specific node/region?
  4. Output format? Print, CSV, or report?

Workflow

  1. Open ODB - Use readOnly=True for extraction
  2. Navigate to step/frame - List steps with odb.steps.keys()
  3. Get field output - Access via frame.fieldOutputs['U']
  4. Extract values - Loop field.values, use .magnitude, .mises
  5. Close ODB - Always close when done

Common Tasks

TaskApproach
Max displacementLoop U values, find max magnitude
Max von Mises stressLoop S values, find max mises
Total reaction forceSum RF components across all nodes
Displacement at nodeFilter by nodeLabel
Results in regionUse getSubset with node/element set
EigenfrequenciesParse frame.description in frequency step
Time historyUse historyRegions and historyOutputs
Export to CSVWrite values with csv module

Troubleshooting

ErrorCauseSolution
"ODB locked"Another process has itDelete .lck file
"Key not found"Wrong variable nameList available keys first
"No values"Output not requestedCheck FieldOutputRequest in model
"AttributeError: mises"Element has no misesCheck element formulation

Code Patterns

For API syntax and code examples, see:

Signals

GitHub stars
880
Forks
115
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
abaqus-odb
Source
github.com/cai-aa/cae-agent-hub