3D Stress: Mostly From Ragan and Schultz, Unpublished

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

3D stress

Mostly from Ragan and Schultz,


unpublished
Note sign convention change
Tractions from stress
Tractions from stress

T=S*N (MATLAB)
Traction normal and shear
components

sigma=dot(T,N) (MATLAB)
Traction normal and shear
components
S = [-50 -20 10; -20 -30 -15; 10 -15 -120] %we know the orientation of the normal
traction, but what is its magnitude?
[l,m,n] =plunge_trend_to_dir_cosines(30,290); sigma = dot(T,N);%equation 13.13

N=[l;m;n]; %Now for the shear traction; use the


McKenzie construction
T=S*N; %equation 13.11 B = cross(T,N); %vector normal to the plane
T_mag = sqrt(sum(T.^2)); containing T and N
B_mag = sqrt(B(1)^2 + B(2)^2 + B(3)^2);
%normalize components of T to get its direction lb = B(1)./B_mag;
cosines mb = B(2)./B_mag;
lt=T(1)./T_mag; mt = T(2)./T_mag; nt = nb = B(3)./B_mag;
T(3)./T_mag;
Ts = cross(N,B); %shear traction direction
%plot traction vector Ts_mag = sqrt(Ts(1)^2 + Ts(2)^2 + Ts(3)^2);
[plunge, trend] = Ts(1) = Ts(1)./Ts_mag;
dir_cosines_to_plunge_trend2(lt, mt, nt); Ts(2) = Ts(2)./Ts_mag;
Ts(3) = Ts(3)./Ts_mag;

%let's check that the normal and shear are


components of the traction
testmag = sqrt(sum(sigma.^2 + Ts_mag.^2));
traction vector components are 6.4660 10.9900 -44.8311
traction magnitude 46.6091
traction vector direction cosines 0.1387 0.2358 -0.9619
traction plunge = 74.1 trend = 239.5
normal traction mag -29.44 shear traction mag 36.13
check that components make same length as traction:
46.6091 =?= 46.6091

N, sigma

T
tau
Traction from principal stresses
Traction from principal stresses
alpha1 = 45; alpha2 = 60;

S = [120 0 0; 0 80 0; 0 0 20] %we know the orientation of the normal


l = cosd(alpha1); traction, but what is its magnitude?
m = cosd(alpha2); sigma = dot(T,N);%equation 13.13
n = sqrt(1 - l.^2 - m.^2);
N =[l;m;n]; %Now for the shear traction use; the
[plunge, trend] = dir_cosines_to_plunge_trend(l, m, McKenzie construction
n);%pole to plane B = cross(T,N); %vector normal to the plane
containing T and N
ld = -l; md = -m; nd = cosd(asind(n)); B_mag = sqrt(B(1)^2 + B(2)^2 + B(3)^2);
[dip, dipdir] = dir_cosines_to_plunge_trend(ld, md, lb = B(1)./B_mag;
nd);%plane itself mb = B(2)./B_mag;
nb = B(3)./B_mag;

T=S*N; %equation 13.11 Ts = cross(N,B); %shear traction direction


Ts_mag = sqrt(Ts(1)^2 + Ts(2)^2 + Ts(3)^2);
T_mag = sqrt(sum(T.^2)); Ts(1) = Ts(1)./Ts_mag;
Ts(2) = Ts(2)./Ts_mag;
%normalize components of T to get its direction Ts(3) = Ts(3)./Ts_mag;
cosines
lt=T(1)./T_mag; mt = T(2)./T_mag; nt = T(3)./T_mag;

%plot traction vector


[plunge, trend] = dir_cosines_to_plunge_trend2(lt,
mt, nt);
plotdiamond(plunge,trend);
S=
120 0 0
0 80 0
0 0 20
P l = 0.7071 m = 0.5000 n = 0.5000
traction vector components are 84.8528 40.0000 10.0000
traction magnitude 94.3398
traction vector direction cosines 0.8994 0.4240 0.1060
traction plunge = 6.1 trend = 25.2
normal traction mag 85.00 shear traction mag 40.93
check that components make same length as traction: 94.3398 =?= 94.3398

