You are on page 1of 32

CHAPTER EIGHT

Material Nonlinearity

Mathematica implementation 8.1: Axially loaded bars with


kinematic and isotropic hardening

MatlabFiles\Chap08\IsotropicHardening.m
2

function [snew, enew, status, newep] = IsotropicHardening(e, et, h, sY,...


de, sigma, eps, yieldStatus, ep)
% function [snew, enew, status, newep] = IsotropicHardening(e, et, sY,...
% de, sigma, eps, yieldStatus, ep)
% Axial bar state determination with isotropic hardening
% e = Elastic modulus
% et = Tangent modulus
% sY = Yield stress
% de = Strain increment
% sigma = Current stress
% eps = Current strain
% yieldStatus = Current yield status (0: elastic, 1: yielded)
% ep = Current accumulated plastic strain
status=yieldStatus; R = 1; ds = e*de;
s = sigma + ds; syc = sY + h*ep;
switch (yieldStatus)
case {0}
if abs(s) > syc
status = 1;
R = (syc - abs(sigma))/(abs(s) - abs(sigma));
end
case {1}
if sigma*ds < 0
status=0;
else
R=0;
end
end
snew = sigma + R*ds + et*(1 - R)*de;
newep = ep + (1 - R)*de/(1 + (h/e));
enew = eps + de;
end % IsotropicHardening

MatlabFiles\Chap08\KinematicHardening.m
3

function [snew, enew, status, newep] = KinematicHardening(e, et, h, sY,...


de, sigma, eps, yieldStatus, ep)
% function [snew, enew, status, newep] = KinematicHardening(e, et, sY,...
% de, sigma, eps, yieldStatus, ep)
% Axial bar state determination with kinematic hardening
% e = Elastic modulus
% et = Tangent modulus
% sY = Yield stress
% de = Strain increment
% sigma = Current stress
% eps = Current strain
% yieldStatus = Current yield status (0: elastic, 1: yielded)
% ep = Current accumulated plastic strain
status=yieldStatus; R = 1; ds = e*de;
s = sigma + ds; a = h*ep;
switch (yieldStatus)
case {0}
if abs(s - a) > sY
status = 1;
R = (sY - abs(sigma - a))/(abs(s) - abs(sigma - a));
end
case {1}
if sigma*ds < 0
status=0;
else
R=0;
end
end
snew = sigma + R*ds + et*(1 - R)*de;
newep = ep + (1 - R)*de/(1 + (h/e));
enew = eps + de;
end % KinematicHardening

MatlabFiles\Chap08\InelasticBarTangentEqns.m
4

function [ke, re] = InelasticBarTangentEqns(e, et, status, L, q, a)


% function [ke, re] = InelasticBarTangentEqns(e, et, status, L, q, a)
% Axial bar tangent equations
% e = Elastic modulus
% et = Tangent modulus
% status = Current yield status (0: elastic, 1: yielded)
% L = Bar length
% q = axial distributed load
% a = Area of cross section
if status == 1
cep = et;
else
cep = e;
end
ke = cep*a/L * [1, -1; -1, 1];
re = q*L/2 * [1; 1];
end % InelasticBarTangentEqns

MatlabFiles\Chap08\InelasticBarState.m
5

function [ri, snew, enew, newStatus, newep] = InelasticBarState(disps,...


L, a, e, et, H, sY, type, sigma, eps, status, ep)
% function [ri, snew, enew, newStatus, newep] = InelasticBarState(disps,...
% L, a, e, et, sY, type, sigma, eps, status, ep)
% Axial bar state determination
% disps = nodal displacements
% L = Bar length
% a = Area of cross section
% e = Elastic modulus
% et = Tangent modulus
% sY = Yield stress
% type = Strain hardening type (1: Kinematic, 2: Isotropic)
% sigma = Current stress
% eps = Current strain
% status = Current yield status (0: elastic, 1: yielded)
% ep = Current accumulated plastic strain
de = (1/L)* [-1, 1]* disps;
if type == 1
[snew, enew, newStatus, newep] = KinematicHardening(e, et, H, sY,...
de, sigma, eps, status, ep);
else
[snew, enew, newStatus, newep] = IsotropicHardening(e, et, H, sY,...
de, sigma, eps, status, ep);
end
p = a*snew;
ri = [-p; p];
end % InelasticBarState

à Example 8.1: Two bars in parallel p. 399


Bar 1: A = 0.75 in2 , E = 10000 ksi, H = 1000 ksi, sY = 5 ksi, Isotropic Hardening

Bar 2: A = 1.25 in2 , E = 5000 ksi, H = 700 ksi, sY = 7.5 ksi, Kinematic Hardening
6

Bar 1
u1 u2
Rigid P P
100
Bar 2
100 in

MatlabFiles\Chap08\TwoBarEx81.m

% Example 8.1: Two bars in parallel


lmm = [1, 2; 1, 2]; L = [100., 100.];
q = [0, 0];
dof = 2; nel = 2; P = 15;
debc = [1]; ebcVals=zeros(length(debc),1);
df = [2];
loadFactors = [1, 0];
A = [0.75, 1.25];
e = [10000, 5000]; H = [1000, 700]; et=[0, 0];
for i=1:2
et(i) = e(i)*(1 - e(i)/(e(i) + H(i)));
end
sY = [5, 7.5];
type = [2, 1];
sigma = [0,0]; eps = [0,0]; ep = [0,0];
snew = [0,0]; enew = [0,0]; newep = [0,0];
status=[0,0]; nstatus = [0,0];
d = [0; 0];
dd = zeros(dof,1); Ri=zeros(dof,1);
for step=1:length(loadFactors)
lambda = loadFactors(step);
fprintf(1,'**************************** \n')
fprintf(1,'Current load parameter: %4.2g \n', lambda)
fprintf(1,'**************************** \n')
conv = 1; iter = 1; tol = 0.01; d = d + dd;
dd = zeros(dof,1);
for i=1:nel
sigma(i)=snew(i);
eps(i)=enew(i);
7

