openmaterials.ai / codes / openmaterials-ai
The Python kernel of the OpenMaterials map: typed quantities, executable sympy formulas and per-code representations, computing algebraically defined quantities from their inputs.
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).
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).
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).
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).
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).
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).
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
pip install openmaterials-ai==0.6.1 on Python 3.11 or later.
python examples/quickstart.py builds the operator DAG and derives Cp from frequencies.
nan_kappa_random(params) in omai.composites.evaluate takes km, k11, k33, d1, d3, G and f.
omai.render.render_composite_kappa turns the result into an Instance with its provenance.
omai.schema.validate_record lists every schema violation. An empty list means valid.