{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Elasticity in 2D\n", "\n", "## Introduction\n", "\n", "This example provides a demonstration of using PyMKS to compute the linear strain field for a two-phase composite material. The example introduces the governing equations of linear elasticity, along with the boundary conditions required for the MKS. It subsequently demonstrates how to generate data for delta microstructures and then use this data to calibrate the first order MKS influence coefficients for all strain fields. The calibrated influence coefficients are used to predict the strain response for a random microstructure and the results are compared with those from finite element. Finally, the influence coefficients are scaled up and the MKS results are again compared with the finite element data for a large problem.\n", "\n", "PyMKS uses the finite element tool [SfePy](http://sfepy.org) to generate both the strain fields to fit the MKS model and the verification data to evaluate the MKS model's accuracy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Elastostatics Equations\n", "\n", "For the sake of completeness, a description of the equations of linear elasticity is included. The constitutive equation that describes the linear elastic phenomena is Hook's law.\n", "\n", "$$ \\sigma_{ij} = C_{ijkl}\\varepsilon_{kl} $$\n", "\n", "$\\sigma$ is the stress, $\\varepsilon$ is the strain, and $C$ is the stiffness tensor that relates the stress to the strain fields. For an isotropic material the stiffness tensor can be represented by lower dimension terms which can relate the stress and the strain as follows.\n", "\n", "$$ \\sigma_{ij} = \\lambda \\delta_{ij} \\varepsilon_{kk} + 2\\mu \\varepsilon_{ij} $$\n", "\n", "$\\lambda$ and $\\mu$ are the first and second Lame parameters and can be defined in terms of the Young's modulus $E$ and Poisson's ratio $\\nu$ in 2D.\n", "\n", "$$ \\lambda = \\frac{E\\nu}{(1-\\nu)(1-2\\nu)} $$\n", "\n", "$$ \\mu = \\frac{E}{3(1+\\nu)} $$\n", "\n", "\n", "Linear strain is related to displacement using the following equation.\n", "\n", "$$ \\varepsilon_{ij} = \\frac{u_{i,j}+u_{j,i}}{2} $$\n", "\n", "We can get an equation that relates displacement and stress by plugging the equation above back into our expression for stress.\n", "\n", "$$ \\sigma_{ij} = \\lambda u_{k,k} + \\mu( u_{i,j}+u_{j,i}) $$\n", "\n", "The equilibrium equation for elastostatics is defined as\n", "\n", "$$ \\sigma_{ij,j} = 0 $$\n", "\n", "and can be cast in terms of displacement.\n", "\n", "$$ \\mu u_{i,jj}+(\\mu + \\lambda)u_{j,ij}=0 $$\n", "\n", "In this example, a displacement controlled simulation is used to calculate the strain. The domain is a square box of side $L$ which has an macroscopic strain $\\bar{\\varepsilon}_{xx}$ imposed.\n", "\n", "In general, generating the calibration data for the MKS requires boundary conditions that are both periodic and displaced, which are quite unusual boundary conditions and are given by:\n", "\n", "$$ u(L, y) = u(0, y) + L\\bar{\\varepsilon}_{xx}$$\n", "$$ u(0, L) = u(0, 0) = 0 $$\n", "$$ u(x, 0) = u(x, L) $$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Modeling with MKS\n", "\n", "### Calibration Data and Delta Microstructures\n", "\n", "The first order MKS influence coefficients are all that is needed to compute a strain field of a random microstructure, as long as the ratio between the elastic moduli (also known as the contrast) is less than 1.5. If this condition is met, we can expect a mean absolute error of 2% or less, when comparing the MKS results with those computed using finite element methods [[1]](#References). \n", "\n", "Because we are using distinct phases and the contrast is low enough to only need the first order coefficients, delta microstructures and their strain fields are all that we need to calibrate the first order influence coefficients [[2]](#References). " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from sklearn.pipeline import Pipeline\n", "import dask.array as da\n", "import numpy as np\n", "\n", "from pymks import (\n", " generate_delta,\n", " plot_microstructures,\n", " solve_fe,\n", " PrimitiveTransformer,\n", " LocalizationRegressor,\n", " coeff_to_real\n", ")" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we use the `generate_delta` function to create the two delta microstructures needed to calibrate the first order influence coefficients." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_delta = generate_delta(n_phases=2, shape=(21, 21)).persist()\n", "plot_microstructures(x_delta[0], x_delta[1], titles=(\"X[0]\", \"X[1]\"), cmap='gray')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using delta microstructures for the calibration of the first order influence coefficients is essentially the same as using a unit [impulse response](http://en.wikipedia.org/wiki/Impulse_response) to find the kernel of a system in signal processing. Any given delta microstructure is composed of only two phases with the center cell having an alternative phase from the remainder of the domain. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating Calibration Data\n", "\n", "The `solve_fe` function provides an interface to generate strain fields, which can then be used for calibration of the influence coefficients.\n", "\n", "This example uses a microstructure with elastic moduli values of 100 and 120 and Poisson's ratio values of 0.3 and 0.3, respectively. The macroscopic imposed strain equal to 0.02. These parameters must be passed into the `solve_fe` function." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Warning: VTK requires 3D vectors, but 2D vectors given. Appending 0 third component to u.\n",
       "
\n" ], "text/plain": [ "\u001b[1;33mWarning:\u001b[0m\u001b[33m VTK requires 3D vectors, but 2D vectors given. Appending \u001b[0m\u001b[1;33m0\u001b[0m\u001b[33m third component to u.\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
Warning: VTK requires 3D vectors, but 2D vectors given. Appending 0 third component to u.\n",
       "
\n" ], "text/plain": [ "\u001b[1;33mWarning:\u001b[0m\u001b[33m VTK requires 3D vectors, but 2D vectors given. Appending \u001b[0m\u001b[1;33m0\u001b[0m\u001b[33m third component to u.\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "strain_xx = lambda x: solve_fe(\n", " x,\n", " elastic_modulus=(100, 120),\n", " poissons_ratio=(0.3, 0.3),\n", " macro_strain=0.02\n", " )['strain'][...,0]\n", "\n", "y_delta = strain_xx(x_delta).persist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the strain fields." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_microstructures(\n", " y_delta[0],\n", " y_delta[1],\n", " titles=(r'$\\mathbf{\\varepsilon_{xx}}$ [0]', r'$\\mathbf{\\varepsilon_{xx}}$ [1]')\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calibrating First Order Influence Coefficients\n", "\n", "The following creates a model using an Scikit-learn pipeline using the `PrimitiveTransformer` to discretize and the `LocalizationRegressor` to perform regression in Fourier space. `n_state` is set to 2 as there are 2 states." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "model = Pipeline(steps=[\n", " ('discretize', PrimitiveTransformer(n_state=2, min_=0.0, max_=1.0)),\n", " ('regressor', LocalizationRegressor())\n", "])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The delta microstructures are used to calibrate the influence coefficients." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "model.fit(x_delta, y_delta);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The influence coefficient have been calibrated. The influence coefficients need to be converted into real space to view. A helper function, `to_real`, is used to get the real space coefficients from the model." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "to_real = lambda x: coeff_to_real(x.steps[1][1].coeff).real\n", "\n", "coeff = to_real(model)\n", "plot_microstructures(coeff[...,0], coeff[...,1], titles=['Influence coeff [0]', 'Influence coeff [1]'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The influence coefficients have a Gaussian-like shape." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Predict the Strain Field for a Random Microstructure\n", "\n", "Let's use the calibrated `model` to compute the strain field for a random two phase microstructure and compare it with the results from a finite element simulation. The `strain_xx` helper function is used to generate the strain field." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Warning: VTK requires 3D vectors, but 2D vectors given. Appending 0 third component to u.\n",
       "
\n" ], "text/plain": [ "\u001b[1;33mWarning:\u001b[0m\u001b[33m VTK requires 3D vectors, but 2D vectors given. Appending \u001b[0m\u001b[1;33m0\u001b[0m\u001b[33m third component to u.\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "da.random.seed(99)\n", "\n", "x_data = da.random.randint(2, size=(1,) + x_delta.shape[1:]).persist()\n", "y_data = strain_xx(x_data).persist()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_microstructures(y_data[0], titles=[r'$\\mathbf{\\varepsilon_{xx}}$'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note that the calibrated influence coefficients can only be used to reproduce the simulation with the same boundary conditions that they were calibrated with.**\n", "\n", "Get the predicted strain field using `model.predict`." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "y_predict = model.predict(x_data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, compare the results from finite element simulation and the MKS model." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_microstructures(y_data[0], y_predict[0], titles=['Actual', 'Predicted'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lastly, observe the difference between the two strain fields." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_microstructures(y_data[0] - y_predict[0], titles=['Finite Element - MKS'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The MKS model is able to capture the strain field for the random microstructure after being calibrated with delta microstructures." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Resizing the Coefficients to use on Larger Microstructures \n", "\n", "The influence coefficients that were calibrated on a smaller microstructure can be used to predict the strain field on a larger microstructure though spectral interpolation [[3]](#References), but accuracy of the MKS model drops slightly. To demonstrate how this is done, generate a new random microstructure that is 3x larger" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
Warning: VTK requires 3D vectors, but 2D vectors given. Appending 0 third component to u.\n",
       "
\n" ], "text/plain": [ "\u001b[1;33mWarning:\u001b[0m\u001b[33m VTK requires 3D vectors, but 2D vectors given. Appending \u001b[0m\u001b[1;33m0\u001b[0m\u001b[33m third component to u.\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "new_shape = tuple(np.array(x_delta.shape[1:]) * 3)\n", "x_large = da.random.randint(2, size=(1,) + new_shape).persist()\n", "y_large = strain_xx(x_large).persist()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plot_microstructures(y_large[0], titles=[r'$\\mathbf{\\varepsilon_{xx}}$'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The influence coefficients that have already been calibrated need to be resized to match the shape of the new larger microstructure that we want to compute the strain field for. This can be done by passing the shape of the new larger microstructure into the `resize_coeff` method." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "model.steps[1][1].coeff_resize(x_large[0].shape);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the resized influence coefficients." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "coeff = to_real(model)\n", "plot_microstructures(coeff[...,0], coeff[...,1], titles=['Influence coeff [0]', 'Influence coeff [1]'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The coefficients have been resized so will only work on the 63x63 microstructures. As before, pass the microstructure as the argument to the `predict` method to get the strain field." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "y_predict_large = model.predict(x_large).persist()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(y_large[0], y_predict_large[0], titles=['Actual', 'Predicted'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the difference between the two strain fields." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(y_large[0] - y_predict_large[0], titles=['Finite Element - MKS'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results from the strain field computed with the resized influence coefficients are not as accurate, but still acceptable for engineering purposes. This decrease in accuracy is expected when using spectral interpolation [[4]](#References)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## References\n", "\n", "\n", "[1] Binci M., Fullwood D., Kalidindi S.R., A new spectral framework for establishing localization relationships for elastic behavior of composites and their calibration to finite-element models. Acta Materialia, 2008. 56 (10) p. 2272-2282 [doi:10.1016/j.actamat.2008.01.017](http://dx.doi.org/10.1016/j.actamat.2008.01.017).\n", "\n", "\n", "[2] Landi, G., S.R. Niezgoda, S.R. Kalidindi, Multi-scale modeling of elastic response of three-dimensional voxel-based microstructure datasets using novel DFT-based knowledge systems. Acta Materialia, 2009. 58 (7): p. 2716-2725 [doi:10.1016/j.actamat.2010.01.007](http://dx.doi.org/10.1016/j.actamat.2010.01.007).\n", "\n", "\n", "[3] Marko, K., Kalidindi S.R., Fullwood D., Computationally efficient database and spectral interpolation for fully plastic Taylor-type crystal plasticity calculations of face-centered cubic polycrystals. International Journal of Plasticity 24 (2008) 1264–1276 [doi:10.1016/j.ijplas.2007.12.002](http://dx.doi.org/10.1016/j.ijplas.2007.12.002).\n", "\n", "\n", "[4] Marko, K. Al-Harbi H. F. , Kalidindi S.R., Crystal plasticity simulations using discrete Fourier transforms. Acta Materialia 57 (2009) 1777–1784 [doi:10.1016/j.actamat.2008.12.017](http://dx.doi.org/10.1016/j.actamat.2008.12.017)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.12" } }, "nbformat": 4, "nbformat_minor": 1 }