{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from pystencils.session import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 05: Phase-field simulation of spinodal decomposition\n", "\n", "In this series of demos, we show how to implement simple phase field models using finite differences.\n", "We implement examples from the book **Programming Phase-Field Modelling** by S. Bulent Biner. \n", "Specifically, the model for spinodal decomposition implemented in this notebook can be found in Section 4.4 of the book.\n", "\n", "First we create a DataHandling instance, that manages the numpy arrays and their corresponding symbolic *sympy* fields. We create two arrays, one for the concentration $c$ and one for the chemical potential $\\mu$, on a 2D periodic domain." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "language": "python3", "language_info": { "name": "python3", "pygments_lexer": "python3" } }, "outputs": [], "source": [ "dh = ps.create_data_handling(domain_size=(256, 256), periodicity=True)\n", "μ_field = dh.add_array('mu', latex_name='μ')\n", "c_field = dh.add_array('c')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next cell we build up the free energy density, consisting of a bulk and an interface component.\n", "The bulk free energy is minimal in regions where only either phase 0 or phase 1 is present. Areas of mixture are penalized. The interfacial free energy penalized regions where the gradient of the phase field is large, i.e. it tends to smear out the interface. The strength of these counteracting contributions is balanced by the parameters $A$ for the bulk- and $\\kappa$ for the interface part. The ratio of these parameters determines the interface width." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: \n", "The to_png function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.\n", " mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)\n", "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: \n", "The to_rgba function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.\n", " mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)\n", "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: \n", "The to_mask function was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.\n", " mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)\n", "/opt/local/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/IPython/lib/latextools.py:126: MatplotlibDeprecationWarning: \n", "The MathtextBackendBitmap class was deprecated in Matplotlib 3.4 and will be removed two minor releases later. Use mathtext.math_to_image instead.\n", " mt.to_png(f, s, fontsize=12, dpi=dpi, color=color)\n" ] }, { "data": { "text/latex": [ "$\\displaystyle {c}_{(0,0)}^{2} A \\left(1 - {c}_{(0,0)}\\right)^{2} + \\frac{κ \\left({\\partial_{0} {c}_{(0,0)}}^{2} + {\\partial_{1} {c}_{(0,0)}}^{2}\\right)}{2}$" ], "text/plain": [ " ⎛ 2 2⎞\n", " 2 2 κ⋅⎝D(c[0,0]) + D(c[0,0]) ⎠\n", "c_C ⋅A⋅(1 - c_C) + ───────────────────────────\n", " 2 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "κ, A = sp.symbols(\"κ A\")\n", "\n", "c = c_field.center\n", "μ = μ_field.center\n", "\n", "def f(c):\n", " return A * c**2 * (1-c)**2\n", "\n", "bulk_free_energy_density = f(c)\n", "grad_sq = sum(ps.fd.diff(c, i)**2 for i in range(dh.dim))\n", "interfacial_free_energy_density = κ/2 * grad_sq\n", "\n", "free_energy_density = bulk_free_energy_density + interfacial_free_energy_density\n", "free_energy_density" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In case you wonder what the index $C$ of the concentration means, it just indicates that the concentration is a field (array) and the $C$ indices indicates that we use the center value of the field when iterating over it. This gets important when we apply a finite difference discretization on the equation.\n", "\n", "The bulk free energy $c^2 (1-c)^2$ is just the simplest polynomial with minima at $c=0$ and $c=1$. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "