PhaseFieldX

PhaseFieldX: An Open-Source Framework for Advanced Phase-Field Simulations - Published in JOSS (2025)

https://github.com/castillonmiguel/phasefieldx

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

fatigue fem finite-elements fracture fracture-mechanics phase-field phase-field-fracture solidification
Last synced: 4 months ago · JSON representation ·

Repository

An Open-Source Framework for Advanced Phase-Field Simulations

Basic Info
Statistics
  • Stars: 26
  • Watchers: 1
  • Forks: 11
  • Open Issues: 1
  • Releases: 8
Topics
fatigue fem finite-elements fracture fracture-mechanics phase-field phase-field-fracture solidification
Created over 1 year ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Authors

README.rst

PhaseFieldX
===========

.. image:: https://raw.githubusercontent.com/CastillonMiguel/phasefieldx/main/docs/source/_static/logo_name.png
   :target: https://phasefieldx.readthedocs.io/en/latest/index.html
   :alt: PhaseFieldX


Welcome to **PhaseFieldX**. `documentation `_

.. image:: https://readthedocs.org/projects/phasefieldx/badge/?version=latest
    :target: https://phasefieldx.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status
    
.. image:: https://img.shields.io/pypi/v/phasefieldx
    :target: https://pypi.org/project/phasefieldx/
    :alt: PyPI Version

.. image:: https://img.shields.io/pypi/dm/phasefieldx.svg?label=Pypi%20downloads
    :target: https://pypi.org/project/phasefieldx/
    :alt: PyPI Downloads

.. image:: https://img.shields.io/github/license/CastillonMiguel/phasefieldx
    :target: https://github.com/CastillonMiguel/phasefieldx/blob/main/LICENSE
    :alt: License

.. image:: https://joss.theoj.org/papers/10.21105/joss.07307/status.svg
    :target: https://doi.org/10.21105/joss.07307
    :alt: Joss

.. image:: https://github.com/CastillonMiguel/phasefieldx/actions/workflows/testing.yml/badge.svg
    :target: https://github.com/CastillonMiguel/phasefieldx/actions/workflows/testing.yml   
    :alt: Unit Testing
 
.. image:: https://deepwiki.com/badge.svg
   :target: https://deepwiki.com/CastillonMiguel/phasefieldx
   :alt: Ask DeepWiki

Introduction
------------
The **PhaseFieldX** project is designed to simulate and analyze material behavior using phase-field models, which provide a continuous approximation of interfaces, phase boundaries, and discontinuities such as cracks. Leveraging the robust capabilities of *FEniCSx*, a renowned finite element framework for solving partial differential equations, this project facilitates efficient and precise numerical simulations. It supports a wide range of applications, including phase-field fracture, solidification, and other complex material phenomena, making it an invaluable resource for researchers and engineers in materials science.


Purpose
-------
The **PhaseFieldX** project aims to advance phase-field modeling through open-source contributions. By leveraging the powerful *FEniCSx* framework, our goal is to enhance and broaden the application of phase-field simulations across various domains of materials science and engineering. We strive to make these advanced simulation techniques more accessible, enabling researchers and engineers to conduct more accurate and comprehensive scientific investigations. Through collaborative efforts, our mission is to deepen understanding, foster innovation, and contribute to the broader scientific community’s pursuit of knowledge in complex material behaviors.


Key Features
------------
- **Phase-Field Method:** The code employs the phase-field method, a versatile mathematical framework for modeling phenomena such as fracture, phase transitions, and pattern formation as diffuse processes. It enables the simulation of complex behaviors and multiple interacting phenomena within a unified framework.

- **FEniCSx Integration:** Integrated with FEniCSx, a powerful finite element framework, the code provides robust capabilities for solving partial differential equations governing phase-field simulations. This integration ensures efficient computation and adaptive mesh refinement, enhancing simulation accuracy and scalability.
  
- **User-Friendly Interface:** Designed with usability in mind, the code features an intuitive interface for defining material properties, boundary conditions, and simulation parameters. This interface caters to both novice users and experienced researchers, facilitating straightforward setup and execution of simulations.

- **Advanced Visualization:** The code includes advanced visualization tools to depict simulation results effectively. These tools enable comprehensive analysis of crack propagation, stress distributions, and other key quantities, supporting insightful interpretations and comparisons across simulations.


Installation Instructions
--------------------------
To use this repository, you need to have the latest stable release of FEniCSx installed. The latest stable release of FEniCSx is version 0.9. The easiest way to start using FEniCSx on MacOS and other systems is to install it using `conda`.

Follow these steps to set up your environment:

1. Create a new conda environment
   
   .. code-block::
   
      conda create -n phasefieldx-env

2. Activate the new environment
   
   .. code-block::
   
      conda activate phasefieldx-env

3. Install FEniCSx, `mpi4py`, `numpy`, `pandas`, ... from the `conda-forge` channel:
   
   .. code-block:: sh
   
      conda install -c conda-forge fenics-dolfinx=0.9.0 mpi4py numpy pyvista pandas pyvista

4. Install `gmsh`
   
   .. code-block::
   
      pip install --upgrade gmsh
   

5. Finally, install the code from this repository
   
   .. code-block::
   
      pip install phasefieldx


These steps will set up all the necessary dependencies for running the code in this repository. Make sure to activate the `phasefieldx-env` environment whenever you work with this project.

