{ "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.ipynb) 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": 17, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from sklearn.pipeline import Pipeline\n", "import dask.array as da\n", "\n", "from pymks import (\n", " generate_delta,\n", " solve_fe,\n", " plot_microstructures,\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": [ "## 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). \n", "\n", "The `generate_delta` function 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": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x_delta = generate_delta(n_phases=2, shape=(9, 9, 9)).persist()\n", "\n", "plot_microstructures(\n", " x_delta[0, x_delta.shape[1] // 2],\n", " x_delta[1, x_delta.shape[1] // 2],\n", " titles=['[0]', '[1]'],\n", " cmap='gray'\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", "This example models a two-phase microstructure with elastic moduli values of 80 and 120 and Poisson's ratio values of 0.3 and 0.3, respectively. The macroscopic imposed strain is set to 0.02. All of these parameters used in the simulation are used in the `solve_fe` function to calculate the elastic strain. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "strain_xx = lambda x: solve_fe(\n", " x,\n", " elastic_modulus=(80, 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 field." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(\n", " y_delta[0, x_delta.shape[1] // 2, :, :],\n", " titles=[r'$\\mathbf{\\varepsilon_{xx}}$']\n", ");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calibrating First Order Influence Coefficients\n", "\n", "Calibrate the influence coefficients by creating a model pipeline using the `PrimitiveTransformer` and the `LocalizationRegressor`." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "model = Pipeline(steps=[\n", " ('discretize', PrimitiveTransformer(n_state=2, min_=0.0, max_=1.0)),\n", " ('regressor', LocalizationRegressor())\n", "])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "model.fit(x_delta, y_delta);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the influence coefficients." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApUAAAEqCAYAAABEJauaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAcfElEQVR4nO3dfbBlVX3m8e/TQvsCphW6CRI1GrRl1JlxrBYdYxkzEAiYUUxEmMiUmqgTdRitctCKVpwmxiSlk6hUpoxonE4CERQLJ0QLVN6mZihgUJIokZcwdiaoLd3hTUQE+v7mj7tbD8d77r2nzz7n9O31/VTtOnevvdbe62xub5679luqCkmSJGkS6+bdAUmSJK19hkpJkiRNzFApSZKkiRkqJUmSNDFDpSRJkiZmqJQkSdLEDJVTlOTIJA8lqe7zuFW2OyPJ7Um+n+T4JNuTHDvt/u6rkjwuycVJvpdke1f2wSR3Jbk3yTOXaLM1yUK33983UP7mJLd1+/YLSZ44sOy2gf9eT5nBV5NmwmNRP3o+Fq1L8q+S3JnkaUNtPBZpTTpg3h3Yn1XVrcABSQo4qqr+fqU2SR4HvB/4F8ANwCOm28s14TXAwcBGYCHJvwTeADwduH2Zdr9dVVv3zCR5AfDbwEuBm4DfA/4EOB6gqp7Y1dve+zeQ5shjUW96ORZ1rgWewxL71WOR1ipHKucgyRVJPtp9fjfJ/07yU93iL3ef1wP/r6oeHGq7LcnvDMwfO3jgSXJEks8kuaMbVfiPQ20/leSiJHcn+dskzx5Y/uwklya5J8k3kry7K9+Q5E+SfCfJt5K8N0mW+X4nJfmb7i/3v07ysq78+Umu6b7ztUmeP9BmyW0k+Tngg8ALge8C7wG+AhwE/CNwZVXtXuWuPxn406q6pqru6tZ1TJLHr7K9tF/xWDS3YxFVtaWqHNjRfsVQOT//HPjPwOHAPcA7u/Jjus9H7flrdbWSrAMuAr4KPAl4OfCeJC8c2u4fAk8ArgF+t2v7WOCLwKe7Pr2MH41k/ymwAGwGfpbFcPbvRvThaBZH//4TsKn7jhu74PZ54EPAYcAfAJ9Pcshy26iqK1kcXfyLqjqgqt7d7aNvdvMvGmMXbQb+Yc9MVe0E7gaeNrKFtP/zWDT7Y5G0X/KvpPn5RFVdB5DkcyweOCf1PBZPy5xZi+/f/JskFwAnAld1dT5TVZd32/0fLB7UAX4JuK2q/rib/yrw1SQ/CZwAPK6qvg/cneQT3Tr/Yok+/Hr33a7s5r/Ubes04Kaq+mRXfn6S04F/m+TiMbextx4DfH+o7Hssns6SWuWxaPbHImm/ZKjcN9wPrO9hPT/N4qjA9wfOCK1j8S/vlbb7JGD7iHWuB+4cWGeA/zlinU8CPrdE+U8Btw2V/WNXPu429tZ9/Ph+fiSLwVKSx6JZHYuk/ZKhcu15gMUgtJRvAt+oqiP3Yr23sXiaZ6l1/gB47PA1Vcus5ykj1nPSUNmTgIv3Yht762bgn+2ZSbKJxdGUFW9akPRjPBZJehivqVx7bmTx5pKfSPJ04PSBZdeyODLwviSHJHlskp9L8uJVrPdi4KlJ/kOSRyV5WpI3V9U3gSuBjyZ5QpJHdxe5v3TEes4Ffj3Ji5McmORnk7yCxRGDzUle3a3jVBYD3kV7sY299RngV5McneQngK3A5VV1R8/bkVrgsUjSwxgqpyjds+G62RuzymfDreBjwLeBbwHnMzDK1v1l/VIWH2/xdRb/6n4fixedL6sLVicApwE7gUv40Uj2rwK7gf/TLftvwIEj1nMl8Fbgj4G7gLOAe6rqThavS3ori4/eeDvw0oFAt+pt7K2qugr4L8Bnuz48A/i1Prch7Ys8Fu1bxyKAJJcn2dXNXpvkpr63Ic1aFq+hlvYvSbYCLPFsuNW03Q68pKq299opSc3xWKSWOFIpSZKkiRkqtT97T4ZejbacdK9GY/EOUEnqi8ciNcHT35IkqSnH//xB9U93rPoFSL348t/+4JKq+sWZbnTGfKSQJElqyj/dsZtrL3nyTLf5iCfcsnGmG5wDQ6UkSWpKAQsrP4xAYxorVD7i4IPqgMcfsnJFSU166M472H3v97Jyzck84uCD6oBDPBZJWtpDd6x0LCp2l6Gyb2OFygMefwhHvP1t0+qLpDXuW3/woZls54BDPBZJGm2lY9HiSKX3lPTN09+SJKk5nv7un6FSkiQ1pSh2+/Sb3hkqJUlSczz93T9DpSRJakoBuw2VvTNUSpKk5jhS2T9DpSRJakqB11ROgaFSkiQ1x3u/+2eolCRJTSnKayqnwFApSZLaUrDbTNk7Q6UkSWrK4ht11DdDpSRJakzYzTKvBtdeMVRKkqSmFLDg6e/eGSolSVJzHKnsn6FSkiQ1ZfGNOobKvhkqJUlScxbKUNk3Q6UkSWqKI5XTYaiUJElNKcJu1s27G/sd96gkSWrOQmWm00qSnJjka0luSvKuceokOTTJxUlu7j4PGWr3tiR/NFS2Lck3k9zYTR/Zy135Q4ZKSZLUlD2nv2c5LSfJQcBHgGOBZwEnJHnuGHU+AFxYVZuBC4GtA+2uBt47YtNvraqjuulNY+7GH2OolCRJjQm7a91MpxUcDXylqnZU1UPABcCJY9Q5Bji/+/m8wbZV9QLg9Mn21+oYKiVJUlMWX9O4bqbTCo4Abh+Y3wkcPkadQ6vqLoCquhs4hJUV8KEktyT58ySPXUWbZRkqJUlSc+Zw+ntjkusGpjcOdWn4deTrl+j2qDrD7wdaqu2wN1XVE4FnAncAv7WKNsvy7m9JktSUqqzmlHTfdlXVlhHLdgAbB+Y3dWWrrXNnkoOr6t4kG1gMicuqqvu7zweTfAY4YxXfYVmOVEqSpOYskJlOK7gGeF6Sw5IcALwSuDTJhiRPXq5Ot+wy4JTu51MHykdKclw6wMnA1WPtwCU4UilJkpqyePf3vjOu1o0wng5cDhwInFNVVyZ5LfBa4CWj6nSrOAM4N8k7ge3Aq/esO8nnWDzFfVCSF+xZF/AbwMeA+4GrgA9O+j0MlZIkqTFzOf29rKq6CLhoqGwbsG25Ol35TuC4Eet96YjyX9773i7NUCnm9qaq4cuKJbVtXscE39bXnD13f6tfhkpJktSc3at4y43GY6iUJElN8d3f02GolCRJzVnYx66p3B8YKiVJUlP2tbu/9xeGSkmS1JQiXlM5BYZKSZLUHO/+7p+hUpIkNaWKfe45lfsDQ6UkSWrMql6dqDEZKiVJUlMKRyqnwVApSZKa493f/TNUSpKkphRhwbu/e2eolCRJzXGksn+GSkmS1JTCN+pMg6FSkiQ1Juz27u/eGSolSVJTHKmcDkOlJElqjiOV/TNUSpKkplTFkcopMFRKkqTm+PDz/hkqJUlSUwp8TeMUGNMlSZI0MUcqJUlSY+Lp7ykwVEqSpKYsPlLI0999M1RKkqTm+JrG/hkqJUlSU4o4UjkFhkpJktScBUcqe+celSRJTamC3ZWZTitJcmKSryW5Kcm7xqmT5NAkFye5ufs8ZKjd25L80VDZliTXd23OSjJxJjRUSpKk5ixUZjotJ8lBwEeAY4FnASckee4YdT4AXFhVm4ELga0D7a4G3rvEZs8FTuvabAJOGnsnDjFUSpKkpixeU7luptMKjga+UlU7quoh4ALgxDHqHAOc3/183mDbqnoBcPrgipI8Fbivqm5Yqs3e8ppKSZLUnN371ht1jgBuH5jfCTx9jDqHVtVdAFV19/Dp71Vu7/BxOz3MUDnKPvW7NmUtfdd5qXl3QGtWQ787mdN3bWgXe7zvzOk5lRuTXDcwf3ZVnT0wvzBUf/0S6xhVZ/jXeKm2q13XXjNUSpKkxmQ1p6T7tquqtoxYtgPYODC/qStbbZ07kxxcVfcm2QDcsUJfVrO9sXlNpSRJas4Cmem0gmuA5yU5LMkBwCuBS5NsSPLk5ep0yy4DTul+PnWgfElVdSuwIclRq22zGo5USpKkpux5pNC+ohthPB24HDgQOKeqrkzyWuC1wEtG1elWcQZwbpJ3AtuBV+9Zd5LPAc8EDkrygj3rAk4DzuvuKv8CcM6k38NQKUmSmjOH09/LqqqLgIuGyrYB25ar05XvBI4bsd6Xjii/FnjOXnd4CYZKSZLUFF/TOB2GSkmS1JxVXOeoMRkqJUlSU+b0SKH9nqFSkiQ1Z1+7pnJ/YKiUJEltWcX7uDU+Q6UkSWpK4TWV02ColCRJzXGksn+GSkmS1BRv1JkOQ6UkSWqOobJ/hkpJktQUH34+HYZKSZLUHG/U6Z+hUpIktaU8/T0NhkpJktQUb9SZDkOlJElqjqGyf4ZKSZLUFG/UmQ5DpSRJak4ZKntnqJQkSc3x7u/+GSolSVJTyru/p8JQKUmSmuPp7/4ZKiVJUmO8UWcaDJWSJKk5jlT2z1ApSZKa4sPPp8NQKUmS2lKLN+uoX4ZKSZLUHB8p1D9DpSRJakrhNZXTYKjcx9T62Y/HZ8MDM98mQN29fubbzAMeRKTVWDeHfyvr757Pv88HNsz+uLswh2O9Bnn39zQYKiVJUnO8prJ/6+bdAUmSpFmrykynlSQ5McnXktyU5F3j1ElyaJKLk9zcfR4ysOzdXf2vJTlhoHxbkm8mubGbPjLhLjVUSpKktlTtW6EyyUHAR4BjgWcBJyR57hh1PgBcWFWbgQuBrV2bFwMnAM8EfgH4cJIDB1b71qo6qpveNNFOxVApSZIatFCZ6bSCo4GvVNWOqnoIuAA4cYw6xwDndz+fN1T+6araXVXfBm4Anj/RjluGoVKSJDWnarbTCo4Abh+Y3wkcPkadQ6vqrsXvVXcDh6yiTQEfSnJLkj9P8tiV99ryDJWSJKk5czj9vTHJdQPTG4e6tDA0v9QjUkbVGY6tg21HtXlTVT2RxVPjdwC/NWpfrZZ3f0uSpKYUq7t5pme7qmrLiGU7gI0D85u6stXWuTPJwVV1b5INLIbEZdtU1f3d54NJPgOcMeb3+TGOVEqSpObUjKcVXAM8L8lhSQ4AXglcmmRDkicvV6dbdhlwSvfzqQPllwInJ3lEkicAzwWuBUhyXDrAycDVq9lvyzFUSpKktuxjd39X1b3A6cDlwN8BX6yqK4FXAH+2Qh1YHGU8JcnNwK8A7+jaXDFQ/1LgLd16AH4D2A7cCBwMfHDS3erpb0mS1J597OHnVXURcNFQ2TZg23J1uvKdwHEj1nsmcOYS5b88UYeXYKiUJEnN8d3f/TNUSpKk5viaxv4ZKiVJUlMKRyqnwVApSZLaUoChsneGSkmS1BxPf/fPUClJktpjqOydoVKSJDVmLm/U2e8ZKiVJUnscqeydoVKSJLWlvPt7GgyVkiSpPY5U9s5QKUmSGuRIZd8MlZIkqT2OVPbOUClJktpjqOydoVKSJLXFN+pMhaFSkiQ1xzfq9M9QKUmS2mOo7J2hUpIktcfT370zVEqSpObEkcrerY1QOY8/Jub0B0w2PDDzbd76b/77zLcJcORlr5v9Rnc9cvbbnBcPmP2bwz6d1//41t89+4PgE3/vqplvE+C233zhzLf5g43z+Q87l63uiwOChcfIKVgboVKSJKk38fT3FBgqJUlSexyp7J2hUpIktcdQ2TtDpSRJao+hsneGSkmS1BbfqDMVhkpJktQcHynUP0OlJElqj6Gyd+vm3QFJkqTWJTkxydeS3JTkXePUSXJokouT3Nx9HjKw7N1d/a8lOWGgfEuS67s2ZyWZOBMaKiVJUnNSs52W7UtyEPAR4FjgWcAJSZ47Rp0PABdW1WbgQmBr1+bFwAnAM4FfAD6c5MCuzbnAaV2bTcBJE+1QDJWSJKlFldlOyzsa+EpV7aiqh4ALgBPHqHMMcH7383lD5Z+uqt1V9W3gBuD5SZ4K3FdVNyzRZq95TaUkSWrLvveaxiOA2wfmdwJPH6POoVV1F0BV3T1w+vsI4MahNoez+O2H13X4JF8ADJWSJEmzsDHJdQPzZ1fV2QPzC0P11y+xjlF1hiPyYNtRbVazvbEYKiVJUntmP1K5q6q2jFi2A9g4ML+pK1ttnTuTHFxV9ybZANyxQpvVbG9sXlMpSZKasy/dqANcAzwvyWFJDgBeCVyaZEOSJy9Xp1t2GXBK9/OpA+WXAicneUSSJwDPBa6tqluBDUmOWqLNXjNUSpKk9tSMp+W6UnUvcDpwOfB3wBer6krgFcCfrVAH4AzglCQ3A78CvKNrc8VA/UuBt3TrATgNOC/JLSyObJ6z2l03iqe/JUlSe/atG3WoqouAi4bKtgHblqvTle8Ejhux3jOBM5covxZ4ziR9HmaolCRJTVnlKWmNyVApSZLas/KzIzUmQ6UkSWqPI5W9M1RKkqTmePq7f4ZKSZLUHkNl7wyVkiSpLd6oMxWGSkmS1B5DZe8MlZIkqT2Gyt4ZKiVJUnM8/d0/X9MoSZKkiTlSKUmS2uNIZe8MlZIkqS3e/T0VhkpJktQeQ2Xv1kaobOg/fN29fubbPPKy1818mzCf7zq3v0wb+h3er83hVcHz+tV5YMPst3zbb75w5tuE+XzXub122tdd/4jH5d6tjVApSZLUk+Dp72kwVEqSpPYYKntnqJQkSW3xRp2pMFRKkqT2GCp7Z6iUJEntMVT2zlApSZKa4+nv/hkqJUlSewyVvTNUSpKkthSGyikwVEqSpOZ4+rt/hkpJktQeQ2XvDJWSJKk5jlT2z1ApSZLaY6js3bp5d0CSJGmmag7TBJJsSXJ9kpuTnJVkyfw2ql6SRyf5ZFd+VZKnDrT5tSRf76bXDZRvTXJ7khu76S9X6qehUpIkNSVzmCZ0LnBaVW0GNgEnjVnvDGB7V34m8GGAJE8B3glsAZ4HvCPJYQPre39VHdVNL1upk4ZKSZLUnjUyUtmNKt5XVTd0RecBJ45Z75hunqq6BDg6SYCfBz5fVd+rqnuBi4Hj9ravhkpJktSc1GynCRwB3D4wvxM4fMx6w8vuAQ5dxbrPSHJLks8mOWKljhoqJUlSe2Y/UrkxyXUD0xsHu5PkS0n+enjqFi8M9X79iG+1XL1Ry0aV/35V/SSwGfhfwIdGbPOHvPtbkiS1Z/Z3f++qqi2jFlbVsUuVJzkS2DhQtAnYsUTVHcvU27PsO93841gcldwBHDXU5qtdf+7vPivJp4DXjOr7Ho5USpKktsz41Pckp7+r6lZgQ5I94e9U4FKAJI/pQuey9brPU7s2xwM3VNWDwOXAL3XrORg4oSsjyTFJ9gw+vgq4eqW+OlIpSZLaM/uRykmcBpyX5CDgC8A5XfnRwDbgKSvUez+wLcktwC7g3wNU1f9N8ofAl1m8Sf2/VtU3ujYnAZ9Icj/wdeANK3XSUClJkpqzlt6oU1XXAs9ZovwKfhQol6t3H4ujjUut+2PAx5YoPx04fZx+GiolSVJ71lCoXCsMlZIkqTlraaRyrTBUSpKktvTw6kT9OEOlJElqj6Gyd4ZKSZLUlODp72kwVEqSpPYYKntnqJQkSc1JmSr7Zqjcx+SBzH6jux45+23iqQdpX7awfvb/QH+wcT4HhZrDYVdz5o06U2GolCRJzXFgo3+GSkmS1B5DZe8MlZIkqTmOVPbPUClJktpjqOydoVKSJLWlHKmcBkOlJElqj6Gyd4ZKSZLUFN+oMx2GSkmS1B4fft47Q6UkSWqOI5X9M1RKkqS2+EadqTBUSpKk5mRh3j3Y/xgqJUlSexyp7J2hUpIkNcdrKvtnqJQkSW0pvPt7CgyVkiSpOY5U9s9QKUmS2mOo7J2hUpIkNcU36kyHoVKSJLWlymsqp8BQKUmSmuNIZf/WzbsDkiRJM1czniaQZEuS65PcnOSsJEvmt1H1kjw6ySe78quSPHWo3SuS/NVQ2c90dW/u2j5qpX4aKiVJUnNSs50mdC5wWlVtBjYBJ41Z7wxge1d+JvDhH+6H5NPAtiXW9XHgzK7NduDNK3XSUClJktpSwELNdtpL3ajifVV1Q1d0HnDimPWO6eapqkuAo5Okmz8ZePnQug4Eng18YbltDvOaSkmS1J61c03lEcDtA/M7gcPHrDe87B7gUGDXiG0eBtxZ9cO7mUZt82EMlZIkqTlzuFFnY5LrBubPrqqzf9if5EvAxiXavQVYGCpbP2Iby9Vb7Tr2tr6hUpIkNWj2jxTaVVVbRi2sqmOXKk9yJA8Pm5uAHUtU3bFMvT3LvtPNP47F0cdRdnZ1Vtrmw3hNpSRJas5auVGnqm4FNiQ5qis6FbgUIMljutC5bL3u89SuzfHADVX14DLbfAC4KckxS6xrJEOlJElqy6wfJzT5oOhpwHlJbgHuAM7pyo/m4WFvVL33A8/oyrcCb9jTIMnHgY8CL0pyXZLN3aLXA7/TtfkZ4AMrddLT35IkqSmLr2lcO3fqVNW1wHOWKL8CeMoq6t0HvGrEul8/ovzvgX89Tj8NlZIkqT3Dt6FoYobKUdbOHzBrl/tYWlnm3YHZmdshoaF9rB9ZSyOVa4WhUpIktaWf6xw1xFApSZIaU/N4pNB+z1ApSZKaM4eHn+/3fKSQJEmSJuZIpSRJao+nv3tnqJQkSW0piI8U6p2hUpIktceRyt4ZKiVJUnvMlL0zVEqSpOb48PP+GSolSVJ7DJW9M1RKkqS2FL77ewoMlZIkqSmhPP09BYZKSZLUHkNl7wyVkiSpPYbK3hkqJUlSW7ymcioMlZIkqTleU9k/Q6UkSWqPobJ3hkpJktSYMlROgaFSkiS1pTBUToGhUpIktccbdXpnqJQkSc3xRp3+GSolSVJ7DJW9M1RKkqS2FLBgqOyboVKSJDXGu7+nYd28OyBJkjRzVbOdJpBkS5Lrk9yc5KwkS+a3UfWSPDrJJ7vyq5I8dajdK5L81VDZ1iS3J7mxm/5ypX4aKiVJUnvWUKgEzgVOq6rNwCbgpDHrnQFs78rPBD68p0GSTwPbRqzv/VV1VDe9bKVOGiolSVJb9lxTOctpL3WjivdV1Q1d0XnAiWPWO6abp6ouAY5Okm7+ZODle93BAYZKSZLUmIJamO20944Abh+Y3wkcPma94WX3AIeuYttnJLklyWeTHLFSZW/U0eJfbJI0b5l3B9SU2d+oszHJdQPzZ1fV2XtmknwJ2LhEu7fw449qXz9iG8vVW+069vj9qtrajWi+HfgQ8KrlGhgqJUlSW+bzSKFdVbVl1MKqOnap8iRH8vCwuQnYsUTVHcvU27PsO93841gcyRypqu7vPivJp4DXLFcfPP0tSZJatEZu1KmqW4ENSY7qik4FLgVI8pgudC5br/s8tWtzPHBDVT243HaTHJNkz+Djq4CrV+qroVKSJLVnjYTKzmnAeUluAe4AzunKj+ZHwXG5eu8HntGVbwXesKdBko8DHwVelOS6JJu7RScBtya5CXgR8K6VOunpb0mS1Jhegt7MVNW1wHOWKL8CeMoq6t3HiOshq+r1I8pPB04fp5+GSkmS1JYCFia6I1tLMFRKkqT2rKGRyrXCUClJktpjqOydoVKSJDVmsrfcaGmGSkmS1JaCmuwtN1qCoVKSJLXHkcreGSolSVJ7vKayd4ZKSZLUliofKTQFhkpJktQeRyp7Z6iUJEnNKUcqe2eolCRJjVlbr2lcKwyVkiSpLYV3f0+BoVKSJLXH51T2zlApSZKaUkA5Utk7Q6UkSWpLlSOVU2ColCRJzXGksn+GSkmS1B5HKntnqJQkSU35Lnde8qW6YOOMN7trxtubOUOlJElqSlX94rz7sD9aN+8OSJIkae0zVEqSJGlihkpJkiRNzFApSZKkiRkqJUmSNDFDpSRJkiaWqtU/UT7JTuAfptcdSWvcT1fVpmlvxGORpBXM5FikhxsrVEqSJElL8fS3JEmSJmaolCRJ0sQMlZIkSZqYoVKSJEkTM1RKkiRpYoZKSZIkTcxQKUmSpIkZKiVJkjQxQ6UkSZIm9v8BLehtHM6IJVoAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "to_real = lambda x: coeff_to_real(x.steps[1][1].coeff).real\n", "\n", "coeff = to_real(model)\n", "plot_microstructures(\n", " coeff[x_delta.shape[1] // 2, :, :, 0],\n", " coeff[x_delta.shape[1] // 2, :, :, 1],\n", " titles=['Influence coeff [0]', 'Influence coeff [1]']\n", ");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The influence coefficients have a Gaussian-like shape." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Predict of the Strain Field for a Random Microstructure\n", "\n", "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": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 2min 26s, sys: 38.2 s, total: 3min 4s\n", "Wall time: 27.7 s\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "da.random.seed(99)\n", "x_data = da.random.randint(2, size=(1,) + x_delta.shape[1:]).persist()\n", "%time y_data = strain_xx(x_data).persist()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(\n", " x_data[0, x_delta.shape[1] // 2, :, :],\n", " titles=['Microstructure']\n", ");" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(\n", " y_data[0, x_delta.shape[1] // 2, :, :],\n", " titles=[r'$\\mathbf{\\varepsilon_{xx}}$']\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 model, pass the same microstructure to the `predict` method." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 20.9 ms, sys: 0 ns, total: 20.9 ms\n", "Wall time: 19 ms\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "%time y_predict = model.predict(x_data).persist()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, compare the results from finite element simulation and the MKS model." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(\n", " y_data[0, x_delta.shape[1] // 2, :, :],\n", " y_predict[0, x_delta.shape[1] // 2, :, :],\n", " titles=[\n", " r'$\\mathbf{\\varepsilon_{xx}}$ - FE',\n", " r'$\\mathbf{\\varepsilon_{xx}}$ - MKS'\n", " ]\n", ");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Observe the difference between the two plots." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_microstructures(\n", " (y_data - y_predict)[0, x_delta.shape[1] // 2, :, :],\n", " titles=['FE - 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]](#References), 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": 28, "metadata": {}, "outputs": [], "source": [ "new_shape = tuple(np.array(x_delta.shape[1:]) * 3)\n", "x_large = da.random.randint(2, size=(1,) + new_shape).persist()" ] }, { "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 `coeff_resize` 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": [ "Use the resize coefficients to calculate large strain field. The coefficients can not now be used for the smaller microstructures." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 35.8 ms, sys: 8.96 ms, total: 44.8 ms\n", "Wall time: 36.7 ms\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "\n", "%time y_large = model.predict(x_large).persist()" ] }, { "cell_type": "code", "execution_count": 32, "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, x_delta.shape[1] // 2], titles=[r'$\\mathbf{\\varepsilon_{xx}}$']);" ] }, { "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 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)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.8.5" } }, "nbformat": 4, "nbformat_minor": 1 }