{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Elasticity in 3D\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 in 3D, and presents a comparison of the computational efficiency of MKS, when compared with the finite element method. The example first provides information on the boundary conditions, used in MKS. Next, delta microstructures are used to calibrate the first-order influence coefficients. The influence coefficients are then used to compute the strain field for a random microstructure. Lastly, the calibrated influence coefficients are scaled up and are used to compute the strain field for a larger microstructure and compared with results computed using finite element analysis." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Elastostatics Equations and Boundary Conditions\n", "\n", "A review of the governing field equations for elastostatics can be found in the [Linear Elasticity in 2D](elasticity_2D.html) example. The same equations are used in the example with the exception that the second lame parameter (shear modulus) $\\mu$ is defined differently in 3D.\n", "\n", "$$ \\mu = \\frac{E}{2(1+\\nu)} $$\n", "\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. The ideal boundary conditions are given by:\n", "\n", "$$ u(L, y, z) = u(0, y, z) + L\\bar{\\varepsilon}_{xx} $$\n", "$$ u(0, L, L) = u(0, 0, L) = u(0, L, 0) = u(0, 0, 0) = 0 $$\n", "$$ u(x, 0, z) = u(x, L, z) $$\n", "$$ u(x, y, 0) = u(x, y, L) $$\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "import pymks\n", "\n", "%matplotlib inline\n", "%load_ext autoreload\n", "%autoreload 2\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import timeit as tm\n" ] }, { "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]. \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]. \n", "\n", "The `make_delta_microstructure` function from `pymks.datasets` can be used to create the two delta microstructures needed to calibrate the first-order influence coefficients for a two phase microstructure. This function uses the Python module [SfePy](http://sfepy.org/doc-devel/index.html) to compute the strain fields using finite element methods." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_microstructures\n", "from pymks.datasets import make_delta_microstructures\n", "\n", "\n", "n = 9\n", "center = (n - 1) // 2\n", "X_delta = make_delta_microstructures(n_phases=2, size=(n, n, n))\n", "draw_microstructures(X_delta[:, center])\n" ] }, { "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. Delta microstructures are composed of only two phases. One phase is located only at the center cell of the microstructure, and the rest made up of the other phase. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating Calibration Data\n", "\n", "The `make_elasticFEstrain_delta` function from `pymks.datasets` provides an easy interface to generate delta microstructures and their strain fields, which can then be used for calibration of the influence coefficients. The function calls the `ElasticFESimulation` class to compute the strain fields with the boundary conditions given above.\n", "\n", "In this example, lets look at a two-phase microstructure with elastic moduli values of 80 and 120 and Poisson's ratio values of 0.3 and 0.3 respectively. Let's also set the macroscopic imposed strain equal to 0.02. All of these parameters used in the simulation must be passed into the `make_elasticFEstrain_delta` function. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 44.07223916053772 Seconds\n" ] } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "from pymks.datasets import make_elastic_FE_strain_delta\n", "from pymks.tools import draw_microstructure_strain\n", "\n", "\n", "elastic_modulus = (80, 120)\n", "poissons_ratio = (0.3, 0.3)\n", "macro_strain = 0.02 \n", "size = (n, n, n)\n", "\n", "t = tm.time.time()\n", "X_delta, strains_delta = make_elastic_FE_strain_delta(elastic_modulus=elastic_modulus,\n", " poissons_ratio=poissons_ratio,\n", " size=size, macro_strain=macro_strain)\n", "print('Elapsed Time',tm.time.time() - t, 'Seconds')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a look at one of the delta microstructures and the $\\varepsilon_{xx}$ strain field." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "draw_microstructure_strain(X_delta[0, center, :, :], strains_delta[0, center, :, :])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calibrating First Order Influence Coefficients\n", "\n", "Now that we have the delta microstructures and their strain fields, we can calibrate the influence coefficients by creating an instance of a bases and the `MKSLocalizationModel` class. Because we have 2 discrete phases we will create an instance of the `PrimitiveBasis` with `n_states` equal to 2, and then pass the basis in to create an instance of the `MKSLocalizationModel`. The delta microstructures and their strain fields are then passed to the `fit` method. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from pymks import MKSLocalizationModel\n", "from pymks.bases import PrimitiveBasis\n", "\n", "\n", "p_basis = PrimitiveBasis(n_states=2)\n", "model = MKSLocalizationModel(basis=p_basis)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, pass the delta microstructures and their strain fields into the `fit` method to calibrate the first order influence coefficients." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model.fit(X_delta, strains_delta)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's it, the influence coefficient have been calibrated. Let's take a look at them." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_coeff\n", "\n", "\n", "coeff = model.coef_\n", "draw_coeff(coeff[center])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The influence coefficients for $l=0$ have a Gaussian-like shape, while the influence coefficients for $l=1$ are constant-valued. The constant-valued influence coefficients may seem superfluous, but are equally as important. They are equivalent to the constant term in multiple linear regression with [categorical variables](http://en.wikipedia.org/wiki/Dummy_variable_%28statistics%29)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Predict of the Strain Field for a Random Microstructure\n", "\n", "Let's now use our instance of the `MKSLocalizationModel` class with calibrated influence coefficients to compute the strain field for a random two-phase microstructure and compare it with the results from a finite element simulation. \n", "\n", "The `make_elasticFEstrain_random` function from `pymks.datasets` is an easy way to generate a random microstructure and its strain field results from finite element analysis. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 21.111902713775635 Seconds\n" ] }, { "data": { "image/png": "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\nbACosgAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "from pymks.datasets import make_elastic_FE_strain_random\n", "\n", "\n", "np.random.seed(99)\n", "t = tm.time.time()\n", "X, strain = make_elastic_FE_strain_random(n_samples=1, elastic_modulus=elastic_modulus,\n", " poissons_ratio=poissons_ratio, size=size, macro_strain=macro_strain)\n", "print('Elapsed Time',(tm.time.time() - t), 'Seconds')\n", "draw_microstructure_strain(X[0, center] , strain[0, center])" ] }, { "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", "Now to get the strain field from the `MKSLocalizationModel` just pass the same microstructure to the `predict` method." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 0.0009114742279052734 Seconds\n" ] } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "t = tm.time.time()\n", "strain_pred = model.predict(X)\n", "print('Elapsed Time',tm.time.time() - t,'Seconds')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally let's compare the results from finite element simulation and the MKS model." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nk/ZhGCoMw1pPYJP985hAAgAArLFNs4k9z1t6X+B59/Bt2j6OY3W73Wr72Ykn6/af1bhn8Buf+uam\nh1zY/el/NFZLkv73J37NaD1Jeu6Tzzda7+FXnjVar/Nnv99ovSdb32K03uxXftloPUn61dlnzBX7\nK+ZKvfBlf8BYrZ/5Tz9nrJYk/c5989eWr3uR2WtL8VWz92l9X+e1Rus9uWvu76ck/dJ//y9G60nS\nZ2YGa7716l563Qxf03zfr60TOJlMFARBtT9NU81ms2r/uvZJklQBsbzH8PDwsOoBXLd/GXoGAQCA\nNbapZ1CShsOh0jRVHMeKokjtdru2jmCSJLV1B1e1z/Nc3W5XQRBod3dXu7u7arfb1VIy6/afh3sG\nAQCANbbpnsHSqm//mJ99vK694zgr39+6/echDAIAAGsU2r4wuO0IgwAAwBrb2DO47QiDAADAGg+v\nYdHpm44wCAAArEHPYHOEQQAAYA3CYHOEQQAAYA3CYHOEQQAAYA3CYHOEQQAAYI1t+waSm4AwCAAA\nrEHPYHOEQQAAYA3CYHOEQQAAYA3CYHOEQQAAYA3CYHOEQQAAYI2CbyBpjDAIAACs8VD0DDZFGAQA\nANZgmLg5wiAAALAGYbA5wiAAALAGYbA5wiAAALAGYbA5wiAAALAGX0fXHGEQAABYYxt7BqMokuu6\nyrJMkuT7/qXaR1EkSTo+PtbBwYEGg8HCa8RxrOPjYw2Hw7XnRxgEAADW2LYwGIahDg4O1Ov1qudx\nHFfPm7YPgkCj0ahqv7e3J0lVIEySRLPZTJPJRK7rbnSOT1zsrQEAAGyfonho9LHOeDyuBb9ut1sL\nc03a53kux3Fq7YMg0N27d6vnnU5Hg8FAnudt/JkRBgEAgDWKojD6WGU2my1sa7VaSpLkQu2zLFMU\nRUrTtNYmz/NNP56lGCYGAADW2KZh4izL1Gq1atvKnr1lvXzr2ruuq+l0Whv+nUwm6nQ6lzpPwiAA\nALDGNs0mzvO8mgRSKsNelmULYXCT9vPDv3meK0kSTafTS51n4zD4I29756UKNvGP//WPGaslSXpo\n/i/Q7/+uJ43We8vrnzZar/2Sp4zW+x//89eN1vv4v/mY0XqS9LJXvcJ4TRPe9Zd/2FitH41/3Fit\n6/L8V7/IaL03/fk3Gq331Iu/zWi9z37+c0brTf79x43Wk6SnvsOOa8t19Azu7+9Xf/Z9v5r9ezbs\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_strains_compare\n", "\n", "\n", "draw_strains_compare(strain[0, center], strain_pred[0, center])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at the difference between the two plots." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_differences\n", "\n", "\n", "draw_differences([strain[0, center] - strain_pred[0, center]], ['Finite Element - MKS'])\n" ] }, { "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 Coefficeints 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], but accuracy of the MKS model drops slightly. To demonstrate how this is done, let's generate a new larger $m$ by $m$ random microstructure and its strain field." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "m = 3 * n\n", "center = (m - 1) // 2\n", "t = tm.time.time()\n", "X = np.random.randint(2, size=(1, m, m, m))\n" ] }, { "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": 20, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model.resize_coeff(X[0].shape)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the coefficients have been resized, they will no longer work for our original $n$ by $n$ sized microstructures they were calibrated on, but they can now be used on the $m$ by $m$ microstructures. Just like before, just pass the microstructure as the argument of the `predict` method to get the strain field." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 0.0027718544006347656 Seconds\n" ] }, { "data": { "image/png": "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\nih8AAMAc8f8BD0BAk5pnOw8AAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#PYTEST_VALIDATE_IGNORE_OUTPUT\n", "\n", "from pymks.tools import draw_strains\n", "\n", "\n", "t = tm.time.time()\n", "strain_pred = model.predict(X)\n", "print('Elapsed Time',(tm.time.time() - t), 'Seconds')\n", "draw_microstructure_strain(X[0, center], strain_pred[0, center])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## References\n", "\n", "[1] Binci M., Fullwood D., Kalidindi S.R., *A new spectral framework for establishing localization relationships for elastic behav ior 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)." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "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.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }