beginner question: what's the philosophy of pycalphad?

40 views
Skip to first unread message

maa jdl

unread,
Jul 2, 2022, 9:24:56 AM7/2/22
to pycalphad
Hello

Here is my beginner question: what's the philosophy of pycalphad?
By this, I mean, how have you decided to proceed?
Do you intend to use tbd files as much as possible, to re-use existing database?
Or do you want to go along totally new lines?

Thanks, 
Michel

Brandon Bocklund

unread,
Jul 2, 2022, 1:00:11 PM7/2/22
to pycalphad
Hi Michel,

The philosophy of PyCalphad is a big question 🙂

I can give my own perspective as one of the core team members, but I don't speak for everyone on the team.

PyCalphad is more and more used in the community, especially by those who are not on the core team. We want to continue to meet those needs, and also the needs of the existing and future projects that depend on PyCalphad, which currently include:
- ESPEI for Calphad database development and uncertainty quantification
- Kawin for KWN-based precipitation modeling
- OpenIEC for computing interfacial energies
- PyPhaseField - phase field modeling

In that regard, our immediate next steps focused on stabilizing PyCalphad with a 1.0 release, which we are tracking in a GitHub Project. Longer term, we are taking actions to continue to be able to sustain and support the open-source ecosystem developing around PyCalphad.

On the technical side, we want to continue our high level of support for things that are well established (models implemented in TDB and DAT files), but also provide a platform to adapt and progress. We see one of PyCalphad's strengths being in its object-oriented design. Concepts like the Database object allow for the computational representations of Calphad to be decoupled from on-disk representations (TDB, DAT, XML files). The Model object allows for new models to be developed without changing any of the code in the Gibbs energy minimizer, as we recently achieved when we implemented the modified quasichemical model in the quadruplet approximation without modifying any code in our minimizer. Our goal in the design of PyCalphad is to make it easy use and extend to solve any problem.

Cheers,
Brandon

Richard Otis

unread,
Jul 5, 2022, 11:07:23 PM7/5/22
to pycalphad
Thanks for the interesting question prompt, Michel. I fully agree with everything Brandon said. I can try to elaborate a little more on some ideas that have motivated the design of PyCalphad.

The vision for PyCalphad is to be the premier software tool for innovation in scale-bridging chemical modeling of materials. The team believes in using the right tool for a job, and we are supporters of a robust ecosystem of open source and commercial Calphad tools (we collaborate with one another frequently, especially on the open source side); PyCalphad isn't trying to be everything to everyone in the community. However, when we are developing our roadmap, the team is asking itself questions like, "What are we doing to enable researchers at the forefront of materials science to push thermochemical modeling to the absolute boundary of knowledge and computing resources?" The idea is that (a) Calphad should continue to be the paradigm of choice for scale-bridging, multi-component chemical models; and (b) Calphad should not be the limiting element of any ambitious plan of research. If any potential user is still saying, "If only we had a Calphad tool that could do X..." then the work of the PyCalphad team is not yet finished. The project has come a long way toward this vision, though I expect we still have many years of work ahead of us, even once we get to 1.0.

Feel free to let us know if you have any other questions.

Thanks,
Richard

maa jdl

unread,
Jul 6, 2022, 3:19:30 AM7/6/22
to pycalphad
Thanks Brandon, Richard !
Michel

Reply all
Reply to author
Forward
0 new messages