Composite Curing Simulation (Master Router)

SkillAI & models

Once added, your AI can run composite curing simulations in Abaqus that cover mold contact, friction, temperature, and springback. It acts as the master skill for this kind of simulation and sends each part of the job to the appropriate specialized skill.

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

After adding the skill, describe the composite curing scenario you want simulated and your AI will run it in Abaqus. More detailed work is passed to the matching specialized skill.

Then ask your AI: use the Composite Curing Simulation (Master Router) skill

What your AI can do with it

  • Run composite curing simulations in Abaqus
  • Model mold contact during the curing process
  • Include friction in the simulation
  • Account for temperature during curing
  • Predict springback after curing using Model Change
  • Route each task to the appropriate specialized 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/core/composite-curing/SKILL.md and read by ahel’s review.

This is the master routing skill for composite curing simulation. It does not perform work directly. Instead, it classifies the user's request and routes to the appropriate specialized sub-skill within the composite-curing-simulation collection.

When to Invoke

Invoke this skill when the user's request falls into any of the following categories:

  • Curing simulation: User asks to run or set up a composite curing simulation in Abaqus
  • Springback analysis: User mentions springback, mold removal, demolding, or *Model Change
  • Mold contact: User needs mold/tool contact geometry, contact pairs, or friction setup
  • Composite layup with mold: User wants to define or modify a composite layup that interacts with a mold during curing
  • UMAT for composites: User needs to run Abaqus with a UMAT subroutine for composite materials (e.g., Threestep.for)
  • Temperature-dependent friction: User mentions changing friction coefficients across curing steps
  • Ply angle or ply count changes: User wants to modify ply angles, ply count, or layup sequence in an existing curing model

If the request is a single, well-scoped sub-task (e.g., only changing a ply angle), you may route directly to the relevant sub-skill without invoking this router first. Use this router when the request spans multiple stages or when the user is unsure which sub-skill applies.

Architecture Overview

The curing model consists of two parts in the Abaqus assembly:

  1. P8 (Composite Part): An L-shaped bracket with through-thickness solid elements (C3D8). The composite layup is defined via *Solid Section, composite with a stack direction of 3. The through-thickness direction is along the X-axis (from -1 to 0).

  2. Tool (Mold Part): A separate rigid-like mold part that contacts the composite outer surface during curing. The mold is removed in the springback step via *Model Change.

Through-Thickness Direction

The composite thickness lies along the X-axis. For a 4-ply layup, the thickness spans from X = -1 to X = 0 (1 mm total, 0.25 mm per ply). For an 8-ply layup, the same total thickness of 1 mm is divided into 8 plies of 0.125 mm each. The stack direction in *Solid Section is 3 (the third local axis defined by the orientation).

4-Step Curing Process

StepNameTemperaturePressureFriction (mu)Purpose
1vis25C to 150C0.6 MPa0.45Viscous heating phase
2rub150C to 180C0.6 MPa0.2Rubbery curing phase
3glassy180C to 25C(removed)0.169Glassy cooling phase
4sp25C (held)(removed)(inactive)Springback after mold removal

Routing Table

Use the table below to determine which sub-skill to invoke. When multiple sub-skills are relevant, invoke them in the order listed under "Recommended Chain Order".

User Intent / KeywordsSub-SkillCategory
Ply angles, ply count, thickness, layup sequencemodeling/composite-layupmodeling
Tool part, mold surfaces, mold geometry, tool materialmodeling/mold-geometrymodeling
C3D8 elements, through-thickness mesh, composite meshmodeling/composite-meshmodeling
UMAT, COM material, TOOL material, Depvar, Expansionsetup/curing-materialsetup
Contact pair, friction properties, Change Frictionsetup/curing-contactsetup
Tool BCs, Set-2 springback constraint, boundarysetup/curing-bcsetup
Pressure on inner surface S2, Dsloadsetup/curing-loadsetup
Temperature fields, initial conditions, predefinedsetup/curing-temperaturesetup
4-step process, vis/rub/glassy/sp, Static step setupanalysis/curing-stepsanalysis
Model Change, mold removal, springback stepanalysis/springback-analysisanalysis
Job submission with UMAT, JobFromInputFileexecution/curing-jobexecution
Socket bridge usage, TCP port 48152, Abaqus kernelexecution/socket-bridgeexecution
ODB field output, stress/strain/displacement extractionpostprocessing/odb-extractionpostprocessing
CSV export with coordinates + displacementpostprocessing/csv-exportpostprocessing

