mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-06 04:21:33 +00:00
0f0c49da62
A lot of old files from old documentation systems etc. is in package. These are now removed or moved. Old notebooks are in docs/tutorials. This PR closes issue #124.
567 lines
73 KiB
Plaintext
567 lines
73 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Von Mises material with isotropic and kinematic hardening\n",
|
||
"\n",
|
||
"Author(s): Olli Väinölä <olli.vainola@student.oulu.fi>\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": 7,
|
||
"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": 7,
|
||
"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": 178,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"calculate_stress (generic function with 1 method)"
|
||
]
|
||
},
|
||
"execution_count": 178,
|
||
"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",
|
||
" dΨdσ = dfdσ(σ_shifted)[1:6]\n",
|
||
"\n",
|
||
" # Calculating plastic strain rate\n",
|
||
" dϵp = dλ * dΨdσ\n",
|
||
"\n",
|
||
" # Updating material parameters\n",
|
||
" ϵp_new = ϵp + dϵp\n",
|
||
" dp = sqrt(2 / 3 * double_contraction(dϵp))\n",
|
||
" p_test = p + dp\n",
|
||
" \n",
|
||
" # new hardening variables\n",
|
||
" R_ = R(p_test)\n",
|
||
" X_ = fX(ϵp_new)\n",
|
||
"\n",
|
||
" # Evaluating equations\n",
|
||
" function_1 = dσ - C * (dϵ - dϵp)\n",
|
||
" function_2 = vonMisesYield(σ_new - X_, R_)\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 > 0\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",
|
||
" \n",
|
||
" # Extracting values\n",
|
||
" σ += result[1:6] \n",
|
||
" dλ = result[end]\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 matrial 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": 192,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Done\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"steps = 1000\n",
|
||
"strain_max = 0.003\n",
|
||
"num_cycles = 5\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": 193,
|
||
"metadata": {
|
||
"collapsed": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"kinematic_hardening (generic function with 1 method)"
|
||
]
|
||
},
|
||
"execution_count": 193,
|
||
"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 2/3 * 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": 195,
|
||
"metadata": {
|
||
"collapsed": false,
|
||
"scrolled": false
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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hQsRFBSEihUronz58ujbty8OHDiQp9exZuzYsahcubJFu7u7OypUqGDRXqxYMYSGhuLmzZs4evRons/Tq1cvi2kegwcPBoA8v86CBQsAyJHp8uXLWzxesWLFPMdji7XfEwDo16+f1aks6enpWLt2LcqWLYsOHTqY2ufPnw8AWLJkCYoVK2b2nP79++P555/H6tWr8yVmIlIPp50QkcPo0aMHunbtir179+LQoUM4ceIEDh48iM2bN2Pz5s14/fXXsWzZsod+3RdeeMGi7ejRo8jOzgYg5/zeLyMjAwBw9uxZU1ufPn2wYMECPP300wgJCUHz5s3x4osvWkxz6dWrF+bPn48uXbrg1VdfRatWrdC0aVNUq1bNrN/JkyexefNms7aSJUtixIgRpuO3334bb775Jnbt2oUffvgBJ06cwOHDh7FmzRqsWbMGH374ISZNmvRwPxBY/5nkOH36NGbNmoX9+/fj6tWrSE1NNXs8Li4uz+dp2LChRZu/vz8A4ObNm3l6jR9//BFGoxHt27fP83kfhdbPpGLFimjVqhV27dqFs2fPonbt2gCArVu34ubNmxg1apTZB7IffvgBbm5uWL9+vdUbX9PT03H9+nXcvHkTJUuWLJiLISLdsPgmIodSuHBhtGnTBm3atAEAZGdnY9OmTRg4cCBWrFiBrl27onPnzg/1muXKlbNoS0hIACCLcK0RWIPBgLt375qO58yZgyeffBJfffUVpk+fjunTp6Nw4cIIDAzE7NmzTcV1o0aNcODAAUydOhUbN27EypUrAQC1atXChAkT0KtXLwDAzz//bLpBMkeVKlXMim9A3mwaHByM4OBgAPKDwZIlSzBixAhMnjwZ3bp1szpi+7A/E0AWui1btkR2djZatWqFLl26oFixYjAajThx4gS++eYbpKWl5fk8986DzpEz3z0rKytPr5GUlISSJUvCw8Mjz+d9FFo/E0DeqLpr1y4sX74c06dPBwDTSHj//v3N+iYkJCArK8vmhyKDwYA7d+6w+CZyQpx2QkQOzWg0okePHhg5ciQAYO/evQ/9GtameeSMVo8aNQrZ2dlW/2RlZZmtpGE0GjFixAicPHkSf/31FzZt2oSuXbtiy5YtaN++PdLT0019X3zxRWzduhVJSUk4dOgQPvzwQ/z111/o3bu36TX79+9vcc4//vjjgdfj5uaGoUOH4rXX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",
|
||
"text/plain": [
|
||
"PyPlot.Figure(PyObject <matplotlib.figure.Figure object at 0x7f7eba87ab10>)"
|
||
]
|
||
},
|
||
"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 = 2000.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",
|
||
"for i=1:steps\n",
|
||
" # Actual calculation\n",
|
||
" dϵ = reshape(ϵ_tot[i, :, :], (6, 1)) - ϵ_last\n",
|
||
" p, X, σ, ϵᵖ = calculate_stress(dϵ, σ, C, p, X, R, fX, ϵᵖ)\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": []
|
||
},
|
||
{
|
||
"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
|
||
}
|