Material definitions for the STEER (Storage Technology for Energy and Economic Research) simulation framework. This package provides base classes for representing physical materials — metals, solvents, and other substances — with built-in unit conversion, validation, and cost tracking.
steer-materials is a support package within the broader STEER ecosystem.
pip install steer-materialsFor development:
git clone https://github.com/stanford-developers/steer-materials.git
cd steer-materials
pip install -e ".[dev]"from steer_materials.Base import Metal, Solvent
# Create a metal material (density in g/cm³, cost in $/kg)
aluminum = Metal(name="Aluminum", density=2.7, specific_cost=2.50, color="silver")
print(aluminum.density) # 2.7 g/cm³
print(aluminum.specific_cost) # 2.50 $/kg
# Create a solvent
water = Solvent(name="Water", density=1.0, specific_cost=0.01, color="clear")pip install -e ".[test]"
pytestWith coverage:
pytest --cov=steer_materialsFull documentation for this package is available at stanford-developers.github.io/steer-materials.
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
If you use this software in your research, please cite it using the metadata in CITATION.cff.
This project is dual-licensed:
- Open source — GNU Affero General Public License v3.0 (AGPL-3.0-or-later)
- Commercial — A separate commercial license is available for use without AGPL-3.0 copyleft requirements. Contact nsiemons@stanford.edu for details.
See LICENSE for full terms.