Skip to main content
PhaseFieldX

Welcome to PhaseFieldX. documentation

Documentation Status PyPI Version PyPI Downloads License Joss

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.8. 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

    conda create -n phasefieldx-env
  2. Activate the new environment

    conda activate phasefieldx-env
  3. Install FEniCSx, mpi4py, numpy, pandas, … from the conda-forge channel:

    conda install -c conda-forge fenics-dolfinx=0.9.0 mpi4py numpy pyvista pandas pyvista
  4. Install gmsh

    pip install --upgrade gmsh
  5. Finally, install the code from this repository

    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.

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.

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phasefieldx-0.0.6.tar.gz (32.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phasefieldx-0.0.6-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file phasefieldx-0.0.6.tar.gz.

File metadata

  • Download URL: phasefieldx-0.0.6.tar.gz
  • Upload date:
  • Size: 32.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for phasefieldx-0.0.6.tar.gz
Algorithm Hash digest
SHA256 91a33ca2ff3e5ec4c2e58ba48f45230a1c98660a90864db9053584826c02b5b9
MD5 9d2bc726438d310e170c79fc85b99b82
BLAKE2b-256 ff8b1126a93b33c2ef59868baac4fc87a63d926885a4eb5704ff1a15268f5572

See more details on using hashes here.

Provenance

The following attestation bundles were made for phasefieldx-0.0.6.tar.gz:

Publisher: publish_pip_distribution.yml on CastillonMiguel/phasefieldx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file phasefieldx-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: phasefieldx-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for phasefieldx-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c1fc4bac1edda43638c9eede63c4ddff5f4d838bfee00babbcd2c7a2b446cae7
MD5 940deb8166251765aa7e1af8409aa52a
BLAKE2b-256 9172a0982f88f8105db93f682a96475774e14b86ff17a0cf1b3b5da520ca26f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for phasefieldx-0.0.6-py3-none-any.whl:

Publisher: publish_pip_distribution.yml on CastillonMiguel/phasefieldx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

This release

0.0.6 This release

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page