subagent-driven-development
OBobra/superpowers298k2,631 new stars in the last 7 days
Master skill for composite curing simulation with mold contact, friction, temperature, and Model Change springback in Abaqus. Invoke when user asks for curing simulation, springback analysis, composite layup with mold, or UMAT subroutine for composites. Routes to specialized sub-skills.
This is the master routing skill for composite material curing simulation. It provides an overview and routes to specialized sub-skills for each aspect of the workflow.
This is the most important distinction in the curing model. Using the wrong constraint type produces physically incorrect results.
The correct model includes a TOOL part, friction contact pairs, and Model Change demolding in the sp step. This produces asymmetric springback deformation reflecting real physics.
| Feature | P8_mold (Correct) |
|---|---|
| TOOL part | Present (TOOL-1 instance) |
| Contact pair | com-surface (S1) ↔ tool-surface (S4+S6), HARD contact |
| Friction | Temperature-dependent: 0.45 → 0.2 → 0.169 |
| Curing constraint | Mold contact (TOOL U1=0, U2=0 via _PickedSet327/328) |
| Demolding | *Model Change, remove on TOOL elements + contact pair in sp step |
| Springback constraint | Set-2 (inner corner nodes): U1=U2=U3=0 via *Boundary, op=NEW |
| Pressure | 0.6 MPa on S2 (inner surface), removed in sp step |
| Springback contour | Asymmetric (max displacement at free edges) |
| Spring-in angle | Positive (0.5°-1.6°), physically correct |
The incorrect model omits the TOOL part and uses ENCASTRE (full fixity) instead of mold contact. This produces center-symmetric deformation that does NOT reflect real curing physics.
| Feature | P8_only (Incorrect) |
|---|---|
| TOOL part | Absent |
| Contact pair | None |
| Friction | None |
| Curing constraint | ENCASTRE (U1=U2=U3=UR1=UR2=UR3=0) on inner surface |
| Demolding | None (no mold to remove) |
| Springback constraint | Same ENCASTRE remains |
| Springback contour | Center-symmetric (unphysical) |
| Spring-in angle | Does not reflect real physics |
*Model Change step is what creates the physical springback mechanism — releasing the part from the mold allows residual stresses to relax into the final shape. Without it, the model simply releases a fully constrained part.P8_mold_V2.inp — use this for all new simulationsP8_only_recipe_1.inp — do NOT use; archived for reference onlycomposite-curing-simulation/
├── README.md # English overview
├── README.zh-CN.md # Chinese overview
├── SKILL.md # This file (master router)
├── core/
│ └── composite-curing/ # Main routing logic
├── modeling/
│ ├── composite-layup/ # Ply angles, thickness, count
│ ├── mold-geometry/ # Tool/mold part setup
│ └── composite-mesh/ # C3D8 mesh, through-thickness
├── setup/
│ ├── curing-material/ # UMAT, COM/TOOL materials
│ ├── curing-contact/ # Contact pairs, friction
│ ├── curing-bc/ # Boundary conditions, Set-2
│ ├── curing-load/ # Pressure on inner surface
│ └── curing-temperature/ # Temperature fields
├── analysis/
│ ├── curing-steps/ # 4-step process (vis/rub/glassy/sp)
│ └── springback-analysis/ # Model Change, mold removal
├── execution/
│ ├── curing-job/ # Job submission with UMAT
│ └── socket-bridge/ # Socket bridge connection
├── postprocessing/
│ ├── odb-extraction/ # ODB field output reading
│ └── csv-export/ # CSV with coords + displacement
└── reference/
└── curing-parameters/ # Complete parameter tables
| Step | Temperature | Pressure | Friction | Tool BC | Composite BC | Contact |
|---|---|---|---|---|---|---|
| vis | 25→150°C | 0.6 MPa (S2) | 0.45 | U1=0, U2=0 | — | Active |
| rub | 150→180°C | 0.6 MPa (S2) | 0.2 | U1=0, U2=0 | — | Active |
| glassy | 180→25°C | — | 0.169 | U1=0, U2=0 | — | Active |
| sp | 25°C | — (removed) | — | — (removed) | Set-2: U1=U2=U3=0 | Removed |
| Phase | What is Constrained | How | Purpose |
|---|---|---|---|
| Curing (vis/rub/glassy) | TOOL-1: U1=0, U2=0 | _PickedSet328, 1, 1 and _PickedSet327, 2, 2 | Fix mold in space; composite held by friction |
| Curing (vis/rub/glassy) | Composite | Mold contact (friction) | Composite can slide/expand against mold |
| Springback (sp) | TOOL-1 | Removed via *Model Change | Mold is gone |
| Springback (sp) | Composite: Set-2 | *Boundary, op=NEW → U1=U2=U3=0 | Prevent rigid body motion only |
| User Request | Route To |
|---|---|
| Change ply angles | modeling/composite-layup |
| Change ply count | modeling/composite-layup + modeling/composite-mesh |
| Set up mold | modeling/mold-geometry |
| Define UMAT material | setup/curing-material |
| Set up contact/friction | setup/curing-contact |
| Define boundary conditions | setup/curing-bc |
| Apply pressure | setup/curing-load |
| Set temperature fields | setup/curing-temperature |
| Configure curing steps | analysis/curing-steps |
| Set up springback | analysis/springback-analysis |
| Submit job with UMAT | execution/curing-job |
| Connect to Abaqus | execution/socket-bridge |
| Extract ODB results | postprocessing/odb-extraction |
| Export CSV data | postprocessing/csv-export |
| Batch extract + screenshots | abaqus-odb-extraction (standalone skill) |
| Look up parameters | reference/curing-parameters |
core/composite-curing → Start here
modeling/composite-layup → Define plies
modeling/mold-geometry → Set up mold
modeling/composite-mesh → Verify mesh
setup/curing-material → UMAT + TOOL materials
setup/curing-contact → Contact + friction
setup/curing-bc → Tool BCs + Set-2
setup/curing-load → Pressure on S2
setup/curing-temperature → Temperature fields
analysis/curing-steps → 4-step sequence
analysis/springback-analysis → Model Change
execution/curing-job → Submit with UMAT
execution/socket-bridge → Connect to Abaqus
postprocessing/odb-extraction → Read results
postprocessing/csv-export → Export data
abaqus-odb-extraction → Batch automate (standalone skill)
P8_mold_V2.inp — contains TOOL part, contact, Model ChangeP8_only_recipe_1.inp — archived, do NOT useThreestep.for (4434 bytes, 4 state variables)abaqusis.env (domains=4, no_domain_check=ON, ask_delete=OFF)For generating large datasets (50-100 cases) from the P8_mold_V2 template:
0.250, 3, COM, <angle>, Ply-Nabq2020.bat job=NAME user=Threestep.for cpus=4 interactiveabq2020.bat python extract_via_cli.py (bypasses CAE filesystem isolation)abq2020.bat cae noUI=screenshot.py with LeafFromPartInstance to hide moldSee the standalone abaqus-odb-extraction skill for complete automation scripts.
C:\Temp or abq2020.bat for file operations.exist_ok, print is statement in some contexts.TypeError: unicode argument expected, got 'str' — use command-line abq2020.bat instead.OBobra/superpowers298k2,631 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
MAmattpocock/skills288k10,178 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
AFaffaan-m/ECC278k4,046 new stars in the last 7 days