Stress, strain, principal axes, stress transfomation, and mohr circle

Consider a the state of stress of a body in a generic lab frame x-y-z
	(Subscript[σ, l ])= (({{(Subscript[σl, xx]), (Subscript[σl, xy]), (Subscript[σl, xz])}, {(Subscript[σl, xy]), (Subscript[σl, yy]), (Subscript[σl, yz])}, {(Subscript[σl, xz]), (Subscript[σl, yz]), (Subscript[σl, zz])}})).
If we want to find the corresponding stress components in a different frame of reference, the the stress components in that frame (Subscript[σ, g]) is given by:
	(Subscript[σ, g])= R (Subscript[σ, l])(R^T).
Here, in the simplest case of two dimensional stresses ((Subscript[σl, xz ])= (Subscript[σl, yz])= 0) the rotation matrix is given by:
	R = (({{cos(θ), sin(θ), 0}, {-sin(θ), cos(θ), 0}, {0, 0, 1}})).
Here θ is the rotation of the new frame of reference about the z axis. Upon transformation the stress components become.

Rot[θ_] := (({{Cos[θ], Sin[θ], 0}, {-Sin[θ], Cos[θ], 0}, {0, 0, 1}}));
σlab=  (({{(Subscript[σl, xx]), (Subscript[σl, xy]), 0}, {(Subscript[σl, xy]), (Subscript[σl, yy]), 0}, {0, 0, (Subscript[σl, zz])}}));
σg[θ_, σlab_] := Collect[Rot[θ].σlab.Transpose[Rot[θ]]//FullSimplify//TrigReduce, {Cos[2 θ], Sin[2 θ]}];
MatrixForm[σg[θ, σlab]]

We will now use these relations to obtain the mohr circle. The center of the circle is given by:
	C = (((Subscript[σl, xx])+ (Subscript[σl, yy]))/2),
and the radius of the mohr circle is given by, 
	R = (Sqrt[((((((Subscript[σl, xx])-(Subscript[σl, yy]))/2)))^2)+ ((Subscript[σl, xy])^2)]).

MohrCenter[σ_]:= (((σ[[1,1]]+σ[[2,2]]))/2)
MohrRadius[σ_]:= √((((((σ[[1,1]]-σ[[2,2]])/2)))^2)+((σ[[1,2]])^2))

Note that the center and the radius is completely independent upon the frame of reference we use to obtain the co-ordinates of the stresses.

MohrCenter[σg[θ, σlab]]//FullSimplify
MohrRadius[σg[θ, σlab]]//FullSimplify

Sample Mohr circle is drawn here for (Subscript[σ, xx])= 1, (Subscript[σ, xy])= 3, and (Subscript[σ, yy])=2.

ParametricPlot[Evaluate[{σg[θ, σlab][[1,1]],σg[θ,σlab][[1,2]]}/.{(Subscript[σl, xx])->1,(Subscript[σl, yy])->2, (Subscript[σl, xy])->3}], {θ, 0, π}, AxesLabel->{"normal stress", "shear stress"}, PlotLabel->"\t \t Mohr Circle for  different values of σ", AspectRatio->1, PlotStyle->{Thickness[0.01], Hue[1]}]

Now we will draw a well illustrated proper Mohr circle which also tells us (in graphical form) the way to draw the Mohr circle and the way to interpret the principal directions. This procedure draws the Mohr circle by taking the stress components in a given (lab) frame x-y-z as its input. The following discussion is heavily borrowed from Prof. Craig Carter's course available at: http://pruffle.mit.edu.

mohr[off_, rad_]:= {Red, Thick, Circle[{off, 0}, rad]}s12graph[s11_, s12_]:= {Darker[Orange], Arrow[{{s11, s12}, {0, s12}}], Text[s12, {0, s12},{-2.5,-1.5},Background->White]}
s22graph[s22_, s12_]:= {Blue, Arrow[{{s22,-s12}, {s22, 0}}], Text[s22, {s22,0}, {0, -1}, Background->White]}
s11graph[s11_, s12_]:= {Darker[Green], Arrow[{{s11,s12}, {s11, 0}}], Text[s11, {s11,0}, {0, 1}, Background->White]}
diametergraph[s11_, s12_, s22_]:= {Line[{{s22, -s12}, {s11, s12}}]}
anglegraph[twotheta_,radius_,offset_]:= {Purple, Dashed, Circle[{offset,0}, 1.2*radius, {0, twotheta}], Text[Style["θ = "<>ToString[twotheta*180/Pi], Medium], {offset,0} + 1.2*radius*{Cos[twotheta/2], Sin[twotheta/2]}, Background->White]}
titlegraph[s11_,s12_,s22_]:= Text[MatrixForm[{{Text[Style[s11,Darker[Green],Large]],Text[Style[s12,Darker[Orange],Large]]},{Text[Style[s12,Darker[Orange],Large]],Text[Style[s22,Blue,Large]]}}]]

MohrPlot[σ_]:= Module[{radius, offset, s11, s22, s12, twotheta},
offset= MohrCenter[σ]//N;
radius = MohrRadius[σ]//N;
s11 = σ[[1,1]];
s22 = σ[[2,2]];
s12 = σ[[1,2]];
twotheta = ArcSin[(s12/radius)];
If[s22-s11>0, twotheta=π-twotheta];
Graphics[{mohr[offset, radius],s12graph[s11,s12], s22graph[s22,s12], s11graph[s11,s12], diametergraph[s11,s12,s22], anglegraph[twotheta,radius,offset]}, Axes->True,BaseStyle->{FontFamily->"Times",Medium}, PlotRange->All, PlotLabel->titlegraph[s11,s12,s22],AxesOrigin->{0,0},FrameLabel->Text[Style["Mohr's Circle of Stress", Large]]]]

s = {{4.3, -2.2}, {-2.2, 6.4}}
MohrPlot[s]

Interpretation of the principal stresses and the principal directions as the eigenvalues and the eigenvectors of the stress matrices.

We have used the idea of the Mohr circle etc. to obtain the principal stresses. But there is a more elegant way of obtain the same. It can be shown (we will do this in the class) that the traction on any plane with normal n is given by:
	t = σn.
The traction can be broken down into two parts: i) shear traction, and ii) normal traction. When we are looking in the principal directions we should have no shear traction. This means that the traction is purely in the normal direction, i.e., :
	t = λ n = σn.
