3D Principal Stress Simulator — Eigenvalues of the Stress Tensor
Enter the 3D stress tensor components (sigma_x, sigma_y, sigma_z, tau_xy) with sliders and read off the three principal stresses sigma1>=sigma2>=sigma3, the maximum shear stress tau_max and the mean stress sigma_m, all solved as an eigenvalue problem in real time. Three Mohr circles plus principal stress bars expose the stress state at a glance for yield and fracture assessment.
Parameters
Normal stress sigma_x
MPa
Normal stress sigma_y
MPa
Normal stress sigma_z
MPa
Shear stress tau_xy
MPa
centre = (sigma_x+sigma_y)/2, radius = sqrt(((sigma_x-sigma_y)/2)^2 + tau_xy^2)
lambda_{1,2} = centre +/- radius, lambda_3 = sigma_z, then sort to sigma1>=sigma2>=sigma3
tau_max = (sigma1-sigma3)/2, sigma_m = (sigma1+sigma2+sigma3)/3
With defaults sigma_x=100, sigma_y=50, sigma_z=20, tau_xy=30 MPa the tool returns sigma1=114.0 MPa, sigma2=36.0 MPa, sigma3=20.0 MPa, tau_max=47.0 MPa and sigma_m=56.7 MPa. Increasing tau_xy widens the sigma1-sigma3 circle and grows the maximum shear stress.
Results
—
Principal stress sigma1 (max)
—
Principal stress sigma2 (mid)
—
Principal stress sigma3 (min)
—
Maximum shear stress tau_max
—
Three Mohr circles (sigma-tau plane)
Horizontal axis = normal stress sigma, vertical axis = shear stress tau. The three principal-stress pairs (sigma1,sigma2), (sigma2,sigma3), (sigma1,sigma3) generate three overlaid circles. The radius of the largest circle equals tau_max and the three principal stresses are marked along tau=0. Every admissible stress point sits inside the crescent bounded by the three circles.
Principal stress bars (sorted sigma1, sigma2, sigma3)
Three bars show the sorted principal stresses sigma1, sigma2, sigma3. Positive bars are tension, negative bars are compression. Numeric tip labels make comparison with a yield stress or evaluation of tension/compression dominance immediate.
Principal stresses are eigenvalues and principal axes are eigenvectors of the stress tensor. tau_max drives the Tresca yield criterion, while sigma_m is the hydrostatic component used to build the deviatoric tensor $s_{ij} = \sigma_{ij} - \sigma_m \delta_{ij}$. The radius of the largest of the three Mohr circles equals tau_max.
What is the 3D Principal Stress Simulator
🙋
With the defaults I see sigma1=114.0, sigma2=36.0, sigma3=20.0 MPa. Why does sigma_z=20 land exactly on sigma3?
🎓
Nice catch. We assume tau_yz=tau_xz=0, so the z axis has no shear coupling with x or y. That means sigma_z=20 is already a principal stress (an eigenvalue) on its own. The other two come from the 2x2 in-plane block: centre (sigma_x+sigma_y)/2 = 75, radius sqrt(25^2+30^2) = sqrt(1525) ~ 39.05, giving 75 +/- 39.05 = 114.05 and 35.95. Sorted in descending order you get sigma1=114, sigma2=36 (the in-plane minimum), sigma3=20 (the z-component). Push tau_xy higher and the in-plane circle eventually widens enough that sigma_z is promoted from sigma3 to sigma2 — that handover is exactly what the sort produces.
🙋
tau_max comes out as 47 MPa. Is this what Tresca uses?
🎓
Yes. The maximum shear stress theory (Tresca) sets the yield condition tau_max = (sigma1-sigma3)/2 = sigma_y/2. Here (114-20)/2 = 47 MPa. For SS400 steel with sigma_y ~ 245 MPa the allowable tau is 122 MPa, so the state is far from yielding. The largest of the three circles in the plot (red) has radius 47, which is the geometrical statement of the same fact. Looking only at the textbook 2D circle hides the meaning of stacking three circles together, which is the heart of the 3D picture.
🙋
Three overlapping Mohr circles is new to me. Where does an arbitrary direction land?
🎓
In 3D every admissible point (sigma_n, tau_n) lies inside the crescent bounded by the three circles — Otto Mohr proved this in 1882. Concretely the point sits inside the big sigma1-sigma3 circle and outside the two smaller ones. So the maximum shear is always reached at the top of the big circle, tau=(sigma1-sigma3)/2, on the plane that bisects the sigma1 and sigma3 axes at 45 deg. A CAE maximum-shear contour visualises that very quantity. Move the middle principal stress sigma2 and the crescent reshapes, which changes the direction where the shear concentrates.
🙋
When I sweep tau_xy, sigma1 and sigma2 move a lot but sigma3=sigma_z=20 stays put. Is that the same tau_yz=tau_xz=0 story?
🎓
Exactly. Only tau_xy is sliding, so we are only changing in-plane shear. With no z-coupling the eigenvalue along z is locked. Once tau_xy is large enough that the in-plane circle swallows sigma_z=20, the role of sigma_z switches from sigma3 to sigma2 and the smaller in-plane eigenvalue takes over sigma3. The threshold sits around tau_xy ~ +/- sqrt((sigma_z-sigma_x)(sigma_z-sigma_y)) ~ +/- 49 MPa. CAE post-processors sometimes warn about this swap because principal-stress contours can look discontinuous across it — the underlying tensor is smooth, only the ranking is reshuffling.
🙋
What is the mean stress sigma_m = 56.7 MPa good for?
🎓
sigma_m = (sigma1+sigma2+sigma3)/3 = I1/3 is the hydrostatic component. Mises plasticity ignores it, but ductile-damage models such as Gurson use the stress triaxiality eta = sigma_m / sigma_VM heavily. Here sigma_VM is about 85.8 MPa and eta ~ 0.66, a moderate triaxiality. Past eta ~ 0.33 the ductile fracture energy drops sharply, and beyond eta ~ 1 the failure mode becomes brittle. Soils, concrete and polymers put sigma_m directly into the yield criterion (Drucker-Prager). Scaling sigma_x, sigma_y, sigma_z together in the tool changes only sigma_m while leaving the deviator unchanged — that is pure hydrostatic loading.
Physical model and key equations
This tool solves the eigenvalue problem of the stress tensor sigma_ij to extract the three principal stresses. A principal stress is a normal stress acting along an axis (the principal axis) on which all shear components vanish. Because the stress tensor is symmetric, its three eigenvalues are guaranteed to be real and the corresponding eigenvectors are mutually orthogonal.
This simplified tensor assumes tau_yz = tau_xz = 0, so the z axis is decoupled from in-plane shear. The eigenvalue decomposition splits exactly into the 2x2 in-plane block and the scalar sigma_z. The in-plane eigenvalues are $\lambda_{1,2} = c \pm r$ with centre $c = (\sigma_x+\sigma_y)/2$ and radius $r = \sqrt{((\sigma_x-\sigma_y)/2)^2 + \tau_{xy}^2}$, while sigma_z is always one principal stress by itself.
$$\tau_{\max} = \frac{\sigma_1 - \sigma_3}{2}$$
After sorting $\sigma_1 \geq \sigma_2 \geq \sigma_3$, the maximum shear stress is half the gap between the extreme principal stresses. Geometrically it is the radius of the largest of the three Mohr circles (the sigma1-sigma3 circle) and by Mohr's three-circle theorem no shear stress on any plane can exceed it. tau_max also defines the Tresca yield condition tau_max = sigma_y/2.
The mean stress (hydrostatic stress) sigma_m equals one third of the first invariant I1 of the stress tensor. Subtracting it gives the deviatoric tensor $s_{ij} = \sigma_{ij} - \sigma_m \delta_{ij}$. Mises plasticity in ductile metals depends only on the deviator, while sigma_m drives elastic volume change (proportional to the bulk modulus K). The stress triaxiality eta = sigma_m / sigma_VM is a critical parameter for ductile fracture and fatigue.
Real-world applications
Standard CAE post-processing output: Abaqus, ANSYS, NASTRAN and Marc all expose sigma1, sigma2, sigma3 contours, the maximum shear stress tau_max contour and the Mises equivalent stress as default outputs of a linear-elastic or plastic run. Understanding the descending sort and the three-way relationship between principal stresses, as visualised by this tool, is the literacy needed to read those plots. The maximum principal stress sigma1 is used directly in brittle fracture checks (cast iron, concrete, ceramics), while sigma3 (minimum principal = maximum compression) is the headline number in geotechnics and rock mechanics.
Multiaxial fatigue: Fatigue assessment frequently uses principal-stress-based formulations (maximum principal stress method, Sines, Findley, Crossland). The maximum principal stress method compares sigma1_max with the fatigue limit sigma_w, while Findley searches across principal-axis pairs for the maximum shear stress amplitude combined with the normal stress. Multiaxial fatigue loading such as bending plus torsion or internal pressure plus axial force requires principal stress analysis at each instant of the load history.
Geotechnics and rock mechanics: Soil and rock stress states are expressed in principal stresses by convention. The ratio sigma1/sigma3 (or the combination of sigma1 and sigma3) drives failure via the Mohr-Coulomb or Hoek-Brown criterion. In-situ stress measurements (hydraulic fracturing, stress-relief overcoring) report the full principal stress tensor, and tunnelling or slope stability analyses routinely visualise the principal stress vector field in post-processing.
Stress triaxiality and ductile damage: Stamping and forging simulations use the stress triaxiality eta = sigma_m / sigma_VM as the central parameter for fracture prediction. The LS-DYNA GISSMO model, the Abaqus Ductile Damage model and almost every ductile fracture surface take eta as input. The mean stress sigma_m from this tool, together with the principal stresses, lets you build a quick eta estimate and feel the regimes: eta < 0 (compression-dominated, drawing operations gain ductility), eta ~ 0.33 (uniaxial tension), eta > 1 (brittle-like fracture).
Common misconceptions and pitfalls
The most common confusion is "principal stress equals Mises equivalent stress." Principal stresses sigma1, sigma2, sigma3 are three eigenvalues of the stress tensor, while the Mises equivalent is a single scalar built from squared differences of principal stresses. Comparing only sigma1 with the yield stress sigma_y is the maximum principal stress theory used for brittle materials. Comparing Mises with sigma_y is the J2 flow rule used for ductile metals. Mixing the two can flip a design from safe to unsafe.
The second pitfall is "plane stress has one Mohr circle, so 3D has one too." Plane stress assumes sigma_z=0, which is itself a hidden principal stress, so two additional unseen Mohr circles exist. The maximum shear stress must be computed as (sigma1-sigma3)/2 across all three principal stresses, not as half the in-plane principal difference (sigma1-sigma2)/2. Forgetting this leads to "the plate surface is elastic" conclusions when in fact the true tau_max criterion is being violated through the thickness.
Third, do not treat "descending sort as a trivial post-processing step." In real CAE the ranks of sigma1, sigma2, sigma3 can swap across load steps or integration points, especially near hydrostatic states where principal stresses are nearly equal. Numerical noise alone can flip the order. Apparent jitter in principal-stress contours often means the rankings are reshuffling, not that the simulation has broken. Sweeping tau_xy in this tool around the sigma_z swap point demonstrates the phenomenon in slow motion.
FAQ
A principal stress is an eigenvalue of the stress tensor sigma_ij: it is the normal stress along a special axis (the principal axis) on which all shear components vanish. In 3D there are three principal stresses sigma1>=sigma2>=sigma3, and they are the starting point of every yield, fracture and fatigue check. With the default tensor sigma_x=100, sigma_y=50, sigma_z=20, tau_xy=30 MPa the tool returns sigma1=114.0 MPa, sigma2=36.0 MPa, sigma3=20.0 MPa.
The maximum shear stress is tau_max = (sigma1-sigma3)/2, i.e. half the gap between the largest and smallest principal stresses. Geometrically it is the radius of the largest of the three Mohr circles, the sigma1-sigma3 circle. The Tresca yield criterion is exactly tau_max = sigma_y/2, and with the default tensor the tool reports tau_max=(114-20)/2=47.0 MPa. It is the standard quick indicator for shear failure and the onset of plasticity in ductile metals.
In 2D plane stress there are only two principal stresses, hence a single Mohr circle. In 3D the three principal-stress pairs (sigma1,sigma2), (sigma2,sigma3) and (sigma1,sigma3) define three circles. Every admissible stress point in space lies inside the crescent bounded by these three circles (Mohr 1882). The largest of them has radius (sigma1-sigma3)/2 = tau_max, while the two inner circles carry information about the intermediate principal stress.
The mean stress sigma_m = (sigma1+sigma2+sigma3)/3 equals one third of the first stress invariant I1 and is the hydrostatic component that drives elastic volume change. Mises plasticity in ductile metals is independent of sigma_m, whereas the failure of soils, concrete and brittle materials depends strongly on it. With the default tensor sigma_m=(114+36+20)/3=56.7 MPa, and the deviatoric tensor s_ij = sigma_ij - sigma_m delta_ij governs plastic flow.