{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/symphas-general-purpose-software-for-phase","title":"SymPhas --General purpose software for phase-field, phase-field crystal and reaction-diffusion simulations","arxiv_id":"2109.02598","date":"2021-09-06","proceeding":null,"authors":["Steven A. Silber","Mikko Karttunen"],"abstract":"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.","url_abs":"https://arxiv.org/abs/2109.02598v1","url_pdf":"https://arxiv.org/pdf/2109.02598v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"symphas-general-purpose-software-for-phase","repo_url":"https://github.com/softsimu/symphas","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}