{ "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 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, generateing 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": { "collapsed": false }, "outputs": [], "source": [ "%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": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = 9\n", "center = (n - 1) / 2\n", "\n", "from pymks.tools import draw_microstructures\n", "from pymks.datasets import make_delta_microstructures\n", "\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": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 137.266396999 Seconds\n" ] } ], "source": [ "from pymks.datasets import make_elastic_FE_strain_delta\n", "from pymks.tools import draw_microstructure_strain\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": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAoMAAAExCAYAAAAHhKhtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X90lOWd///XDEkcZhJKEJAFHDIERyEOEVxUkPLj4NFC\n", "uyegEprdrs1hTz8eu4d+j12tenLcSWL8o8V214BdrV2WDxy2GhGzbdHPntgVtrZWpSdqCJEhCZDB\n", "WiOO8mMyCQyT7x8cbgm5SAKVzOD1fJwz50zmuue6rxk0vHhf13Xfrt7e3l4BAADASu50DwAAAADp\n", "QxgEAACwGGEQAADAYoRBAAAAixEGAQAALEYYBAAAsBhhEAAAwGKEwUussrJSq1atSvcwAAAAjLLS\n", "PYBMdnaIq62t1VVXXWU8rqqqSnv27JEk3XfffVq0aJHT5nK5LukYL6XKykq1tLTo+eefT/dQjDJ9\n", "fAAAXA4Ig4Nwu91KpVL6n//5H5WVlfVr//DDD7Vnzx7nuHPD3z/+4z/qxIkTwzVcAACAC0IYHMTo\n", "0aM1evRo7dixQ6tWrZLb3Xdm/Te/+Y0k6cYbb9Tbb7/d7/1jx44dlnECwOXi5MmTeuONN9TY2KjP\n", "PvtMJ06cUHd3t4qKirRs2TJNmDAh3UMErEIYHIIlS5bo2Wef1R//+EfNmTPHeT2ZTGrnzp269tpr\n", "NXnyZGMYHGgq891339Urr7yi1tZWJRIJjRo1SoFAQEuXLlUoFJIkNTc3q7q6WnfffbdmzZqlF154\n", "QZFIRF1dXXrqqac0duxYnTx5Utu3b9dvf/tbdXZ2yu12q6CgQF/72tc0d+7cfufdtWuXXn75ZR06\n", "dEjxeFy5ubn6q7/6K82bN0+33367Ojs7tWbNGuf4s6fLZ8yYoXA4LOl01VOSnnjiCdXV1emtt95S\n", "LBbTnXfeqZUrV+qpp57S//7v/zrjPNvZn2vlypV92o4fP65f/epX2rVrlzo7OzVixAiNGzdOs2bN\n", "0l133aUjR44MaXyrVq3q8/PZTGM787kXLlyo5cuX6/nnn1dzc7OOHTumcDisGTNmSJLeeecd58+t\n", "u7tbY8aM0c0336w777xTXq+337kAfO7QoUN6+eWX9dWvflXf+973nNmU48ePq76+Xh0dHYRBYJgR\n", "Bodg/vz52rRpk37zm9/0CYO7du3S0aNH9a1vfUsffvjhBfVZV1enF198UR6PR3PmzNHYsWMVi8W0\n", "d+9e/fa3v3XC4BmRSET19fW67rrrtGTJEh09elRZWVlKJpN6/PHH1dLSokmTJumOO+5QT0+P/vCH\n", "P+hf//VfdeDAgT7T26+++qqeffZZjR49Wn/913+tUaNG6ciRIzp48KB27Nih22+/Xbm5ubr77ru1\n", "Y8cOHT58uE9YGzduXJ9xJZNJVVVVKR6Pq7i4WF6v97xrK03OnVbv7OxUVVWVDh8+rKlTp+r2229X\n", "b2+v/vSnP2n79u0XPL6L8dFHH6miokITJ07UggULdOLECSfkvfDCC9q6datyc3N14403atSoUTp4\n", "8KB+9atfqbGxUTU1NRo5cuRfPAbgy+oXv/iFvv/972vEiBF9Xs/NzdW3vvWtNI0KsBthcAg8Ho/m\n", "zZunnTt3KhaLacyYMZJOTxF7vV7NnTtX27ZtG3J/7777rl588UWNHz9e1dXVys/P79Mei8X6vee9\n", "997Td77zHd122219Xn/ppZfU0tKiWbNm6Qc/+IEzjb1y5Uo98sgjqq+v14033qhgMChJamhoUFZW\n", "ltauXatRo0b16ev48eOSJK/Xq5UrV6q5uVmHDx/W3Xfffd7P8tlnn+nqq69WdXW1cnJyhvwdnE9t\n", "ba0OHz6ssrIyLV++vN/4rrjiCmVnZw95fBfj/fff14oVK/TNb36zz+u7d+/W1q1bFQwG9cgjj/Sp\n", "Au7YsUP/9m//prq6On3729/+QscDfFl0dXUpmUz2C4IA0otLywzRbbfd5mwkkaSPP/5Y7733nubP\n", "n3/BIeiVV16RJN1zzz39gqAkJ2yeraCgoF8QlKTXXntNLpdL99xzT5/1jKNGjdJdd90l6fN1jWe4\n", "3W7jL+Pc3NwL+hxn3HPPPV9IEGxvb9e+fftUUFDQLwhKp8eXnZ39F59nMKNHjzYGzDN/bvfee2+/\n", "6eBFixZpypQpev311y/5+IDLldfrlc/nU11dnX7yk5+osrJSjz32mH73u9+le2iA1agMDtG0adPk\n", "9/v12muv6a677nIC1pIlSy64r3379snlcumGG264oPOfK5FI6KOPPtKYMWM0ceLEfu3XX3+9JOnA\n", "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\n", "F/XeSc+s+IJHk7nS9X/feO/A00WXyryJk9Ny3nRVQju7Bl6jdanY9pt1uf9WPbX0gSEfv3//Ly7h\n", "aPoLBMqG9XwXi2liAABghUy8zmAmIAwCAAArcAcSM8IgAACwApVBM8IgAACwApVBM8IgAACwApVB\n", "M8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8Ig\n", "AACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACw\n", "ApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVB\n", "M8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8IgAACwApVBM8KgxXp7+RcSkC7p+r+vsyuelvP+\n", "un1fWs6bTNNf/vx2xVBt3LhR+/fvVyAQUHl5ufN6LBbTunXrlEwmVVpaqlAopMbGRm3atEl5eXmq\n", "rq6WJO3YsUM7d+6UJB04cECVlZUaOXKkKioqNHnyZGVlZamiomLAMRAGAQCAFTJtmri9vV09PT2q\n", "qqrSz3/+c7W1tamwsFCSVF9fr7KyMvn9fv3whz9UKBRSMBjU2rVrnSAoSYsWLdKiRYuUSqX08MMP\n", "a8qUKers7NTMmTO1Zs2aIY3DfUk+HQAAQIZJpVLD+hhMa2uriouLJUmhUEiRSMRpi0ajCgaD8ng8\n", "8ng8SiS8cvrJAAAI4UlEQVQS8vl8ysoy1/H27Nmj6dOnOz83NzcrHA5r+/btg46DyiAAALBCplUG\n", "4/G4xo8fL0nyer2KRqNO29lh0uv1Kh6Pa+TIkeft680339TcuXMlSWPGjFFtba2ysrL0ox/9SKFQ\n", "SH6//7zvJQwCAAArpGMDSV1dnfO8qKhIRUVFzs9er1eJREKS1NXVJZ/P57S53Z9P3iYSCeXm5p73\n", "HL29vdq7d69Wr14tSX2qh7Nnz1ZHRwdhEAAAIB2VwdLS0vO2BYNBNTQ0aO7cuWpqatLixYudNr/f\n", "r0gkIr/fr0QiIY/Hc95+2traFAgE5HK5JEnd3d3O8Xv37tXSpUsHHCNhEAAAWCHTLi0TCASUk5Oj\n", "cDisgoICFRYWasOGDVq9erVKSkq0fv16nThxwgmU7e3t2rJli6LRqGpqavTwww8rKytLb731lm6+\n", "+Wan35aWFj3//PPKzs7W9OnTNW3atAHH4eod5PoiZ1ImAAxFfn6+YrHYRb130jMrvuDR4Fzp+o2e\n", "5U7PfkUuLfPlttx/q55a+sCQj3/mmX+6hKPp7957fzys57tYVAYBAIAVMq0ymCkIgwAAwAqZtps4\n", "UxAGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEG\n", "AQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCA\n", "FagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagMmhEGAQCAFagM\n", "mhEGAQCAFagMmhEGAcAi6fqr8CQVGWQAKoNmhEEAAGAFKoNmhEEAAGAFKoNmhEEAAGAFKoNmhEEA\n", "AGAFKoNmhEEAAGAFKoNmhEEAAGCFTKwMbty4Ufv371cgEFB5ebnzeiwW07p165RMJlVaWqpQKKTG\n", "xkZt2rRJeXl5qq6uliTt2LFDO3fulCQdOHBAlZWVmjJlynn7NXFfqg8HAACQSVKp3mF9DKa9vV09\n", "PT2qqqpSMplUW1ub01ZfX6+ysjJVVFRo27ZtkqRgMKi1a9f26WPRokUKh8N69NFHNW7cOE2ZMmXA\n", "fk0IgwAAwAqpVGpYH4NpbW1VcXGxJCkUCikSiTht0WhUwWBQHo9HHo9HiURCPp9PWVnmSd09e/Zo\n", "xowZg/ZrQhgEAABWyLTKYDwel8fjkSR5vV7F4/Gzxvp5mDy3zeTNN9/UTTfdNGi/JqwZBAAAVkjH\n", "msG6ujrneVFRkYqKipyfvV6vEomEJKmrq0s+n89pc7s/r9clEgnl5uae9xy9vb3au3evVq9ePWi/\n", "JoRBAABghXTsJi4tLT1vWzAYVENDg+bOnaumpiYtXrzYafP7/YpEIvL7/UokEk6lz6StrU2BQEAu\n", "l2vQfk2YJgYAAFbItDWDgUBAOTk5CofDGjFihAoLC7VhwwZJUklJiZ577jnV1NRoxYoVkk5vOHns\n", "sccUjUZVU1OjZDIpSXrrrbd08803D9jvQFy9vb0DxuQzKRMAhiI/P1+xWOyi3jvpmRVf8GgAfJkt\n", "99+qp5Y+MOTjV6z46iUcTX8vvfTbYT3fxWKaGAAAWCETrzOYCQiDAADACtyBxIwwCAAArEBl0Iww\n", "CAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAA\n", "rEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl\n", "0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0Iww\n", "CAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArEBl0IwwCAAArJCJlcGNGzdq\n", "//79CgQCKi8vd16PxWJat26dksmkSktLFQqF1NjYqE2bNikvL0/V1dXOsfX19WpqalIqlVI4HFZn\n", "Z6cqKio0efJkZWVlqaKiYsAxEAYBAIAVMq0y2N7erp6eHlVVVennP/+52traVFhYKOl0wCsrK5Pf\n", "79cPf/hDhUIhBYNBrV27tk8QbG1tVU9Pjx599NE+fc+cOVNr1qwZ0jjcX9xHAgAAyFypVO+wPgbT\n", "2tqq4uJiSVIoFFIkEnHaotGogsGgPB6PPB6PEomEfD6fsrL61vH++Mc/6tixY6qqqtLWrVud15ub\n", "mxUOh7V9+/ZBx0EYBAAAVkilUsP6GEw8HpfH45Ekeb1exePxPmM949y2sx05ckS5ubkKh8M6dOiQ\n", "9u/frzFjxqi2tlbhcFhNTU3q6OgYcBxMEwMAACukY81gXV2d87yoqEhFRUXOz16vV4lEQpLU1dUl\n", "n8/ntLndn9frEomEcnNzjf17vV7NmDFDknT99dfrgw8+UCAQcNpnz56tjo4O+f3+846RyiAAALBC\n", "OiqDpaWlzuPsIChJwWBQTU1NkqSmpiYFg0Gnze/3KxKJqLu7W4lEwqkgnuvaa6/VgQMHJEkHDhzQ\n", "+PHj1d3d7bTv3btXEyZMGPB7IQwCAAArZNqawUAgoJycHIXDYY0YMUKFhYXasGGDJKmkpETPPfec\n", "ampqtGLFCkmnN5w89thjikajqqmpUTKZ1I033qhDhw6psrJSvb29CgaD2rNnjx5++GE9+uijuvLK\n", "KzVt2rQBx+Hq7e0dcLQul2uo3zEAKD8/X7FY7KLeO+mZFV/waAB8mS3336qnlj4w5ON9PnN17VKJ\n", "x7sHPygDsGYQAABYIROvM5gJCIMAAMAKmXadwUzBmkEAAACLURkEAABWYJrYjDAIAACswDSxGWEQ\n", "AABY4dQpwqAJawYBAAAsRhgEAACwGGEQAADAYoRBAAAAiw26gSQUCg3HOAB8SYwaNeqi33vdV67+\n", "AkcC4Mtuwsj8dA/hS2HQexMDAADgy4tpYgAAAIsRBgEAACxGGAQAALAYYRAAAMBihEEAAACLEQYB\n", "AAAs9v8D97e9TAWHjB4AAAAASUVORK5CYII=\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": 5, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from pymks import MKSLocalizationModel\n", "from pymks.bases import PrimitiveBasis\n", "\n", "prim_basis = PrimitiveBasis(n_states=2)\n", "model = MKSLocalizationModel(basis=prim_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": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "model.fit(X_delta, strains_delta)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That's it, the influence coefficient have be calibrated. Let's take a look at them." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "iVBORw0KGgoAAAANSUhEUgAAAokAAAEiCAYAAACV5EiRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n", "AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X90VHV+//HXJBPm5scmEiINmF8KroH4VdyNyRQwpgWF\n", "4hfOcflREqyKEtet0h9st/1+rQtFVrEFTo5dTbRGFGWtCcQ9yTfbI+tpJGDXbFZajGUJqJCYESIE\n", "FDoMMzGZ+f7ByaxhksxkvUzC5fk4Z87JvfOZ9/3MjXx85XPvfMYWCAQCAgAAAL4mZrQ7AAAAgLGH\n", "kAgAAIAQhEQAAACEICQCAAAgBCERAAAAIQiJAAAACEFIBAAAQAj7aHcgnJqaGu3atUsvvfTSiF63\n", "c+dOvf322/ryyy91++2368///M/13HPPyeVyaePGjZeot6OrublZu3btUnt7u3p6epSWlqbvfve7\n", "WrhwocaPH2/68QY7x4Ptl6TOzs6Iz/ul/D396le/Uk9Pj4qLi02vjcsf403kGG/CY7zB5W7Mh0RJ\n", "stlsI2r/ySefaMeOHSopKVFeXp5SUlIuUc/GjldffVX/9m//pj/6oz/SwoULFR8fr87OTr399ts6\n", "ceKE/uZv/sbU4w11jofa39PTE3HtJUuW6KuvvjK1v/3ee+89ud1uUwbt//7v/9b27dvlcDi0fv36\n", "b1TL6/Vq+/btmjx5srq6unTDDTdo1qxZ37iPGDnGm/AYbyIzVscbSert7dWbb76p9PR0FRUVfeN6\n", "sKbLIiSO9EthPvvsM0nSvHnzFB8ffym6NKa8//77+sUvfqEf/OAHAwajadOmae7cuWptbTX9mEOd\n", "YzPO/R/8wR988w5GwY033qi8vDzZ7d/8n1F/QFywYIH8fr/++q//WpmZmcrKyjKhpxgJxpvhMd6M\n", "DjPHm927d+vTTz/Vvn379L3vfc+E3sGqLouQ+HX9lwZKSkr06quv6vPPP9e1116rhx56SBkZGXru\n", "uee0Z88eSdL9998vSVq3bp2mT58eUusf/uEflJycrDVr1gT3HThwQE888YS2bNmijIwMSdLBgwf1\n", "xhtv6MiRIxo3bpwKCgp03333yTCMiPvV77e//a127NihTz75RDExMbr22mt13333KScnJ+JjXewX\n", "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\n", "SaMVAAAAAElFTkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_coeff\n", "\n", "coeff = model.coeff\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 import. 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": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 67.0600619316 Seconds\n" ] }, { "data": { "image/png": [ "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\n", "EWHqz1h8Pp8aGhpUVFSkmJgYpaena/78+dq1a1fI2Pr6euXl5cnpdCo+Pl4FBQWqq6uTJMXExKiw\n", "sFAOh0OSNG/ePE2bNk0tLS2SpLi4OE2bNk0REREaHBxURESEJk+efN650RkEAACWE26XiY8ePaqo\n", "qCglJycHtqWlpWnv3r0hY91ut7KysgKvU1NT1dPTI4/Ho4SEhKCxJ0+e1JEjR0K6iw8//LD6+vo0\n", "efJkrV69+rxzozMIAAAsJ1IRpv6MxefzKTY2Nmib3W6Xz+cbcWxcXFzg9fBx547t7+/XunXrlJub\n", "q5kzZwbt++Uvf6lf/vKXuuWWW1ReXq6hoaFR50ZnEAAAWM54PGewpqYm8OeMjAxlZGQEXtvtdp0+\n", "fTpovNfrld1uDznPuWO9Xm9g+7DBwUGtX79eNptNjz766IjziYmJ0QMPPKCHHnpIhw4dUmpq6ojj\n", "CIMAAMByxmMByZIlS0bdN2PGDA0MDKijoyNwqbitrU0pKSkhY1NSUtTa2iqXyxUYN3HixMAl4qGh\n", "IW3cuFG9vb1atWqVIiNHv9A7ODiooaEhxcTEjDqGy8QAAMBywm0Bid1uV1ZWlqqrq9XX16f9+/dr\n", "z549ysnJCRmbk5OjnTt3yu12y+PxqLa2Vrm5uYH9lZWVOnz4sJ544gnZbLagY5uamtTa2qrBwUF5\n", "vV699NJLmjlzZtC9iueiMwgAACwn3BaQSFJxcbEqKipUXFysxMRElZSUyOl0qru7WytXrlR5ebmm\n", "Tp2qzMxMLVq0SGVlZfL7/XK5XIGuY1dXl3bs2CGbzably5cHzr18+XJlZ2fL6/XqF7/4hY4dOya7\n", "3a4bbrhBTzzxxHnnRRgEAACWE47fQJKQkKDS0tKQ7Q6HQ5s2bQralp+fr/z8/JCxSUlJqq6uHrWG\n", "y+UKXF42aswweOjQoQs64Sc1a9YsU+tJUnt7u+k1rybnW8F0uYx0D8blNh73p1jl7+5z3/yJqfV+\n", "9a//19R6knSorcP0mq4bv2V6Tb+/3/Saz/zTyDfPX07dd37a9JpzOscn3BQWPmVqvdTU2frJT+74\n", "xOcJx85guKIzCAAALCccv4EkXBEGAQCA5YzHo2WuVIRBAABgOVwmNo4wCAAALCccF5CEK8IgAACw\n", "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\n", "SkoUHR2t/v5+VVZWqrm5WR6PR9OnT9eyZcuUmZkZOPZPf/qTfvazn+nYsWO69tpr9a1vfUsOh2PU\n", "eY0ZBtva2i7i7V68WbNmmVpPkg4dOmR6TUlKSUkZl7pmGxoy/x/keNQcj7+77e3tpte8HP7zn7aZ\n", "Wu++ssWm1pOk8qx002t2fCrG9JrVB943veZf/X7Ta1Z/YP77LLl5ruk1JalpzX+bWi8l5Rr9+Mf3\n", "fOLzhGNnsKqqSjabTVVVVWppadGzzz6rtLQ0OZ3OoHGNjY3aunWr1qxZo8mTJ2vt2rWqqanRsmXL\n", "NDAwIIfDobKyMjkcDv3xj39UeXm51q5dq6SkJPX29uq5557TN77xDc2fP18vv/yyysvL9cwzz4w6\n", "r8jL/cYBAADMNjg4ZOrPWHw+nxoaGlRUVKSYmBilp6dr/vz52rVrV8jY+vp65eXlyel0Kj4+XgUF\n", "Baqrq5MkxcTEqLCwMNDpmzdvnqZNm6aWlhZJUkNDg1JSUuRyuRQdHa3CwkK1tbXpyJEjo86NMAgA\n", "ACxncHDQ1J+xHD16VFFRUUpOTg5sS0tLG/EKj9vtVmpqauB1amqqenp65PF4QsaePHlSR44cCXQX\n", "29vbg46NiYlRcnLyea8kcc8gAACwnPG4Z7Cmpibw54yMDGVkZARe+3w+xcbGBo232+3y+Xwh5/H5\n", "fIqLiwu8Hj7O5/MpISEhsL2/v1/r1q1Tbm6uZs6cKUnq6+tTYmJi0PliY2NHrDOMMAgAACxnPO4Z\n", "XLJkyaj77Ha7Tp8+HbTN6/XKbrePOdbr9Qa2DxscHNT69etls9n06KOPBh07PP7s488NomfjMjEA\n", "ALCccLtncMaMGRoYGFBHR0dgW1tb24iLSVNSUtTa2ho0buLEiYGu4NDQkDZu3Kje3l49/vjjioz8\n", "W5xzOp1Bi399Pp8++uijkEUqZyMMAgAAXGZ2u11ZWVmqrq5WX1+f9u/frz179ignJydkbE5Ojnbu\n", "3Cm32y2Px6Pa2lrl5uYG9ldWVurw4cN64oknZLPZgo7NyspSe3u7/vCHP8jv92vLli1KS0sLXEYe\n", "CZeJAQCA5YTjo2WKi4tVUVGh4uJiJSYmqqSkRE6nU93d3Vq5cqXKy8s1depUZWZmatGiRSorK5Pf\n", "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\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.datasets import make_elastic_FE_strain_random\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])\n" ] }, { "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": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 0.0036780834198 Seconds\n" ] } ], "source": [ "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": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "/f/vJ3DDUx7S7wAAAABJRU5ErkJggg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_strains_compare\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": 11, "metadata": { "collapsed": false }, "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", "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": 12, "metadata": { "collapsed": false }, "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": 13, "metadata": { "collapsed": false }, "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": 14, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Elapsed Time 0.0222690105438 Seconds\n" ] }, { "data": { "image/png": [ "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\n", "TkSuQmCC\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_strains\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": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }