{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Differentiable numerical simulations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Both backends (``torch`` and ``jax``) naturally provide high computational performance based on just-in-time compiled kernels and end-to-end gradient-based parameter learning through automatic differentiation. This enables inverse material design where you start from a desired outcome (material behaviour or time evolution of a system) and work your way backwards to the input parameters which lead to this desired output.\n", "Generally, the integration of high-resolution imaging with predictive simulations and data‐driven optimization holds promise to accelerate discovery and to deepen our understanding of process–structure–property relationships.\n", "\n", "Some general information about differentiable physics can be found [here](https://physicsbaseddeeplearning.org/diffphys.html).\n", "\n", "In the following example we build a physics-informed parameter estimation pipeline using differentiable simulation. The physical system is governed by the Cahn–Hilliard equation, a nonlinear fourth-order PDE modeling phase separation and coarsening in materials. It depends on two key parameters:\n", "- $D$ (mobility or diffusivity),\n", "- $\\epsilon$ (controls interface thickness and energy).\n", "\n", "We assume that the initial condition $c_0(x)$ is known.\n", "A set of partial observations of the field $c(x,t)$ at specific time steps $t_i$ is given.\n", "The goal is to find the physical parameters ($D$, $\\epsilon$) that best reproduce the observed dynamics of $c(x,t)$ across multiple sequences of the system's evolution.\n", "\n", "This is done by:\n", "1. Simulating forward with guessed parameters to compute $c_\\text{sim}(x, t_i)$.\n", "2. Computing residuals: difference between simulation and measurement.\n", "3. Optimizing parameters: via Levenberg–Marquardt (a trust-region variant of Gauss–Newton least-squares).\n", "\n", "Mathematically this can be expressed as\n", "\n", "$$\\min_\\theta \\sum_j^{N_\\text{sequences}}\\sum_i^{T} ||c_\\text{measured}^{(j)}(t_i)−c_\\text{sim}^{(j)}(t_i, \\theta)||_2^2​$$\n", "\n", "with the state variables $\\theta = (D, \\epsilon)$." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import evoxels as evo\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "Nx, Ny, Nz = [100, 100, 100]\n", "vf = evo.VoxelFields((Nx, Ny, Nz), domain_size=(Nx, Ny, Nz))\n", "noise = 0.5 + 0.1*(0.5-np.random.rand(Nx, Ny, Nz))\n", "vf.add_field('c', noise)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We create an `InversionModel` for the ``CahnHilliard`` problem which sets up the voxel grid and the parameters of the PDE." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from evoxels.problem_definition import CahnHilliard\n", "fixed_problem_kwargs={\"mu_hom\": None}\n", "pos_params = [\"D\", \"eps\"]\n", "model = evo.InversionModel(vf, CahnHilliard, pos_params, fixed_problem_kwargs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Choose output times\n", "\n", "``diffrax.SaveAt`` specifies at which time points the solver should store the concentration field. These will later be used as training data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import diffrax as dfx\n", "saveat = dfx.SaveAt(ts=np.linspace(0, 100, 11))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wall time: 3.2251 s after 100 iterations (0.0323 s/iter)\n", "CPU-RAM (tracemalloc) current: 11.44 MB (15.20 MB max)\n", "CPU-RAM (psutil) current: 981.95 MB (0.00 MB max)\n", "GPU-RAM (nvidia-smi) current: 3791 MB (3791.0 MB max)\n" ] } ], "source": [ "res = model.forward_solve({\"D\": 1.0, \"eps\": 3.0}, 'c', saveat, dt0=1)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAggAAAHHCAYAAADaqqCfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAxNFJREFUeJzs/XmcZWV174+vPZ59pqpTVV1DV/XIDAoiIIig0QTFV5SIStTojYheTAz4VdGrkogIUVETCQ4IkStqErkavY4xwWtQNP5AIKAiY0PPU811qs487L1/f3T3edb6nK7T1d1FD9R6v168OE/tffZ59rOffXqf57PWZ1lxHMekKIqiKIrCsA93BxRFURRFOfLQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRFURRFUdrQBwRF2c2aNWvobW97W6t99913k2VZdPfddx+2Ph0p/PM//zOddNJJ5Hke5XK5RT/+pk2byLIs+trXvrbox1YU5cDQBwTlWc/vf/97uuSSS2j16tUUBAGNjIzQy1/+cvrCF75wuLu2V9asWUOWZbX995d/+Zdt++bzeXrnO99J/f39lE6n6WUvexk99NBDi9qfJ554gt72trfRscceS7fddht9+ctfXtTjK4pyZOIe7g4oyjPJPffcQy972cto1apVdPnll9PQ0BBt3bqVfv3rX9PnPvc5eve73z3ve1/ykpdQpVIh3/cPYY93cfrpp9P73/9+8bcTTjhBtKMoole96lX0u9/9jv7X//pftGzZMvrSl75EL33pS+nBBx+k448/flH6cvfdd1MURfS5z32OjjvuuEU5JrJ69WqqVCrked4zcnxFUfYffUBQntV84hOfoO7ubnrggQfalsbHx8c7vte2bQqC4Bns3fyMjIzQ//gf/6PjPt/5znfonnvuoW9/+9t0ySWXEBHRG97wBjrhhBPo2muvpTvuuGNR+rJnnJ4JaWEPlmUdtrFWFGXvqMSgPKtZv349Pec5z9nrP24DAwMd3ztfDMJ9991Hf/zHf0w9PT2UTqfptNNOo8997nNinyeeeIIuueQS6u3tpSAI6KyzzqIf/vCH+9X3er1OpVJp3u3f+c53aHBwkF73ute1/tbf309veMMb6Ac/+AHVarV9fsaXvvQles5znkOJRIKGh4fpiiuuoHw+39q+Zs0auvbaa1vHtiyLPvaxj3U85hNPPEFveMMbqL+/n5LJJJ144on0N3/zNx3fs7cYhLe97W2UyWRo+/btdPHFF1Mmk6H+/n76wAc+QGEYdjzexz72sb3KNJZliTgTRVHmRx8QlGc1q1evpgcffJAeeeSRRTneT3/6U3rJS15Cjz32GL3nPe+hz372s/Syl72M/u3f/q21z6OPPkovfOEL6fHHH6cPf/jD9NnPfpbS6TRdfPHF9L3vfW9Bn/Ozn/2MUqkUZTIZWrNmTdsDCBHRb37zGzrjjDPItuVtfPbZZ1O5XKZ169Z1/IyPfexjdMUVV9Dw8DB99rOfpde//vX0j//4j/SKV7yCGo0GERHddNNN9NrXvpaIiG655Rb653/+Z/FAgjz88MN0zjnn0M9+9jO6/PLL6XOf+xxdfPHF9KMf/WhB542EYUgXXngh9fX10d///d/TH/zBH9BnP/vZfcZBvO51r6N//ud/Fv+9973vJaJ9PxgqirKbWFGexfy///f/YsdxYsdx4nPPPTf+4Ac/GP/kJz+J6/V6276rV6+OL7300lb75z//eUxE8c9//vM4juO42WzGa9eujVevXh3PzMyI90ZR1Hr9R3/0R/Gpp54aV6tVsf1FL3pRfPzxx++zzxdddFH86U9/Ov7+978ff+UrX4lf/OIXx0QUf/CDHxT7pdPp+O1vf3vb+3/84x/HRBTfeeed837G+Ph47Pt+/IpXvCIOw7D19y9+8YsxEcW3335762/XXnttTETxxMTEPvv+kpe8JM5ms/HmzZvF3/n47I2NGzfGRBR/9atfbf3t0ksvjYkovv7668W+z3/+8+Mzzzxzn33hTExMxKtWrYpPPfXUuFgs7td7FWWpoisIyrOal7/85XTvvffSn/zJn9Dvfvc7+sxnPkMXXnghjYyM7PeS/29+8xvauHEjvfe9722TLCzLIiKi6elp+tnPfkZveMMbqFAo0OTkJE1OTtLU1BRdeOGF9NRTT9H27ds7fs4Pf/hD+uAHP0ivec1r6O1vfzv94he/oAsvvJBuvPFG2rZtW2u/SqVCiUSi7f17tPxKpTLvZ/znf/4n1et1eu973ytWIC6//HLq6uqiH//4x/scD2RiYoJ++ctf0tvf/nZatWqV2LZnfA4EzN548YtfTBs2bFjw+8MwpD/7sz+jQqFA3/ve9yidTh9wXxRlKaEPCMqznhe84AX03e9+l2ZmZuj++++nq6++mgqFAl1yySX02GOPLfg469evJyKi5z73ufPu8/TTT1Mcx3TNNddQf3+/+G+Plr+v4EjEsix63/veR81mU8RDJJPJvcYZVKvV1vb52Lx5MxERnXjiieLvvu/TMccc09q+P+z5R7vT+OwvQRBQf3+/+FtPTw/NzMws+Bgf+chH6Gc/+xndcccddOyxxy5a3xTl2Y5mMShLBt/36QUveAG94AUvoBNOOIEuu+wy+va3v936h3sxiKKIiIg+8IEP0IUXXrjXfQ4kVXDlypVEtGuFYg/Lly+nnTt3tu2752/Dw8P7/TlHGo7jHNT7v//979OnP/1p+tu//Vt65StfuUi9UpSlgT4gKEuSs846i4hor//AzseeX5+PPPIIXXDBBXvd55hjjiEiIs/z5t3nQNjz65z/mj799NPpv/7rvyiKIiET3HfffZRKpdp8EzirV68mIqInn3yy1WeiXZkTGzduPKC+7znOYgWEHizr1q2jSy+9lC6++GL667/+68PdHUU56lCJQXlW8/Of/5ziOG77+7//+78TUfsSeyfOOOMMWrt2Ld10000iFZCIWp8xMDBAL33pS+kf//Ef9/rwMTEx0fEzpqen21L4Go0GfepTnyLf9+llL3tZ6++XXHIJjY2N0Xe/+93W3yYnJ+nb3/42XXTRRXuNT9jDBRdcQL7v0+c//3kxPl/5yldodnaWXvWqV3Xs597o7++nl7zkJXT77bfTli1bxLa9XYNnkmKxSK997WtpZGSEvv71rx9UDISiLFV0BUF5VvPud7+byuUyvfa1r6WTTjqJ6vU63XPPPfStb32L1qxZQ5dddtmCj2XbNt1yyy100UUX0emnn06XXXYZLV++nJ544gl69NFH6Sc/+QkREd188810/vnn06mnnkqXX345HXPMMTQ2Nkb33nsvbdu2jX73u9/N+xk//OEP6eMf/zhdcskltHbtWpqenqY77riDHnnkEfrkJz9JQ0NDrX0vueQSeuELX0iXXXYZPfbYYy0nxTAM6brrrut4Lv39/XT11VfTddddR6985SvpT/7kT+jJJ5+kL33pS/SCF7xgnyZN8/H5z3+ezj//fDrjjDPone98J61du5Y2bdpEP/7xj+m3v/3tAR3zQLjuuuvo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vf.plot_slice('c', Nz//2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, the solver output is organised into a small dictionary containing the sampled states `ys` and their time stamps `ts`. The index list `inds` selects which time steps form each training sequence." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "data = {}\n", "data[\"ts\"] = saveat.subs.ts\n", "data[\"ys\"] = res\n", "\n", "inds = [[1,2,3], [4,5,6], [7,8,9]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Run the optimisation\n", "\n", "The `train` method performs a Levenberg–Marquardt least-squares fit of the parameters $D$ and $\\epsilon$ so that the simulated states match the selected measurements." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Step: 0, Accepted steps: 0, Steps since acceptance: 0, Loss on this step: 161784.984375, Loss on the last accepted step: 0.0, Step size: 1.0\n", "Step: 1, Accepted steps: 1, Steps since acceptance: 0, Loss on this step: 30146.3125, Loss on the last accepted step: 161784.984375, Step size: 3.5\n", "Step: 2, Accepted steps: 2, Steps since acceptance: 0, Loss on this step: 4532.947265625, Loss on the last accepted step: 30146.3125, Step size: 12.25\n", "Step: 3, Accepted steps: 3, Steps since acceptance: 0, Loss on this step: 88.15148162841797, Loss on the last accepted step: 4532.947265625, Step size: 42.875\n", "Step: 4, Accepted steps: 4, Steps since acceptance: 0, Loss on this step: 27.122346878051758, Loss on the last accepted step: 88.15148162841797, Step size: 42.875\n", "Step: 5, Accepted steps: 5, Steps since acceptance: 0, Loss on this step: 27.092044830322266, Loss on the last accepted step: 27.122346878051758, Step size: 150.0625\n", "Step: 6, Accepted steps: 6, Steps since acceptance: 0, Loss on this step: 27.092037200927734, Loss on the last accepted step: 27.092044830322266, Step size: 150.0625\n", "Step: 7, Accepted steps: 7, Steps since acceptance: 0, Loss on this step: 27.0920352935791, Loss on the last accepted step: 27.092037200927734, Step size: 150.0625\n" ] } ], "source": [ "tmp = model.train({\"D\": np.array([2.0]), \"eps\": np.array([2.0])}, data, inds, max_steps=50)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The converged values from the physics-informed parameter estimation should be close to the 'true' values of $D=1$ and $\\epsilon=3$. Even with the very small synthetic dataset used here the optimiser quickly converges." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Estimated D = [0.92284304],\n", "Estimated eps = [3.0126162].\n" ] } ], "source": [ "print(f\"Estimated D = {tmp['D']},\")\n", "print(f\"Estimated eps = {tmp['eps']}.\")" ] } ], "metadata": { "kernelspec": { "display_name": "voxenv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }