Find the critical cooling rate

Bracket the slowest cooling rate that still gives a fully martensitic structure, using a coarse CCT sweep followed by targeted heat-treatment runs.

You need to know how fast a part has to cool to come out fully martensitic — to size a die-quench, to judge whether a section thickness will make it, or to set an acceptance limit for a press-hardening line. Phases does not interpolate an exact critical rate. It runs cooling simulations at rates you choose, reports the resulting phase fractions, and highlights the lowest tested rate with at least 90% final martensite. That sampled indicator lets you bracket the rate in two or three passes.

The workflow is: coarse sweep, read the phase fractions, narrow sweep between the two rates that straddle your target, then confirm with a single heat-treatment run.

Step 1: coarse sweep#

Generate a CCT diagram for DP600 at 0.1, 1, 10, 50 and 100 °C/s.

Those five rates are the defaults, so Generate a CCT diagram for DP600 gets you the same sweep. Phases runs one cooling simulation per rate, in the order you gave them, and combines the results into one diagram.

Three things about that sweep are worth stating plainly, because they change how you read the answer:

  • Phases does not choose the rates. There is no automatic refinement around the transformation nose. You get exactly the rates you asked for.
  • The starting condition is imposed, not simulated. Each rate begins from 100% austenite. Phases does not simulate the heating or the soak that preceded it, does not calculate this material's Ac3, and does not check that your start temperature is above it.
  • Each cooling curve is a straight linear ramp from the start temperature to the final temperature. There is no soak segment.

Defaults are 860 °C start and 20 °C final. Start must be greater than final, rates must be positive, and the configuration card and simulator panel cap a sweep at 10 rates.

The whole sweep consumes one run version and produces one diagram image.

Step 2: read the diagram#

The diagram is log time in seconds on the x axis against temperature in °C on the y axis, titled "CCT Diagram" followed by the material label. Each cooling curve is drawn in grey and annotated at its end with its rate.

MarkerMeaning
Dashed line, downward triangles, labels Fs Ps Bs MsTransformation start for ferrite, pearlite, bainite, martensite
Solid line, upward triangles, labels Fe Pe Be Me AeTransformation end
Lower-left boxMaterial label, chemistry, and the final phase percentages for each cooling rate
Upper-right boxOne line per cooling rate giving the rate in °C/s and the predicted hardness in HV, when hardness values came back

Austenite start points are deliberately left off the plot. Transformation start is detected as the first step where a phase fraction moves more than one percentage point from its initial value; the end is the first step after that beyond which it has plateaued.

Rather than reading percentages off the image, ask for them:

What were the final phase fractions at each cooling rate?

You are looking for the boundary: the fastest rate that still shows ferrite, pearlite or bainite, and the slowest rate that is essentially all martensite.

The cct-results/v2 completion card uses a fixed, transparent 90% final-martensite criterion. On the same tested grid and criterion, a lower threshold rate means the material retained at least 90% martensite under slower cooling and therefore indicates greater hardenability. It is still only one of your tested points, not an interpolated critical rate or an opaque material ranking. Historical sparse v1 results use the rate-coverage fallback instead.

Step 3: narrow the bracket#

Suppose the coarse pass showed bainite still present at 10 °C/s and essentially none at 50 °C/s. Sweep that gap:

Generate a CCT diagram for DP600 at 15, 20, 25, 30, 40 and 50 °C/s.

Repeat once more if you need finer resolution. Each sweep is a new run version, so the coarse and fine results both stay available.

Step 4: confirm with a single heat-treatment run#

A CCT sweep is a phase-boundary prediction. To check one candidate rate as an actual thermal cycle, run it through heat treatment. Convert the rate into a curve: cooling from 860 °C to 20 °C at 30 °C/s takes (860 − 20) / 30 = 28 seconds.

Run a heat treatment on DP600 cooling from 860 °C to 20 °C over 28 seconds, starting from 100% austenite.

Phases normally answers a parameterised request like this with a Heat Treatment Configuration card carrying the material, the time step and the curve summary. Press Run Simulation. You get back phase fractions over time, a hardness trace and a dilatation curve for that single cycle.

Two input rules matter here. Curve temperatures are auto-detected by magnitude: a curve whose peak is at or below 1000 is read as Celsius, above 1000 as Kelvin — so keep worked examples at or below 1000 °C. Initial phase fractions must cover the five physical phases and sum to 1.0 within 0.05.

Reading the result honestly#

  • A numerical cooling rate is not a quench-medium model. Do not relabel 30 °C/s as "oil quench" unless you supplied that mapping yourself.
  • An imposed fully-austenitic start is an input, not evidence that austenitization completed.
  • The transformation kinetics are shared across grades rather than fitted per grade: every built-in grade uses the same activation energies, and the equilibrium breakpoints are hardcoded at 724 °C and 829 °C — calibrated on 22MnB5 and off by roughly 50 °C for EN13261. The model also cannot tune pearlite independently of bainite, so trust the total diffusional fraction more than the pearlite-versus-bainite split inside it. EN13261 at slow cooling is a recorded known limit: it forms more ferrite than published data suggests.
  • Isothermal (TTT) diagrams are not implemented. Asking for one returns an unsupported status; only continuous cooling runs.

See How we validate and Hardness validation for what the hardness numbers have been checked against.

Variations#

Start from the press-hardening temperature. Generate a CCT diagram for 22MnB5 from 900 °C to 20 °C at 10, 20, 30, 50 and 100 °C/s. Start temperature is accepted between 600 and 1200 °C, final between 0 and 500 °C.

Use your own chemistry. Load and confirm the chemistry first, then ask for the diagram — the active material is used automatically. Confirming a custom chemistry stores a definition and a compatible template only; it calculates no kinetics, and CCT may report that it fell back to the template card's authored kinetics. See Your own chemistry.

Dilatometry instead of a diagram. If you want the length-change signal a physical Gleeble would record rather than phase boundaries, that is a different tool — see Virtual Gleeble.