{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Effective Stiffness of Fiber Composite\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "This example demonstrates the use of the homogenization model from pyMKS on a set of fiber-like structures. These structures are simulated to emulate fiber-reinforced polymer samples. For a summary of homogenization theory and its use with effective stiffness properties please see the [Effective Siffness example](http://materialsinnovation.github.io/pymks/rst/stress_homogenization_2D.html). This example will first generate a series of random microstructures with various fiber lengths and volume fraction. The ability to vary the volume fraction is a new functionality of this example. Then the generated stuctures will be used to calibrate and test the model based on simulated effective stress values. Finally we will show that the simulated response compare favorably with those generated by the model. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating Structures\n", "\n", "These first lines inport important packages that will be used to run pymks. " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "from __future__ import print_function\n", "import pymks\n", "\n", "%matplotlib inline\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are defining the parameters which we will use to create the microstructures. `n_samples` will determine how many microstructures of a particular volume fraction we want to create. `size` determines the number of pixels we want to be included in the microstructure. We will define the material properties to be used in the finite element in `elastic_modulus`, `poissons_ratio` and `macro_strain`. `n_phases` and `grain_size` will determine the physical characteristics of the microstructure. We are using a high aspect ratio in creating our microstructures to simulate fiber-like structures. The `volume_fraction` variable will be used to vary the fraction of each phase. The sum of the volume fractions must be equal to 1. The `percent_variance` variable introduces some variation in the volume fraction up to the specified percentage." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "sample_size = 100\n", "n_samples = 4 * [sample_size]\n", "size = (101, 101)\n", "elastic_modulus = (1.3, 75)\n", "poissons_ratio = (0.42, .22)\n", "macro_strain = 0.001\n", "n_phases = 2\n", "grain_size = [(40, 2), (10, 2), (2, 40), (2, 10)]\n", "v_frac = [(0.7, 0.3), (0.6, 0.4), (0.3, 0.7), (0.4, 0.6)]\n", "per_ch = 0.1\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we will create the microstructures and generate their responses using the `make_elastic_stress_random` function from pyMKS. Four datasets are created to create the four different volume fractions that we are simulating. Then the datasets are combined into one variable. The volume fractions are listed in the variable `v_frac`. Variation around the specified volume fraction can be obtained by varying `per_ch`. The variation is randomly generated according a uniform distribution around the specified volume fraction." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from pymks.datasets import make_elastic_stress_random\n", "\n", "\n", "dataset, stresses = make_elastic_stress_random(n_samples=n_samples, size=size, grain_size=grain_size,\n", " elastic_modulus=elastic_modulus, poissons_ratio=poissons_ratio,\n", " macro_strain=macro_strain, volume_fraction=v_frac,\n", " percent_variance=per_ch)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are going to print out a few microstructres to look at how the fiber length, orientation and volume fraction are varied. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABM8AAAEdCAYAAAAb2UBNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3U2yJcd1GOAsBMdSm/KInDhaOwCpFRDYAWmtwOIO7PAK\nHFyCsAMT3IGwA5FYAsIeSDPSHRwrojzo94CL13XrL09W/tT3RSAC7/W9VVlZWXXvO3VO5jTPcwIA\nAAAAPvVZ7QYAAAAAQKsEzwAAAADgCcEzAAAAAHhC8AwAAAAAnhA8AwAAAIAnBM8AAAAA4Imf1G4A\nAAAAAESYpunzlNIv53n+6sm//zql9CGl9C6l9N08z99ubVPmGQAAAADdm6bpi5TS/0wfA2NL//4+\npfTlPM/fzPP8h5fXbhI8AwAAAKB78zx/k1L6l5WXfJE+Zp197yVTbdXRss354OuBe5gKbNP9BnjG\nPQe4Son7TUruOcCyUvccfvAupfTnh5//klJ6n1JaLd08POfZNJ0/l//2b/+WUkrp5z//+a7XPb52\n6XdH3rP23lxL+3lmb9u39nPmOM7067P3r3nczto539pe7rnaO972budRVP+XbtOZth8dJ/Nc7rtf\nzv3m1ZE+WBoza79b29aeNpW4H51R+l659z6wd2zWvv72bjPqHpd7n26tv45sb+l4fvazn4W0Z0nE\nPeeMI98j7qD2dzXGdXRslfyOk1JK//7v/569jdx7fC9a+c6U48zffHttfbeN2FarehzPr97+rVXy\nOw75LBjAJ0r80cR1nn2A9BzkyWlH6bZHB2mvau8V+9qjRJCu1PYjnAlel9gPy9a+gJfsU+crX89/\nPJ0xwpipcc56Gid7H8rUOKYzD3+i9nPV8UYlFZR6/9r2Htu+llSyZ1vRSty7ao6TJUfGTql2/sd/\n/Mf8k5+MHer561//+ue//du//T8Pv/rq2eIAC14XCnj105TSd1tvGrtHAQAAAG7iJz/5SVcPC874\n+c9//nfzPP/nk2//fUrpdw8/v9uz2maTwbOrItJntJa1wTHOX59qZs2deWK3V+ltRrU997pp4Vpr\npXQxV4nzu2Rv+f1o7nCMPYga085n2yLLzEq0I6XyZZtvbY3Z3AybnGtiK1tmadu52VstZ9WVzkzb\n60x7z0zFc0aNTMnXNp853jP7WXJk2o6S/XH1/aslL6ttfplSejdN07cvCwikaZr+lFL61TzPH6Zp\n+vrldSn9OJD2VJPBMwAAAACOu3Pw7CVY9s3C73/x5jWHCJ4BAAAADOLOwbNSBM8qGb0GeY+rUlZH\ndreSlNJldGvbjByvZ1a7jTLydVeyjLGk0u1tsfyUa+WMsRpjJuo+1du9gGNGuJ9FHEMLk5OX2nbJ\n0sjSq1PWaPtV718S1W+5K5Vfdd+P+mx6ezwCXm0TPAMAAAAYhEBcPMGzjhx5SlBigue1bBlPd7mT\nktlbz7YXNYHt0mtzn/Iticp2inqSmUv21jF7P4Na61efZZ+qkU1y9rWtGnlc7T0/vSy6c7WIY4ia\nCL72tV5S6WylM393nfkbqub1lqPEPf+qhTLO7rNkO/YSPIsneAYAAAAwCMGzeIJnAAAAAIMQPIs3\nZPCstVTVLa2kNENr3qbBt3it5LSpxvFcVSbX4rla00r54Na+z0xKvFWec+b9S0qW/Fz1ud7buH2r\nl+8/vbSTbVefS2VPn4oqX8vt26V25H62lpi6obUFVM5My9OKvSXDZ8dBK1N3rG37SBuvPn893L96\nM2TwDAAAAOCOBM/iCZ4BAAAADELwLN6lwbOrU617L7+oJaqEB2oaYZxGrVRYcnXQK111Tq9ecWyE\nsfrMmZVcl8b14+vu8mWw52v1UWvje5R+bU1r57k3NfvvqmvizCrMOfspofb9o+XVy0us4Lq2/2fb\nXvp9D9OUlBhbd/m+dCWZZwAAAACDEDyLJ3h2I54Kbtv7VKxHIx9bTdH9WuP8LGWmtTKB/paSTxhz\nM/aiJl9uuf8fjZDh2Gu7W9ZKn7a88EzL9p6/Vs5zb1rIJCqdCVZ6e3vUzA6K7N+r+y73O9bSoj+5\nC1zktOnZvs9kuO21t22vrxPwapvgGQAAAMAgBOLifVa7AQAAAADQKpln3FZvJVH0rUR5YcmywKjF\nCmpr7TqP7LcWju3Z8SyVakBNV43FVu41UXo7nt7uOVe0N+q7Ri/lliW/nzzbXs53vBLXWM3roOY0\nFyXeH3l+rj4vMs/iCZ4BAAAADELwLF7x4FmN7ITenpKNoEaf95L5Ql1nxkmNsRWVRbTV9q3t3/Va\nOjLZ/dq/lxg7W9s8s88jbYsamzkZBCN9f+gtM6aEu91n7nDOWzmn0e0o/cfnFQsGlBx/uZlhR157\n5vOttwysLTmf8VET9W9t58i+z4yfvZmQpdsRla329rWR9xzBs3gyzwAAAAAGIXgWT/AMAAAAYBCC\nZ/G6CZ6VnkwxZ/utpAffTSslAktaLiltuW2RzpQzrPXHkVK+kfu1pFb6sOXJ7qPH9dl9R5UabZUW\nt3gOtvTY5quN1kfK4SnpTLndmZK2qxxZkGjr91HXXs0Syy2Pbbvq3hk9gf6zz/WrPwsix/3atXa2\nNDma4Fm8boJnAAAAAKwTPIsneAYAAAAwCMGzeIJnVBO54klJvZcQ9SxiLLQynkqs9HlVGd3e9z97\nb/RKoq2c0yVbfdCjtdKEls9FLT4z7ifqPF+9ujOfuvqeFn0uSt6nWxw3rawkurd078wqmFedv9Ir\np+bs54geSkFbvJbYR/AMAAAAYBAyz+J1GTzrIfsAKGvrPrB38v/R7iNLWS+9HGNuO3s452cnSl57\nf4knmCUW1Cm5n1bJJOpPVIZs7ntLjp2ax9iSEe85S3o+X71cjyUXnquRwdZiRtlRLWbLX30tCp7F\n6zJ4BgAAAMCnBM/iCZ4BAAAADELwLJ7gWSW100ZLaqUMp7U+bq09HFNiEvBeSilKHO/SJPQlJ8Ut\nURJ6pF/O7H9tov4SzuznzPk7U6Jyld5KnV+NPCH41Vrpg1baMbJR+ri3+9VZLXw2bCldGhnx3ly5\n00/U1HLbShA8iyd4BgAAADAIwbN4gmcren0CzXMlsofoR4knh0vvaW2S0iPZQSXue1dnUJ2x1Eet\n3PtrtGNpnyXacdV+rtTyOB9ZK+PG+eeIiHGbO1F8icnhS1wHrXyPinjdM3uPMSpTPHc7UXrMZsup\nSFg73siAl+BZPMEzAAAAgEEInsUTPAMAAAAYhOBZPMGzg7bSSktOKt5KSQL9UKban9olelslpy1P\nUltSVFlnKwuqlDDSsblftqOFsVRjPFgE4h4izs+ZkrfH95x5f1Sp55HtjDqWS3zHKnnfjNz26/Fu\nfX+46nvokWth1PHIOsEzAAAAgEHIPIsneAYAAAAwCMGzeIJnXGKkch7qOVI6sJb2/ew9e0ukjeG+\ntXI/GqEk/0wpRSv9v2StPa2VaJTuu1aOt5V2XO0Ox93a9b/kqj8+ryrTzVlNvOUxWXpF0RKrtS+V\nLOaosWJlL9ssse8eSusFz+IJngEAAAAMQvAsnuAZMIwenmJfqYenxbmizvkoWTwl91M6Y6yFTLyc\n/nP/6UMr5ylqwvXWrR3nyJ9Ne0Wf05Y/90suSFQ6Y2hvVlduv+csqrBViXHV/SN3YYi923ymt8/x\n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\nJ/4/jIXwvyB5erAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_microstructures\n", "examples = dataset[::sample_size]\n", "draw_microstructures(examples)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creating the Model\n", "\n", "Next we are going to initiate the model. The MKSHomogenizationModel takes in microstructures and runs two-point statistics on them to get a statistical representation of the microstructures. An expalnation of the use of two-point statistics can be found in the [Checkerboard Microstructure Example](http://materialsinnovation.github.io/pymks/rst/checker_board.html). Then the model uses PCA and regression models to create a linkage between the calcualted properties and structures. \n", "Here we simply initiate the model. " ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from pymks import MKSHomogenizationModel\n", "from pymks import PrimitiveBasis\n", "\n", "\n", "p_basis = PrimitiveBasis(n_states=2, domain=[0, 1])\n", "model = MKSHomogenizationModel(basis=p_basis, correlations=[(0, 0)], periodic_axes=[0, 1])\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are going to split our data into testing and training segments so we can test and see if our model can accurately predict the effective stress. \n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.cross_validation import train_test_split\n", "\n", "\n", "flat_shape = (dataset.shape[0],) + (dataset[0].size,)\n", "data_train, data_test, stress_train, stress_test = train_test_split(\n", " dataset.reshape(flat_shape), stresses, test_size=0.2, random_state=3)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will use sklearn's GridSearchCV to optimize the `n_components` and `degree` for our model. Let's search over the range of 1st order to 3rd order polynomial for `degree` and 2 to 7 principal components for `n_components`." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.grid_search import GridSearchCV\n", "\n", "\n", "params_to_tune = {'degree': np.arange(1, 4), 'n_components': np.arange(2, 8)}\n", "fit_params = {'size': dataset[0].shape}\n", "gs = GridSearchCV(model, params_to_tune, fit_params=fit_params).fit(data_train, stress_train)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a look at the results." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Order of Polynomial 3\n", "Number of Components 3\n", "R-squared Value True\n" ] } ], "source": [ "print('Order of Polynomial', gs.best_estimator_.degree)\n", "print('Number of Components', gs.best_estimator_.n_components)\n", "print('R-squared Value', np.allclose(gs.score(data_test, stress_test), 0.863, rtol=1e-1))\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_gridscores_matrix\n", "\n", "draw_gridscores_matrix(gs, ['n_components', 'degree'], score_label='R-Squared',\n", " param_labels=['Number of Components', 'Order of Polynomial'])\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_gridscores\n", "\n", "gs_deg_1 = [x for x in gs.grid_scores_ \\\n", " if x.parameters['degree'] == 1]\n", "gs_deg_2 = [x for x in gs.grid_scores_ \\\n", " if x.parameters['degree'] == 2]\n", "gs_deg_3 = [x for x in gs.grid_scores_ \\\n", " if x.parameters['degree'] == 3]\n", "\n", "draw_gridscores([gs_deg_1, gs_deg_2, gs_deg_3], 'n_components', \n", " data_labels=['1st Order', '2nd Order', '3rd Order'],\n", " param_label='Number of Components', score_label='R-Squared')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our best model was found to have `degree` equal to 3 and `n_components` equal to 5. Let's go ahead and use it." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": true }, "outputs": [], "source": [ "model = gs.best_estimator_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Structures in PCA space\n", "\n", "Now we want to draw how the samples are spread out in PCA space and look at how the testing and training data line up. \n" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_components_scatter\n", "\n", "\n", "stress_predict = model.predict(data_test)\n", "draw_components_scatter([model.reduced_fit_data[:, :3],\n", " model.reduced_predict_data[:, :3]],\n", " ['Training Data', 'Testing Data'],\n", " legend_outside=True)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like there is pretty good agreement between the testing and the training data. We can also see that the four different fiber sizes are seperated in the PC space. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Draw Goodness of fit\n", "\n", "Now we are going to look at how well our model predicts the properties of the structures. The calculated properties will be plotted against the properties generated by the model. We should see a linear realtionship with a slope of 1. " ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from pymks.tools import draw_goodness_of_fit\n", "\n", "\n", "fit_data = np.array([stresses, model.predict(dataset)])\n", "pred_data = np.array([stress_test, stress_predict])\n", "draw_goodness_of_fit(fit_data, pred_data, ['Training Data', 'Testing Data'])\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Yay! There is a good corrolation between the FE results and those predicted by our linkage. " ] } ], "metadata": { "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 }