Modelli e metodi computazionali per leghe a memoria di forma Napoli, Luglio 2008 Introduction to computational methods for 1D inelastic material behaviors Ferdinando Auricchio 1 2 3 1 Dipartimento di Meccanica Strutturale, Università di Pavia, Italy 2 European School for Advanced Studies in Reduction of Seismic Risk, Pavia, Italy 3 Istituto di Matematica Applicata e Tecnologie Informatiche, CNR, Italy July 14, 2008 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 1 / 43
Inelastic constitutive models Elastic material: material for which strain depends only on stress Inelastic material: material for which strain depends on stress and possibly on other quantities F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 2 / 43
Inelastic constitutive models Elastic material: material for which strain depends only on stress Inelastic material: material for which strain depends on stress and possibly on other quantities Limit our consideration to 1D problems (scalar eqns.) Elastic material ɛ = f (σ) Inelastic material ɛ = f (σ, ξ) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 2 / 43
Inelastic constitutive models Elastic material: material for which strain depends only on stress Inelastic material: material for which strain depends on stress and possibly on other quantities Limit our consideration to 1D problems (scalar eqns.) Elastic material ɛ = f (σ) Inelastic material ɛ = f (σ, ξ) For inelastic material ξ is an extra problem variable (internal variable), hence it requires a new equation (often in evolutive form) Elastic material Inelastic material ɛ = f (σ) { ɛ = f (σ, ξ) ξ = g(σ, ξ) Internal variable: variable which cannot be measured externally F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 2 / 43
Inelastic constitutive models I Standard assumption: additive strain decomposition into elastic and inelastic contribution { ε e = ε e (σ) ε = ε e + ε i with ε i = ε ε e (σ) The latter equation is the inelastic strain definition In the case of linear response for the elastic component ε e = σ E with E constant parameter characterizing the material elastic response F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 3 / 43
Standard visco-elastic model I GOAL: develop a model showing inelastic strain evolution & rate-dependency F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 4 / 43
Standard visco-elastic model I Internal-variable evolutionary equation: ε i = 1 η σ 1 λ εi (1) with η: viscosity parameter λ: internal characteristic time Full model: ε = ε e + ε i ε e = σ E ε i = 1 η σ 1 λ εi which can be condensed as follows σ = E (ε ε i) ε i = 1 η σ 1 λ εi F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 5 / 43
Standard visco-elastic model I We may consider two types of loading histories Strain control Stress control [input] given ε = ε(t) [input] given σ = σ(t) [output] compute σ(t), ε i (t) [output] compute ε(t), ε i (t) Analytical approaches (closed form solutions): consider either strain or stress controlled loading histories. Clearly, one of the other can be easier to solve Numerical approaches (approximated solutions): in general consider strain as indipendent variable Consider time interval of interest [0, T] and subdivide it in sub-intervals Indicated generic time sub-interval as [t n,t n+1 ] Consider known all quantities at t n as well as independent variable at time t n+1. Dependent variable at time t n+1 should be computed. For simplicity in a time-discrete numerical frame quantities at t n are indicated with the subscript n, while quantities at t n+1 are indicated with no subscript F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 6 / 43
Standard visco-elastic model: numerical solution Strain control: given ε n, ε i n, σ n as well as ε [ε = ε(t n+1)], compute σ [output] and ε i Stress control: given ε n, ε i n, σ n as well as σ ext [σ ext = σ ext (t n+1)], compute ε [output] and ε i such that R(ε) = σ(ε) σ ext = 0 (2) Equation 2 interpreted as equilibrium condition, solved in general with an iterative Newton method, using update formula do while R(ε k ) not equal 0 [ ] dr(ε) ε k+1 = ε k 1 dε R(ε k ) ε k ε k = ε k+1 end do dr(ε)/dε: algorithmically consistent tangent operator quadratic convergence Note that from Equation 2 dr(ε) dε = dσ(ε) dε = E T = tangent modulus F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 7 / 43
Standard visco-elastic model F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 8 / 43
Visco-elastic model: analytical solution Assign a stress loading history σ = σ(t) Possible to integrate internal variable rate-equation ε i = 1 η σ 1 λ εi Set initial time t = and ε i = 0 Through integration obtain ε i (t) = λ η t [ ( t τ ) ] exp σ(τ) dτ (3) λ F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 9 / 43
Visco-elastic model: analytical solution Consider now some specific stress loading histories: Viscosity test or creep test Constant load starting at t = 0 { σ(t) = 0 for t < 0 Solving Equation 3 we obtain σ(t) = σ = const. for t 0 ε i (t) = λ [ {1 η σ exp t ]} λ for t > 0 Possible now to compute σ-ε relation ε = ε e + ε i con ε e = 1 E σ ε i = λ {1 η σ exp [ t ]} λ from which ε = σ E + λ [ {1 η σ exp t ]} λ {[ 1 = σ E + λ ] λη [ η exp t ]} λ F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 10 / 43
Standard visco-elastic model I We can now consider the resulting strain history ε i 0 For small time values [t 0 + ] ε e = 1 E σ ε ε e ε i 1 η σ For large time values [t + ] ε e = 1 E σ At t = 0 elastic response with modulus E At t = + elastic response with relaxed modulus E = 1 1 E + λ η ε ε e + ε i = ( 1 E + λ ) σ η F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 11 / 43
Visco-elastic model Maxwell model: elastic spring and viscous damper in series Kelvin model: elastic spring and viscous damper in parallel Standard visco-elastic model: elastic spring and viscous damper in parallel + elastic spring in series (analyzed model) More complex spring-dashpot combinations F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 12 / 43
Standard visco-elastic model: numerical treatment Time-continuous model σ = E(ε ε i ) ε i = 1 η σ 1 λ εi Time-discrete model Compute stress history from strain history by an integration technique (strain driven problem) Thus, knowing strain ε at t n+1 and solution at t n [i.e. (σ n, ε n, ε i n )], need to compute solution at time t n+1 [i.e. (σ, ε i )] Discrete solution Time-integration + solution algorithm F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 13 / 43
Standard visco-elastic model Time-integration Use implicit Backward Euler formula σ = E(ε ε i ) ε i ε i n = 1 t η σ 1 (4) λ εi where t = t n+1 t n Solution algorithm Since model is linear, no special algorithm is required Combining Equation 4, inelastic strain ε i results as a function of previous solution and current strain (consistent with definition of strain-driven process): ] ε i = α [ε i n + βε where: [ ( E α = 1 + η + 1 ) ] 1 t, β = E λ η t Once updated the inelastic strain, possible to use Equation 4 1 to update the stress F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 14 / 43
Standard visco-elastic model Tangent modulus and Accordingly dσ = Edε Edε i dε i = αβdε E T = E(1 αβ) Exercise. Develop a matlab code in which: 1) assign a strain history [0, ε max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem 4) plot stress and inelastic strain versus time. Exercise. Develop a matlab code in which: 1) assign a stress history [0, σ max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem such to satisfy Equation 2 4) plot stress and inelastic strain versus time. Exercise. Test the visco-elastic model for slow and fast loading histories. Exercise. Extend the first two exercises to piecewise linear loading histories. Exercise. Test the visco-elastic model for loading histories with changing rates. F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 15 / 43
Standard visco-plastic model I GOAL: develop a rate-dependent model, inelastic only for high stress values (threshold) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 16 / 43
Standard visco-plastic model Internal-variable evolutionary equation: ε i = 1 σ σy η with η: viscosity parameter σ y: yielding stress Limiting discussion to σ > 0!! < x >= { x if x > 0 0 if x < 0 Full model ε = ε e + ε i ε e = σ E ε i = 1 σ σy η which can be condensed as follows σ = E (ε ε i) ε i = 1 σ σy η F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 17 / 43
Standard visco-plastic model Fundamental difference wrt visco-elastic model: yield (limit) function F defined as F = σ σ y Two possible situations: If F < 0 (i.e. σ < σ y) then ε i = 0 If F > 0 (i.e. σ > σ y) then ε i 0 ELASTIC CASE INELASTIC CASE F is a function classically defined in stress space Generalization to remove limitation σ > 0 ε i = 1 η σ σy σ σy σ σ y for any σ F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 18 / 43
Standard visco-plastic model One-dimensional case Extension to three-dimensional case F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 19 / 43
Standard visco-plastic model: numerical solution Time-continuous model σ = E(ε ε i ) ε i = 1 σ σy η Time-discrete model Compute stress history from strain history by an integration technique (strain driven problem) Thus, knowing strain ε at t n+1 and solution at t n [i.e. (σ n, ε n, ε i n)], compute solution at time t n+1 [i.e. (σ, ε i )] Discrete solution Time-integration + solution algorithm F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 20 / 43
Standard visco-plastic model: numerical solution I Time-integration Use implicit Backward Euler formula σ = E(ε ε i ) ε i ε i n = 1 t η σ σy (5) where t = t n+1 t n Solution algorithm Since non-linear model (difference!!), need to develop a special algorithm (predictor-corrector) 1 Assume elastic step (i.e. σ < σ y) 2 Update variables 3 Verify position 1 4 If test 3 satisfied, then solution is elastic, otherwise plastic step F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 21 / 43
Standard visco-plastic model: numerical solution I Focus only step 4: σ = E(ε ε i ) ε i ε i n = 1 t η (σ σy) (6) Combining Equation 6, inelastic strain ε i results as a function of previous solution and current strain (consistent with definition of strain-driven process): [ ] ε i = α ε i n + βε + γ (7) where: α = [ 1 + E t ] 1, β = E t η η, γ = σy t η Once updated inelastic strain, use Equation 6 2 to update stress F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 22 / 43
Standard visco-plastic model: numerical solution I Tangent modulus Elastic response Accordingly Visco-plastic response and Accordingly dσ = Edε E T = E dσ = Edε Edε i dε i = αβdε E T = E(1 αβ) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 23 / 43
Standard visco-plastic model Exercise. Develop a matlab code in which: 1) assign a strain history [0, ε max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem 4) plot stress and inelastic strain versus time. Exercise. Develop a matlab code in which: 1) assign a stress history [0, σ max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem such to satisfy Equation 2 4) plot stress and inelastic strain versus time. Exercise. Test the visco-plastic model for slow and fast loading histories. Exercise. Extend the first two exercises to piecewise linear loading histories. Exercise. Test the visco-plastic model for loading histories with changing rates. F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 24 / 43
Plastic model GOAL: develop rate-independent model, inelastic only for high stress values (threshold) Perfect plasticity to start with! F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 25 / 43
Plasticity model Internal-variable evolutionary equation: ε i = γ σ σ with classical Kuhn-Tucker consistency conditions γ 0 F 0 γf = 0 γḟ = 0 (8) where γ consistency parameter and F = F(σ) yield (limit) function Model is rate-independent (indicated also by adopted notation) Only admissable situations: F(σ) < 0 and F(σ) = 0 Non admissable situation: F(σ) > 0 Model valid for σ > 0 and σ < 0 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 26 / 43
Plasticity model Full model: Condensed model: σ = E (ε ε i) ε i = γ σ σ ε = ε e + ε i ε e = σ E ε i = γ σ σ γ 0 F 0 γf = 0 γḟ = 0 + { γ 0, F(σ) 0 γf = 0, γḟ = 0 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 27 / 43
Plasticity model Fundamental difference wrt visco-elastic model: presence of yield (limit) function F Fundamental difference wrt visco-plastic model: F > 0 is non admissable A possible choice for the yield function: F = σ σ y Possible situations If F < 0, i.e. σ < σ y, then γ = 0, hence ε i = 0 [ γf = 0] Elastic case If F = 0, i.e. σ = σ y, then γ 0 depending on Ḟ 0 [ γḟ = 0] If Ḟ < 0 then γ = 0, hence εi = 0 Inelastic case - unloading If Ḟ = 0 and γ = 0, then εi = 0 Inelastic case - neutral loading If Ḟ = 0 and γ > 0, then εi 0 Inelastic case - loading F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 28 / 43
Plasticity model One-dimensional case Extension to three-dimensional case F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 29 / 43
Plasticity model: numerical solution Time-continuous model σ = E(ε ε i ) ε i = γ σ σ { γ 0, F 0 γf = 0, γḟ = 0 Time-discrete model Compute stress history from strain history (strain driven problem) Thus, knowing strain ε at t n+1 and solution at t n [i.e. (σ n, ε n, ε i n )], compute solution at time t n+1 [i.e. (σ, ε i )] (time marching algorithm) Discrete solution Time-integration + solution algorithm F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 30 / 43
Plasticity model: numerical solution Time-integration Evaluate algebraic equation at t n+1 and use implicit Backward Euler formula on rate equation σ = E(ε ε i ) ε i ε i n = λ σ (9) σ where tn+1 λ = t γdt t n t = t n+1 t n and { λ 0, F 0 λf = 0, λ(f F n) = 0 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 31 / 43
Plasticity model: numerical solution Solution algorithm: since non-linear model (difference!!), need to develop a special algorithm (predictor-corrector) 1 Assume elastic step 2 Compute elastic trial state 3 Verify position 1 4 If test 3 satisfied, then solution is elastic, otherwise assume plastic step 1. Assume elastic step λ = 0 2. Compute trial state { σ TR = E(ε ε i n) 3. Verify position 1 ε i,tr = ε i n if σ TR < σ y then step elastic update variables exit if σ TR > σ y then step plastic procede (10) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 32 / 43
Plasticity model: numerical solution 4. Plastic step Observe parallelism hence σ = σ TR Eλ σ σ Compute consistency parameter σ = σ TR Eλ σ σ = σtr σ TR F = 0 λ = σtr σ y E Update plastic strain Update stress ε i = ε i n + λ σtr σ TR σ = E(ε ε i ) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 33 / 43
Plasticity model: numerical solution Tangent modulus Elastic response Accordingly dσ = Edε E T = E Plastic response and dσ = Edε Edε i dε i = dλ σtr σ TR Linearization of discrete consistency parameter computed linearing yield condition: Accordingly df = 0 Edε Edλ = 0 E T = 0 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 34 / 43
Plasticity model Exercise. Develop a matlab code in which: 1) assign a strain history [0, ε max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem 4) plot stress and inelastic strain versus time. Exercise. Develop a matlab code in which: 1) assign a stress history [0, σ max] in a time interval [0, T max]; 2) subdivide time interval [0, T max] in subintervals of length t; 3) for each time istant solve constitutive problem such to satisfy Equation 2 4) plot stress and inelastic strain versus time. Exercise. Test the plastic model for slow and fast loading histories. Exercise. Extend the first two exercises to piecewise linear loading histories. Exercise. Test the plastic model for loading histories with changing rates. F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 35 / 43
Plastic model with hardening GOAL: extend perfect plasticity model Include some simple hardening mechanics! F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 36 / 43
Plasticity model: linear isotropic and kinematic hardening Time-continuous model σ = E(ε ε p ) Σ = σ α F = Σ σ y σ y = σ y + H ie p α = H k ε p ε i = γ F Σ ė p = γ with standard Kuhn-Tucker conditions { γ 0, F 0 γf = 0, γḟ = 0 Material parameters: E, σ y, H i, H k F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 37 / 43
Plasticity model: linear isotropic and kinematic hardening Time-discrete model Compute stress history from strain history (strain driven problem) Thus, knowing strain ε at t n+1 and solution at t n [i.e. (σ n, ε n, ε i n)], compute solution at time t n+1 [i.e. (σ, ε i )] (time marching algorithm) Discrete solution Time-integration + solution algorithm F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 38 / 43
Plasticity model: numerical solution Time-integration Evaluate algebraic equation at t n+1 and use implicit Backward Euler formula on rate equation σ = E(ε ε p ) Σ = σ α F = Σ σ y σ y = σ y + H ie p α = H k ε p where ε i ε i n = λ Σ Σ e p = λ tn+1 λ = t γdt t n t = t n+1 t n and { λ 0, F 0 λf = 0, λ(f F n) = 0 F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 39 / 43
Plasticity model: numerical solution Solution algorithm: since non-linear model (difference!!), need to develop a special algorithm (predictor-corrector) 1 Assume elastic step 2 Compute elastic trial state 3 Verify position 1 4 If test 3 satisfied, then solution is elastic, otherwise assume plastic step 1. Assume elastic step 2. Compute trial state λ = 0 ε p,tr = ε p n α TR = α n e p,tr = en p σ TR = E(ε εn p,tr ) Σ TR = σ TR α p,tr σy TR = σ y + H ie p,tr F TR = Σ TR F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 40 / 43
Plasticity model: numerical solution 3. Verify position 1 if F TR < 0 then step elastic update variables exit if F TR > 0 then step plastic procede F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 41 / 43
Plasticity model: numerical solution 4. Plastic step Observe parallelism hence Σ = Σ TR (E + H k ) λ Σ Σ Compute consistency parameter Σ = Σ TR (E + H k ) λ Σ Σ = ΣTR Σ TR F = 0 λ = ΣTR σ y E + H i + H k Update plastic strain Update stress Update other variables ε i = ε i n + λ σtr σ TR σ = E(ε ε i ) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 42 / 43
Plasticity model: numerical solution Tangent modulus Elastic response Accordingly dσ = Edε E T = E Plastic response and dσ = Edε Edε i dε i = dλ ΣTR Σ TR Linearization of discrete consistency parameter computed linearing yield condition: Accordingly df = 0 Edε (E + H k )dλ H i dλ = 0 ( E T = E 1 E E + H i + H k ) F.Auricchio (DMS - ROSE - IMATI) Computational inelasticity July 14, 2008 43 / 43