界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

abaqus-odb

abaqus-odb

【数据与研究】Read analysis results. Use when user asks about maximum stress, extracting displacements, reaction forces, or exporting results. Post-processes ODB files.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: abaqus-odb description: Read analysis results. Use when user asks about maximum stress, extracting displacements, reaction forces, or exporting results. Post-processes ODB files. allowed-tools:

  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Bash(abaqus:*)
  • Bash(python:*)

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
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:

我的收藏