Non-Conservative Phase-Field: Allen-Cahn
SkillDev toolsSimulate non-conservative phase-fields (grain growth and phase transformations) using the Allen-Cahn equation.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Non-Conservative Phase-Field: Allen-Cahn skill
What this skill tells your AI
The instructions your AI receives, as published by learningmatter-mit/atomisticskills in .agents/skills/mat-phase-field-non-conservative/SKILL.md and read by ahel’s review.
Goal
To simulate the morphological evolution of structural transformations (like solidification, melting, or curvature-driven grain growth) using the Allen-Cahn (time-dependent Ginzburg-Landau) equation. This tracks a non-conservative order parameter $\phi$ which distinguishes between phases (e.g., solid vs. liquid).
Instructions
1. Mathematical Formulation
The Allen-Cahn equation describes the evolution of a non-conserved order parameter $\phi$ down a free energy gradient: $$ \frac{\partial \phi}{\partial t} = -M \frac{\delta F}{\delta \phi} = M \left( \epsilon^2 \nabla^2 \phi - \frac{\partial f(\phi)}{\partial \phi} \right) $$ Where $M$ is the mobility, $\epsilon$ is the gradient energy coefficient controlling the interface thickness, and $f(\phi) = W \phi^2(1-\phi)^2$ is the double-well potential barrier between the two phases ($\phi=0$ and $\phi=1$).
Unlike Cahn-Hilliard, Allen-Cahn does not conserve the integral of $\phi$. It naturally drives systems to reduce their total interfacial area, resulting in curvature-driven boundary migration.
2. Running Curvature-Driven Grain Growth
Use the provided script to set up a 2D grid containing a circular solid grain in a liquid matrix and observe its capillarity-driven shrinkage.
# Env: phasefield-agent
python .agents/skills/mat-phase-field-non-conservative/scripts/run_grain_growth.py \
--grid-size 100 \
--radius 30 \
--steps 200 \
--dt 0.1 \
--output grain_growth.gif
Parameters:
--grid-size: Number of grid points per dimension (e.g.,100for a 100x100 2D grid).--radius: Initial radius of the circular grain in grid units.--steps: Total number of time steps to run.--dt: Time step size.--output: Filepath to save the resulting.gifanimation or.png.
Examples
Classic Shrinking Circular Grain
A universal mathematical benchmark for the Allen-Cahn equation is proving that a circular domain shrinks at a rate proportional to its curvature (the $v = M \gamma K$ law). The area of the circle must decrease linearly with time.
# Env: phasefield-agent
python .agents/skills/mat-phase-field-non-conservative/scripts/run_grain_growth.py \
--grid-size 100 \
--radius 35 \
--steps 300 \
--dt 0.5 \
--output examples/benchmark-grain/classic_shrinking_grain.gif
See the examples/benchmark-grain/README.md for the expected output.
Constraints
- Environments: Scripts require the
phasefield-agentConda environment. Each code block MUST specify the environment. - Interface Thickness: The spatial resolution
dxmust be small enough to resolve the diffuse interface (typically requiring at least 4-5 grid points across the interface controlled by $\epsilon$).
References
- Allen, S. M., & Cahn, J. W., "A macroscopic theory for antiphase boundary motion and its application to antiphase domain coarsening", Acta Metallurgica, 1979. DOI
Author: Bowen Deng
Signals
- GitHub stars
- 164
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
mat-phase-field-non-conservative- Source
- github.com/learningmatter-mit/atomisticskills