SymPhas --General purpose software for phase-field, phase-field crystal and reaction-diffusion simulations


Abstract in English

This work develops a new open source API and software package called textit{SymPhas} for simulations of phase-field, phase-field crystal and reaction-diffusion models, supporting up to three dimensions and an arbitrary number of fields. textit{SymPhas} delivers two novel program capabilities: 1) User specification of models from the associated dynamical equations in an unconstrained form and 2) extensive support for integrating user-developed discrete-grid-based numerical solvers into the API. The capability to specify general phase-field models is primarily achieved by developing a novel symbolic algebra functionality that can formulate mathematical expressions at compile time, is able to apply rules of symbolic algebra such as distribution, factoring and automatic simplification, and support user-driven expression tree manipulation. A modular design based on the CC++ template meta-programming paradigm is applied to the symbolic algebra library and general API implementation to minimize application runtime and increase the accessibility of the API for third party development. textit{SymPhas} is written in C/CC++ and emphasizes high-performance capabilities via parallelization with OpenMP and the CC++ standard library. textit{SymPhas} is equipped with a forward Euler solver and a semi-implicit Fourier spectral solver. Sample implementations and simulations of several phase-field models are presented, generated using the semi-implicit Fourier spectral solver.

Download