Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add KS2022 Random Solution Featurization #10

Merged
merged 37 commits into from
Nov 1, 2023
Merged

Conversation

amkrajewski
Copy link
Contributor

This PR adds KS2022 Random Solution Featurizer pysipfenn/descriptorDefinitions/KS2022_randomSolutions.py, which allows users to (1) take a structure (or its prototype) and a desired chemical composition, then (2) create a small supercell (acting as a batch of sites), and finally (3) keep "expanding" the set of supercells, while calculating all KS2022 features, until all of them converge onto stable values.

Additionally, it:

  • Adds documentation of the new submodule.
  • Adds relevant tests.
  • Adds documentation of the new tests.
  • (unrelated) Adds description of pySIPFENN models to the documentation.

amkrajewski and others added 26 commits July 26, 2023 15:50
…., BCC) and a Composition; then it iteratively extends it with random occupancy until the feature vector and composition converge onto stable values
…ike they are coming from plotly and there is a fix coming for that soon
…added parallel profiling to report ranges of values to CSV, allowing one to observe statistics of values across different runs
…KS2022 values for a 6 component BCC HEA (Cr12.8 Fe12.8 Co12.8 Ni12.8 Cu12.8 Al35.9) profiling case (representing typical-worst-case scenario)
…ed for BCC HEA (see previous commit) are consistent with what was observed across 50 cases and (2) verifying all profiling cases run correctly
@codecov
Copy link

codecov bot commented Oct 25, 2023

Codecov Report

Attention: 13 lines in your changes are missing coverage. Please review.

Comparison is base (9d09a00) 92.61% compared to head (b3ca142) 93.63%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #10      +/-   ##
==========================================
+ Coverage   92.61%   93.63%   +1.01%     
==========================================
  Files          16       16              
  Lines        1814     1649     -165     
==========================================
- Hits         1680     1544     -136     
+ Misses        134      105      -29     
Files Coverage Δ
pysipfenn/descriptorDefinitions/KS2022.py 90.79% <100.00%> (-1.44%) ⬇️
pysipfenn/descriptorDefinitions/Ward2017.py 95.34% <100.00%> (-1.38%) ⬇️
pysipfenn/tests/test_KS2022_randomSolution.py 97.29% <97.29%> (+1.14%) ⬆️
pysipfenn/descriptorDefinitions/KS2022_dilute.py 93.65% <83.33%> (-1.52%) ⬇️
...nn/descriptorDefinitions/KS2022_randomSolutions.py 95.55% <95.55%> (+12.36%) ⬆️

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@amkrajewski
Copy link
Contributor Author

  1. Improved the testing. Coverage should be increased to 90+ now.
  2. Polished the code style and fixed a few typos.
  3. Tuned the default parameters to better converge for complex cases (6-element HEAs)

…al instability error which occurred occasionally
Copy link

@lukeamyers lukeamyers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. Looks good! 👍

@jwsiegel2510 jwsiegel2510 merged commit d12671c into main Nov 1, 2023
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants