Equilibrium calculations help #521
Replies: 2 comments
-
Thanks for the question and the debugging you've done up to this point. Two questions:
|
Beta Was this translation helpful? Give feedback.
-
0.10.4.post1 further debugging: x(mn): 0.1999 eliminates the issues. I'm not sure if it's a .tdb issue or a calculation issue for that front. I'm relatively newer to python as well so not sure if this is just a common issue for some calculations. My goal is trying to also plot acr(O2). If I can get mu(O2), I could convert it, but I am stuck on debugging the mu(O2) list indexing IndexError Traceback (most recent call last)
---> 23 eq= equilibrium(dbf,comps, desired_phase, conds, output = 'MU', model=mod)
File ~\anaconda3\Lib\site-packages\pycalphad\core\equilibrium.py:281, in equilibrium(dbf, comps, phases, conditions, output, model, verbose, broadcast, calc_opts, to_xarray, scheduler, parameters, solver, callables, phase_records, **kwargs) File pycalphad/core/eqsolver.pyx:225, in pycalphad.core.eqsolver._solve_eq_at_conditions() File pycalphad/core/eqsolver.pyx:103, in pycalphad.core.eqsolver.add_nearly_stable() IndexError: list index out of range Thank you! |
Beta Was this translation helpful? Give feedback.
-
Hi Folks, im working on using pycalphad for my masters and plotting charges/site fractions for a perovskite LMO and running into some errors with equilibrium and could use some help. I wanted to share what I've made and also see if y'all had any ideas for improvements:
conditions setting compared to thermocalc (cant set both v.X(LA) and v.X(MN), only 1 of them. would be nice to set both compositions)
at certain temps there are errors (see images), they all seem to be around -3e5 MU, but I can't find any rhyme or reason to why its happening in some cases but not all. Setting v.X('LA) = 0.2 instead of v.X('MN') also introduces significant gaps in the data plots.
I'm having issues with trying to use v.MU('O2') in equilibrium (list index is out of range)
If anyone has any suggestions for things to implement or try, that would be greatly appreciated.
here is my set up process:
dbf=Database('lmo.tdb')
comps = ['LA', 'MN', 'O', 'VA']
desired_phase = 'PERV'
mod = Model(dbf, comps, desired_phase)
mod1= {desired_phase: mod}
conds = {v.P: 1e5, v.N: 1, v.X('MN'):0.2 , v.MU('O'):(-5e5, 1e5, 1e4), v.T: 1000}
eq= equilibrium(dbf,comps, desired_phase, conds, output = 'MU', model=mod1)
Beta Was this translation helpful? Give feedback.
All reactions