N, sigma
B

tau
-O. Zielke
Full stress tensor rotation example
With 1 oriented 020, 2 oriented 110 and 3 vertical Given S =
S=
1 0 0 -100 0 0
0 2 0 0 -50 0
0 0 3 0 0 -10
xprime l = 0.9397 m = 0.3420 n = 0.0000
yprime l = -0.3420 m = 0.9397 n = 0.0000
zprime l = -0.0000 m = -0.0000 n = 1.0000
checks for orthogonality:
xy 0.0000 xz 0.0000 yz 0.0000

R =

0.9397 -0.3420 0
0.3420 0.9397 0
0 0 1.0000

rotatedS =

-94.1511 16.0697 0
16.0697 -55.8489 0
0 0 -10.0000
%MATLAB main script
%buildrotationmatrix2(xprimetrend, xprimeplunge, yprimetrend,yprimeplunge,zprimetrend,zprimeplunge, talkandplot)
R = buildrotationmatrix2( 20, 0, 110, 0, 0, 90, 1)

S = [-100 0 0; 0 -50 0; 0 0 -10]

rotatedS = R'*S*R

function [R] = buildrotationmatrix2(xprimetrend, xprimeplunge,


yprimetrend,yprimeplunge,zprimetrend,zprimeplunge, talkandplot)
%This takes the orientation of the original coordinate system as trends and
%plunges and
%computes the direction cosines of the final coordinate system and then
%provides the rotation matrix of the form:
% l l' l''
% R = m m' m''
% n n' n"
%assumes the angles are in degrees
%assume that you want to rotate to north south
X = [1 0 0];
Y = [0 1 0];
Z = [0 0 1];

[xprime(1), xprime(2) xprime(3)] =plunge_trend_to_dir_cosines(xprimeplunge,xprimetrend);


[yprime(1), yprime(2) yprime(3)] =plunge_trend_to_dir_cosines(yprimeplunge,yprimetrend);
[zprime(1), zprime(2) zprime(3)] =plunge_trend_to_dir_cosines(zprimeplunge,zprimetrend);
%check to make sure you put them in right and they are orthogonal:
checkxy = dot(xprime,yprime);
checkxz = dot(xprime,zprime);
checkyz = dot(yprime,zprime);

if talkandplot==1
fprintf(1,'xprime l = %3.4f m = %3.4f n = %3.4f\n', xprime(1), xprime(2), xprime(3))
fprintf(1,'yprime l = %3.4f m = %3.4f n = %3.4f\n', yprime(1), yprime(2), yprime(3))
fprintf(1,'zprime l = %3.4f m = %3.4f n = %3.4f\n', zprime(1), zprime(2), zprime(3))
fprintf(1,'checks for orthogonality: xy %3.4f xz %3.4f yz %3.4f\n', checkxy, checkxz, checkyz)
primitive1;
text(0,1, 'N', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'bottom')
plotdiamond(xprimeplunge,xprimetrend);
plotdiamond(yprimeplunge,yprimetrend);
plotdiamond(zprimeplunge,zprimetrend);
%plot final coordinate system
[plunge, trend] = dir_cosines_to_plunge_trend2(X(1), X(2), X(3));
plotpoint(plunge,trend);
[plunge, trend] = dir_cosines_to_plunge_trend2(Y(1), Y(2), Y(3));
plotpoint(plunge,trend);
[plunge, trend] = dir_cosines_to_plunge_trend2(Z(1), Z(2), Z(3));
plotpoint(plunge,trend);
end

R(1,1) = X*xprime';
R(1,2) = X*yprime';
R(1,3) = X*zprime';
R(2,1) = Y*xprime';
R(2,2) = Y*yprime';
R(2,3) = Y*zprime';
R(3,1) = Z*xprime';
R(3,2) = Z*yprime';
R(3,3) = Z*zprime';
Example application to South
Mountains faults
%Set up Receiver Fault
%We are interested in a plane with P(75,225)
poleplunge=45;
poletrend =225;

