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
Mapping #517
base: develop
Are you sure you want to change the base?
Mapping #517
Conversation
Overall, I think this PR is in a state where it can be tested by users. Please report any bugs here. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #517 +/- ##
============================================
+ Coverage 0 76.23% +76.23%
============================================
Files 0 62 +62
Lines 0 9641 +9641
============================================
+ Hits 0 7350 +7350
- Misses 0 2291 +2291 ☔ View full report in Codecov by Sentry. |
I'm a big fan of this PR. I have noticed there are occasionally regions where the tielines don't seem to be rendered correctly. An example from AL-C is shown below. This system is using assessments from Groebner (DOI: 10.1016/s0364-5916(96)00027-2) and Connetable (DOI: 10.1016/j.calphad.2008.01.002). The database file that I used to create this diagram is also attached. |
Thanks, it's encouraging to hear you're finding it useful! In the first plot is the mapping conditions for C |
@bocklund Yes, the first plot has the condition |
This (DRAFT) PR adds support for a new mapping system in PyCalphad, in the spirit of the algorithm published by Sundman et al.. This PR is the culmination of significant effort and much of the credit to getting it this close to the finish line goes to @nury12n
Features
binplot
based onpycalphad.plot.binary.map
)ternplot
based oneqplot
)Provides an API to programmatically access phase boundaries and phase equilibria computed by the mapping algorithm
In this PR,
binplot
andternplot
have drop-in replacements using the new mapping backend and those are now the default (we plan to keep support for the existingbinplot
andternplot
for backwards compatibility as the maturity of mapping improves).Outstanding TODO items
On the current state of this PR:
** On entry to DLASCLS parameter number 4 had an illegal value
. I've seen this hang some Jupyter notebooks indefinitely, but plotting from a regular Python script from the command line seems to be a viable workaround.The examples are updated with the new
binplot
andtenrplot
. The GitHub visual diff is helpful to see the state of things.Concrete issues to fix beyond general stability and accuracy improvements
Mapper
that do not include vacancies seems to produce silent failures where no boundaries are produced.Mapper
probably doesn't need to be a class. Simply a function is probably enough (this will presumably be called or adapted byWorkspace
down the line). That meansStrategyBase
becomes the common API, so we need to make sure that's clear.ruff check --select N,E7,E9,E4,F src
binplot
andternplot
API. e.g. missingx=
, andy=
arguments forternplot
.utils.py
, nobody likesutils.py
)