A versioned map of physics.

OpenMaterials is a typed graph of physical quantities and the formulas that relate them. Representations of 33 codes and workflows connect their outputs to its nodes, and values from simulations and measurements attach to those nodes with their provenance and a content hash.

Map version
808a954e386e
Quantities
137
Codes
33
Values
90, 6 of them measured

Fig. 1Silicon near 300 K, every value on the map

Measured
156
Published calculations
118, 123, 140, 147, 166 (277 K)
Recorded runs
16.7 to 380
Every thermal conductivity value for crystalline silicon between 270 and 310 K on the map, in W/(m K), on a log axis. One measurement, by Glassbrenner and Slack (1964). The published calculations differ in statistics (quantum or classical) and solver (direct inversion or RTA), and Esfarjani et al. (2011) also in force constants and temperature (277 K). The recorded runs use the Tersoff potential to test codes, not to predict silicon. Four of them, 17 to 27 W/(m K), sit an order of magnitude below the other four and below published Tersoff values, for a cause their records do not yet establish; within those four, kALDo runs 11 to 16% above phono3py with the same solver. Each value keeps its conditions, and an incomplete record says so. Source: instances.json, map version 808a954e386e.

Where it fits

Materials Project, AFLOW, and JARVIS
Each publishes a database of computed materials properties. You can contribute a value from any of them, with its source, when its quantity is on the map and the database's license permits it.
NOMAD
A repository of uploaded calculations and experiments, with their files. The map stores no raw files, and a record can point to wherever their owners keep them.
OPTIMADE
A standard API for querying structures across materials databases. OpenMaterials publishes the typed quantities that values attach to, with their formulas, as JSON files.

Tools

Map

Every quantity is laid out by tier. Select one to see its formula, what it is built from, what it feeds, the codes that compute it, and its Lean dimension where one exists.

Open the map

Tracer

Select a quantity to list each step that builds it and each quantity it feeds. Shift-click a second quantity to get the shortest path between them.

Open the tracer

Playground

Open a lineage record, resolve a method name to map nodes, or compare two materials by composition.

Open the playground

Learn a paper

Drop a PDF and the parser proposes its reported values, each with a verbatim quote and page number, for you to accept or reject.

Open the Learn tab

The map

Quantities
137 (123 observable, 11 hidden, 3 parameter)
Links
313 (270 formula, 43 parameter)
Operators
134
Tiers
18

Each quantity is a typed node. An observable carries no gauge freedom, so codes given the same inputs should agree on it. A hidden quantity depends on a gauge choice (an eigenvector phase, or the basis inside a degenerate subspace). It is an intermediate, like the eigenvectors, or an approximation, like the RTA thermal conductivity, and codes can differ on it. An operator computes a quantity from its inputs: formula links carry its symbolic formula, and parameter links supply inputs such as the cell volume. The nodes are grouped into tiers, such as Sources, Harmonic, Transport, Ground state, and Thermochemistry.

A code representation records how one code's outputs map onto these nodes, with units and conventions. Representations exist for kALDo, phono3py, ShengBTE, LAMMPS, GPUMD, Quantum ESPRESSO, VASP, and the other codes on the codes page, each with its own page.

Values

Values attach to nodes without changing the graph. A value is a small record: the node, the material, the conditions, the number with its units, and the source. Its id is the SHA-256 hash of the record's lineage object, so the same claim always gets the same id. When values from different methods or codes answer the same question, the agreement page reports their spread. Values come from published papers and from runs of kALDo, phono3py, Quantum ESPRESSO and xtb.

Seed set: 90 values, 84 from simulations (mostly the maintainers' papers and example runs), 6 measurements.

Protocol

Every node, formula link, and value has a content hash. A change to the graph is appended to the map's change log after the gates check identity, connectivity, duplicates, and the dimensions of each formula whose symbols are registered, and after a maintainer reviews it. The map version hashes the head of that log together with the record-format rules, so citing a version pins both.

Contribute a value

  1. 01Write the file by hand, or call omai.map_data.record_instance, which writes it and computes the id.
  2. 02Add it under docs/data/instances/ and open a pull request.
  3. 03Automated checks confirm that the node exists on the map and that the id recomputes from the lineage, and a maintainer reviews the source. The map version does not change.

The playground's Learn tab exports the values you accept from a paper as JSON.

One committed value
{
  "id": "f735a05c14db39676b46e7f1100c55152afb7bf49cea79c9e1f61b8de075c619",
  "kind": "simulation",
  "lineage": {
    "node": "ThermalConductivity[bte_solver=direct_inverse]",
    "material": "Si (diamond)",
    "conditions": {"T": 300, "statistics": "quantum", "method": "direct inversion of scattering matrix", "q-grid": "19x19x19", "potential": "DFPT LDA"},
    "values": {"value": 147.0, "units": "W/(m K)"},
    "source": "paper:kaldo-2020-barbalinardo"
  },
  "source": {
    "kind": "simulation",
    "ref": "paper:kaldo-2020-barbalinardo",
    "detail": "which gives κQ,Inv = 147 Wm−1K−1 (p. 6). G. Barbalinardo, Z. Chen, N. W. Lundgren, D. Donadio, Efficient anharmonic lattice dynamics calculations of thermal transport in crystalline and disordered solids, J. Appl. Phys. 128, 135104 (2020), doi:10.1063/5.0020443, arXiv:2009.01967."
  }
}

Governance

OpenMaterials is stewarded by OpenMaterials-AI, a foundation in formation. The initiative holds the map, the protocol, and the openmaterials.ai name, and changes them only through the gated contribution process. The rules are public in GOVERNANCE.md.

Maintainer
Giuseppe Barbalinardo
Contact
[email protected]
Decision making
A small set of scientific authors reviews changes behind the gates. GOVERNANCE.md names the next step once external contributors arrive: a technical steering group drawn from contributing groups.
Licenses
Map data is CC BY 4.0 and code is Apache 2.0.
Contributions
Contributors grant OpenMaterials-AI a non-exclusive license to redistribute each record under CC BY 4.0 and keep every other right. There is no copyright assignment and no contributor license agreement.
Credit
Reuse credits the map version and, through each record's provenance, the original source.
Removal
A rights holder who believes a record entered in error opens an issue; the record leaves the current view of the map, and the append-only log records the retraction.
Openness
Anyone can clone the repository, rerun the gates, and rebuild the Lean proofs.
Tools
Da Vinci Labs builds the site, the map views, the tracer, the playground, the codes bibliography, the paper parser, and the codebase readers. Proposals from the parser and the readers enter the map only after the gates and a maintainer accept them.
Compute
MaterialsCodeGraph, from Da Vinci Labs, runs these calculations for AI agents over MCP, with a binding token quote before every run and a permanent record after it.

Cite the map version you use: 808a954e386e.

Barbalinardo, G. openmaterials.ai: a versioned, content-addressed map of physics. Map version 808a954e386e. https://openmaterials.ai, accessed 2026-10-04.

BibTeX
@misc{openmaterials-808a954e386e,
  author = {Barbalinardo, Giuseppe},
  title  = {{openmaterials.ai}: a versioned, content-addressed map of physics},
  url    = {https://openmaterials.ai},
  note   = {Map version 808a954e386e, accessed 2026-10-04}
}