ODB Extraction
SkillAI & modelsA skill for ai & models by cai-aa.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the ODB Extraction skill
What this skill tells your AI
The instructions your AI receives, as published by cai-aa/cae-agent-hub in Skill/abaqus/composite-curing-simulation/postprocessing/odb-extraction/SKILL.md and read by ahel’s review.
Description
Extract field outputs from ODB files for curing simulation. Invoke when user needs to read ODB results, get displacement data, or inspect field outputs.
Content
Opening ODB
Open an ODB file in read-only mode:
from abaqusConstants import *
odb = session.openOdb(name='odb1', path=odb_path, readOnly=True)
ODB Structure
The curing simulation ODB has the following structure:
- Instances:
['P8-1', 'TOOL-1']P8-1: Composite part instanceTOOL-1: Tool part instance
- Steps:
['vis', 'rub', 'glassy', 'sp']- The
spstep has 7 frames - The last frame of the
spstep contains the final springback result
- The
Available Field Outputs
The following field outputs are available in the sp step last frame:
Standard Field Outputs
U— DisplacementS— StressPE— Plastic strainSDV1toSDV4— State variablesTEMP— TemperatureRF— Reaction forceNT— Nodal temperature
Contact Field Outputs
CDISP— Contact displacementCSTRESS— Contact stressCOPEN— Contact openingCPRESS— Contact pressureCSHEAR1,CSHEAR2— Contact shear stressesCSLIP1,CSLIP2— Contact slip
Note: COORD is NOT available as a field output. To get node coordinates, access them directly from instance.nodes.
Extracting Displacement
Extract displacement data from the last frame of the sp step:
last_frame = odb.steps['sp'].frames[-1]
u_field = last_frame.fieldOutputs['U']
u_map = {}
for val in u_field.values:
u_map[val.nodeLabel] = (val.data[0], val.data[1], val.data[2])
Getting Node Coordinates
Retrieve node coordinates directly from the instance:
inst = odb.rootAssembly.instances['P8-1']
for node in inst.nodes:
x, y, z = node.coordinates
# Process coordinates
Closing ODB
Always close the ODB after extraction to free resources:
odb.close()
Important: After calling odb.close(), do NOT access any instance objects (nodes, elements, field outputs) that were obtained before closing. Doing so will raise an AccessError. Extract all needed data into Python data structures (lists, dicts) before closing the ODB.
Best Practices
- Open ODB in
readOnly=Truemode to prevent accidental modifications - Extract all needed data into local variables before closing
- Use the last frame of the sp step for final springback results
- Node labels from field output values match instance node labels
- Close the ODB promptly after extraction to release file locks
Signals
- GitHub stars
- 891
- Forks
- 115
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
odb-extraction- Source
- github.com/cai-aa/cae-agent-hub