From d402d27f05ec6274d6f0261da1846f7f5b51c0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olli=20V=C3=A4in=C3=B6l=C3=A4?= Date: Mon, 9 Nov 2015 21:12:23 +0200 Subject: [PATCH] Improvements to hardening, but still not quite ready --- ...-24-Ideal plastic Von Mises material.ipynb | 26 +- ...24-Von Mises material with hardening.ipynb | 553 +++++++++++++++++ ...15-9-24-Nonlinear Von Mises material.ipynb | 566 ------------------ 3 files changed, 565 insertions(+), 580 deletions(-) create mode 100644 notebooks/2015-09-24-Von Mises material with hardening.ipynb delete mode 100644 notebooks/2015-9-24-Nonlinear Von Mises material.ipynb diff --git a/notebooks/2015-09-24-Ideal plastic Von Mises material.ipynb b/notebooks/2015-09-24-Ideal plastic Von Mises material.ipynb index 34544e3..79db883 100644 --- a/notebooks/2015-09-24-Ideal plastic Von Mises material.ipynb +++ b/notebooks/2015-09-24-Ideal plastic Von Mises material.ipynb @@ -107,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": { "collapsed": false }, @@ -115,16 +115,15 @@ { "data": { "text/plain": [ - "calculate_stress (generic function with 2 methods)" + "calculate_stress (generic function with 1 method)" ] }, - "execution_count": 6, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "\n", "# using vectors with double contradiction\n", "# http://www-2.unipv.it/compmech/teaching/available/const_mod/const_mod_mat-review_notation.pdf\n", "M = [1 0 0 0 0 0;\n", @@ -249,7 +248,7 @@ " # Calculating yield\n", " yield = vonMisesYield(σ_tria, k)\n", "\n", - " if yield > 1\n", + " if yield > 0\n", " # Yielding happened\n", " # Creating functions for newton: xₙ₊₁ = xₙ - df⁻¹ * f and initial values\n", " initial_guess = [vec(σ_tria - σ); 0.1]\n", @@ -276,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "metadata": { "collapsed": false }, @@ -313,7 +312,7 @@ " 6.61309e-19" ] }, - "execution_count": 7, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -346,7 +345,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "metadata": { "collapsed": false, "scrolled": false @@ -354,9 +353,9 @@ "outputs": [ { "data": { - "image/png": "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nZ2dZedkZGTA0dHR4uM4OTnJ1oYlIiIiIioou6h8T58+HRUqVDButGCJi4sLACArK8vsmGGzC8M5Li4usm2g859rOC+v5ORkREVFoVq1ahaPExEREZGyMjIy8Pvvv6NLly4W1+G3BptPvuPj47Fq1SosWbIEt27dMs5nZmYiOzsbN27cgJubm7HdxNJuYklJSfDy8jIuNejj4wOdTofk5GTZG5OdnY3U1FT4+vqaPUZUVBTeeOONon55RERERFTENm7caHEHWmuw+eQ7ISEBer0eEyZMwIQJE8yOV69eHe+88w4++eQTeHt7IyYmxuycU6dOoVGjRsbbjRs3BgDExMSgW7duxvnTp09Dr9fLzjUw7La3ceNG1K1b91lfFhWDiRMnYvHixUqHQRbwvVEvvjfqxvdHvfjeqNOlS5fwxhtvGPM2Jdh88v3iiy/i22+/lS0rKEkSpk+fjkePHmHp0qWoUaMGAKB///5Yt24dbt26JVvnOz4+HpMnTzbev0OHDvD09MSKFStkyfeKFStQtmxZ9OjRwywOQ6tJ3bp10aRJk2J5rfRs3N3d+d6oFN8b9eJ7o258f9SL7426KdkibPPJt5eXF3r37m02b/i02atXL+PctGnTsH37drRv3x4hISFIS0vDwoUL0aBBAwQFBRnPc3Z2xqxZszB27FgEBgaic+fOOHLkCDZt2oS5c+dygx0iIiIiKhSbT76fRKPRmG2y4+fnh0OHDmHSpEl4//334eTkhICAAISGhsq2lgeAMWPGwMHBAaGhodi9ezf8/f2xZMkSi60tREREREQFYbfJd3R0tMX5evXqYe/evQV6jJEjR2LkyJFFGRYRERERlWB2sc43UUEMGTJE6RDoCfjeqBffG3Xj+6NefG/oSTSSJElKB2EPzp49i6ZNm+LMmTO8wIKIiIhIhdSQr7HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmT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rVtSOy9PXlSnomJjpRX0evXkiffJk9Jq+u7dTLyJiIiI1IQr31a0erV0mgggneltUtfHYhcuAC1bmvdHRwNlbF0nIiIiIhVh8m0lKSnA6NFSe9cuwM/P8ucKAURGAhs2mD+WnS3dRElERERE6sdtJ1Zw86bxqL/33wfCwix7XkKCtK3EyUmeeK9eLSXkQjDxJiIiIrIlXPmuZkVFQIMGUrtrV+Cdd+4/XqeTEvUzZ+T97dsDR44AtWpVT5xEREREVP248l3NXFyM7Z9/Ln+cvrKkVitPvBMTpRXulBQm3kRERES2jivf1cj0LO+SEvPHr141L/MOAGPGAMuXs8w7ERERkb3hync1GTLE2Nbp5In0tGnS16UT7/R0aZVbvwpORERERPaFyXc1WLwY2LJFamdmSttFUlKkhFqjAeLjjWPj4ow3TzZvrky8RERERGQd3HZSxX79FXjtNan900/SEYH798vHNGoEnD8P1Klj/fiIiIiISDlMvqvYmDHGdp8+8se2bwcGDrRqOERERESkIky+q1lYmJR0s8w7ERERETH5riYnTwJt2igdBRERERGpCW+4rGK//CLdPMnEm4iIiIhKY/JdxXhEIBERERGVh8k3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK7G75DsqKgpOTk4YNGhQmY8nJiaiR48ecHNzg7e3NyZPnoy8vDyzcUIIxMbGokWLFtBqtejQoQM2bNhQ3eETERERkR2zq+T7l19+wapVq+Dq6gqNRmP2+IkTJ9C3b1/odDrEx8dj/PjxWLp0KcLDw83Gzp49G9HR0QgLC8OiRYvg6+uLyMhIbNy40RqXQkRERER2yG6SbyEE/va3v2H06NHw9PQsc8zs2bPxyCOPYN++fZgw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", + "image/png": "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hw9x48YNHDt2DK+++ir27dtX7FiIyIwp2uiwlCxatEhSqVRSy5YtDY5dvHhR6t27t1SxYkXJ2dlZGj16tHT37l2j97NhwwbpxRdflOzt7aXGjRtLX331VWmHTkRP8Pfff0v/7//9P+n111+XmjZtKlWqVEmytbWVatWqJfXv31/atm2b0dsdOHBA6ty5s1SxYkVJpVJJarVaunHjhiRJkvTJJ59IarX6iT2vJUmScnJypMDAQMnDw0NycnKS7OzspPr160u9evWSVq9eLaWmpkqSJEm5ubnSsmXLpL59+0r16tWT7O3tpWrVqkmdO3eW1q5dK+Xm5mrv8+DBg9L48eOl5s2bS05OTtILL7wgvfjii9KMGTOkmzdvFvl78ueff0oBAQFS3759pUaNGkkvvPCCNr6hQ4dK4eHhRm+3detWqU2bNpKDg4P2e6Ixbtw42ffImLCwMKlTp06So6OjVKVKFal3795SVFSUFBQUJKnVaoMe2m5ubgZ9vp90roaxftv/Zt++fVKfPn0kZ2dnyc7OTqpXr540ZMgQKTIyUnZedna29P7770t16tSRbG1tpcaNG0tLly6V8vLyjD5uUV4nGpq/P2q1Wvrxxx+feu7x48elESNGSLVq1ZJsbW2latWqSW3btpVmzZolnTx58pmeOxFZDpUkGfkM14IlJCSgadOmUKvVaNCgAc6dOyc71rZtW1SpUgXTp0/HgwcP8OWXX6JevXqIiYmBjY2N9ty1a9diypQpGDZsGHr37o1jx45hy5YtWLp06XN/NElEREREZZPVJd+jRo1Camoq8vLykJKSIluXOHXqVGzevBmXL1/W9pE9cuQIPD09sXbtWkyaNAkAkJmZibp168LDw0N24dPo0aOxZ88e/P3330bbYxERERERPY1VXXB57Ngx7N69G6tWrYIkSQZtoXbv3g1vb29t4g0APXv2RJMmTbBjxw7tXGRkJNLS0jB16lTZ7adNm4ZHjx4hPDy8dJ8IEREREVklq0m+8/Pz8d5772HSpElo0aKFwfFbt27h7t27RndT69ChA06fPq39WjMufK67uzvUavVzXZBDRERERGWX1XQ7+eabb3Dz5s0nbiahaedUs2ZNg2M1a9ZEWloacnNzYWNjg8TERJQrV87gKnVbW1u4uLg809bJREREREQaVlH5Tk1NxYIFC7BgwQJtD9vCNP1cjW0/bG9vLzsnMzMTtra2Ru/Hzs5O1huWiIiIiKiorKLyPW/ePFStWlW70YIxDg4OAIDs7GyDY5rNLjTnODg4yLaBLnyu5jx9KSkpiIiIgJubm9HjRERERKSszMxMXL9+Hb179zbah98ULD75jo+Px/r167Fq1SokJCRo57OyspCTk4MbN26gUqVK2uUmxnYTS0xMhIuLi7bVYM2aNZGfn4+UlBTZDyYnJwdpaWmoVauWwX1ERETgrbfeKumnR0REREQlbOvWrUZ3oDUFi0++b926hYKCAkyfPh3Tp083ON6gQQPMnDkTK1asgKurK2JjYw3OiYmJQZs2bbRft23bFgAQGxuLvn37aufj4uJQUFAgO1dDs9ve1q1b0axZs+d9WlQKfH19sXLlSqXDICP4szFf/NmYN/58zBd/Nubp0qVLeOutt7R5mxIsPvl+6aWX8L///U/WVlCSJMybNw8PHz7E6tWr0bBhQwDA0KFDsWnTJiQkJMj6fMfHx2PWrFna2/fo0QPOzs5Ys2aNLPles2YNXnjhBfTv398gDs1Sk2bNmsHd3b1Unis9HycnJ/5szBR/NuaLPxvzxp+P+eLPxrwpuUTY4pNvFxcXDBo0yGBe825z4MCB2rmPPvoIO3fuRPfu3TFjxgw8ePAAy5cvR6tWrTB+/Hjtefb29vD398e0adMwYsQIeHl5ISoqCtu2bcPixYu5wQ4RERERFYvFJ99PolKpDDbZqVOnDo4ePQo/Pz98+OGHsLOzg7e3NwICAmRbywPAlClTYGNjg4CAAISEhKBevXpYtWqV0aUtRERERERFYbXJd2RkpNH55s2b48CBA0W6j4kTJ2LixIklGRYRERERlWFW0eebqCh8fHyUDoGegD8b88WfjXnjz8d88WdDT6KSJElSOghrcOrUKbRr1w4nT57kBRZEREREZsgc8jVWvomIiIiITITJNxERERGRiTD5JiIiIiIyESbfREREREQmwuSbiIiIiMhEmHwTEREREZkIk28iIiIiIhNh8k1EREREZCJMvomIiIiITITJNxERERGRiTD5JiIiIiIyESbfREREREQmwuSbiIiIiMhEmHwTEREREZkIk28iIiIiIhNh8k1EREREZCJMvomIiIiITITJNxERERGRiTD5JiIiIiIyESbfREREREQmwuSbiIiIiMhEmHwTEREREZkIk28i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1q1jmXciIiIie8OV7zpiWs694pGCM2ZIiXXFxDsnR1rlTkpi4k1ERERkj5h814F586RtIgBw546USGdlSb9rNEBCgnFsfLzx5sk2bZSJl4iIiIisg9tOatn+/cD770vtH38EnnvOeLa3XtOm0nndDRpYPz4iIiIiUg6T71oWE2NsP/GE/LGdO4EhQ6wbDxERERGpB5PvOhYRISXdLPNOREREREy+68ipU0DHjkpHQURERERqwhsua9nRo9LNk0y8iYiIiKgiJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGVMPkmIiIiIrISJt9ERERERFbC5JuIiIiIyEqYfBMRERERWQmTbyIiIiIiK2HyTURERERkJUy+iYiIiIishMk3EREREZGV2F3yPWnSJDg5OWHo0KGVPn7w4EH06dMH7u7u8PHxQUxMDIqKiszGCSGwdOlStG3bFlqtFl26dMGWLVvqOnwiIiIismN2lXz/8MMPWL9+Pdzc3KDRaMweP378OAYMGACdToeEhARMnDgRq1atQmRkpNnYuXPnIjY2FhEREUhMTETr1q0RFRWFzz77zBqXQkRERER2yG6SbyEE/vznPyM6OhpeXl6Vjpk7dy4effRRpKenY/LkyVi0aBESExPx9ddf49tvvzWMu3r1Kj744AO89dZb+OSTTzBhwgR8+eWX6Nu3L2bOnIny8nJrXRbVos2bNysdAlWBc6NenBt14/yoF+eGqmI3yfeGDRvw448/4t1334UQwuzxW7duYffu3RgzZgw8PDwM/WPHjoWHhwe2bt1q6EtJSUFpaSnefPNN2WtMnToVV65cwaFDh+ruQqjO8B9C9eLcqBfnRt04P+rFuaGq2EXyffv2bcyePRtz586tctX75MmTKC0tRXBwsKzfxcUFQUFByMzMNPRlZmbCw8MDHTp0kI3t0aMHAGn7ChERERFRddlF8r1w4UK4u7tj+vTp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", "text/plain": [ - "PyPlot.Figure(PyObject )" + "PyPlot.Figure(PyObject )" ] }, "metadata": {}, @@ -365,10 +364,10 @@ { "data": { "text/plain": [ - "PyObject " + "PyObject " ] }, - "execution_count": 8, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -377,7 +376,6 @@ "ϵ_last = zeros(Float64, (6))\n", "ϵᵖ = zeros(Float64, (6))\n", "σ = zeros(Float64, (6, 1))\n", - "Δt = 1.0\n", "σy = 200.0\n", "ss = Float64[]\n", "ee = Float64[]\n", @@ -385,7 +383,7 @@ "for i=1:steps\n", " dϵ = reshape(ϵ_tot[i, :, :], (6, 1)) - ϵ_last\n", " σ = calculate_stress(dϵ, σ, C, σy)\n", - " ϵ_last += dϵ * Δt\n", + " ϵ_last += dϵ \n", " push!(ss, σ[1])\n", " push!(ee, ϵ_last[1]) \n", "end\n", diff --git a/notebooks/2015-09-24-Von Mises material with hardening.ipynb b/notebooks/2015-09-24-Von Mises material with hardening.ipynb new file mode 100644 index 0000000..bc620ab --- /dev/null +++ b/notebooks/2015-09-24-Von Mises material with hardening.ipynb @@ -0,0 +1,553 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Von Mises material with nonlinear isotropic and kinematic hardening\n", + "\n", + "Author(s): Olli Väinölä \n", + "\n", + "In this notebook is an small tutorial, how to create a Von Mises material with hardening. Equations are formulated into rate depended form. Code may or may not include some bugs.." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Theory section\n", + "\n", + "### Continuum equations\n", + "\n", + "Stress:\n", + "\n", + "$\\sigma = C : \\epsilon^e$\n", + "\n", + "$C$ is material tensor and $\\epsilon$ total strain.\n", + "Total strain is divided into elastic and plastic part:\n", + "\n", + "$\\epsilon = \\epsilon^e + \\epsilon^p$\n", + "\n", + "now let's define a strain rate, which is strain increment divide with time increment $dt$\n", + "\n", + "$\\frac{d\\epsilon}{dt} = \\dot \\epsilon = \\dot \\epsilon^e + \\dot \\epsilon^p$\n", + "\n", + "Now same procedure for stress and substitute $\\dot \\epsilon^e$\n", + "\n", + "$\\dot \\sigma = C : \\dot \\epsilon^e = C : (\\dot \\epsilon - \\dot \\epsilon^p )$\n", + "\n", + "Only thing to do is to define yield function. Now we're using Von Mises material:\n", + "\n", + "$f(\\sigma - X, R(\\alpha)) = \\sqrt{3J_2(\\sigma-X))} - R(\\alpha)$ = 0\n", + "\n", + "$f(\\sigma, \\sigma_y) = \\sqrt{3J_2(\\sigma))} - \\sigma_y$ = 0\n", + "\n", + "$J_2 = \\frac{1}{2}s : s$ \n", + "\n", + "$s = \\sigma - \\frac{1}{3}\\sigma I$\n", + "\n", + "$I = eye(3)$" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "# imports\n", + "using PyPlot\n", + "using ForwardDiff\n", + "using NLsolve" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's create a isotropic Hooke material." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "6x6 Array{Float64,2}:\n", + " 2.69231e5 1.15385e5 1.15385e5 0.0 0.0 0.0 \n", + " 1.15385e5 2.69231e5 1.15385e5 0.0 0.0 0.0 \n", + " 1.15385e5 1.15385e5 2.69231e5 0.0 0.0 0.0 \n", + " 0.0 0.0 0.0 1.53846e5 0.0 0.0 \n", + " 0.0 0.0 0.0 0.0 1.53846e5 0.0 \n", + " 0.0 0.0 0.0 0.0 0.0 1.53846e5" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "\n", + "\"\"\"\n", + "Create a isotropic Hooke material matrix C \n", + "\n", + "More information: # http://www.efunda.com/formulae/solid_mechanics/mat_mechanics/hooke_isotropic.cfm\n", + "\n", + "Parameters\n", + "----------\n", + " E: Float\n", + " Elastic modulus\n", + " ν: Float\n", + " Poisson constant\n", + "\n", + "Returns\n", + "-------\n", + " Array{Float64, (6,6)}\n", + "\"\"\"\n", + "function hookeStiffnessTensor(E, ν)\n", + " a = 1 - ν\n", + " b = 1 - 2*ν\n", + " c = 1 + ν\n", + " multiplier = E / (b * c)\n", + " return Float64[a ν ν 0 0 0;\n", + " ν a ν 0 0 0;\n", + " ν ν a 0 0 0;\n", + " 0 0 0 b 0 0;\n", + " 0 0 0 0 b 0;\n", + " 0 0 0 0 0 b].*multiplier\n", + "end\n", + "\n", + "# Pick material values\n", + "E = 200.0e3\n", + "ν = 0.3\n", + "C = hookeStiffnessTensor(E, ν)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "# Defining equations for the calculation\n", + "\n", + "Functions are defined for strain controller simulation" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "calculate_stress (generic function with 1 method)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# using vectors with double contradiction\n", + "# http://www-2.unipv.it/compmech/teaching/available/const_mod/const_mod_mat-review_notation.pdf\n", + "M = [1 0 0 0 0 0;\n", + " 0 1 0 0 0 0;\n", + " 0 0 1 0 0 0;\n", + " 0 0 0 2 0 0;\n", + " 0 0 0 0 2 0;\n", + " 0 0 0 0 0 2;]\n", + "\n", + "\"\"\"\n", + "Equivalent tensile stress. \n", + "\n", + "More info can be found from: https://en.wikipedia.org/wiki/Von_Mises_yield_criterion\n", + " Section: Reduced von Mises equation for different stress conditions\n", + "\n", + "Parameters\n", + "----------\n", + " σ: Array{Float64, 6}\n", + " Stress in Voigt notation\n", + "\n", + "Returns\n", + "-------\n", + " Float\n", + "\"\"\"\n", + "function σₑ(σ)\n", + " s = σ[1:6] - 1/3 * sum([σ[1], σ[2], σ[3]]) * [1 1 1 0 0 0]'\n", + " return sqrt(3/2 * s' * M * s)[1]\n", + "end\n", + "\n", + "# Some extra data for testing purposes ...\n", + "#ss = σ[1]\n", + "#return sqrt(sum(ss.^2))\n", + "\n", + "\"\"\"\n", + "Von Mises Yield criterion\n", + "\n", + "More info can be found from: http://csm.mech.utah.edu/content/wp-content/uploads/2011/10/9tutorialOnJ2Plasticity.pdf\n", + "\n", + "Parameters\n", + "----------\n", + " σ: Array{Float64, 6}\n", + " Stress in Voigt notation\n", + " k: Float64\n", + " Material constant, Yield limit\n", + "\n", + "Returns\n", + "-------\n", + " Float\n", + "\"\"\"\n", + "function vonMisesYield(σ, k)\n", + " σₑ(σ) - k\n", + "end\n", + "\n", + "\n", + "\"\"\"\n", + "Function for NLsolve. Inside this function are the functions where we want to find root.\n", + "Ψ is the yield function below. Functions defined here:\n", + "\n", + " dσ - C (dϵ - dλ*dΨ/dσ) = 0\n", + " σₑ(σ) - k = 0\n", + "\n", + "Parameters\n", + "----------\n", + " params: Array{Float64, 7}\n", + " Array containing values from solver\n", + " dϵ: Array{Float64, 6}\n", + " Strain rate vector in Voigt notation\n", + " C: Array{Float64, (6, 6)}\n", + " Material tensor\n", + " k: Float\n", + " Material constant, yield limit\n", + " Δt: Float\n", + " time increment\n", + " σ_begin:Array{Float64, 6}\n", + " Stress vector in Voigt notation\n", + " p: Float\n", + " Accumulated plastic strain\n", + " X: Array{Float64, 6}\n", + " Kinematic hardening tensor\n", + " R: Function\n", + " Calculates isotropic hardening as a function of accumulated plastic strain\n", + " α:Float\n", + " Accumulated kinematic evolution variable\n", + " dα: Function\n", + " Calculates kinematic evolution variables rate as a function of accumulated plastic slip rate\n", + " fX: Function\n", + " Calculates the kinematic \n", + "\n", + "Returns\n", + "-------\n", + " Array{Float64, 7}, return values for solver\n", + "\"\"\"\n", + "function G(params, dϵ, C, σ_begin, p, X, R, fX, ϵp)\n", + " \n", + " # Initializing wrapper\n", + " yield(pars) = vonMisesYield(pars, R(p))\n", + " dfdσ = ForwardDiff.gradient(yield)\n", + " \n", + " # Initializing variables\n", + " dσ = params[1:6]\n", + " dλ = params[end]\n", + "\n", + " # Total strain\n", + " σ_new = σ_begin + dσ\n", + " σ_shifted = vec(σ_new - X)\n", + " \n", + " # Creating wrapper for gradient\n", + " vars = dfdσ(σ_shifted)\n", + " dΨdσ = vars[1:6]\n", + "\n", + " # Calculating plastic strain rate\n", + " dϵp = dλ * dΨdσ\n", + "\n", + " # Calculating material evolution variables\n", + " ϵp_new = ϵp + dϵp\n", + "\n", + " # Evaluating equations\n", + " function_1 = dσ - C * (dϵ - dϵp)\n", + " function_2 = yield(σ_shifted)\n", + " [vec(function_1); function_2]\n", + "end\n", + "\n", + "\n", + "\"\"\"\n", + "This is a novice implementation for double contraction, a=b:c\n", + "\n", + "Parameters\n", + "----------\n", + " a: Array{Float64, 6}\n", + "\n", + "Returns\n", + "-------\n", + " Float\n", + "\"\"\"\n", + "function double_contraction(a; b=a)\n", + " indexes = [1, 2, 3, 4, 5, 6, 4, 5, 6]\n", + " summation = 0\n", + " for i in indexes\n", + " summation += a[i]*b[i]\n", + " end\n", + " summation\n", + "end\n", + "\n", + "\"\"\"\n", + "Function which calculates the stress. Also handles if any yielding happens\n", + "\n", + "Parameters\n", + "----------\n", + " dϵ: Array{Float64, 6}\n", + " Strain rate vector in Voigt notation\n", + " Δt: Float\n", + " time increment\n", + " σ: Array{Float64, 6}\n", + " Last stress vector in Voigt notation\n", + " C: Array{Float64, (6, 6)}\n", + " Material tensor\n", + " p: Float\n", + " Accumulated plastic strain\n", + " X: Array{Float64, 6}\n", + " Kinematic hardening tensor\n", + " R: Function\n", + " Calculates isotropic hardening as a function of accumulated plastic strain\n", + " α:Float\n", + " Accumulated kinematic evolution variable\n", + " dα: Function\n", + " Calculates kinematic evolution variables rate as a function of accumulated plastic slip rate\n", + " fX: Function\n", + " Calculates the kinematic \n", + "\n", + "Returns\n", + "-------\n", + " Tuple\n", + " returns following parameters: p, X, α, σ. See Parameters for definitions\n", + "\"\"\"\n", + "function calculate_stress(dϵ, σ, C, p, X, R, fX, ϵp)\n", + "\n", + " # Test stress\n", + " σ_tria = σ + C * dϵ\n", + "\n", + " # Calculating yield\n", + " yield = vonMisesYield(σ_tria - X, R(p))\n", + "\n", + " if yield > 1\n", + " # Yielding happened\n", + " # Creating functions for newton: xₙ₊₁ = xₙ - df⁻¹ * f and initial values\n", + " initial_guess = [vec(σ_tria - σ); 0.1]\n", + " f(σ_) = G(σ_, dϵ, C, σ, p, X, R, fX, ϵp)\n", + " df = ForwardDiff.jacobian(f)\n", + " \n", + " # Calculating root \n", + " result = nlsolve(not_in_place(f, df), initial_guess).zero\n", + " # Extracting values\n", + " σ += result[1:6] \n", + " dλ = result[end]\n", + " \n", + " # Wrapper for gradient\n", + " yield_f(σ_) = vonMisesYield(σ_, R(p))\n", + " dfdσ_ = ForwardDiff.gradient(yield_f)\n", + " dΨdσ = dfdσ_(vec(σ)-X)\n", + " \n", + " # Stress rate and plastic strain rate\n", + " dϵᵖ = dλ * dΨdσ\n", + " ϵp = ϵp + dϵᵖ\n", + " \n", + " # Updating material parameters\n", + " dp = sqrt(2/3 * double_contraction(dϵᵖ))\n", + " p += dp\n", + " X = fX(ϵp)\n", + " else\n", + " σ = σ_tria\n", + " end\n", + " return (p, X, σ, ϵp)\n", + "end" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Defining strain history\n", + "\n", + "In the ideal plastic example, we only had tension stress. In this example we'll take it a bit further and calculate the cyclic strain" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Done\n" + ] + } + ], + "source": [ + "steps = 10000\n", + "strain_max = 0.004\n", + "num_cycles = 50\n", + "\n", + "ϵ_tot = zeros(Float64, (steps, 6))\n", + "ϵ_tot2 = zeros(Float64, (steps, 6))\n", + "ϵ_tot3 = zeros(Float64, (steps, 6))\n", + "\n", + "# Adding only strain in x-axis and counting for the poisson effect\n", + "ϵ_tot[:, 1] = strain_max * sin(2 * pi * linspace(0, num_cycles, steps))\n", + "ϵ_tot[:, 2] = strain_max * sin(2 * pi * linspace(0, num_cycles, steps)).*-ν\n", + "ϵ_tot[:, 3] = strain_max * sin(2 * pi * linspace(0, num_cycles, steps)).*-ν\n", + "println(\"Done\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Hardening evolution equations\n", + "\n", + "Followig equations are in charge of evolution of isotropic and kinematic parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "kinematic_hardening (generic function with 1 method)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function isotropic_hardening(ϵp_cum, R0, Q)\n", + " return R0 + Q * ϵp_cum\n", + "end\n", + "\n", + "function kinematic_hardening(ϵp, C)\n", + " return C * ϵp\n", + "end" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Simulation\n", + "\n", + "Ok, we're good to go! Now we just need to define yield limit and the main loop.\n", + "\n", + "This simulation is not time dependent, but since it's already defined in the equations we'll give it value 1" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false, + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAI6CAYAAABme/1AAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xd4FOXaBvB7A2l0EloQQpAmKBiadDEgocVILwJKMOChg5RPQDpopEj1IEKkFxEw0qSGQxUpAUGKggpIJ4USUknm++M1C0s2kJns7Mzs3r/r4jonu7Mzz95M8NnZd97XJEmSBCIiIiIisgsXrQsgIiIiInImbMCJiIiIiOyIDTgRERERkR2xASciIiIisiM24EREREREdsQGnIiIiIjIjtiAExERERHZERtwIiIiIiI7YgNORERERGRHbMCJiEhVfn5+KFu2rNZlEBHpBhtwIjKMtLQ0LFq0CI0bN4aXlxfc3NxQvHhxvP766+jduzc2b95ssf3SpUvh4uKCZcuWaVSx+pKSkjBjxgzUqVMHBQsWhLu7O0qWLIlatWph4MCB2L9/v8X2EyZMgIuLS6bH1WQymWAymex2PCIivcutdQFERNmRlpaGoKAg7NixA4ULF0ZQUBBKlSqFlJQU/Pbbb1i9ejV+//13vPPOO5le66jNX3x8PBo3boyTJ0/Cx8cHHTt2RIkSJRAfH49Tp07hm2++wf379/Hmm29qWmdkZKSmxyci0hs24ERkCGvWrMGOHTvg7++Pffv2IX/+/BbPJyYm4ujRo1ZfK0mSPUq0u9mzZ+PkyZNo3rw5Nm/ejNy5Lf9Jv3fvHi5cuGD1tfbMhMNPiIgscQgKERnC4cOHAQA9e/bM1HwDgKenJxo3bmz++a233kKvXr0AACEhIXBxcTH/uXr1KoAnwzH27duH1atXo06dOsiXL59Fw5iQkIDPP/8c/v7+yJcvH/Lnz4/69etj7dq1VutctmwZ6tevj6JFi8LT0xO+vr5o0aIF1q1bZ7Hd6dOn0bVrV/j5+cHDwwPFihVDzZo1MXToUDx+/FhWJn379s3UfANAoUKFULduXfPPfn5+mDRpEgAgICDAIpMMPXv2hIuLC/7++2/MmzcP1apVQ548eRAQEAAASE1Nxfz589GqVSuUKVMGHh4e8Pb2RrNmzbB9+3ardVobA/708KC9e/firbfeQoECBVCwYEEEBQVl+cHheXbu3Il33nkHxYoVg4eHB3x9fdGmTRvs2bPH6nGtcXFxMb/XDM87T3755Re4uLigXbt2WdZVuXJleHh44N69exaP79ixA61atUKRIkXg4eGB8uXLY+TIkbh//77s905ExsIr4ERkCEWKFAEA/P7779naPiQkBIULF8aPP/6INm3awN/f3/xcwYIFLbadOXMmdu3aheDgYDRt2tTcAN27dw9NmjTBqVOnULNmTXz44YdIT0/H9u3b8d577+Hs2bOYPHmyeT+jR49GWFgYXn75ZXTp0gUFCxbEjRs3cOzYMaxfvx6dOnUCIJrvOnXqIFeuXAgODkbZsmXx4MEDXLx4EQsWLMDUqVOtNtQ5zWTo0KGIiIjAvn370LNnT/j5+WW57eDBg3HgwAEEBQUhKCgIuXLlAgDExMRgyJAhaNCgAZo3b46iRYvixo0b2Lx5M1q1aoVFixbhww8/zLS/rIYBbdmyBT/++CNatWqFvn374uzZs9i2bRuOHTuGc+fOwdvbO1vvbfz48Zg8eTLy58+PNm3aoHTp0rh+/ToOHz6MVatWoWnTptmq53nPWTtP6tSpg0qVKmHbtm2IjY2Fl5eXxWuOHj2K33//HR06dEChQoXMj0+cOBETJ06Et7e3+UPDr7/+ihkzZmDbtm34+eefrX7QJCIHIRERGcDJkyclNzc3ycXFRerRo4e0ceNG6fLly899zZIlSySTySQtW7bM6vPjx4+XTCaTlC9fPunUqVOZnv/ggw8kk8kkTZ8+3eLxpKQkqUWLFpKLi4vF67y8vKTSpUtLiYmJmfYVHR1t/v8ff/yxZDKZpE2bNmXa7t69e1J6evpz31eGLVu2SCaTSXJ3d5f69esnbd26Vbpx48ZzX5Pxnvft22f1+Yz3XKpUKav5JicnS9evX8/0+P3796XXXntN8vLyyvT+y5QpI5UtW9bisYy/G1dXVykyMtLiuVGjRkkmk0maNm3ac99Lhh07dkgmk0kqV66c1fd/7dq1TMfN6pwwmUxSQECAxWMvOk8+//xzyWQySfPnz8/0XL9+/SSTySRt2bLF/FhkZKRkMpmkBg0aSPfv37fYfunSpZLJZJKGDh36/DdNRIbGIShEZAj+/v5YuXIlihcvjpUrV6J9+/YoW7YsvL290a5dO2zZskXxvvv06YPXX3/d4rGYmBisXLkStWvXxvDhwy2ec3d3R1hYGCRJwurVq82Pm0wmuLq6WgzpyGDtSq6Hh0emxwoWLJjtm0Zbt26NOXPmwNPTEwsWLEBQUBBeeukl+Pj4oHv37jhw4EC29mPNyJEjUaZMmUyPu7m5oWTJkpkeL1CgAEJCQhAXF4djx45l+zhdunTJNOSjT58+AJDt/cybNw+AuELt4+OT6fmXXnop2/U8j7XzBAB69OhhdVhLSkoK1q5di+LFi6Nly5bmx+fOnQsAWLRoEQoUKGDxmg8++ACvv/46Vq1aZZOaiUifOASFiAyjY8eOaNu2Lfbu3YtDhw7h5MmTOHjwICIiIhAREYH3338fS5culb3fN954I9Njx44dQ3p6OgAxBvhZqampAIDz58+bH+vWrRvmzZuHKlWqoFOnTmjcuDHq1q2bachLly5dMHfuXLRp0wYdOnRA06ZN0aBBA5QrV85iu1OnTiEiIsLiscKFC2Pw4MHmnwcOHIjQ0FDs2rULP//8M06ePInDhw9j9erVWL16NcaOHYuJEyfKCwTWM8lw9uxZTJ8+Hfv378etW7eQlJRk8fyNGzeyfZxatWpleqxUqVIAgLi4uGzt48iRI3BxcUGLFi2yfVwlssrkpZdeQtOmTbFr1y6cP38elStXBgBs3rwZcXFx+Pjjjy0+lP38889wdXXFunXrrN4Mm5KSgrt37yIuLg6FCxdW580QkabYgBORoeTOnRvNmjVDs2bNAADp6enYsGEDevXqheXLl6Nt27Z49913Ze2zRIkSmR6LiYkBIBrxrK7EmkwmPHr0yPzzrFmz8PLLL2PJkiUICwtDWFgYcufOjVatWmHmzJnmBrt27do4cOAApk6divXr12PFihUAgEqVKmH8+PHo0qULAODXX3813zSZwc/Pz6IBB8QNqMHBwQgODgYgPhwsWrQIgwcPxuTJk9GuXTurV27lZgKIZrdJkyZIT09H06ZN0aZNGxQoUAAuLi44efIkfvzxRyQnJ2f7OE+Pi86QMf49LS0tW/u4d+8eChcuDHd392wfV4msMgHEzau7du3CsmXLEBYWBgDmK+IffPCBxbYxMTFIS0t77gcjk8mE+Ph4NuBEDopDUIjI0FxcXNCxY0cMHToUALB3717Z+7A25CPjqvXHH3+M9PR0q3/S0tIsZthwcXHB4MGDcerUKdy+fRsbNmxA27ZtsWnTJrRo0QIpKSnmbevWrYvNmzfj3r17OHToEMaOHYvbt2/jvffeM+/zgw8+yHTMv/7664Xvx9XVFf369UPXrl0BKJuHO6thMFOmTEFSUhJ27tyJrVu34ssvv8SECRMwbty45141V1OhQoUQFxeX6Uq8NRlXoq3NNPPsLCXPet7QoLZt26JAgQJYuXIlJEnCnTt38NNPP8Hf3x9Vq1a12LZgwYLw8vLK8rzKOLdKly79wvdDRMbEBpyIHEK+fPkAWM5vnTFzR3avpD6tTp06OVoxsmjRomjbti2+++47BAQE4M8//8TZs2czbefq6op69eph4sSJ5rHBmzZtUnTMZ2Vk8rScZAIAly5dgre3t9XFffbt26donzlVr1498+w0L5JxRTljKsqnHT9+XHENHh4e6NSpE27cuIFdu3Zh9erVSEtLy3T1O6Pe2NhYnDt3TvHxiMjY2IATkSGsWbMGu3fvtjpm9tatW1i0aBEAWDSGGTc+XrlyRfbxihYtim7duuH48eOYMmWKeTz40/78809cvnwZgBi3e+jQoUzbpKamIjY2FiaTCXny5AEg5u+2drX21q1bAGDe7kW+/vpr/PLLL1afu3DhAr7//nuYTCabZQKIRXViYmJw5swZi8fDw8Oxc+dORfvMqYEDBwIAhg0bZnX8+dOP1a5dGy4uLli9ejUSExPNj8fGxmLkyJE5qqNnz54AgOXLl2P58uVwdXVFt27dMm2X8W1N7969cfPmzUzPP3r0KMu/VyJyDBwDTkSGcPToUcyZMwclSpRAw4YNzXNY//3339i6dSuSkpLQpk0btG/f3vya+vXrI0+ePJg9ezZiYmJQvHhxAMCgQYMyzT5hzfz583Hx4kWMGzcOK1asQIMGDVC8eHHcuHED58+fx/Hjx7F27Vr4+fkhISEBjRo1Qvny5VGjRg2UKVMGSUlJ2LVrFy5cuIB3330XlSpVAgBMmzYNe/fuRaNGjeDn54d8+fLh7Nmz2L59O7y8vMyzgLzIjh070K9fP/j5+aFBgwYoVaoUkpOTcfHiRezYsQNpaWkYNGgQatasaX5NkyZN4OLiglGjRuHMmTPmK8Kffvppto45ZMgQ7NixAw0bNkSnTp1QoEABHD9+HIcOHUKHDh2wfv36bO3Hlpo1a4ZPP/0UU6ZMQeXKldGmTRuUKlUKt2/fxsGDB1GvXj0sWbIEgBjH3a1bN6xYsQL+/v5o1aoVHjx4gJ9++gmNGzfGqVOnFNdRv359lC9fHt9//z1SU1MRHBxsnqv9aU2aNEFYWBhGjRqFChUqoFWrVvDz80N8fDyuXLmC/fv3o1GjRti2bZviWohI5zSdBNGGTpw4Ib3zzjuSl5eXlCdPHum1116T5s6da7HNuXPnpObNm0v58uWTvLy8pB49ekh37961ur/FixdLr7zyiuTh4SFVqFBBmjdvnj3eBhFl4Z9//pG++uorqW3btlKlSpWkAgUKSG5ublLJkiWl1q1bS6tWrbL6uu3bt0v16tWT8uXLJ5lMJsnFxUW6cuWKJEmSNGHCBMnFxSXLObElSZJSUlKk+fPnS/Xr15cKFiwoubu7S2XKlJHefvttac6cOVJMTIwkSZKUmpoqTZs2TWrZsqXk6+sreXh4SMWKFZPq1asnLVy4UEpNTTXvc+fOnVJISIhUpUoVqWDBglLevHmlV155RRo8eLB09erVbGfyxx9/SDNnzpRatmwplS9fXsqbN6+5vvbt20tbt261+rqVK1dK/v7+kqenpzmTDD179rTIyJotW7ZIdevWlfLnzy8VLlxYat68uXTgwAFp6dKlkouLS6Y5tv38/DLNA57Vthmszcf9Itu2bZNatGgheXl5Se7u7pKvr6/Url07ae/evRbbJScnSyNGjJBKlSolubm5SRUqVJDCwsKkx48fWz1uds6TDFOmTDFnunHjxudue/DgQalTp05SyZIlJTc3N6lYsWJS9erVpWHDhkknTpyQ9d6JyFhMkmTl+1yDyVh+uGbNmujcuTPy5cuHS5cuQZIk893o165dQ/Xq1VG4cGEMGjQIDx8+xIwZM+Dr64ujR4/C1dXVvL+FCxeib9++6NChA5o3b479+/djxYoVCAsLy/FXlERERETk3AzfgD948AAVK1ZEw4YNn/vVZ79+/bB8+XJcuHDBPMfsnj170KxZMyxcuBC9e/cGACQmJqJ06dKoX7++xY1QPXr0QEREBP755x+r02YREREREWWH4W/CXL16Ne7cuYOpU6cCEDevWLtZasOGDQgKCjI33wDQtGlTVKxYEevWrTM/tnfvXsTGxqJfv34Wr+/fvz8ePXqErVu3qvROiIiIiMgZGL4B3717NwoUKIB//vkHlSpVQv78+VGwYEH069fPvBjE9evXcffuXasrrtWuXRsnT540/5zx/5/dtkaNGnBxccnRDTpERERERIZvwC9evIjHjx+jTZs2aNmyJTZu3IhevXrh66+/RkhI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", + "text/plain": [ + "PyPlot.Figure(PyObject )" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ϵ_last = zeros(Float64, (6)) # Last total strain\n", + "ϵᵖ = zeros(Float64, (6)) # Plastic strain\n", + "σ = zeros(Float64, (6, 1)) # Stress\n", + "\n", + "ss = Float64[] # plotting stress\n", + "ee = Float64[] # plotting strain\n", + "pp = Float64[] # plotting strain\n", + "\n", + "# Isotropic hardening\n", + "σy = 200.0 # yield limit\n", + "\n", + "# Kinematic hardening\n", + "Ck = 4000.0 # saturation hardening C/D\n", + "X = zeros(Float64, 6) # kinematic hardening tensor\n", + "\n", + "p = 0.0 # Accumulated plastic strain\n", + "\n", + "# Isotropic hardening\n", + "R(ϵp_cum) = isotropic_hardening(ϵp_cum, σy, σy)\n", + "\n", + "# kinematic hardening\n", + "fX(ϵp) = kinematic_hardening(ϵp, Ck)\n", + "\n", + "ϵp = zeros(Float64, 6)\n", + "for i=1:steps\n", + " # Actual calculation\n", + " dϵ = reshape(ϵ_tot[i, :, :], (6, 1)) - ϵ_last\n", + " p, X, σ, ϵp = calculate_stress(dϵ, σ, C, p, X, R, fX, ϵp)\n", + " ϵ_last += dϵ\n", + " push!(ss, σ[1])\n", + " push!(ee, ϵ_last[1])\n", + " push!(pp, p)\n", + "end\n", + "PyPlot.plot(ee, ss)\n", + "PyPlot.title(\"Stress-Strain curve\")\n", + "PyPlot.xlabel(\"Strain\")\n", + "PyPlot.ylabel(\"Stress\")\n", + "PyPlot.grid()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Julia 0.4.1-pre", + "language": "julia", + "name": "julia-0.4" + }, + "language_info": { + "file_extension": ".jl", + "mimetype": "application/julia", + "name": "julia", + "version": "0.4.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/notebooks/2015-9-24-Nonlinear Von Mises material.ipynb b/notebooks/2015-9-24-Nonlinear Von Mises material.ipynb deleted file mode 100644 index 7d4492e..0000000 --- a/notebooks/2015-9-24-Nonlinear Von Mises material.ipynb +++ /dev/null @@ -1,566 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Von Mises material with nonlinear isotropic and kinematic hardening\n", - "\n", - "Author(s): Olli Väinölä \n", - "\n", - "In this notebook is an small tutorial, how to create a Von Mises material with hardening. Equations are formulated into rate depended form. Code may or may not include some bugs.." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Theory section\n", - "\n", - "### Continuum equations\n", - "\n", - "Stress:\n", - "\n", - "$\\sigma = C : \\epsilon^e$\n", - "\n", - "$C$ is material tensor and $\\epsilon$ total strain.\n", - "Total strain is divided into elastic and plastic part:\n", - "\n", - "$\\epsilon = \\epsilon^e + \\epsilon^p$\n", - "\n", - "now let's define a strain rate, which is strain increment divide with time increment $dt$\n", - "\n", - "$\\frac{d\\epsilon}{dt} = \\dot \\epsilon = \\dot \\epsilon^e + \\dot \\epsilon^p$\n", - "\n", - "Now same procedure for stress and substitute $\\dot \\epsilon^e$\n", - "\n", - "$\\dot \\sigma = C : \\dot \\epsilon^e = C : (\\dot \\epsilon - \\dot \\epsilon^p )$\n", - "\n", - "Only thing to do is to define yield function. Now we're using Von Mises material:\n", - "\n", - "$f(\\sigma - X, R(\\alpha)) = \\sqrt{3J_2(\\sigma-X))} - R(\\alpha)$ = 0\n", - "\n", - "$f(\\sigma, \\sigma_y) = \\sqrt{3J_2(\\sigma))} - \\sigma_y$ = 0\n", - "\n", - "$J_2 = \\frac{1}{6}((\\sigma_{11}-\\sigma_{22})^2+(\\sigma_{22}-\\sigma_{33})^2+(\\sigma_{33}-\\sigma_{11}))^2 + (\\sigma_{12}^2 + \\sigma_{23}^2 + \\sigma_{31}^2)$ \n" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "# imports\n", - "using PyPlot\n", - "using ForwardDiff\n", - "using NLsolve" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's create a isotropic Hooke material." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "6x6 Array{Float64,2}:\n", - " 2.69231e5 1.15385e5 1.15385e5 0.0 0.0 0.0 \n", - " 1.15385e5 2.69231e5 1.15385e5 0.0 0.0 0.0 \n", - " 1.15385e5 1.15385e5 2.69231e5 0.0 0.0 0.0 \n", - " 0.0 0.0 0.0 1.53846e5 0.0 0.0 \n", - " 0.0 0.0 0.0 0.0 1.53846e5 0.0 \n", - " 0.0 0.0 0.0 0.0 0.0 1.53846e5" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "\n", - "\"\"\"\n", - "Create a isotropic Hooke material matrix C \n", - "\n", - "More information: # http://www.efunda.com/formulae/solid_mechanics/mat_mechanics/hooke_isotropic.cfm\n", - "\n", - "Parameters\n", - "----------\n", - " E: Float\n", - " Elastic modulus\n", - " ν: Float\n", - " Poisson constant\n", - "\n", - "Returns\n", - "-------\n", - " Array{Float64, (6,6)}\n", - "\"\"\"\n", - "function hookeStiffnessTensor(E, ν)\n", - " a = 1 - ν\n", - " b = 1 - 2*ν\n", - " c = 1 + ν\n", - " multiplier = E / (b * c)\n", - " return Float64[a ν ν 0 0 0;\n", - " ν a ν 0 0 0;\n", - " ν ν a 0 0 0;\n", - " 0 0 0 b 0 0;\n", - " 0 0 0 0 b 0;\n", - " 0 0 0 0 0 b].*multiplier\n", - "end\n", - "\n", - "# Pick material values\n", - "E = 200.0e3\n", - "ν = 0.3\n", - "C = hookeStiffnessTensor(E, ν)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": false - }, - "source": [ - "# Defining equations for the calculation\n", - "\n", - "Functions are defined for strain controller simulation" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "calculate_stress (generic function with 1 method)" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "\"\"\"\n", - "Equivalent tensile stress. \n", - "\n", - "More info can be found from: https://en.wikipedia.org/wiki/Von_Mises_yield_criterion\n", - " Section: Reduced von Mises equation for different stress conditions\n", - "\n", - "Parameters\n", - "----------\n", - " σ: Array{Float64, 6}\n", - " Stress in Voigt notation\n", - "\n", - "Returns\n", - "-------\n", - " Float\n", - "\"\"\"\n", - "function σₑ(σ)\n", - " e1 = (σ[1] - σ[2])^2\n", - " e2 = (σ[2] - σ[3])^2\n", - " e3 = (σ[3] - σ[1])^2\n", - " e4 = σ[4]^2 \n", - " e5 = σ[5]^2\n", - " e6 = σ[6]^2\n", - " return sqrt((e1 + e2 + e3 + 6 * (e4 + e5 + e6)) / 2.)\n", - "end\n", - "\n", - "\n", - "\"\"\"\n", - "Von Mises Yield criterion\n", - "\n", - "More info can be found from: http://csm.mech.utah.edu/content/wp-content/uploads/2011/10/9tutorialOnJ2Plasticity.pdf\n", - "\n", - "Parameters\n", - "----------\n", - " σ: Array{Float64, 6}\n", - " Stress in Voigt notation\n", - " k: Float64\n", - " Material constant, Yield limit\n", - "\n", - "Returns\n", - "-------\n", - " Float\n", - "\"\"\"\n", - "function vonMisesYield(σ, R)\n", - " σₑ(σ) - R\n", - "end\n", - "\n", - "\n", - "\"\"\"\n", - "Function for NLsolve. Inside this function are the functions where we want to find root.\n", - "Ψ is the yield function below. Functions defined here:\n", - "\n", - " dσ - C (dϵ - dλ*dΨ/dσ) = 0\n", - " σₑ(σ) - k = 0\n", - "\n", - "Parameters\n", - "----------\n", - " params: Array{Float64, 7}\n", - " Array containing values from solver\n", - " dϵ: Array{Float64, 6}\n", - " Strain rate vector in Voigt notation\n", - " C: Array{Float64, (6, 6)}\n", - " Material tensor\n", - " k: Float\n", - " Material constant, yield limit\n", - " Δt: Float\n", - " time increment\n", - " σ_begin:Array{Float64, 6}\n", - " Stress vector in Voigt notation\n", - " p: Float\n", - " Accumulated plastic strain\n", - " X: Array{Float64, 6}\n", - " Kinematic hardening tensor\n", - " R: Function\n", - " Calculates isotropic hardening as a function of accumulated plastic strain\n", - " α:Float\n", - " Accumulated kinematic evolution variable\n", - " dα: Function\n", - " Calculates kinematic evolution variables rate as a function of accumulated plastic slip rate\n", - " fX: Function\n", - " Calculates the kinematic \n", - "\n", - "Returns\n", - "-------\n", - " Array{Float64, 7}, return values for solver\n", - "\"\"\"\n", - "function G(params, dϵ, C, Δt, σ_begin, p, X, R, α, dα, fX)\n", - " \n", - " # Initializing parameters\n", - " σ = params[1:6]\n", - " dλ = params[end]\n", - "\n", - " # Stress rate\n", - " dσ = (σ_begin - σ) / Δt\n", - " \n", - " # This required some hacking with ForwardDiff..\n", - " X_kine = [X[:]; 0.0]\n", - " σ_shifted = params - X_kine\n", - " \n", - " # Creating wrapper for gradient\n", - " yield(pars) = vonMisesYield(pars, R(p))\n", - " dfdσ = ForwardDiff.gradient(yield)\n", - " vars = dfdσ(σ_shifted)\n", - " dΨdσ = vars[1:6]\n", - " \n", - " # Calculating plastic strain rate\n", - " dϵp = dλ * dΨdσ\n", - " \n", - " # Calculating material evolution variables\n", - " dp = sqrt(2./3. * double_contraction(dϵp))\n", - " p_cum = p + dp\n", - " dα_ = dα(dp, dΨdσ, X)\n", - " α_sum = α + dα_\n", - " \n", - " # updating material parameters\n", - " R_ = R(p_cum)\n", - " X_ = fX(α_sum)\n", - " \n", - " # Calculating new stress\n", - " σ_kinematic = σ - X_\n", - "\n", - " # Evaluating equations\n", - " function_1 = dσ - C * (dϵ - dϵp)\n", - " function_2 = vonMisesYield(σ_kinematic, R_)\n", - " [function_1[:]; function_2]\n", - "end\n", - "\n", - "\"\"\"\n", - "This is a fast implementation for double contraction, a=b:c, tensor operation\n", - "\n", - "Parameters\n", - "----------\n", - " a: Array{Float64, 6}\n", - "\n", - "Returns\n", - "-------\n", - " Float\n", - "\"\"\"\n", - "function double_contraction(a; b=a)\n", - " indexes = [1, 2, 3, 4, 5, 6, 4, 5, 6]\n", - " summation = 0\n", - " for i in indexes\n", - " summation += a[i]*b[i]\n", - " end\n", - " summation\n", - "end\n", - "\n", - "\"\"\"\n", - "Function which calculates the stress. Also handles if any yielding happens\n", - "\n", - "Parameters\n", - "----------\n", - " dϵ: Array{Float64, 6}\n", - " Strain rate vector in Voigt notation\n", - " Δt: Float\n", - " time increment\n", - " σ: Array{Float64, 6}\n", - " Last stress vector in Voigt notation\n", - " C: Array{Float64, (6, 6)}\n", - " Material tensor\n", - " p: Float\n", - " Accumulated plastic strain\n", - " X: Array{Float64, 6}\n", - " Kinematic hardening tensor\n", - " R: Function\n", - " Calculates isotropic hardening as a function of accumulated plastic strain\n", - " α:Float\n", - " Accumulated kinematic evolution variable\n", - " dα: Function\n", - " Calculates kinematic evolution variables rate as a function of accumulated plastic slip rate\n", - " fX: Function\n", - " Calculates the kinematic \n", - "\n", - "Returns\n", - "-------\n", - " Tuple\n", - " returns following parameters: p, X, α, σ. See Parameters for definitions\n", - "\"\"\"\n", - "function calculate_stress(dϵ, Δt, σ, C, p, X, R, α, dα, fX)\n", - "\n", - " # Test stress\n", - " σ_tria = σ + C * dϵ * Δt\n", - " \n", - " # Calculating yield\n", - " yield = vonMisesYield(σ_tria - X, R(p))\n", - " if yield > 1\n", - " σ_start = copy(σ)\n", - " # Yielding happened\n", - " # Creating functions for newton: xₙ₊₁ = xₙ - df⁻¹ * f and initial values\n", - " initial_guess = [σ[:]; 1.0]\n", - " f(σ_) = G(σ_, dϵ, C, Δt, σ_tria, p, X, R, α, dα, fX)\n", - " df = ForwardDiff.jacobian(f)\n", - " \n", - " # Calculating root \n", - " result = nlsolve(not_in_place(f, df), initial_guess).zero\n", - " \n", - " # Extracting values\n", - " σ = result[1:6] \n", - " dλ = result[end]\n", - "\n", - " # Wrapper for gradient\n", - " yield_f(σ_) = vonMisesYield(σ_, R(p))\n", - " dfdσ_ = ForwardDiff.gradient(yield_f)\n", - " nall = dfdσ_(σ)\n", - " dΨdσ = nall[1:6]\n", - " \n", - " # Stress rate and plastic strain rate\n", - " dσ = (σ_start - σ) / Δt\n", - " dϵᵖ = dϵ - C \\ dσ\n", - " \n", - " # Updating material parameters\n", - " dp = sqrt(2/3 * double_contraction(dϵᵖ))\n", - " p += dp\n", - " dα_ = dα(dp, dΨdσ, X)\n", - " α += dα_\n", - " X = fX(α)\n", - " else\n", - " σ = σ_tria\n", - " end\n", - " return (p, X, α, σ)\n", - "end" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Defining strain history\n", - "\n", - "In the ideal plastic example, we only had tension stress. In this example we'll take it a bit further and calculate the cyclic strain" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done\n" - ] - } - ], - "source": [ - "steps = 600\n", - "\n", - "ϵ_tot = zeros(Float64, (steps, 6))\n", - "\n", - "max_strain = 0.004\n", - "ϵ_tot[:, 1] = max_strain * sin(linspace(0, 5*pi/2, steps))\n", - "ϵ_tot[:, 2] = max_strain * sin(linspace(0, 5*pi/2, steps)).*-ν\n", - "ϵ_tot[:, 3] = max_strain * sin(linspace(0, 5*pi/2, steps)).*-ν\n", - "println(\"Done\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Hardening evolution equations\n", - "\n", - "Followig equations are in charge of evolution of isotropic and kinematic parameters" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "nonlinearKinematicHardening (generic function with 1 method)" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "function nonlinearIsotropicHardening(ϵp_cum, R0, Q, b)\n", - " return R0 + Q * (1 - exp(-b * ϵp_cum))\n", - "end\n", - "\n", - "function dα_function(dϵp_cum, n, X, D, C)\n", - " return dϵp_cum * (n - (3*D)/(2*C) * X)\n", - "end\n", - "\n", - "function nonlinearKinematicHardening(α,C)\n", - " return 2/3 * C * α\n", - "end" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Simulation\n", - "\n", - "Ok, we're good to go! Now we just need to define yield limit and the main loop.\n", - "\n", - "This simulation is not time dependent, but since it's already defined in the equations we'll give it value 1" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false, - "scrolled": false - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "PyPlot.Figure(PyObject )" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "ϵ_last = zeros(Float64, (6)) # Last total strain\n", - "ϵᵖ = zeros(Float64, (6)) # Plastic strain\n", - "σ = zeros(Float64, (6, 1)) # Stress\n", - "Δt = 1.0 # time increment\n", - "σy = 350.0 # Yield stress\n", - "ss = zeros(Float64, steps) # plotting stress\n", - "ee = zeros(Float64, steps) # plotting strain\n", - "pp = zeros(Float64, steps) # plotting strain\n", - "\n", - "# Isotropic hardening\n", - "b = 0.3 # Saturation rate: b\n", - "Q = 15000.0 # Saturation hardening: Q\n", - "\n", - "# Kinematic hardening\n", - "D = 250.0 # Saturation rate D\n", - "Ck = 40000.0 # saturation hardening C/D\n", - "X = zeros(Float64, (6)) # kinematic hardening tensor\n", - "\n", - "p = 0.0 # Accumulated plastic strain\n", - "α = zeros(Float64, (6)) # Kinematic evolution parameter\n", - "\n", - "# Isotropic hardening\n", - "R(ϵp_cum) = nonlinearIsotropicHardening(ϵp_cum, σy, Q, b)\n", - "\n", - "# kinematic hardening\n", - "dα(dϵp_cum, n, X) = dα_function(dϵp_cum, n, X, D, Ck)\n", - "fX(α) = nonlinearKinematicHardening(α,Ck)\n", - "\n", - "for i=1:steps\n", - " \n", - " # Plotting\n", - " ss[i] = σ[1]\n", - " ee[i] = ϵ_last[1]\n", - " pp[i] = R(p)\n", - " \n", - " # Actual calculation\n", - " dϵ = (reshape(ϵ_tot[i, :, :], (6, 1)) - ϵ_last) / Δt \n", - " p, X, α, σ = calculate_stress(dϵ, Δt, σ, C, p, X, R, α, dα, fX)\n", - " ϵ_last += dϵ * Δt\n", - "end\n", - "PyPlot.plot(ee, ss)\n", - "PyPlot.title(\"Stress-Strain curve\")\n", - "PyPlot.xlabel(\"Strain\")\n", - "PyPlot.ylabel(\"Stress\")\n", - "PyPlot.ylim([-500, 500])\n", - "PyPlot.xlim([-0.005, 0.005])\n", - "PyPlot.grid()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Julia 0.5.0-dev", - "language": "julia", - "name": "julia-0.5" - }, - "language_info": { - "file_extension": ".jl", - "mimetype": "application/julia", - "name": "julia", - "version": "0.5.0" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -}