Systems such as automotive cooling layouts, hybrid-electric power trains, and aero-engines are made up of interconnected components that are spatially arranged to meet system requirements. Holistically optimizing these types of systems is an extremely challenging problem due to the combinatorial nature of the design space. The research community is exploring different design representations and algorithms to address this problem.
This library provides a Python implementation of the spatial graphs, spatial graph diagrams, and Yamada polynomial. These spatial-topological constructs are powerful tools for representing and analyzing complex engineering systems. By representing engineering systems as spatial topologies we abstract away complex geometry while retaining some low-fidelity, directionally correct information. Yamada polynomials are a calculated quantity that is essentially a fingerprint of a spatial topology. This fingerprint can be used to identify unique spatial topologies.
We are currently collecting and analyzing empirical data to determine the effectiveness of spatial topologies and Yamada polynomials as a design representation for different classes of problems.
Since this library is still early in development features are often added and removed. Please feel free to reach out to Chad cp44@illinois.edu with any questions or concerns.
Yamada requires Python 3.9+ and is supported on Windows, Mac, and Linux. It can be installed from PyPI with the following command in your terminal:
pip install yamada
@software{Yamada2023github, author = {Chad Peterson, Nathan Dunfield}, title = {Yamada: The Python Library for Calculating the Yamada Polynomial of Spatial Graphs}, url = {https://github.com/Chad-Peterson/Yamada}, version = {0.2.1}, year = {2023}, }
