Comments (5)
I received another question about this at the CALPHAD meeting. I'd mostly been thinking this would be pretty difficult to implement for general second-order transitions, but I now think I have a solution for atomic ordering. In the plotting code we normally define the tie-line for a miscibility gap based on the RMS distance between the two points in composition space. Once that distance is "significantly" greater than the density of our grid, we assume it's a tie-line instead of a single-phase region.
For atomic ordering defining the transitions is a little more complicated. What we can do is define a "degree of ordering" for each point on the candidate tie-line as the magnitude of the difference between the overall composition and the constitution of each sublattice. Each sublattice has a "degree of ordering" calculated such that a transition boundary can be defined as anywhere the magnitude of the difference of degrees-of-ordering vectors is "large".
Magnetic transitions are easy: Compute TC where the phase is stable, and where TC approaches T draw a boundary.
from pycalphad.
Or am I thinking about this incorrectly, and I should be looking at the mixed second-derivatives of the site fractions with temperature?
from pycalphad.
So equilibrium
can reasonably minimize internal degrees of freedom in step/map calculations now, so in principle this is pretty easy to implement:
- At some T_i and x, compute the degree of ordering and compare to the same at T_{i+1}
- When the degree of ordering change is "large", set T_ord = (T_i + T_{i+1}) / 2
- Draw T_ord for all x where the given phase of interest is stable
I'll put this on the roadmap for 0.4.
from pycalphad.
With the new degree_of_ordering
and curie_temperature
properties implemented, writing code to overplot these transition lines should be pretty straightforward.
from pycalphad.
I made a first attempt at this, which you can find in the sandbox (requires 0.3.1 to run): https://github.com/pycalphad/pycalphad/blob/356b12422bbfe191deb3a902e10088aa47c4afd9/research/ContourMap.ipynb
The result, which shows lines of constant degree_of_ordering
in solid black and the magnetic transition temperature on the grey dashed line, looks pretty good.
from pycalphad.
Related Issues (20)
- write_tdb function outputs incorrect tdb due to symengine HOT 6
- Duplicate Species name error when parsing FactSage DAT into Database HOT 4
- Solver: convergence failure in Cr-Ti-V HOT 5
- Incomplete phase diagram HOT 4
- Cannot zoom in - ternary phase diagram HOT 4
- Pseudo binary phase diagram HOT 1
- bug in core/halton.py HOT 3
- Equilibrium not correctly reached for some temperatures
- Bug with custom model calculating entropy HOT 7
- Database: parsing integer literals with leading zeros
- Issue with importing TDB file from TDBDB HOT 3
- Calculation assigns wrong colors to phases in the legend. Sorting does not help. HOT 3
- open MatCalc open database HOT 1
- Error in equilibrium with pycalphad 0.10.2 HOT 4
- Scheil solidification result problem: fraction liquid is always 1 HOT 4
- Local Equilibrium Failiure in Pycalphad 0.10.2
- Pycalphad equilibrium convergence (no phases are seen)
- Unexpected output for calculations on Python 3.11 HOT 1
- Charged phases that cannot charge balance raise errors HOT 3
- About phase diagrams in multicomponent systems
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pycalphad.