eps(i)=enew(i);
status(i)=nstatus(i);
ep(i)=newep(i);
end
while conv > tol & iter < 10
fprintf(1,'Iteration: %3d \n', iter)
KT = zeros(dof); R = zeros(dof,1); R(2) = lambda*P;
for i=1:nel
lm = lmm(i,:);
[k, r] = InelasticBarTangentEqns(e(i), et(i), nstatus(i), ...
L(i), lambda*q(i), A(i));
KT(lm, lm) = KT(lm, lm) + k;
R(lm) = R(lm) + r;
end
KT
R
Ri
% Nodal solution and reactions
[ddd, reactions] = NodalSoln(KT, -Ri+R, debc, ebcVals);
dd = dd + ddd;
Ri=zeros(dof,1);
fprintf(1,'Solution of incremental equations: \n')
disp(ddd')
fprintf(1,'Nodal solution increment in this load step: \n')
disp(dd')
fprintf(1,'Total nodal values: \n')
disp((d+dd)')
for i=1:nel
lm = lmm(i,:);
[ri, snew(i), enew(i), nstatus(i), newep(i)]= ...
InelasticBarState(dd(lm), L(i), A(i), e(i), et(i),...
H(i), sY(i), type(i), sigma(i), eps(i), status(i), ep(i));
Ri(lm) = Ri(lm) + ri;
end
fprintf(1,'Element status: \n')
disp(nstatus)
Rf = R(df); Ff = -Ri(df) + Rf;
conv = (Ff'*Ff)/(1 + Rf'*Rf);
fprintf(1,'Convergence parameter: %4.2g \n', conv)
iter = iter + 1;
8

iter = iter + 1;
end
end

>> TwoBarEx81
****************************
Current load parameter: 1
****************************
Iteration: 1

KT =

137.5000 -137.5000
-137.5000 137.5000

R=

0
15

Ri =

0
0

Solution of incremental equations:


0 0.1091

Nodal solution increment in this load step:


0 0.1091

Total nodal values:


0 0.1091

Element status:
1 0

Convergence parameter: 0.072


Iteration: 2

KT =

69.3182 -69.3182
-69.3182 69.3182
9

R=

0
15

Ri =

-10.9711
10.9711

Solution of incremental equations:


0 0.0581

Nodal solution increment in this load step:


0 0.1672

Total nodal values:


0 0.1672

Element status:
1 1

Convergence parameter: 0.0039


****************************
Current load parameter: 0
****************************
Iteration: 1

KT =

14.4936 -14.4936
-14.4936 14.4936

R=

0
0

Ri =

-14.0563
14.0563
10

Solution of incremental equations:


0 -0.9698

Nodal solution increment in this load step:


0 -0.9698

Total nodal values:


0 -0.8026

Element status:
0 0

Convergence parameter: 1.4e+004


Iteration: 2

KT =

137.5000 -137.5000
-137.5000 137.5000

R=

0
0

Ri =

119.2949
-119.2949

Solution of incremental equations:


0 0.8676

Nodal solution increment in this load step:


0 -0.1022

Total nodal values:


0 0.0650

Element status:
0 0

Convergence parameter: 5e-029


11

Mathematica implementation 8.2: Axially loaded bars with


Ramberg-Osgood model

MatlabFiles\Chap08\RambergOsgood.m

function [snew, enew, nstatus, newe0, news0] = RambergOsgood(e, sY, n, ...


de, sigma, eps, status, e0, s0)
% [snew, enew, status, newe0, news0] = RambergOsgood(e, sY, n, ...
% de, sigma, eps, status, e0, s0)
% Axial bar state determination with isotropic hardening
% e = Elastic modulus
% sY = Yield stress
% n = Ramberg-Osgood parameter
% de = Strain increment
% sigma = Current stress
% eps = Current strain
% status = Current status (0: loading, 1: unloading)
% e0, s0 = Strain and stress at previous unloading
nstatus=status;
newe0=0; news0=0;
switch (status)
case {0}
if de < 0
nstatus = 1;
newe0=eps; news0=sigma;
end
case {1}
if de > 0
nstatus = 0;
newe0=eps; news0=sigma;
end
otherwise
newe0=0; news0=0;
if de < 0
12

if de < 0
nstatus = 1;
else
nstatus = 0;
end
end
enew = eps + de;
fcn = @(s)-(enew - newe0) + (s - news0)/e + (3/7)*((sY + ...
abs(news0))/e)*((s - news0)/(sY + abs(news0)))^n;
snew = fzero(fcn,sigma);
end % RambergOsgood

MatlabFiles\Chap08\RambergOsgoodBarTangentEqns.m

function [ke, re] = RambergOsgoodBarTangentEqns(s, e, sY, n, s0, L, q, a)


% function [ke, re] = RambergOsgoodBarTangentEqns(s, e, sY, n, s0, L, q, a)
% Axial bar equations with RambergOsgood model
% e, sY, n = Ramberg Osgood parameters
% s0 = Stress at previous unloading
% s = current stress
% L = Bar length
% q = axial distributed load
% a = Area of cross section
cep = e/(1 + (3/7)*n *((s - s0)/(sY + abs(s0)))^(n - 1));
ke = cep*a/L * [1, -1; -1, 1];
re = q*L/2 * [1; 1];
end % RambergOsgoodBarTangentEqns

MatlabFiles\Chap08\RambergOsgoodBarState.m
13

function [ri, snew, enew, nstatus, news0, newe0]=RambergOsgoodBarState(...


disps, L, a, e, sY, n, sigma, eps, status, s0, e0)
% [ri, snew, enew, ntatus, news0, newe0]=RambergOsgoodBarState(...
% disps, L, a, e, sY, n, sigma, eps, status, s0, e0)
% Axial bar state determination with RambergOsgood model
% disps = nodal displacements
% L = Bar length
% a = Area of cross section
% e, sY, n = Ramberg Osgood parameters
% sigma = Current stress
% eps = Current strain
% status = Current status (0: loading, 1: unloading)
% s0, e0 = Stress and strain at previous unloading
de = (1/L)* [-1, 1]* disps;
[snew, enew, nstatus, newe0, news0] = RambergOsgood(e, sY, n, ...
de, sigma, eps, status, e0, s0);
p = a*snew;
ri = [-p; p];
end % RambergOsgoodBarState

à Example 8.2: Two bars assembly p. 415


Aluminum: E = 10, 000 ksi, n = 7, sY = 10 ksi

Steel: E = 29, 000 ksi, n = 11, sY = 60 ksi

Aluminum Steel
A = 1 in2 A = 2 in2

1 P 2 3

15 in 10 in

MatlabFiles\Chap08\TwoBarEx82.m

% Example 8.2: Two bars assembly


lmm = [1, 2; 2,3]; L = [15., 10.];
14

lmm = [1, 2; 2,3]; L = [15., 10.];


q = [0, 0];
dof = 3; nel = 2; P = 100;
debc = [1,3]; ebcVals=zeros(length(debc),1);
df = [2];
loadFactors = [1, 0];
A = [1, 2];
e = [10000, 29000]; n = [7, 11]; sY=[10, 60];
sigma = [0,0]; eps = [0,0]; e0 = [0,0];
snew = [0,0]; enew = [0,0]; s0 = [0,0];
news0=[0,0]; newe0=[0,0];
status=[0,0]; nstatus = [0,0];
d = zeros(dof,1);
dd = zeros(dof,1); Ri=zeros(dof,1);
for step=1:length(loadFactors)
lambda = loadFactors(step);
fprintf(1,'**************************** \n')
fprintf(1,'Current load parameter: %4.2g \n', lambda)
fprintf(1,'**************************** \n')
conv = 1; iter = 1; tol = 0.01; d = d + dd;
dd = zeros(dof,1);
for i=1:nel
sigma(i)=snew(i);
eps(i)=enew(i);
status(i)=nstatus(i);
s0(i)=news0(i);
e0(i)=newe0(i);
end
while conv > tol & iter < 10
fprintf(1,'Iteration: %3d \n', iter)
KT = zeros(dof); R = zeros(dof,1); R(2) = lambda*P;
for i=1:nel
lm = lmm(i,:);
[k, r] = RambergOsgoodBarTangentEqns(snew(i), e(i), sY(i),...
n(i), news0(i), L(i), lambda*q(i), A(i));
KT(lm, lm) = KT(lm, lm) + k;
R(lm) = R(lm) + r;
end
KT
R
15

R
Ri
% Nodal solution and reactions
[ddd, reactions] = NodalSoln(KT, -Ri+R, debc, ebcVals);
dd = dd + ddd;
Ri=zeros(dof,1);
fprintf(1,'Solution of incremental equations: \n')
disp(ddd')
fprintf(1,'Nodal solution increment in this load step: \n')
disp(dd')
fprintf(1,'Total nodal values: \n')
disp((d+dd)')
for i=1:nel
lm = lmm(i,:);
[ri, snew(i), enew(i), nstatus(i), news0(i), newe0(i)]= ...
RambergOsgoodBarState(dd(lm), L(i), A(i), e(i), sY(i), ...
n(i), sigma(i), eps(i), status(i), s0(i), e0(i));
Ri(lm) = Ri(lm) + ri;
end
fprintf(1,'Element status: \n')
disp(nstatus)
Rf = R(df); Ff = -Ri(df) + Rf;
conv = (Ff'*Ff)/(1 + Rf'*Rf);
fprintf(1,'Convergence parameter: %4.2g \n', conv)
iter = iter + 1;
end
end

>> TwoBarEx82
****************************
Current load parameter: 1
****************************
Iteration: 1

KT =

1.0e+003 *

0.6667 -0.6667 0
-0.6667 6.4667 -5.8000
0 -5.8000 5.8000
16

R=

0
100
0

Ri =

0
0
0

Solution of incremental equations:


0 0.0155 0

Nodal solution increment in this load step:


0 0.0155 0

Total nodal values:


0 0.0155 0

Element status:
0 1

Convergence parameter: 0.0011


****************************
Current load parameter: 0
****************************
Iteration: 1

KT =

1.0e+003 *

0.2901 -0.2901 0
-0.2901 5.0759 -4.7857
0 -4.7857 4.7857

R=

0
0
0
17

Ri =

-8.6967
96.6921
-87.9953

Solution of incremental equations:


0 -0.0190 0

Nodal solution increment in this load step:


0 -0.0190 0

Total nodal values:


0 -0.0036 0

Element status:
1 0

Convergence parameter: 6.8e+002


Iteration: 2

KT =

1.0e+003 *

0.5374 -0.5374 0
-0.5374 6.2893 -5.7519
0 -5.7519 5.7519

R=

0
0
0

Ri =

3.5810
-25.9882
22.4073

Solution of incremental equations:


18

0 0.0041 0

Nodal solution increment in this load step:


0 -0.0149 0

Total nodal values:


1.0e-003 *

0 0.5467 0

Element status:
1 0

Convergence parameter: 0.1


Iteration: 3

KT =

1.0e+003 *

0.6264 -0.6264 0
-0.6264 6.4221 -5.7958
0 -5.7958 5.7958

R=

0
0
0

Ri =

1.1576
0.3235
-1.4810

Solution of incremental equations:


1.0e-004 *

0 -0.5036 0

Nodal solution increment in this load step:


0 -0.0150 0
19

Total nodal values:


1.0e-003 *

0 0.4963 0

Element status:
1 0

Convergence parameter: 4.8e-010

Mathematica implementation 8.3: Truss with kinematic and


isotropic hardening

MatlabFiles\Chap08\InelasticTrussTangentEqns.m
20

function [ke, re] = InelasticTrussTangentEqns(e, et, status, coord, A)


% function [ke, re] = InelasticTrussTangentEqns(s, e, sY, n, s0, L, q, a)
% Axial bar tangent equations
% e = Elastic modulus
% et = Tangent modulus
% status = Current yield status (0: elastic, 1: yielded)
% A = area of cross-section
% coord = coordinates at the element ends
x1=coord(1,1); y1=coord(1,2);
x2=coord(2,1); y2=coord(2,2);
L=sqrt((x2-x1)^2+(y2-y1)^2);
ls=(x2-x1)/L; ms=(y2-y1)/L;
if status == 1
cep = et;
else
cep = e;
end
ke = cep*A/L*[ls^2, ls*ms,-ls^2,-ls*ms;
ls*ms, ms^2,-ls*ms,-ms^2;
-ls^2,-ls*ms,ls^2,ls*ms;
-ls*ms,-ms^2,ls*ms,ms^2];
re = zeros(4,1);
end % InelasticTrussTangentEqns

MatlabFiles\Chap08\InelasticTrussState.m
21

function [ri, snew, enew, nstatus, newep]=InelasticTrussState(...


disps, coord, A, e, et, H, sY, type, sigma, eps, status, ep)
% [ri, snew, enew, nstatus, newep]=InelasticTrussState(...
% disps, coord, A, e, et, h, sY, type, sigma, eps, status, ep)
% Truss element state determination
% disps = nodal displacements
% coord = coordinates at the element ends
% A = Area of cross section
% e = Elastic modulus
% et = Tangent modulus
% sY = Yield stress
% type = Strain hardening type (1: Kinematic, 2: Isotropic)
% sigma = Current stress
% eps = Current strain
% status = Current yield status (0: elastic, 1: yielded)
% ep = Current accumulated plastic strain
x1=coord(1,1); y1=coord(1,2);
x2=coord(2,1); y2=coord(2,2);
L=sqrt((x2-x1)^2+(y2-y1)^2);
ls=(x2-x1)/L; ms=(y2-y1)/L;
T = [ls, ms, 0, 0; 0, 0, ls, ms];
de = (1/L)* [-1, 1]* (T*disps);
if type == 1
[snew, enew, nstatus, newep] = KinematicHardening(e, et, H, sY,...
de, sigma, eps, status, ep);
else
[snew, enew, nstatus, newep] = IsotropicHardening(e, et, H, sY,...
de, sigma, eps, status, ep);
end
p = A*snew;
ri = T' * [-p; p];
end % InelasticTrussState
22

à Example 8.3: Four bar truss p. 427


E = 200 GPa, sY = 150 MPa, and H = 10 GPa.

For elements 1 and 2 assume kinematic hardening material with area of cross section A = 0.0004 m 2 . For
the rest use an isotropic hardening model with area of cross section A = 0.0002 m2 . The load P = 40 kN and
acts at an angle a = 60 ° at node 2.

3 3

2 P 4
4
1 3 P
a
2
0 2
1

HmL
-1 1

0 1 2 3 4 5

MatlabFiles\Chap08\FourBarTrussEx83.m

% Example 8.3: Four bar truss


nodes = 1000*[0, -1; 4, 0; 4, 3; 2, 2];
dof=2*length(nodes);
conn=[1,2; 1,4; 2,4; 2,3];
lmm = [1, 2, 3, 4; 1, 2, 7, 8; 3, 4, 7, 8; 3, 4, 5, 6];
elems=size(lmm,1);
dof = 8; nel = 4; P = 40000; alpha = 60*pi/180;
debc = [1, 2, 5, 6]; ebcVals=zeros(length(debc),1);
df = [3, 4, 7, 8];
loadFactors = [1, 0];
A = 1000^2*[0.0004, 0.0004, 0.0002, 0.0002];
e = [200000, 200000, 200000, 200000];
sY = [150, 150, 150, 150];
23

type = [2, 2, 1, 1];


H = [10000, 10000, 10000, 10000];
for i=1:nel
et(i) = e(i)*(1 - e(i)/(e(i) + H(i)));
end
sigma = [0,0,0,0]; eps = [0,0,0,0]; e0 = [0,0,0,0];
snew = [0,0,0,0]; enew = [0,0,0,0]; s0 = [0,0,0,0];
newep=[0,0,0,0];
status=[0,0,0,0]; nstatus = [0,0,0,0];
d = zeros(dof,1);
dd = zeros(dof,1); Ri=zeros(dof,1);
for step=1:length(loadFactors)
lambda = loadFactors(step);
fprintf(1,'**************************** \n')
fprintf(1,'Current load parameter: %4.2g \n', lambda)
fprintf(1,'**************************** \n')
conv = 1; iter = 1; tol = 0.01; d = d + dd;
dd = zeros(dof,1);
for i=1:nel
sigma(i)=snew(i);
eps(i)=enew(i);
status(i)=nstatus(i);
ep(i)=newep(i);
end
while conv > tol & iter < 10
fprintf(1,'Iteration: %3d \n', iter)
KT = zeros(dof); R = zeros(dof,1);
R(3) = lambda*P*sin(alpha);
R(4) = lambda*P*cos(alpha);
R(7) = -lambda*P;
for i=1:nel
lm = lmm(i,:);
con=conn(i,:);
[k, r] = InelasticTrussTangentEqns(e(i), et(i), nstatus(i),...
nodes(con,:), A(i));
KT(lm, lm) = KT(lm, lm) + k;
R(lm) = R(lm) + r;
end
KT
24

R
Ri
% Nodal solution and reactions
[ddd, reactions] = NodalSoln(KT, -Ri+R, debc, ebcVals);
dd = dd + ddd;
Ri=zeros(dof,1);
fprintf(1,'Solution of incremental equations: \n')
disp(ddd)
fprintf(1,'Nodal solution increment in this load step: \n')
disp(dd)
fprintf(1,'Total nodal values: \n')
disp(d+dd)
for i=1:nel
lm = lmm(i,:);
con=conn(i,:);
[ri, snew(i), enew(i), nstatus(i), newep(i)]= ...
InelasticTrussState(dd(lm), nodes(con,:), A(i), e(i),...
et(i), H(i), sY(i), type(i), sigma(i), ...
eps(i), status(i), ep(i));
Ri(lm) = Ri(lm) + ri;
end
fprintf(1,'Element status: \n')
disp(nstatus)
Rf = R(df); Ff = -Ri(df) + Rf;
conv = (Ff'*Ff)/(1 + Rf'*Rf);
fprintf(1,'Convergence parameter: %4.2g \n', conv)
iter = iter + 1;
end
end

>> FourBarTrussEx83
****************************
Current load parameter: 1
****************************
Iteration: 1

KT =

1.0e+004 *

Columns 1 through 6
25

2.5089 1.4806 -1.8262 -0.4565 0 0


1.4806 1.6502 -0.4565 -0.1141 0 0
-1.8262 -0.4565 2.5333 -0.2506 0 0
-0.4565 -0.1141 -0.2506 2.1546 0 -1.3333
0 0 0 0 0 0
0 0 0 -1.3333 0 1.3333
-0.6827 -1.0241 -0.7071 0.7071 0 0
-1.0241 -1.5361 0.7071 -0.7071 0 0

Columns 7 through 8

-0.6827 -1.0241
-1.0241 -1.5361
-0.7071 0.7071
0.7071 -0.7071
0 0
0 0
1.3898 0.3170
0.3170 2.2432

R=

1.0e+004 *

0
0
3.4641
2.0000
0
0
-4.0000
0

Ri =

0
0
0
0
0
0
0
0
26

Solution of incremental equations:


0
0
-0.1924
3.1005
0
0
-4.9497
1.7374

Nodal solution increment in this load step:


0
0
-0.1924
3.1005
0
0
-4.9497
1.7374

Total nodal values:


0
0
-0.1924
3.1005
0
0
-4.9497
1.7374

Element status:
0 0 1 1

Convergence parameter: 0.027


Iteration: 2

KT =

1.0e+004 *

Columns 1 through 6

2.5089 1.4806 -1.8262 -0.4565 0 0


1.4806 1.6502 -0.4565 -0.1141 0 0
-1.8262 -0.4565 1.8598 0.4229 0 0
27

-0.4565 -0.1141 0.4229 0.2113 0 -0.0635


0 0 0 0 0 0
0 0 0 -0.0635 0 0.0635
-0.6827 -1.0241 -0.0337 0.0337 0 0
-1.0241 -1.5361 0.0337 -0.0337 0 0

Columns 7 through 8

-0.6827 -1.0241
-1.0241 -1.5361
-0.0337 0.0337
0.0337 -0.0337
0 0
0 0
0.7164 0.9904
0.9904 1.5698

R=

1.0e+004 *

0
0
3.4641
2.0000
0
0
-4.0000
0

Ri =

1.0e+004 *

0.5359
2.1340
3.1987
1.1854
0
-3.0540
-3.7346
-0.2654

Solution of incremental equations:


28

0
0
-4.2524
17.0096
0
0
-17.4866
11.6577

Nodal solution increment in this load step:


0
0
-4.4448
20.1101
0
0
-22.4362
13.3951

Total nodal values:


0
0
-4.4448
20.1101
0
0
-22.4362
13.3951

Element status:
0 0 1 1

Convergence parameter: 2.4e-031


****************************
Current load parameter: 0
****************************
Iteration: 1

KT =

1.0e+004 *

Columns 1 through 6

2.5089 1.4806 -1.8262 -0.4565 0 0


1.4806 1.6502 -0.4565 -0.1141 0 0
29

-1.8262 -0.4565 1.8598 0.4229 0 0


-0.4565 -0.1141 0.4229 0.2113 0 -0.0635
0 0 0 0 0 0
0 0 0 -0.0635 0 0.0635
-0.6827 -1.0241 -0.0337 0.0337 0 0
-1.0241 -1.5361 0.0337 -0.0337 0 0

Columns 7 through 8

-0.6827 -1.0241
-1.0241 -1.5361
-0.0337 0.0337
0.0337 -0.0337
0 0
0 0
0.7164 0.9904
0.9904 1.5698

R=

0
0
0
0
0
0
0
0

Ri =

1.0e+004 *

0.5359
2.1340
3.4641
2.0000
0
-4.1340
-4.0000
0.0000

Solution of incremental equations:


0
30

0
15.6948
-65.1101
0
0
92.1862
-59.8951

Nodal solution increment in this load step:


0
0
15.6948
-65.1101
0
0
92.1862
-59.8951

Total nodal values:


0
0
11.2500
-45.0000
0
0
69.7500
-46.5000

Element status:
0 0 0 0

Convergence parameter: 8.1e+011


Iteration: 2

KT =

1.0e+004 *

Columns 1 through 6

2.5089 1.4806 -1.8262 -0.4565 0 0


1.4806 1.6502 -0.4565 -0.1141 0 0
-1.8262 -0.4565 2.5333 -0.2506 0 0
-0.4565 -0.1141 -0.2506 2.1546 0 -1.3333
0 0 0 0 0 0
0 0 0 -1.3333 0 1.3333
31

-0.6827 -1.0241 -0.7071 0.7071 0 0


-1.0241 -1.5361 0.7071 -0.7071 0 0

Columns 7 through 8

-0.6827 -1.0241
-1.0241 -1.5361
-0.7071 0.7071
0.7071 -0.7071
0 0
0 0
1.3898 0.3170
0.3170 2.2432

R=

0
0
0
0
0
0
0
0

Ri =

1.0e+005 *

0.0000
0.0000
-4.8000
-3.4679
0
8.2679
4.8000
-4.8000

Solution of incremental equations:


0
0
-15.5024
62.0096
0
32

0
-87.2366
58.1577

Nodal solution increment in this load step:


0
0
0.1924
-3.1005
0
0
4.9497
-1.7374

Total nodal values:


0
0
-4.2524
17.0096
0
0
-17.4866
11.6577

Element status:
0 0 0 0

Convergence parameter: 1.8e-019

Mathematica Implementation 8.4: State determination for


von-Mises plasticity

This is still under development. It will be posted on the web


site by the Spring 2006.

You might also like