Daniel Wheeler, Jonathan E. Guyer, James A. Warren
The solution of coupled sets of partial differential equations (PDEs) is ubiquitous in continuum models for phase transformations, such as in phase field or level et simulations. We are developing an object-oriented PDE solver, written in the Python scripting language, based on a standard finite volume (FV) approach.Numerous PDE solvers exist using a variety of languages and numerical approaches. Many are proprietary, expensive and difficult to customize. They are generally not tailored to the specific needs of phase transformation modeling. As a result, materials scientists spend considerable resources repeatedly developing limited tools for specific problems. Because of the specialized knowledge required, these tools often do not take advantage of more advanced numerical techniques that would permit simulation of larger systems for longer times.Our approach, combining the FV method and Python, provides a tool that is extensible, powerful and freely available. The framework includes terms for transient diffusion, convection, and standard sources, enabling the solution of arbitrary combinations of coupled elliptic, hyperbolic and parabolic PDEs, including higher-order expressions such as Cahn-Hilliard. Program flow is entirely under user control, using the high-level Python scripting language.