Claude-skill-registry abaqus-odb

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

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-odb" ~/.claude/skills/majiayu000-claude-skill-registry-abaqus-odb && rm -rf "$T"
manifest: skills/data/abaqus-odb/SKILL.md
safety · automated scan (low risk)
This is a pattern-based risk scan, not a security review. Our crawler flagged:
  • dumps environment variables
Always read a skill's source content before installing. Patterns alone don't mean the skill is malicious — but they warrant attention.
source content

Abaqus ODB Skill

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
Displacement
U
Use
.magnitude
for total
Stress
S
Use
.mises
for von Mises
Reaction force
RF
Sum components for total
Strain
E
Similar structure to stress
Temperature
NT
Thermal analysis results
EigenfrequencyFrame descriptionParse from frame metadata

2. Which Step/Frame?

ScenarioFrame Selection
Final results
step.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: