Sign in ↗

Documentation

The material catalog

The 2,060 built-in grades Phases ships with, how the catalog is organised, what a material card is, and why catalog membership is not the same as calibration.

Nothing runs until you name a steel#

Phases has no default material. Ask for "a CCT diagram" or "a heat treatment" without saying which steel and you get a question back, not a run — the agent is instructed to ask which material you want and to offer a few examples such as DC04, DP600, 22MnB5 and EN13261 before it calls any simulation tool.

That is deliberate. Every result the product returns — phase fractions, hardness, a nugget diameter, a flow curve — is only as meaningful as the chemistry and the material card behind it, so the product refuses to guess one for you.

Your material can be a built-in catalog grade, a material saved in your workspace, or a chemistry you type in yourself. This page covers the first.

How big the catalog actually is#

The built-in catalog holds 2,060 grades. 2,059 of them are enabled; exactly one, id 20mnb4, is disabled at the platform level today.

They are not all steel, and they are not all one kind of steel:

Material typeGrades
Steel1,907
Stainless steel106
Cast iron47

Those 2,060 grades are filed under 43 families — the application class, such as Structural steel or Hot-work tool steel — and 68 alloy-system groups, such as Ni-Cr-Mo or C-Mn. The largest families give the shape of it:

FamilyGrades
Structural steel680
General engineering steel411
General tool steel210
Hot-work tool steel105
Cold-work tool steel96
Welding consumable steel71
Martensitic stainless60
Cast irons41
HSLA39
Bearing steel33
High-speed steel30
Plastic-mould steel29

The other 31 families run from Heat-resistant, Nitriding, Creep-resistant, Case-hardening and Spring steel down to single-grade entries for Duplex stainless, Pipeline and Maraging. The complete table, the alloy-system groups and the literature each card comes from are in families and data sources.

So the grades a working heat-treatment shop asks for first are in there. 42CrMo4, 16MnCr5, 20MnCr5, 17CrNiMo6, 34CrNiMo6, 30CrNiMo8, 100Cr6, C45 and C45E, S355N and S355J2G3, P460NH, H13 and X40CrMoV51, 316L, and the AISI/SAE designations 4140, 4340, 8620 and 52100 all resolve to built-in cards. So do Werkstoffnummern such as 1.2344, 1.4404, 1.1106 and 1.5622, and supplier trade names including BOHLER K110, K460 and M200. Cast irons are mostly filed under composition-style names rather than trade designations.

That breadth comes from the catalog filing a steel under the designation each source used, not from cross-referencing. 398 rows are labelled as a bare Werkstoffnummer and 22 as a bare AISI/SAE number, so those designations find a row because a row is named that way. Aliases barely help: 2,034 of the 2,060 grades carry only internal source keys such as 4884_s355n, and genuine cross-system aliasing is rare — 316L is the standout, answering to 316L, 1.4404, X2CrNiMo17-12-2 and S31603. The practical consequence is that the same steel is often present several times under different names and different sources: 1.2344 and X40CrMoV51 are two separate rows with identical chemistry. Finding your steel explains how to search, and how to choose between duplicates.

Name the steel; don't ask for the list#

The catalog is served from a database, not from a fixed list compiled into the product, and an administrator can enable or disable individual grades. But at this size, asking for the whole thing is the wrong move.

list_materials returns the entire enabled catalog in one call. There is no query, limit, offset or family parameter — the only knobs are scope (all or workspace), include_composition and include_phases, and the last two default to false precisely because the payload is already about 2,000 rows.

The prompt layer knows this too. It carries a standing catalog summary that names every grade while the catalog is 40 grades or smaller, and collapses to a material type → family summary with counts and a few examples per family once it is larger. At 2,059 enabled grades it is very much larger. So:

What steel grades do you support?

comes back as a grouped summary, by design, not as an enumeration of 2,059 names. When the agent summarises a live list_materials result it groups by each grade's group field — the alloy-system label such as Ni-Cr-Mo, Cr-Mo-V, C-Mn or Mn-B — with counts and a few examples per group. The family labels are what the catalog browser filters on; the tool payload does not carry a family field at all.

Naming or searching is the fast path:

Do you have 42CrMo4?
Which bearing steels are in the catalog?
Show me the composition of 100Cr6.

Name matching is case-insensitive against a grade's id, its label or one of its registered aliases — and nothing fuzzier than that. An approximate name does not quietly resolve to a near neighbour; it is refused, and the agent is instructed never to guess a grade. If a name misses, search the catalog browser or ask by family. Finding your steel covers the Material Base browser, the search shortcuts and the material picker on every simulation config card.

To compare two grades side by side:

Load DP600 and compare it with 22MnB5.

