Replies: 2 comments
-
This is a great place to ask these kinds of questions. I agree that the expected result would be that if you produced some ZPF data by computing phase compositions from pycalphad, the driving forces with the same set of parameters should be zero. I agree that it seems mostly like that the non-zero driving forces are introduced by the constrained global equilibrium. Did try or have any luck with increasing the point density of the sampling of the
Recently, we have started to look into approaches to sampling for starting points when there are constraints (see pycalphad/pycalphad#386). In this case, we would want to sample from regions where there is a constraint is on a phase composition. If we could apply a similar approach (either to solve the general problem in pycalphad or solve the particular problem here), then we should be able take much better samples from the constrained space with less computational effort and remove the heuristic tolerance filtering that is currently used. It's difficult to judge what impact this would have on an ESPEI run. With the amount of data in the image you shared, my intuition would be that the amount of data computed correctly would offset the bad convergence behavior of a few points. Depending on the actual root cause, it may be that correct starting point and solution can never be found at the current tolerance filter and point density or it could be that small change in the parameters picks up the correct points and the driving force will become zero. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the answer! I tried now increasing the point density of I guess I will try to use the larger point density and tolerance in |
Beta Was this translation helpful? Give feedback.
-
Hi,
I was doing an optimization of the ternary Al-Ti-Mo system in some part of the composition space.
I am using the development version of ESPEI.
espei 0.8.6.dev8+gb82465a
pycalphad 0.9.2
As a test of the ZPF error, I did an equilibrium calculation for a grid of compositions and temperatures with my initial TDB file.
I used the results of the
equilibrium
calculation to create artificial ZPF input data.Then I calculated the driving forces for the artificial input data with the same TDB file.
(Python code and TDB file is attached.)
I was assuming to get (almost) zero driving forces, as the input data was created with the same TDB file and parameters.
But for some of the input data (see figure below), I unexpectedly get large driving forces, for example for the dataset 95.json which I included, the driving force is ~ - 1400 J/mol. Am I thinking correct, that I should expect 0 driving forces?
I have played around with the point density for the
equilibrium
calculation, as this does give different results for some equilibria in this system. Still some large driving forces remain.I also played around with the constrained equilibrium calculation in ESPEI's ZPF error routine, changing point density for example.
It seems that the constrained equilibrium calculation does not always find the true, global constrained equilibrium.
F.e. I have seen this for the ALTI phase [Al,Mo,Ti][Al,Mo,Ti] with small Mo contents.
If I am correct, that in what I am doing I should expect 0 driving forces, could the bad behaviour in my example of Al-Ti-Mo originates from the complex sublattice structures and the vicinity of many phases in Gibbs energy?
More important to me, can this have a harmful influence in an ESPEI simulation, when I could get a large driving force and thus a large error even though the current parameters are correct?
Thanks,
Tobias
PS: I hope I posted this in the right section.
example.zip
Beta Was this translation helpful? Give feedback.
All reactions