[l,m,n]
=plunge_trend_to_dir_cosines(poleplunge,poletrend);
ld1 = -l; md1 = -m; nd1 = cosd(poleplunge);
[dip, dipdir] = dir_cosines_to_plunge_trend(ld1, md1,
nd1);

N=[l;m;n];

dip is 45.0 and dip dir is 45.0


Example application to South
%Set up stress tensor
Mountains faults
%assume that the principal stresses are appropriate for normal faulting
%conditions so maximum stress is the vertical stress
sv = -26.7.*12; %assume 26.5 MPa per km and 12 km depth
shmin = sv.*0.1; %assume the 1 direction is the minimum horizontal stress and is 10%
shmax = sv.*0.25; %assume the 2 direction is intermediate
S = [shmin 0 0;
0 shmax 0;
0 0 sv]
%buildrotationmatrix2(xprimetrend, xprimeplunge, yprimetrend,yprimeplunge,zprimetrend,zprimeplunge, talkandplot)
R = buildrotationmatrix2( 30, 0, 120, 0, 0, 90, 1)

rotatedS = R'*S*R
S =

-32.0400 0 0
0 -80.1000 0
0 0 -320.4000

xprime l = 0.8660 m = 0.5000 n = 0.0000


yprime l = -0.5000 m = 0.8660 n = 0.0000
zprime l = -0.0000 m = -0.0000 n = 1.0000
checks for orthogonality: xy 0.0000 xz 0.0000 yz 0.0000

R =

0.8660 -0.5000 0
0.5000 0.8660 0
0 0 1.0000

rotatedS =

-44.0550 -20.8106 0
-20.8106 -68.0850 0
0 0 -320.4000
Example application to South
Mountains faults
%Now resolve the stresses
T=rotatedS*N; %equation 13.11

T_mag = sqrt(sum(T.^2));

%normalize components of T to get its direction cosines


lt=T(1)./T_mag; mt = T(2)./T_mag; nt = T(3)./T_mag;

%plot traction vector


[plunge, trend] = dir_cosines_to_plunge_trend2(lt, mt, nt);

%we know the orientation of the normal traction,


%but what is its magnitude?
sigma = dot(T,N); %equation 13.13

traction vector components are 32.4328 44.4478 -226.5570


traction magnitude 233.1428
traction vector direction cosines 0.1391 0.1906 -0.9718
traction plunge = 76.3 trend = 233.9
normal traction mag -198.64
Example application to South
Mountains faults
%Now for the shear traction; use the McKenzie construction
B = cross(T,N); %vector normal to the plane containing T and N
B_mag = sqrt(B(1)^2 + B(2)^2 + B(3)^2);
lb = B(1)./B_mag;
mb = B(2)./B_mag;
nb = B(3)./B_mag;

[plunge, trend] = dir_cosines_to_plunge_trend2(lb,mb,nb);

Ts = cross(N,B); %shear traction direction


Ts_mag = sqrt(Ts(1)^2 + Ts(2)^2 + Ts(3)^2);
Ts(1) = Ts(1)./Ts_mag; shear traction mag 122.06
Ts(2) = Ts(2)./Ts_mag; check that components make
Ts(3) = Ts(3)./Ts_mag; same length as traction: 233.1428 =?= 233.1428
[plunge, trend] = dir_cosines_to_plunge_trend2(Ts(1), Ts(2),
Ts(3));

%let's check that the normal and shear are components of the
traction
testmag = sqrt(sum(sigma.^2 + Ts_mag.^2));
%Haddad station 142

strike = 340;
measured_dip = 32;
slickenlinetrend = 075;
slickenlineplunge = 24;

Angular misfit between resolved traction and observed slickenline = 4.7


Haddad station 142
Arrowsmith station 10

dip is 35.0 and dip dir is 325.0


Measured slickenline plunge = 35.0 and trend = 325.0
Intersection plunge = 35.0 and trend = 325.0
Angular difference = 0.0

normal traction mag -225.85 shear traction mag 135.18


check that components make same length as traction: 263.2159 =?= 263.2159
Angular misfit between resolved traction and observed slickenline = 2.7
Arrowsmith station 10

You might also like