3D Stress MATLAB Examples

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

tractions, normal stress

>> stress = [ 20 40 30;


40 -10 5; stress state
30 5 20];

>> normal = [3 -4 5]/sqrt(9 +16 +25)

normal = unit normal to a plane


0.4243 -0.5657 0.7071

>> norm(normal)

ans = 1

>> tract = normal*stress

tract = traction vector on plane whose normal


7.0711 26.1630 24.0416 is "normal"

>> snn = normal*tract'


σ nn = T( n ) ⋅ n
snn =
5.2000

σ nn = {n} [σ ]{n}
>> snn = normal*stress*normal' T

snn =
5.2000
total shear stress

>> tots = sqrt(norm(tract)^2 -snn^2) magnitude of total shear stress

tots =

35.8533

>> tots_dir = (tract - snn*normal)/tots direction of total shear stress


tots_dir =

0.1357 0.8118 0.5680

>> tract*tots_dir'
check: τ s = T( n ) ⋅ e s

ans =

35.8533
>> n = normal

n=
0.4243 -0.5657 0.7071
v
>> t = cross(n, [ 0 0 1])
t
t = -0.5657 -0.4243 0

>> t = t/norm(t)

t = -0.8000 -0.6000 0

>> v=cross(n,t) n

v = 0.4243 -0.5657 -0.7071


traction on plane whose normal is t

>> tract_on_t = t*stress

tract_on_t =
-40 -26 -27