Thus in this case n is the principal direction and λ is the principal stress. At the same time it is also clear that n is the eigenvector of the matrix σ and λ is the eigen-vector.  Thus obtaining the principal directions and principal stress is equivalent to obtaining the eigenvectors and eigenvalues, respectively.

Once we have drawn the Mohr circle the next task is to realise where is this idea of stress transformation required. The next task is to obtain the failure criteria. 
There are two important plastic failure criteria for homogenous , isotropic, ductile materials. It has been experimentally shown that the ductile materials fail in shear. So with this idea the first criteria that we have is called as the Tresca criterion, and the second is von Mises criterion.  Note that in the discussion (Subscript[σ, 1]), (Subscript[σ, 2]), and (Subscript[σ, 3]) are the principal stresses along on the respective planes with the principal directions as the normals.

Tresca Criterion

It has been seen that ductile materials show a permanent plastic shear deformation upon failure, so the hypothesis is that the failure is related to the maximum shear stress. This the tresca criterion says that if,
	(Subscript[τ, max])= max(|(((Subscript[σ, 1])-(Subscript[σ, 2]))/2)|, |(((Subscript[σ, 2])-(Subscript[σ, 3]))/2)|, |(((Subscript[σ, 3])-(Subscript[σ, 1]))/2)|) = (Subscript[τ, c]),
then the failure occurs. Using the specific case when the body fails plastically under uniaxial loading of stress (Subscript[σ, Y]), the crtiteria reduces to 
	(Subscript[σ, E])= max(|(Subscript[σ, 1])-(Subscript[σ, 2])|, |(Subscript[σ, 2])-(Subscript[σ, 3])|, |(Subscript[σ, 1])-(Subscript[σ, 3])| ) = (Subscript[σ, Y]).

Von mises criterion

It has been experimentally observed that during the plastic deformation there is no volumetric change. As a result the stress tensor is divided into two parts: i) the volumetric (V) and ii) the deviotoric (D).
	σ = V + D,
where, 
	V = (1/3)trace (σ) I, and D = σ -V.
Von Mises criteria states that the yielding will occur when the deviotoric strain density reaches a critical value for the material, i.e.,
	(Subscript[U, o])=(((1+⋁))/(6 E))((((Subscript[σ, 1])-(Subscript[σ, 2])))^2) + ((((Subscript[σ, 2])-(Subscript[σ, 3])))^2)+ ((((Subscript[σ, 3])-(Subscript[σ, 1])))^2) = (Subscript[U, c]).
Since this criteria is valid for any stress distribution, it can be used in the case of the body that fails plastically under the application of a uniaxial load. Suppose that stress is (Subscript[σ, Y]), the von-mises criteria becomes:
	(Subscript[σ, E])= (Sqrt[((((Subscript[σ, 1])-(Subscript[σ, 2])))^2) + ((((Subscript[σ, 2])-(Subscript[σ, 3])))^2)+ ((((Subscript[σ, 3])-(Subscript[σ, 1])))^2)])= (Subscript[σ, Y]).

Concept of a failure surface

Note that we will work on the failure criterion in two-dimensions. Note that that in two dimensions, the two criteria become:
	1) Tresca:
		max(|(Subscript[σ, 1])-(Subscript[σ, 2])|, |(Subscript[σ, 2])|, |(Subscript[σ, 1])| ) = (Subscript[σ, Y]).
	2) von Mises
		((((((Subscript[σ, 1])-(Subscript[σ, 2])))^2) + (Subscript[σ, 1]^2)+ (Subscript[σ, 2]^2))^(1/□))= (Subscript[σ, Y]). 
Note that this clearly creates a surface (closed curve in 2D). If you are within the surface then there is no yielding (failure), outside the surface the body has falied plastically. We will now obtain the failure surface for Tresca-criterion

