Skip to main content

Open solid material properties with provenance and provider backends

Project description

OpenSolids

OpenSolids is a Python library for temperature-dependent solid material properties with explicit provenance and provider-based data ingestion.

It is built for solver workflows that need curves like k(T), cp(T), E(T), and sigma_y(T) instead of fixed constants.

Why OpenSolids Exists

Most engineering calculations need properties that change with temperature, not single constants. OpenSolids was created to make those curves easy to access from Python while keeping source/provenance information visible.

Who This Is For

  • Propulsion engineers (regen cooling, chamber/nozzle thermal-structural studies)
  • Mechanical/materials engineers (strength margins and thermal stress studies)
  • Students and independent builders who want reusable material-property tooling

What You Can Use It For

  • Evaluate temperature-dependent conductivity, heat capacity, modulus, and strength
  • Compare materials across multiple data providers in one script
  • Build design sweeps and trade studies with consistent APIs and units
  • Keep source attribution attached to the data you use in analysis

Install

pip install opensolids

For plot-generating examples:

pip install "opensolids[viz]"

Quick Start

import opensolids as osl

mat = osl.material("nist-cryo:aluminum-6061-t6")
print(mat.k(300.0))
print(mat.E([77.0, 150.0, 293.15], units="GPa"))
print(mat.eps_th(120.0, T_ref=293.15))

API Overview

  • Material lookup: osl.material(material_id)
  • Search: osl.search(query)
  • Provider list: osl.list_providers()
  • Property calls: mat.k(T), mat.cp(T), mat.E(T), mat.sigma_y(T), ...
  • Out-of-range policy per call: policy="clamp" | "raise" | "extrapolate"
  • Units conversion per call: units="MPa", units="GPa", etc.

Units

OpenSolids stores and serves curves in canonical SI units internally:

  • k: W/(m*K)
  • cp: J/(kg*K)
  • rho: kg/m^3
  • E, sigma_y, sigma_uts: Pa
  • alpha: 1/K
  • nu, eps_th: 1

Material Catalog

Bundled material inventory:

Visual Outputs

Thermal conductivity comparison (NTRS copper alloys)

Thermal conductivity comparison

Yield strength comparison (NTRS + MIL)

Yield strength comparison

Out-of-range policy behavior

Policy behavior plot

Multi-database 6061 workflow

Multi-database 6061

Documentation

License

OpenSolids is licensed under GPL-3.0-only.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opensolids-0.2.3.tar.gz (36.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opensolids-0.2.3-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

Details for the file opensolids-0.2.3.tar.gz.

File metadata

  • Download URL: opensolids-0.2.3.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for opensolids-0.2.3.tar.gz
Algorithm Hash digest
SHA256 4a930ff2b4006abe4d1f83067afe374ca9a004cb9d9d05c242931d70813a0547
MD5 26f5e11090b57f0fdca996a8f04d8b7c
BLAKE2b-256 cac12c546899500b3a69fcfb6c448b2f37f63a631bed4b2a2c6842489e3bd6b2

See more details on using hashes here.

File details

Details for the file opensolids-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: opensolids-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 54.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for opensolids-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1723e3ea82d144944631f1681d4c68daa993cf697684bb32df4135ef2f95ab4c
MD5 68ab2cc197a64b27042c05e3c3e987ad
BLAKE2b-256 72d284267b0daed3ea34560f1eec10aa76c6656d1275d846a95f20bc75d49654

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page