>> l = [n' t' v'] direction cosines for n, t ,v direction


l=
0.4243 -0.8000 0.4243
-0.5657 -0.6000 -0.5657
0.7071 0 -0.7071
>> stresses_on_t =t*stress*l

stresses_on_t =
stresses on plane whose normal is t
-21.3546 47.6000 16.8291

>> ntv_stresses = l'*stress*l

ntv_stresses =

5.2000 -21.3546 -28.8000 complete stress state on n,t,v planes


-21.3546 47.6000 16.8291
-28.8000 16.8291 -22.8000
principal stresses

>> stress

stress =

20 40 30
40 -10 5
30 5 20

>> [pds, pvls] = eig(stress)

pds =

0.6125 -0.2999 0.7314


-0.7532 -0.5020 0.4250 principal directions
-0.2397 0.8112 0.5334

pvls =
state of stress in principal planes
-40.9344 0 0
0 5.8148 0
0 0 65.1196
stress invariants

σ 3p − I1σ 2p + I2σ p − I3 = 0

function [I1, I2, I3] = stress_invs(s)


I1 = trace(s);
>> [I1,I2,I3]=stress_invs(stress) I2 = s(1,1)*s(2,2) - s(1,2)^2 + s(1,1)*s(3,3) - s(1,3)^2 ...
+ s(2,2)*s(3,3) - s(2,3)^2;
I1 = I3 = det(s);
30

I2 =
-2525

I3 =
-15500

>> [I1,I2,I3]=stress_invs(pvls)

I1 =
30.0000

I2 =
-2525

I3 =
-1.5500e+004
principal stresses, direction by hand

>> stress2 = [ 120 -55 -75;


-55 55 33;
-75 33 -85]

stress2 =

120 -55 -75


-55 55 33
-75 33 -85

>> [I1,I2,I3] = stress_invs(stress2) compute stress invariants


I1 =
90 I1 = σ xx + σ yy + σ zz
I2 = I2 = σ xx σ yy + σ xxσ zz + σ yyσ zz − σ 2xy − σ 2xz − σ 2yz
-18014
I3 = σ xxσ yyσ zz + 2σ xyσ xzσ yz − σ xxσ zy2 − σ yyσ xz2 − σ zz σ xy2
I3 =
-471680
solve cubic
σ 3p − I1σ 2p + I2σ p − I3 = 0

>> roots([1, -I1, I2, -I3])

ans =

176.7995
-110.8640
24.0644

>> [pds, pvals] = eig(stress2) check from eigenvalue routine


pds =

0.2872 0.4654 0.8372


-0.0944 0.8836 -0.4587
0.9532 -0.0527 -0.2977

pvals =

-110.8640 0 0
0 24.0644 0
0 0 176.7995
solve for principal directions

consider σ p = 176.8

(120 − 176.8) nx − 55ny − 75nz = 0


−55nx + ( 55 − 176.8 ) n y + 33nz = 0
−75nx + 33n y + (−85 − 176.8)nz = 0

consider first two eqs

nx ny
−56.8 − 55 = 75
nz nz
nx ny
−55 − 121.8 = −33
nz nz
solve for nx n y
,
nz nz

nx
= −2.81
nz
ny
= 1.54
nz
±1
From n + n + n =1
2 2 2 nz =
x y z 2 2
⎛ nx ⎞ ⎛ n y ⎞
1+ ⎜ ⎟ + ⎜ ⎟
⎝ nz ⎠ ⎝ nz ⎠
compare to output of eig:
nx = m0.837 pds =
n y = ±0.459 0.2872 0.4654 0.8372
-0.0944 0.8836 -0.4587
nz = ±0.298 0.9532 -0.0527 -0.2977

similarly for other two roots.


σ p2
stresses on the octahedral plane

1 1 1 σ p1
n= e p1 + e p2 + e p3
3 3 3

e p2
e p3 e p1 σ p3
σ p1 + σ p 2 + σ p 3
(σ nn )oct =
3
1
(σ − σ p 2 ) + (σ p1 − σ p 3 ) + (σ p 2 − σ p 2 )
2 2 2
τ s oct = p1
3

Effective (von Mises) stress


2
for σ xx = σ = the the only non-zero stress τ s oct = σ
3
so define the effective stress as:
3
σ eff = τ s oct
2

(σ p1 − σ p 2 ) + (σ p1 − σ p3 ) + (σ p 2 − σ p 2 )
2 2 2

=
2
Calculation of octahedral stresses

>> stress= [ 10 -3 0;
-3 -7 2;
0 2 5]

stress =

10 -3 0
-3 -7 2
0 2 5

>> [pds, pvls] =eig(stress)

pds =

0.1641 0.0884 0.9825


0.9746 0.1390 -0.1753
-0.1521 0.9863 -0.0633

pvls =

-7.8172 0 0
0 5.2819 0
0 0 10.5353
pvls =

-7.8172 0 0 function [ n_oct, tau_oct]= octahedral_stresses(p_stresses)


0 5.2819 0 p= p_stresses;
0 0 10.5353 n_oct = trace(p)/3;
d1 = p(1,1) - p(2,2);
d2 = p(2,2) - p(3,3);
d3 = p(1,1) - p(3,3);
>> [sig, tau ] = octahedral_stresses(pvls) tau_oct = sqrt(d1^2 + d2^2 +d3^2)/3;

sig =
2.6667

tau =
7.7172

Note: we can also use our stress transformations directly as long as we


remember we know the octahedral plane normal relative to the principal
directions explicitly
pvls =

-7.8172 0 0
0 5.2819 0 principal stress state
0 0 10.5353

>> np =[1 1 1]/sqrt(3)

np =
0.5774 0.5774 0.5774 normal of the octahedral plane (relative to
principal directions)
>> sig = np*pvls*np'

sig = normal stress on the octahedral plane


2.6667

>> tract_oct = np*pvls

tract_oct = stress vector on the octahedral plane


-4.5133 3.0495 6.0826

>> tau = sqrt(norm(tract_oct)^2 - sig^2)

tau =
7.7172
total shear stress on the octahedral plane
Mohr's circle(s) for 3-D
state of stress
τs
B

C A

σ p3 σ p2 σ p1
σ nn

max shear normal stresses on τmax planes


stress σ p1 + σ p 2
⎧ σ p1 − σ p 2 / 2 A
⎪ A
⎪ 2
τ max = max ⎨ σ p1 − σ p 3 / 2 B
σ p1 + σ p 3 B

⎪⎩ σ p 3 − σ p 2 / 2 C 2
C
σ p3 + σ p 2
2
stress =

10 -3 0
-3 -7 2
0 2 5

>> [pds, pvls] = eig(stress)

pds =

0.1641 0.0884 0.9825


0.9746 0.1390 -0.1753
-0.1521 0.9863 -0.0633 -7.82 5.28 10.54

pvls =

-7.8172 0 0
0 5.2819 0 5.28
0 0 10.5353 7.82
10.54
>> tau_max = (pvls(3,3) - pvls(1,1))/2
45o
9.18
tau_max =
10.54
9.1763
1.36
7.82
>> norm_stress = (pvls(1,1) + pvls(3,3))/2

norm_stress =
1.3591
Finding the plane of extreme shear explicitly ep2

5.28
pds = 7.82
0.1641 0.0884 0.9825
10.54
0.9746 0.1390 -0.1753 45o
9.18
-0.1521 0.9863 -0.0633 ep3
>> ep1 =pds(:,1)
10.54
1.36
ep1 = 7.82
0.1641
0.9746 ne
-0.1521
ep1

>> ep2=pds(:,2)
principal directions How do we find the unit
ep2 = normal, ne, for the plane
0.0884
0.1390
of extreme shear shown ?
0.9863

>> ep3=pds(:,3)

ep3 =
0.9825
-0.1753
-0.0633
ep2
- ep1
5.28 - ep3
7.82
10.54
45o
9.18
ep3
- ep1 10.54
1.36
- ep3 7.82
45o ne
ep1
e p1 + e p 3
ne =
2

>> ne =(ep1+ep3)/sqrt(2)

ne =

0.8108
0.5652
-0.1523
Now, we can calculate anything we want about
the stresses on this plane of extreme shear - ep1
- ep3
stress = 7.82
es 10.54
10 -3 0 note transpose
-3 -7 2 45o
because ne is a 9.18
0 2 5
column vector here
>> tract = ne'*stress
1.36
tract =
6.4119 -6.6935 0.3688 stress vector on this plane ne
of extreme shear
>> norm_stress = ne'*stress*ne

norm_stress =
1.3591 normal stress

>> tau_max = sqrt(norm(tract)^2-norm_stress^2)

tau_max =
9.1763 max shear stress (this is total shear on this plane)
>> es = (tract - norm_stress*ne')/tau_max

es = max shear stress direction


0.5787 -0.8131 0.0628

You might also like