For more detailed installation options and information, please visit the `FEniCSx Project download page `_.

We also provide a pre-built docker image with FEniCSx and phasefieldx installed. You pull this image using the command

.. code-block::

   docker pull ghcr.io/castillonmiguel/phasefieldx:main


Examples
--------
There are numerous examples available to demonstrate the usage of PhaseFieldX for various phase-field simulations. These examples cover different scenarios such as phase-field fracture, phase-field fatigue, and more complex material behavior simulations. Explore the examples in the `documentation `_ to learn more.


API Documentation
-----------------
For detailed API documentation, including class references, function definitions, and usage examples, please refer to the `API documentation `_.

You can also explore the project on DeepWiki — an AI-powered, interactive knowledge base built from the code and documentation: `Explore PhaseFieldX on DeepWiki `_

Contributions and Feedback
--------------------------
We welcome contributions and feedback from the community to enhance the code's functionality, reliability, and user experience.To get started, please review our `Contributing Guidelines `_ to share your insights and collaborate with fellow developers.

Thank you for choosing our Phase-Field Fracture simulation code. We trust this tool will prove invaluable in advancing your understanding of fracture mechanics and its practical applications.


Citing PhaseFieldX
------------------
There is a `paper about PhaseFieldX `_.

If you use **PhaseFieldX** in your scientific research, please consider citing our work to support its development and increase its scientific visibility.

    Castillón, M. (2025). PhaseFieldX: An Open-Source Framework for Advanced Phase-Field Simulations. Journal of Open Source Software, 10(108), 7307, https://doi.org/10.21105/joss.07307


BibTex:

.. code:: latex

    @article{Castillon2025phasefieldx, 
      doi = {10.21105/joss.07307}, 
      url = {https://doi.org/10.21105/joss.07307}, 
      year = {2025}, 
      publisher = {The Open Journal}, 
      volume = {10}, 
      number = {108}, 
      pages = {7307},
      author = {Miguel Castillón}, 
      title = {PhaseFieldX: An Open-Source Framework for Advanced Phase-Field Simulations},
      journal = {Journal of Open Source Software} 
    }

Owner

  • Name: Miguel Castillon
  • Login: CastillonMiguel
  • Kind: user
  • Location: Madrid

JOSS Publication

PhaseFieldX: An Open-Source Framework for Advanced Phase-Field Simulations
Published
April 08, 2025
Volume 10, Issue 108, Page 7307
Authors
Miguel Castillón ORCID
Universidad Politécnica de Madrid, José Gutiérrez Abascal, 2, 28006 Madrid, Spain, IMDEA Materials Institute, Eric Kandel 2, Getafe, 28906 Madrid, Spain
Editor
Bonan Zhu ORCID
Tags
Fenicsx Phase field Fatigue Fracture Finite element

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Castillón
  given-names: Miguel
  orcid: "https://orcid.org/0009-0008-6383-7103"
doi: 10.5281/zenodo.15077939
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Castillón
    given-names: Miguel
    orcid: "https://orcid.org/0009-0008-6383-7103"
  date-published: 2025-04-08
  doi: 10.21105/joss.07307
  issn: 2475-9066
  issue: 108
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 7307
  title: "PhaseFieldX: An Open-Source Framework for Advanced Phase-Field
    Simulations"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.07307"
  volume: 10
title: "PhaseFieldX: An Open-Source Framework for Advanced Phase-Field
  Simulations"

GitHub Events

Total
  • Create event: 15
  • Release event: 14
  • Issues event: 15
  • Watch event: 15
  • Delete event: 7
  • Issue comment event: 21
  • Push event: 93
  • Pull request event: 12
  • Fork event: 6
Last Year
  • Create event: 15
  • Release event: 14
  • Issues event: 15
  • Watch event: 15
  • Delete event: 7
  • Issue comment event: 21
  • Push event: 93
  • Pull request event: 12
  • Fork event: 6

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 168
  • Total Committers: 2
  • Avg Commits per committer: 84.0
  • Development Distribution Score (DDS): 0.006
Past Year
  • Commits: 139
  • Committers: 2
  • Avg Commits per committer: 69.5
  • Development Distribution Score (DDS): 0.007
Top Committers
Name Email Commits
CastillonMiguel m****l@a****s 167
Kyle Niemeyer k****r@f****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 12
  • Total pull requests: 8
  • Average time to close issues: 21 days
  • Average time to close pull requests: about 6 hours
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 2.42
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 12
  • Pull requests: 8
  • Average time to close issues: 21 days
  • Average time to close pull requests: about 6 hours
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 2.42
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • finsberg (10)
  • altaflone (1)
  • PengPengCUG (1)
Pull Request Authors
  • CastillonMiguel (13)
  • kyleniemeyer (2)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 80 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 10
  • Total maintainers: 1
pypi.org: phasefieldx

PhaseFieldX: An Open-Source Framework for Advanced Phase-Field Simulations

  • Homepage: https://github.com/CastillonMiguel/phasefieldx
  • Documentation: https://phasefieldx.readthedocs.io
  • License: MIT License Copyright (c) 2023, Miguel Castillón Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 0.1.3
    published 6 months ago
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 80 Last month
Rankings
Dependent packages count: 10.7%
Downloads: 11.9%
Average: 27.5%
Dependent repos count: 60.0%
Maintainers (1)
Last synced: 4 months ago