Draft
Conversation
Replace the old monolithic ashby.py script with a new simcoon.ashby package. Adds datamodel (Material, MaterialCollection, SymmetryType), data loaders (load_builtin, load_csv), a Materials Project database fetcher (mp-api optional), and a bridge to simcoon for stiffness/compliance/solver props. Plotting helpers are re-exported for backward compatibility and a bundled materials.json (~60 curated materials) is included. Includes sensible unit conversions (GPa→MPa, density units) and explicit NotImplemented/validation for more complex symmetries (transverse-isotropic, orthotropic) where full tensors or extra inputs are required.
Add documentation for the new simcoon.ashby subpackage (index, material, data, plotting, bridge, database), documenting the data model, built-in dataset and CSV loader, plotting utilities, Simcoon bridge (stiffness/compliance conversion), and Materials Project integration. Update docs/index.rst to include the ashby docs. Also add examples/ashby/README.rst and an ashby_diagram.py example that demonstrates loading the dataset, plotting an Ashby diagram, adding guide lines/envelopes, and converting a material to a simcoon stiffness tensor. Notes in docs mention optional extras (simcoon[ashby]) and MP API usage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces comprehensive documentation and example scripts for the new
simcoon.ashbysubpackage, which provides tools for material property exploration, Ashby diagram plotting, database integration, and bridging material data to simulation tensors. It also adds optional dependencies for plotting and database features, and integrates the Ashby module into the main documentation navigation.Documentation additions:
docs/ashby/index.rst,material.rst,data.rst,plotting.rst,bridge.rst,database.rst) covering the Ashby module's data model, dataset loaders, plotting functions, bridge to simulation tensors, and Materials Project database integration. [1] [2] [3] [4] [5] [6]ashby/indexto thedocs/index.rsttable of contents.Example scripts and gallery:
examples/ashby/ashby_diagram.py) demonstrating the full Ashby workflow: loading datasets, plotting diagrams, converting materials for simulation, and fetching from online databases.Dependency and setup changes:
ashbyoptional dependency group inpyproject.tomlfor plotting and database features (mp-api,scipy,matplotlib).Legacy code removal:
python-setup/simcoon/ashby.py, as they are now documented and maintained elsewhere.