Master of Science
The phase-field method is a common approach to qualitative analysis of phase transitions. It allows visualizing the time evolution of a phase transition, providing valuable insight into the underlying microstructure and the dynamical processes that take place. Although the approach is applied in a diverse range of fields, from metal-forming to cardiac modelling, there are a limited number of software tools available that allow simulating any phase-field problem and that are highly accessible. To address this, a new open source API and software package called SymPhas is developed for simulating phase-field and phase-field crystal in 1-, 2- and 3-dimensions. Phase-field models with an arbitrary number of equations of motion may be defined, as well as systems that can be formulated field-theoretically, including reaction-diffusion systems. Moreover, without changing the phase-field problem definition, a solution can be found by multiple different solvers. This is accomplished with a compile-time symbolic algebra library that formulates and allows manipulating mathematical expressions at compile-time, enabling any set of equations of motion to be transformed into a form that an implemented numerical solver can use in computing the time evolution of the phase-field. The compile-time aspect means that this construct can be made highly run-time optimal. To this end, SymPhas also emphasizes high-performance capabilities via template meta-programming and parallelization. The design is based on template meta-programming with a modular approach to facilitate community development and maximize program robustness. Several test cases are developed, including conserved and non-conserved multi-phase-field systems as well as a phase-field crystal model, which are all presented with the respective implementations. The results are generated using the semi-implicit Fourier spectral solver provided with SymPhas. SymPhas is written in C/C++ and has been tested in Linux and Windows environments.
Summary for Lay Audience
Phase-field modelling is a common approach to studying phase transitions; it provides a framework for describing the physical process of a phase transition through a set of dynamical equations to visualize the complex mechanisms that take place, vital in diverse applications from meta-forming to cardiac modelling. To address the limited software packages available for phase-field modelling, a new open source API and software package called SymPhas is developed for simulating general phase-field models in 1-, 2- and 3-dimensions, including those specified by multiple dynamical equations. SymPhas implements multiple numerical solvers and allows user-developed solvers as well. This is accomplished using a novel approach that allows a mathematical expression to be transformed and manipulated in the compilation stage when the code is built into the runnable program. This functionality is used by an algorithm, specific to each numerical solver, which transforms a set of dynamical equations for an arbitrary phase-field model into an object that the solver uses to determine the phase transition evolution. The functional components of SymPhas are separated in a modular way, maximizing program robustness and enhancing community development potential. Several test cases of different phase transition types, including one that involves two dynamical equations, are developed. The test cases are also presented with the respective implementations in SymPhas. SymPhas is written in C/C++ and has been tested in Linux and Windows environments.
Silber, Steven A., "SymPhas: A modular API for phase-field modeling using compile-time symbolic algebra" (2021). Electronic Thesis and Dissertation Repository. 8087.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 4.0 License.