Failure surface for Tresca criterion for (Subscript[σ, Y])=1.

f[θ_]:= Max[Abs[Sin[θ]-Cos[θ]], Abs[Sin[θ]], Abs[Cos[θ]]];

ParametricPlot[{((Cos[θ])/(f[θ])), ((Sin[θ])/(f[θ]))}, {θ, 0, 2 π},  PlotStyle->{Thickness[0.005], Hue[1]}, BaseStyle->{FontFamily->"Times", Medium}, AxesLabel->{"(Subscript[σ, 1])", "(Subscript[σ, 2])"} ]

Using Tresca criterion we get a hexagon. If the stress state of the body is within the hexagon, we will we okay. Or else there will be failure.

Failure surface for von Mises criterion with (Subscript[σ, Y])=1.

g[θ_]:= (Sqrt[((Cos[θ])^2)+ ((Sin[θ])^2)- Cos[θ] Sin[θ]])

ParametricPlot[{((Cos[θ])/(g[θ])), ((Sin[θ])/(g[θ]))}, {θ, 0, 2 π}, PlotStyle->{Thickness[0.005], Hue[1]}, BaseStyle->{FontFamily->"Times", Medium}, AxesLabel->{"(Subscript[σ, 1])", "(Subscript[σ, 2])"}]

This clearly is an inclined ellipse. So in general the major task for the failure criteria is to obtain the principal stress from the loading. After the principal stresses are obtained, one should just verify that the point representing the state of stress should be within the failure surface.

Problems

1) The stress at a point is defined by the components (Subscript[σ, xx])= 0 MPa, (Subscript[σ, yy])= 100 MPa, (Subscript[σ, xy ])= -40 MPa. Find the principal stresses (Subscript[σ, 1]) and (Subscript[σ, 2]) and the inclination of the plane on which the maximum principal stress acts to the x plane. Use both the Mohr circle approach and the matrix method approach.

2) A cylindrical steel shaft of diameter 30 mm is subjected to a compressive axial force F = 10 kN, a bending moment M = 170 N-m, and a torque T = 200 N-m. Estimate the factor of safety against using Mises' theory if the steel has a yield stress (Subscript[S, Y])= 300 MPa. 

3) The stress at a point is defined by the components, (Subscript[σ, xx])= 100 MPa, (Subscript[σ, zz])= 100 MPa, (Subscript[σ, xy])= -40 MPa, (Subscript[σ, yz])= 50 MPa, (Subscript[σ, zx])= -20 MPa. 
Find the three principal stresses, and the three principal directions using appropriate functions in Mathematica. 

4) The principal stress at a point are (Subscript[σ, 1])= 10 MPa, (Subscript[σ, 2])= -100MPa. Sketch Mohr's circle for this state of stress and determine the normal stress on a plane inclined at an angle θ to the principal plane 1. Hence find the range of values of θ for which the normal stress is tensile. 
 
5) A steel is found to yield in uniaxial tension at a stress (Subscript[S, Y])= 205MPa and in torsion at a shear stress (Subscript[τ, Y])= 116 MPa. Which of the von Mises' and Tresca's criteria is more consistent with the experimental data.

6) A series of experiments is conducted in which a thin plate is subjected to biaxial tension/compression, (Subscript[σ, 1]), (Subscript[σ, 2]), the plane surfaces of the plate being traction free (i.e. (Subscript[σ, 3])= 0). Unbeknown to the experimenter, the material contains macroscopic defects than can be idealized as a sparse distribution of small circular holes through the plate thickness. The hoop stress around the circumference of one of these holes when the plate is loaded in uniaxial tension σ is known to be
	(Subscript[σ, θθ])= σ (1- 2cos(2 θ)),
where the angle θ is measured from the direction of the applied stress. Show graphically the relation that will hold at yield between the stresses (Subscript[σ, 1])and (Subscript[σ, 2 ])applied to the defective plate if the Tresca criterion applies for the undamaged material.

7)  In suitable units, the stress at a particular point in a solid is found to be:
	σ = (({{2, 1, -4}, {1, 4, 0}, {-4, 0, 1}})).
Determine the traction vector on a surface with unit normal (Cos(θ), Sin(θ), 0), where θ is a general angle in the range 0 ≤ θ ≤ π. Plot the variation of the magnitude of the traction vector |(T^n)| as a function of θ.

8) Using the matrix manipulation techniques of mathematica, show that the von Mises criterion is equivalent to obtaining the shear stress on eight planes (forming an octahedron) with normals to the planes making equal angles with the principal axes.

<<Graphics`Polyhedra`;

a = {Arrowheads[Large], Arrow[{{0,0,0}, {1.5,1.5,1.5}}]};
b = {Arrowheads[Large], Arrow[{{0,0,0}, {-1.5,1.5,1.5}}]};

Show[Polyhedron[Octahedron, Axes->True, AxesOrigin->{0,0,0}, Frame->False], Graphics3D[{Thick,a}], Graphics3D[{Thick, b}]]