Comparing two materials returns a per-element table with a difference column, plus a table comparing their starting phase fractions. Taking that further into simulated behavior is covered in compare two grades.

What a "card" is#

Behind every catalog grade is a material card: an LS-DYNA-format material deck that holds the chemistry, the equilibrium phase curves, the activation energies used by the transformation kinetics, the composition correction that shifts the martensite-start temperature, and the as-delivered starting phase fractions. When you say "DC04", the simulator loads DC04's card and runs against it.

Cards are content-addressed and integrity-checked. Each one is verified against its registered deck and chemistry hashes (deck_sha256 and chemistry_sha256) the first time it is used; a card that fails verification is marked quarantined with the error recorded, rather than silently replaced with something else.

On that front the catalog is uniform, and the numbers say so: all 2,060 cards are quality_state = verified, all of them carry card schema v2606, and none has an integrity error.

Card headers also carry their own provenance — $ Reference: and $ Confidence level: lines naming the published source the transformation data came from. Those fields are not returned by list_materials and are not shown in the catalog browser. The route that does work is opening the mat_Steel.k artifact that every run stores and reading its header; see sessions, runs and artifacts, and families and data sources for which atlases the catalog is built from.

Being in the catalog is not the same as being calibrated for a given physics. Catalog membership gives you a verified definition and a verified card; whether transformation kinetics, phase flow stress or a bulk flow surface are available for a particular simulator is resolved separately, at the moment you run it. Seven grades — hc420, 13cr-4ni, if, if1, 18cr, 316l and saf2507 — have no readable authored transformation kinetics and will refuse heat treatment, CCT and the thermal V-Gleeble modes for that reason. (hc420 there is a different card from the reference grade hc420la, which resolves normally.) The other 2,053 grades resolve. See what each simulator can do with which material.

Base templates, and what "closest grade" means#

When you supply a chemistry instead of a grade name, Phases does not invent a card from nothing. It identifies the closest named steel for your benefit, then renders your chemistry onto one verified base template — an existing card that can represent every element you set to a non-zero value.

Candidates are ranked, and only enabled, verified cards whose material type is steel can act as templates. The template pool is therefore carbon and low-alloy steel only: the catalog's 106 stainless and 47 cast-iron cards load perfectly well by name, but they are never used as a template for a chemistry you type in, and they can never be reported as the "nearest grade" for one. A stainless chemistry is matched to the nearest steel card instead, which is what the above-5% Cr and above-5% Ni warnings are there to tell you.

Naming is a separate step from templating, though. The identity screen runs against its own 513-grade reference database, which does include stainless entries, so Phases can tell you your chemistry looks like a stainless grade while still carrying it on the nearest steel card.

If a candidate cannot represent one of your elements, it is rejected and the next candidate is tried. There is no text-patching fallback: if no template works you get No verified template can represent the requested composition. with the reason for each candidate.

The template match tells you which existing card your chemistry is being carried on. It is not a statement that the physics has been calibrated for your steel.

When your steel is not in the catalog#

Search first — with 2,060 grades filed under whichever designation each source used, the usual reason a grade "is not there" is that it was looked for under a name the card does not carry. If it genuinely is not there, give the chemistry instead of a name:

I have a steel with 0.22 C, 1.25 Mn, 0.25 Cr and 0.003 B — what is it closest to?
Load AISI 4140 chemistry: 0.40 C, 0.85 Mn, 0.25 Si, 0.95 Cr, 0.20 Mo.

Phases classifies the chemistry into a family before it searches for a nearest grade, and the first-pass rules are blunt and worth knowing:

RuleFamily
B ≥ 0.0005 wt%Press-hardening
C ≤ 0.12 and (Nb ≥ 0.01 or Ti ≥ 0.01 or V ≥ 0.01)HSLA
0.06 ≤ C ≤ 0.18 and Mn ≥ 1.0Dual phase
C ≤ 0.10 and Mn ≤ 0.5Mild
none of the abovethe nearest five catalog grades vote; their family gates the search if at least two agree, otherwise the search is global

That last row matters more than the other four, because it is the one almost every real steel lands on. 4140, S355, H13 and 100Cr6 all fall past the four blunt rules, and the vote is what keeps their template candidates inside the alloy, tool or medium-carbon part of the catalog instead of scattering them across all 2,060 grades. The vote runs over a coarser, twelve-key vocabulary — mild, HSLA, dual phase, press-hardening, railway, low-alloy, tool, stainless, bearing, spring, maraging, other — not the 43 display families.

A trace boron addition routes your steel into the press-hardening family before any distance is computed, so state boron explicitly if your steel has it. Write it as B; Phases maps it onto the card's historical Bo label for you.

