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

ChemSage DAT support: I2SL (SUBI) reading #418

Open
maxposchmann opened this issue May 27, 2022 · 2 comments
Open

ChemSage DAT support: I2SL (SUBI) reading #418

maxposchmann opened this issue May 27, 2022 · 2 comments

Comments

@maxposchmann
Copy link

The ionic two-sublattice model (I2SL) exists in the DAT format with the code SUBI. I believe this model is supported already for TDB databases, so I'm hopeful that adding support for DAT databases wouldn't be too much work.

I2SL (SUBI) support was added to Thermochimica recently, I should be able to help answer any questions about DAT formatting for this model.

@bocklund
Copy link
Collaborator

Yes, I would be happy to add support for DAT SUBI phases. Do you know of an open database that uses SUBI that we can use to test against?

@maxposchmann
Copy link
Author

Yes, we have a few up on our repo (here's one).

A couple of things here. These were written by the OpenCalphad TDB->DAT converter, which inserts comments after phase names. I had trouble parsing those comments in pycalphad, so I just manually deleted them when using these files.

More relevant to this issue, you will notice that endmembers corresponding to the neutral constituents in I2SL phases get repeated in the DAT. There are #cations copies of each neutral. I suspect that FactSage couldn't handle unpaired constituents on the second sublattice, so made copies of the neutrals such that they could be paired to cations. Note also that the stoichiometry of the neutral endmember is scaled by the charge of the cation it is paired with.

In Thermochimica I discard all the redundant neutral endmembers, and divide the stoichiometry of the one I keep by the cation charge, so that I2SL can be used as written in Bosse's paper. I'd guess you want to do the same.

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

No branches or pull requests

2 participants