mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-06 04:21:33 +00:00
429 lines
99 KiB
Plaintext
429 lines
99 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Constitutive modelling using JuliaFEM\n",
|
||
"\n",
|
||
"Author(s): Jukka Aho\n",
|
||
"\n",
|
||
"**Abstract**: This is reproduction of the results from notebook [*Ideal plastic Von Mises material*](https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/notebooks/2015-09-24-Ideal%20plastic%20Von%20Mises%20material.ipynb) made by Olli Väinölä. Small strain theory is used, see https://en.wikipedia.org/wiki/Flow_plasticity_theory. The purpose of this notebook is to show how one can easily design and simulate material models using JuliaFEM. This is 2d version. For 3d version see Olli's notebook."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"using JuliaFEM: IntegrationPoint, Field, FieldSet, TimeStep, Increment\n",
|
||
"using ForwardDiff\n",
|
||
"using PyPlot"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"The atomic structure here is `IntegrationPoint`. It has identical `Field`-structure like elements and can store multidimensional variables which can be time-dependent also. That way one can easily store, for example, measured strain and run material simulation for real measured data and fit material parameters."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"JuliaFEM.DefaultDiscreteField([JuliaFEM.TimeStep(0.0,JuliaFEM.Increment[[0.0]])])"
|
||
]
|
||
},
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"ip = IntegrationPoint([0.0, 0.0], 1.0)\n",
|
||
"\n",
|
||
"ip.fields[\"total strain\"] = Field()\n",
|
||
"ip.fields[\"plastic strain\"] = Field()\n",
|
||
"ip.fields[\"plastic potential\"] = Field()\n",
|
||
"ip.fields[\"elastic strain\"] = Field()\n",
|
||
"ip.fields[\"effective plastic strain\"] = Field()\n",
|
||
"ip.fields[\"stress\"] = Field()\n",
|
||
"ip.fields[\"young\"] = Field(200.0e9)\n",
|
||
"ip.fields[\"poisson\"] = Field(0.3)\n",
|
||
"ip.fields[\"yield stress\"] = Field(200.0e6)\n",
|
||
"ip.fields[\"plastic rate parameter\"] = Field(0.0) # material parameter"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Accessing parameters is done just like with `FieldSet`s in general:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"INFO: [2.0e11]\n",
|
||
"INFO: [2.0e8]\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"info(last(ip.fields[\"young\"]))\n",
|
||
"info(last(ip.fields[\"yield stress\"]))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Next to material model: ideal plastic material model."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"calculate_stress! (generic function with 1 method)"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"\"\"\" Ideal plastic material model. \"\"\"\n",
|
||
"function calculate_stress!(ip::IntegrationPoint, strain::Matrix, time::Number)\n",
|
||
"\n",
|
||
" dim = size(strain, 1)\n",
|
||
" \n",
|
||
" poisson = last(ip.fields[\"poisson\"])[1]\n",
|
||
" young = last(ip.fields[\"young\"])[1]\n",
|
||
" mu = young/(2*(1+poisson))\n",
|
||
" lambda = young*poisson/((1+poisson)*(1-2*poisson))\n",
|
||
" if dim == 2\n",
|
||
" lambda = 2*lambda*mu/(lambda + 2*mu) # <- correction for 2d\n",
|
||
" end\n",
|
||
"\n",
|
||
" # yield function\n",
|
||
" function f(stress)\n",
|
||
" # https://en.wikipedia.org/wiki/Yield_surface\n",
|
||
" # https://en.wikipedia.org/wiki/Von_Mises_yield_criterion\n",
|
||
" stress_y = last(ip.fields[\"yield stress\"])[1]\n",
|
||
" s1 = stress[1,1]\n",
|
||
" s2 = stress[2,2]\n",
|
||
" s12 = stress[1,2]\n",
|
||
" stress_v = sqrt(s1^2 - s1*s2 + s2^2 + 3*s12^2)\n",
|
||
" return stress_v - stress_y\n",
|
||
" end\n",
|
||
"\n",
|
||
" strain_plastic_prev = last(ip.fields[\"plastic strain\"])[1]\n",
|
||
" strain_elastic = strain - strain_plastic_prev\n",
|
||
" stress_trial = lambda*trace(strain_elastic)*I + 2*mu*(strain_elastic)\n",
|
||
"\n",
|
||
" if f(stress_trial) <= 0.0\n",
|
||
" #info(\"time=$time: no yield\")\n",
|
||
" push!(ip.fields[\"stress\"], TimeStep(time, Increment(Matrix[stress_trial])))\n",
|
||
" push!(ip.fields[\"total strain\"], TimeStep(time, Increment(Matrix[strain])))\n",
|
||
" return true\n",
|
||
" else\n",
|
||
" #info(\"time=$time: yield, f(stress_trial) = $(f(stress_trial))\")\n",
|
||
" dt = time - ip.fields[\"total strain\"][end].time\n",
|
||
"\n",
|
||
" # associated flow rule, plastic potential ψ(σ) = f\n",
|
||
" psi = f\n",
|
||
"\n",
|
||
" \"\"\" Calculate equations\n",
|
||
"\n",
|
||
" dσ - C (dϵₜ - dγ*dΨ/dσ) = 0\n",
|
||
" σₑ(σ) - σy = 0\n",
|
||
"\n",
|
||
" dϵₜ = total strain\n",
|
||
" dϵₑ = elastic strain\n",
|
||
" dϵₚ = plastic strain\n",
|
||
" \n",
|
||
" dϵₜ = dϵₑ + dϵₚ\n",
|
||
" => dϵₑ = dϵₜ - dϵₚ = dϵₜ - dγ*dψ/dσ\n",
|
||
" dσ = λ⋅tr(dϵₑ)I + 2μ⋅dϵₑ\n",
|
||
" => dσ - λ⋅tr(dϵₑ)I - 2μ⋅dϵₑ = 0\n",
|
||
" \"\"\"\n",
|
||
" function residual(params::Vector)\n",
|
||
" dstress = reshape(params[1:prod(size(strain))], size(strain))\n",
|
||
" gamma = params[end]\n",
|
||
" strain_prev = last(ip.fields[\"total strain\"])[1]\n",
|
||
" stress_prev = last(ip.fields[\"stress\"])[1]\n",
|
||
" dstrain_total = 1/dt*(strain - strain_prev)\n",
|
||
" stress_tot = stress_prev + dstress\n",
|
||
" # derivative of plastic potential ψ(σ) w.r.t 2nd order tensor σ(ϵ)\n",
|
||
" # https://en.wikipedia.org/wiki/Tensor_derivative_%28continuum_mechanics%29\n",
|
||
" # \"Derivatives of scalar valued functions of second-order tensors\"\n",
|
||
" dpsi_dstress = derivative(psi, stress_tot)\n",
|
||
" dstrain_plastic = gamma*dpsi_dstress\n",
|
||
" dstrain_elastic = dstrain_total - dstrain_plastic\n",
|
||
" dstress_elastic = lambda*trace(dstrain_elastic)*I + 2*mu*dstrain_elastic\n",
|
||
" stress_delta = dstress - dstress_elastic\n",
|
||
" return [vec(stress_delta); psi(stress_tot)]\n",
|
||
" end\n",
|
||
"\n",
|
||
" # solve equations using Newton iterations. Jacobian is calcualated\n",
|
||
" # using automatic differentiation as usual.\n",
|
||
" stress_prev = last(ip.fields[\"stress\"])[1]\n",
|
||
" initial_gamma = last(ip.fields[\"plastic rate parameter\"])[1]\n",
|
||
" params = [vec(stress_prev); initial_gamma]\n",
|
||
" dparams = zeros(5)\n",
|
||
" l = [1, 4, 3, 5] # <-- reorder to voigt\n",
|
||
" for iterations=1:10\n",
|
||
" A = ForwardDiff.jacobian(residual, params)[l,l]\n",
|
||
" b = -residual(params)[l]\n",
|
||
" dparams = A \\ b\n",
|
||
" params[l] += dparams\n",
|
||
" norm(dparams) < 1.0e-7 && break\n",
|
||
" end\n",
|
||
" params[2] = params[3]\n",
|
||
"\n",
|
||
" # save all kind of stuff to integration point\n",
|
||
"\n",
|
||
" dstress = reshape(params[1:prod(size(strain))], size(strain))\n",
|
||
" stress = stress_prev + dstress\n",
|
||
" dpsi_dstress = derivative(psi, stress)\n",
|
||
" gamma = params[end]\n",
|
||
" dstrain_plastic = gamma*dpsi_dstress\n",
|
||
" strain_plastic_prev = last(ip.fields[\"plastic strain\"])[1]\n",
|
||
" strain_plastic = strain_plastic_prev + dstrain_plastic\n",
|
||
"\n",
|
||
" push!(ip.fields[\"stress\"], TimeStep(time, Increment(Matrix[stress])))\n",
|
||
" push!(ip.fields[\"total strain\"], TimeStep(time, Increment(Matrix[strain])))\n",
|
||
" push!(ip.fields[\"elastic strain\"], TimeStep(time, Increment(Matrix[strain_elastic])))\n",
|
||
" push!(ip.fields[\"plastic strain\"], TimeStep(time, Increment(Matrix[strain_plastic])))\n",
|
||
" push!(ip.fields[\"plastic rate parameter\"], TimeStep(time, Increment(params[end])))\n",
|
||
" push!(ip.fields[\"plastic potential\"], TimeStep(time, Increment(psi(stress))))\n",
|
||
" push!(ip.fields[\"derivative of plastic potential\"], TimeStep(time, Increment(Matrix[dpsi_dstress])))\n",
|
||
" end\n",
|
||
"\n",
|
||
"end"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Small \"simulator\" to study the behavior of material model in `IntegrationPoint`."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"elapsed time: 0.031678742 seconds\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"function run(steps=11)\n",
|
||
"\n",
|
||
" # initialization\n",
|
||
" ip = IntegrationPoint([0.0, 0.0], 1.0)\n",
|
||
" ip.fields[\"total strain\"] = Field()\n",
|
||
" ip.fields[\"plastic strain\"] = Field(Matrix[zeros(2,2)])\n",
|
||
" ip.fields[\"plastic potential\"] = Field()\n",
|
||
" ip.fields[\"derivative of plastic potential\"] = Field()\n",
|
||
" ip.fields[\"elastic strain\"] = Field()\n",
|
||
" ip.fields[\"effective plastic strain\"] = Field()\n",
|
||
" ip.fields[\"stress\"] = Field()\n",
|
||
" ip.fields[\"young\"] = Field(200.0e9)\n",
|
||
" ip.fields[\"poisson\"] = Field(0.3)\n",
|
||
" ip.fields[\"yield stress\"] = Field(200.0e6)\n",
|
||
" ip.fields[\"plastic rate parameter\"] = Field(0.0) # material parameter\n",
|
||
"\n",
|
||
" strain = zeros(2, 2)\n",
|
||
" strain[1,1] = 2.0e-3\n",
|
||
" strain[2,2] = -0.3*2.0e-3\n",
|
||
" #strain[1,2] = 1.0e-3\n",
|
||
" #strain[2,1] = 1.0e-3\n",
|
||
"\n",
|
||
" # calculate stress in integration point\n",
|
||
" #for (time, omega) in enumerate(linspace(0, 4*pi, steps))\n",
|
||
" # calculate_stress!(ip, sin(omega)*strain, Float64(time))\n",
|
||
" #end\n",
|
||
"\n",
|
||
" for (time, k) in enumerate(linspace(0, 1, steps))\n",
|
||
" calculate_stress!(ip, k*strain, Float64(time))\n",
|
||
" end\n",
|
||
"\n",
|
||
" return ip\n",
|
||
"end\n",
|
||
"\n",
|
||
"tic()\n",
|
||
"ip = run()\n",
|
||
"toc();"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Visualize results:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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bNfo4eFB165d6dq1K4ZhMHr0aObMmcMLL7xAzZo1NRm0iOSJWgRFpFiJiIjIcfsXX3wBkGWUq4+PT566ZDNb865s+Xv77bfzWmaBql27Nvv3788yT+KPP/7I999/n+W4K6e4sdls3HbbbQCkpKQA2OdKLIquahFxfGoRFJFi5fHHHycpKYmePXtSt25dLly4wNatW1m+fDm33HILw4YNsx/bpEkTNm3axFtvvUVgYCA1a9akefPmuZ67TJkytG3blhkzZpCamkrlypXZuHEjv//++w3XfSNdw8OHD+fNN9+kU6dODB8+nBMnTjBnzhwaNGjA2bNn7ceNGDGCU6dO0a5dO6pUqUJsbCz//ve/adSokX2KmEaNGuHu7s5rr73G6dOn8fT05J577sHf3/+Gr1FEnI9aBEWkWHnjjTcIDQ3liy++4KmnnuKpp55i+/btjBkzhqioqCwTTb/55ps0adKE5557jv79+/PBBx/Y9+XWRfrxxx/TqVMn3n33XSZNmoSnpyfr16/P8dgrz3G1uf5upEv21ltv5f/+7/84c+YMTz31FGvXrmXx4sU0btw4y3kHDRqEl5cX7733HmPGjGHRokX069cvS/033XQTH3zwASdOnGDkyJEMGDDAPsBG3cYiciWtNSwiUgQy1xr+7LPPaN26NeXLl8914IkVEhISyMjIICAgQGsNi7gQtQiKiBShHj16EBAQwI8//mh1KVnUrFmTgIAAtRqKuBg9IygiUgRCQkLYtGmT/eugoCALq8luzZo1pKamAlCtWjWLqxGRoqKuYREREREXpa5hERERERelICgiIiLiohQERURERFyUgqCIiIiIi1IQFBEREXFRCoIiIiIiLkpBUERERMRFKQiKiIiIuCgFQREREREX9f94wdv9v6Kj+AAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x7fa8b80dd450>)"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"PyObject <matplotlib.legend.Legend object at 0x7fa8a16155d0>"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"steps = length(ip.fields[\"total strain\"])\n",
|
||
"eps11 = Float64[]\n",
|
||
"sig11 = Float64[]\n",
|
||
"sig22 = Float64[]\n",
|
||
"sig12 = Float64[]\n",
|
||
"principals = Vector{Float64}[]\n",
|
||
"for i=1:steps\n",
|
||
" # extract from integration points\n",
|
||
" # field -> timestep -> increment -> (vector of tensors, take first) -> (first component)\n",
|
||
" strain = ip.fields[\"total strain\"][i][end][1]*1.0e6\n",
|
||
" stress = ip.fields[\"stress\"][i][end][1]*1.0e-6\n",
|
||
" push!(eps11, strain[1,1])\n",
|
||
" push!(sig11, stress[1,1])\n",
|
||
" push!(sig22, stress[2,2])\n",
|
||
" push!(sig12, stress[1,2])\n",
|
||
" push!(principals, eigvals(stress))\n",
|
||
"end\n",
|
||
"\n",
|
||
"PyPlot.figure(figsize=(7, 5))\n",
|
||
"PyPlot.plot(eps11, sig11, \"-bo\", label=\"s11\")\n",
|
||
"PyPlot.plot(eps11, sig22, \"-ro\", label=\"s22\")\n",
|
||
"PyPlot.plot(eps11, sig12, \"-go\", label=\"s12\")\n",
|
||
"PyPlot.title(\"Stress-Strain curve\")\n",
|
||
"PyPlot.xlabel(\"Strain [ustr]\")\n",
|
||
"PyPlot.ylabel(\"Stress [MPa]\")\n",
|
||
"#PyPlot.ylim([-250, 250])\n",
|
||
"#PyPlot.xlim([-2100, 2100])\n",
|
||
"PyPlot.legend(loc=\"best\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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",
|
||
"text/plain": [
|
||
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x7fa8a1931150>)"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"1-element Array{Any,1}:\n",
|
||
" PyObject <matplotlib.lines.Line2D object at 0x7fa8a1513050>"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"function plot_principal()\n",
|
||
" PyPlot.figure(figsize=(6, 6))\n",
|
||
" n = 100\n",
|
||
" s = linspace(-300, 300, n)\n",
|
||
" s1 = repmat(s', n, 1)\n",
|
||
" s2 = repmat(s, 1, n)\n",
|
||
" sigma = sqrt(s1.^2 + s2.^2 - s1.*s2)\n",
|
||
" contour(s1, s2, sigma, [200], colors=\"k\")\n",
|
||
" p1 = [p[1] for p in principals]\n",
|
||
" p2 = [p[2] for p in principals]\n",
|
||
" PyPlot.plot(p1, p2, \"-bo\")\n",
|
||
" axis(\"equal\")\n",
|
||
" xlabel(\"sigma 1\")\n",
|
||
" ylabel(\"sigma 2\")\n",
|
||
" title(\"principal stress\")\n",
|
||
" dir = last(ip.fields[\"derivative of plastic potential\"])[1]\n",
|
||
" PyPlot.plot([p1[end], p1[end]+dir[2,2]*50],\n",
|
||
" [p2[end], p2[end]+dir[1,1]*50], \"-r\")\n",
|
||
"end\n",
|
||
"plot_principal()"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Julia 0.4.0",
|
||
"language": "julia",
|
||
"name": "julia-0.4"
|
||
},
|
||
"language_info": {
|
||
"file_extension": ".jl",
|
||
"mimetype": "application/julia",
|
||
"name": "julia",
|
||
"version": "0.4.0"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 0
|
||
}
|