Recommended Chain Order

For a complete curing simulation from scratch, follow this chain order. Each stage depends on the output of the previous stage:

1. modeling/composite-layup        # Define ply angles, thickness, count
2. modeling/mold-geometry          # Create tool/mold part and surfaces
3. modeling/composite-mesh         # Generate through-thickness C3D8 mesh
4. setup/curing-material           # Define COM (UMAT) and TOOL materials
5. setup/curing-contact            # Set up contact pair and friction properties
6. setup/curing-bc                 # Apply tool BCs and Set-2 springback constraint
7. setup/curing-load               # Apply pressure on inner surface S2
8. setup/curing-temperature        # Define temperature fields and initial conditions
9. analysis/curing-steps           # Configure 4-step process (vis/rub/glassy/sp)
10. analysis/springback-analysis   # Configure Model Change and mold removal
11. execution/curing-job           # Submit job with UMAT subroutine
12. execution/socket-bridge        # Connect to Abaqus kernel via socket bridge
13. postprocessing/odb-extraction  # Extract ODB field outputs
14. postprocessing/csv-export      # Export CSV with coordinates + displacement

Stage Dependencies

  • Modeling (steps 1-3) must be completed before Setup (steps 4-8), because material assignments, contact surfaces, and boundary sets reference the mesh.
  • Setup (steps 4-8) must be completed before Analysis (steps 9-10), because steps reference loads, BCs, and contact pairs defined in setup.
  • Analysis (steps 9-10) must be completed before Execution (steps 11-12), because the job is submitted from the complete INP.
  • Postprocessing (steps 13-14) runs after the job completes successfully.

Common Routing Scenarios

Scenario 1: Change Ply Angles Only

User says: "Change the layup to [45/-45]*4."

Route to: modeling/composite-layup only. This is a text-level INP edit that does not require mesh regeneration.

Scenario 2: Change Ply Count

User says: "Switch from 4 plies to 8 plies."

Route to: modeling/composite-layup (for layup definition) then modeling/composite-mesh (for mesh regeneration). Changing ply count requires regenerating the through-thickness mesh, not just editing ply lines.

Scenario 3: Run Full Curing Simulation

User says: "Run a curing simulation with the default layup."

Route through the full chain: modeling/* then setup/* then analysis/* then execution/* then postprocessing/*.

Scenario 4: Extract Results

User says: "Get the displacement results from the completed job."

Route to: postprocessing/odb-extraction then postprocessing/csv-export.

Key References

  • UMAT subroutine: Fortran file (e.g., Threestep.for) with 4 state variables
  • Reference INP: Contains mold geometry, contact, loads, steps (e.g., Job-0_0_0_0.inp)
  • Pre-built composite model: For ply count changes (e.g., P8_only_recipe_1.inp for 8 plies)
  • Socket bridge: TCP on 127.0.0.1:48152 inside Abaqus CAE

Common Pitfalls

  1. Ply count vs ply angles: Changing ply angles is a text edit; changing ply count requires mesh regeneration. Do not confuse the two.
  2. Pressure surface: Pressure is applied on S2 (inner surface), NOT S1 (outer/contact surface). Routing to setup/curing-load must preserve this distinction.
  3. Tool node numbering: Tool and composite parts both start from node 1. Parse nodes per-part, not globally.
  4. Set-2 node matching: When merging models with different through-thickness meshes, match nodes by exact coordinate lookup, not by node ID.
  5. Unicode errors: Use consistencyChecking=OFF in submit() when running via the socket bridge.

Signals

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