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.2.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.2-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: opensolids-0.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9d5719771d4ecca7efec547b40f4d5675e2dd2fefb556fffc80208baabcfc540
MD5 9db8e7bfa2503a35558d1257bba195e8
BLAKE2b-256 a331324b6b346ed44d01e131d7c50e40f5410023096997226e223a16c9d49436

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opensolids-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fcf74ebf4e46a9bca1f364ab19b1ac10d38abfaac92ddbd4090ddfb6fc198b63
MD5 f1789eba514747602dde3cb89da6c7e1
BLAKE2b-256 1c57a2e38c2242ac694456627d38fd0cef92e77f10443aeb72064bdb1b57b9e5

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