openmaterials.ai / codes / openmaterials-ai
openmaterials-ai: the kernel that evaluates the map's closed-form relations
The Python kernel of the OpenMaterials map: typed quantities, executable sympy formulas and per-code representations, computing algebraically defined quantities from their inputs.
What it is and how it works
A map whose edges execute
Quantities are typed nodes and formulas are operators the kernel runs on numerical arrays. Four map variables, two composite conductivities and two cure values, come from the kernel (OpenMaterials document).
Nan effective medium
Composite conductivity for random and aligned fillers with Kapitza resistance, kc = k / (1 + 2 R k / d), in the Nan mixing formulas of the map (omai.composites module).
Cure kinetics
The degree of cure after an isothermal hold under Kamal-Sourour kinetics, and the glass transition temperature it sets by DiBenedetto (omai.cure_kinetics module).
Representations
A representation maps an external code's outputs onto the shared nodes with units and conventions, and carries its citation and license (openmaterials-ai README).
Resolver
omai.semantics maps a method name as a paper writes it, such as 'quasi-harmonic approximation', to content-addressed node ids and formulas (openmaterials-ai README).
Lineage identity
omai.lineages.lineage_id is the sha256 of a canonical lineage. Vectors in the wheel pin 32 lineages and 35 records so all consumers agree (openmaterials-ai README).
What people do with it
- 136typed quantities on the mapopenmaterials-ai README
- 1.2452W/(m K), DGEBA epoxy + 5 vol% GNP, closed formOpenMaterials document
- 4map variables the kernel itself producesOpenMaterials document
DGEBA epoxy with graphene nanoplatelets
In the OpenMaterials document, the reference draft at 5 vol% filler gives kappa_c = 1.2452 W/(m K) from the map's own closed-form edges (OpenMaterials document). OpenMaterials document
How it is used
Install
pip install openmaterials-ai==0.6.1 on Python 3.11 or later.
Build the DAG
python examples/quickstart.py builds the operator DAG and derives Cp from frequencies.
Evaluate a closed form
nan_kappa_random(params) in omai.composites.evaluate takes km, k11, k33, d1, d3, G and f.
Render a record
omai.render.render_composite_kappa turns the result into an Instance with its provenance.
Validate
omai.schema.validate_record lists every schema violation. An empty list means valid.
What openmaterials-ai is
openmaterials-ai is this project's own kernel. It evaluates the closed-form relations the map carries and computes the quantities that have an algebraic definition from their inputs, with no external code. On the map it serves those derived quantities.
WebsiteRepositoryOn the mapAll codesLicense: Apache-2.0 AND CC-BY-4.0
In more detail
What the kernel holds
The map has 136 typed quantities (122 observable, 11 hidden, 3 parameter), 310 links (268 formula, 42 parameter) and 133 operators in 18 tiers, with representations for 33 codes and 90 committed values, 84 from simulations and 6 from measurements (openmaterials-ai README). The database is plain files. map/ is an append-only log of content-addressed records, and docs/data/ holds the generated graph.json, catalog.json, codes.json, the instances, configurations, models and releases (openmaterials-ai README). The kernel is Apache 2.0 and the map data CC BY 4.0 (openmaterials-ai README).
Closed forms and the dimensional gate
A dimensional gate checks every closed-form edge mechanically. Of the 129 operator edges it walks, 59 are ok, 1 is a documented schematic violation and 69 are skipped as opaque solver edges or non-Eq forms (OpenMaterials document). The proven edges include the Nan random and aligned mixing formulas with the Hasselman-Johnson spherical cross-check, the two cure-kinetics edges, the six thermodynamic identities and the eleven analog-device-metrology closed forms (OpenMaterials document). The cure integral is taken in s = ln(alpha / (1 - alpha)) by 20-point Gauss-Legendre on panels of width 1/2, with the root found by safeguarded Newton (omai.cure_kinetics module).
Interfaces
mapengine and the MaterialsCodeGraph pipeline import the package for record identity, shape and rendering, and the TypeScript worker asserts its own copy against the shipped vectors (openmaterials-ai README). A lineage gzips into a #x= link fragment that opens the playground datasheet with no server, and a committed value has the permalink /l/<id> (openmaterials-ai README). The paper parser turns a PDF into a gated evidence proposal with verbatim quotes, and omai.mermaid exports any sub-map as a Mermaid flowchart (openmaterials-ai README).
Verified layer
105 nodes and 12 edge theorems compile against physlib on Lean 4.31.0, and a generated seven-base extension lifts dimensional coverage to 124 of 132 nodes. 18 identity theorems check against Mathlib, and CI recompiles them on every relevant pull request (OpenMaterials document). These proofs cover dimensions and rational identities, not numerical implementations (openmaterials-ai README).
What it computes on the map
4 quantities, drawn by tier with the data flow between them. Dashed boxes are intermediate quantities. Select one for its formula and the other codes that compute it.
Embed this submap
<iframe src="https://openmaterials.ai/m/c56731602651/0000000000000000000000000000300018?embed=1" title="openmaterials-ai on the OpenMaterials map" width="100%" height="480" loading="lazy" style="border:1px solid #EBEBEB;border-radius:6px"></iframe>
Each quantity with the interface the representation records.
- CureConversionomai.cure_kinetics.evaluate.cure_conversiondimensionless
- GlassTransitionTemperatureomai.cure_kinetics.evaluate.glass_transition_temperaturekelvin
- ThermalConductivity[effective_medium=nan,orientation=aligned]omai.composites.evaluate.nan_kappa_alignedW_per_m_per_K
- ThermalConductivity[effective_medium=nan,orientation=random]omai.composites.evaluate.nan_kappa_randomW_per_m_per_K
Releases on record
Versions on record for this code, with the license read from the release itself.
| Version | Released | License |
|---|---|---|
| 0.6.1 | 2026-11-01 | Apache-2.0 AND CC-BY-4.0 |
| 0.6.0 | 2026-10-31 | Apache-2.0 AND CC-BY-4.0 |
| 0.5.1 | 2026-10-30 | Apache-2.0 AND CC-BY-4.0 |
| 0.5.0 | 2026-10-29 | Apache-2.0 AND CC-BY-4.0 |
| 0.4.0 | 2026-10-18 | Apache-2.0 AND CC-BY-4.0 |
References
No curated reference list yet. The citations recorded on the map representation are listed under How to cite.
How to cite
G. Barbalinardo, openmaterials.ai: a versioned, content-addressed map of physics (CITATION.cff), the openmaterials-ai package (software)