If you already know which grade you want as the base, name it and the override together — Load DC04 with C = 0.15 and Mn = 1.2 — rather than leaving Phases to infer the base from the chemistry alone. What happens next, including the confirmation step and what confirming does and does not create, is covered in using your own chemistry. If you want the chemistry to persist beyond one conversation, save it as a workspace material.

The twenty reference grades#

Twenty grades carry a status the other 2,040 do not, and they are the set most easily mistaken for the catalog itself.

They are the offline fallback registry: the list compiled into the product itself, used only when the database catalog is unavailable or USE_DB_MATERIALS is set to false. They are also the only grades resistance spot welding supports, and the published validation work draws its grades from this same set. Those are three separate facts about the same twenty names — none of them a description of the catalog.

GradeReference familyC (wt%)Typical application
DC01Mild / deep-drawing0.12Inner panels
DC03Mild / deep-drawing0.10Inner panels
DC04Mild / deep-drawing0.08Outer body panels
DC05Mild / deep-drawing0.06Deep-draw outers
DC06Mild / deep-drawing0.02Extra-deep-draw
HC260LAHSLA0.08Structural reinforcements
HC300LAHSLA0.08Floor and side members
HC340LAHSLA0.09Roof bows, B-pillar
HC380LAHSLA0.10Side members
HC420LAHSLA0.12Longitudinal rails
DP450Dual phase0.07Semi-structural
DP500Dual phase0.08Door beams
DP600Dual phase0.10A/B-pillar, crash
DP780Dual phase0.15B-pillar reinforcement
20MnB5Press-hardening boron0.20Hot-stamped A-pillar
22MnB5Press-hardening boron0.22Hot-stamped B-pillar
20MnB8Press-hardening boron0.20Hot-stamped component
25MnB5Press-hardening boron0.25Hot-stamped component
29MnB7Press-hardening boron0.29Hot-stamped component
EN13261Railway0.40Railway axle

The family column here is the five-family classifier vocabulary, not the catalog's 43-family display taxonomy. The carbon column is the nominal figure the reference documentation records for each grade, not a certificate value. For the full chemistry of the card you are about to simulate, ask the agent for that grade's composition rather than working from this column.

The DC, HC and DP grades are recorded as zinc-coated sheet and the MnB press-hardening grades as AlSi-coated; EN13261 is bare. That distinction matters for spot welding, where the solver models a zinc coating but not an AlSi one — the calibrated 20MnB5 and 22MnB5 weld cases run with coating disabled for exactly that reason.

Note also that the reference set is wider than the validation set: 20MnB8, 25MnB5 and 29MnB7 are newer additions that do not appear in the published hardness-validation and kinetics-tuning tables and reuse another grade's data in places. How we validate says which grades each result set actually covers.

What each of those five families is#

  • Mild / deep-drawing (DC01–DC06). Low-carbon, high-formability body-panel steels. DC06 at 0.02% C is titanium-stabilized and near interstitial-free; its card carries an as-delivered state of 98% ferrite and 2% pearlite. That is the starting point, not the outcome — quench it fast enough and the model still predicts martensite.
  • HSLA (HC260LA–HC420LA). Microalloyed structural steels. Their strength comes from Nb, Ti or V grain refinement and precipitation rather than from martensite, so they carry mild-steel carbon levels at much higher yield strength.
  • Dual phase (DP450–DP780). Ferrite plus martensite, produced industrially by annealing in the intercritical range and cooling under control. Used for crash and structural parts.
  • Press-hardening boron (20MnB5, 22MnB5, 20MnB8, 25MnB5, 29MnB7). Hot-stamping steels. 22MnB5 is the industry standard: austenitized, then die-quenched to nearly full martensite. The V-Gleeble hot-stamping profile austenitizes at 950 °C by default.
  • Railway (EN13261). A medium-to-high carbon axle steel, kept as the product's legacy and validation grade. It is explicitly not a default; use it when you actually want a 0.40% C axle steel, not as a stand-in for "some steel".

Coverage is not uniform across simulators#

Heat treatment and CCT can work from catalog cards broadly, but the two other simulators are narrower:

  • Resistance spot welding needs validated bulk electrical, thermal and mechanical properties and runs only on the twenty grades listed above. The solver's own note is explicit that this is deliberate: the catalog holds thousands of microstructure cards, but the spot-welding FEM's property database supports only the calibrated subset, and any other grade is refused before the solver starts. The material dropdown on an RSW plate offers the whole catalog, so the refusal arrives at run time, not in the picker. See resistance spot welding.
  • V-Gleeble deformation modes (hot tensile, hot compression, Satoh) need a bulk flow-stress table for the grade. Thermal modes do not. See virtual Gleeble.

The full picture is in the capability matrix, and the honest account of where the models are weak is in known limits. If a term on this page is unfamiliar, the glossary defines the vocabulary the product uses.