Energy: Expressions For the Strain Energy in Linear Elastic Materials
Learning Outcomes
- Identify the expression to calculate the “strain energy stored in a continuum” and explain how it is analogous to the “strain energy stored in a spring”.
- For linear elastic isotropic materials, define and be able to compute the deviatoric strain energy and the volumetric strain energy per unit volume in a continuum.
- For beams under axial loading, define and be able to compute the total strain energy in the beam under axial loading.
- For Euler Bernoulli beams loading, define and be able to compute the total strain energy in the Euler Bernoulli beam.
Strain Energy in Linear Elastic Materials:
In the previous section we ended up showing that the increment in the energy per unit volume of the undeformed configuration is equal to:
(1)
As described in the section on hyperelastic materials, elasticity of a material implies that there exists a strain energy function from which the stresses can be derived. For a function to exist, then Equation 1 has to be an exact differential implying that can be obtained by differentiating a function with respect to (See hyperelastic materials).
In the derivation of 1 we used the following definition:
For linear elastic materials in small deformations, we can assume that . Additionally, we can assume that the derivatives with respect to are equal to the derivatives with respect to and thus, we can use the engineering strain tensor as defined in the section on strain measures so that:
Additionally, we can assume that the stress components are linear functions of the strain components and are obtained by differentiating with respect to the strain components as shown in the linear elastic constitutive laws section. In this case, the strain energy stored during deformation can be calculated as follows:
(2)
where the factor is due to the linear relationship between the stress and the strain.Strain Energy in Linear Elastic Isotropic Materials:
If we adopt the constitutive relationship for isotropic linear elastic materials, then we can replace the stresses as functions of the strains or replace the strains as functions of the stresses. We can then write the following two equivalent forms of Equation 2 as applied to isotropic linear elastic materials:
(3)
(4)
VOLUMETRIC AND DEVIATORIC STRAIN ENERGIES IN LINEAR ELASTIC ISOTROPIC MATERIALS:
The strain energy of a linear elastic isotropic material per unit volume can be divided into two additive components: a volumetric strain energy function that accompanies volumetric changes and a deviatoric strain energy function that accompanies shape changes at constant volume. Such decomposition is valid for small strains when the volumetric strain can be measured as the trace of the infinitesimal strain matrix. In this case, the relationship between the volumetric strain and the applied stresses using the linear elastic constitutive laws is:
The above relationship shows that nonzero volumetric strains exist only when the hydrostatic stress is nonzero. To separate the volumetric from the deviatoric strain energy functions, the deviatoric stress will be used. By replacing with and in Equation 2 the following is obtained:
(5)
The right hand side can be separated into two terms:
The first term is called the deviatoric strain energy term while the second is called the volumetric strain energy term. Using the linear elastic constitutive laws, these terms can be further simplified to have the following form:
with
The reader should attempt to manipulate Equation 5 to obtain the above simplified version in which the deviatoric strain energy is dependent solely on the von Mises stress , while the volumetric strain energy is dependent solely on the hydrostatic stress .
Linear Elastic Strain Energy in Bars Under Axial Loading With small Deformation:
Consider a linear elastic bar of length such that its neutral axis before deformation is aligned with the axis. Then, using the expressions for the stresses and strains in an a plane bar under axial loading, the total strain energy stored in the bar can be evaluated using the following integral:
Linear Elastic Strain Energy in Euler Bernoulli Beams With Small Deformations:
Consider a linear elastic Euler Bernoulli beam with a constant cross-sectional area and with a length such that its neutral axis before deformation is aligned with the axis. Then, using the expressions for the stresses and strains in an Euler Bernoulli beam, the total strain energy stored in the beam can be evaluated using one of the forms of the following integral:
Linear Elastic Strain Energy in Timoshenko Beams With Small Deformation:
Consider a linear elastic Euler Timoshenko beam with a constant cross-sectional area and with a length such that its neutral axis before deformation is aligned with the axis. Then, using the expressions for the stresses and strains in a Timoshenko beam, the total strain energy stored in the beam can be evaluated using one of the forms of the following integral:
Video:
Quiz-Strain Energy Expressions
Solution Guide
Examples and Problems
Example 1:
The strains in a linear elastic orthotropic material are given by the strain matrix:
If the material axes of orthotropy are aligned with the orthonormal basis set used, then find the stresses and the strain energy per unit volume if , and
Solution:
The stress strain relationships for orthotropic materials shown can be used to find the stresses. Therefore, the stress matrix has the following form:
The strain energy per unit volume for a general linear elastic material is given by Equation 2:
View Mathematica Code
E22=100;
E33=200;
G12=G13=G23=35;
eps={{0.01,0.015,0.001},{0.015,-0.02,0.002},{0.001,0.002,0.001}};
stress=Table[0,{i,1,3},{j,1,3}];
stress[[1,1]]=eps[[1,1]]*E11;
stress[[2,2]]=eps[[2,2]]*E22;
stress[[3,3]]=eps[[3,3]]*E33;
stress[[1,2]]=stress[[2,1]]=2eps[[1,2]]*G12;
stress[[1,3]]=stress[[3,1]]=2eps[[1,3]]*G13;
stress[[2,3]]=stress[[3,2]]=2eps[[2,3]]*G23;
stress//MatrixForm
eps//MatrixForm
Energy=Sum[stress[[i,j]]*eps[[i,j]]/2,{i,1,3},{j,1,3}]
View Python Code
import sympy as sp from sympy import Matrix E11,E22,E33 = sp.symbols("E_{11} E_{22} E_{33}") v12,v13,v23 = sp.symbols("\u03BD_{12} \u03BD_{13} \u03BD_{23}") G12,G13,G23 = sp.symbols("G_{12} G_{13} G_{23}") E = Matrix([[0.01,0.015, 0.001], [0.015,-0.02, 0.002], [0.001, 0.002, 0.001]]) Evect=Matrix([E[0,0],E[1,1],E[2,2],2*E[0,1],2*E[0,2],2*E[1,2]]) Dd=Matrix([[E11,0,0,0,0,0], [0,E22,0,0,0,0], [0,0,E33,0,0,0], [0,0,0,G12,0,0], [0,0,0,0,G13,0], [0,0,0,0,0,G23]]) #s = Matrix([[E[0,0]*E11,2*E[0,1]*G12,2*E[0,2]*G13], # [2*E[1,0]*G12,E[1,1]*E11,2*E[1,2]*G23], # [2*E[2,0]*G13, 2*E[2,1]*G23, E[2,2]*E33]]) svector=Dd*Evect svector = svector.subs({E11:100,E22:100,E33:200,G12:35,G13:35,G23:35,}) s=Matrix([[svector[0],svector[3],svector[4]], [svector[3],svector[1],svector[5]], [svector[4],svector[5],svector[2]]]) display("\u03B5 =",E) display("\u03B5_vector =",Evect) display("\u03C3_vector =",svector) display("\u03C3 =",s) Energy = sum([s[i]*E[i] for i in range(9)])/2 display("Energy (U) =",Energy)
Example 2:
If the state of stress in a linear elastic isotropic material is given by the stress matrix:
Find the strain energy density and its deviatoric and volumetric components stored inside the material if and .
SOLUTION:
Using Equation 3, the strain energy density is:
The deviatoric and volumetric components are:
View Mathematica Code
Nu = 0.1;
Ee = 10000;
G = Ee/2/(1 + Nu);
U = (1 + Nu)/2/Ee*(Sum[s[[i, j]]^2, {i, 1, 3}, {j, 1, 3}]) - Nu/2/Ee*(Sum[s[[i, i]], {i, 1, 3}])^2 p = (s[[1, 1]] + s[[2, 2]] + s[[3, 3]] )/ 3
Udeviatoric = 1/12/G*((s[[1, 1]] - s[[2, 2]])^2 + (s[[3, 3]] - s[[2, 2]])^2 + (s[[1, 1]] - s[[3, 3]])^2 + 6*(s[[1, 2]]^2 + s[[1, 3]]^2 + s[[2, 3]]^2))
Uvolumetric = 3 (1 - 2 Nu)/2/Ee*p^2
View Python Code
import sympy as sp from sympy import Matrix s = Matrix([[20,30,0],[30,-10,0],[0,0,25]]) display("\u03C3 =",s) Nu = 0.1 Ee = 10000 G = Ee/2/(1+Nu) U = (1+Nu)/2/Ee*(sum([s[i]*s[i] for i in range(9)]))-Nu/2/Ee*( sum([s[i,i] for i in range(3)]))**2 display("U =",U) p = sum([s[i,i] for i in range(3)])/3 display("p =",p) Udeviatoric = 1/12/G*((s[0,0]-s[1,1])**2 + (s[2,2]- s[1,1])**2 + (s[0,0] - s[2,2])**2 + 6*(s[0,1]**2 + s[0,2]**2 + s[1,2]**2)) display("U_deviatoric =",Udeviatoric) Uvolumetric = 3*(1-2*Nu)/2/Ee*p**2 display("U_volumetric",Uvolumetric)
Example 3:
The position function in dimensions of m. of a plate follows the following form:
The plate has dimensions of 2m in the direction of and 1m in the direction of with the bottom left corner coinciding with the origin of the coordinate system. Assuming that the material is linear elastic isotropic with Young’s modulus of 210 GPa and Poisson’s ratio of 0.3, then:
- Find an expression for the strain energy density as a function of the position inside the plate, and draw the contour plot of the strain energy density function on the plate.
- If the thickness of the plate is 10mm, find the total strain energy stored inside the plate.
- Find an expression for the deviatoric and volumetric strain energy density functions, and draw the contour plot of each on the plate.
Solution:
The displacement function can be calculated as follows:
The gradient of the displacement is given by the following matrix:
The engineering small strain is given by:
The vector representation of the strain is given by:
Using the constitutive equation for linear elastic isotropic materials, the vector representation of the stress is given by:
The strain energy density is given by:
The total energy is given by:
The deviatoric and volumetric strain energy densities are given by:
The required contour plots are:
View Mathematica Code
Clear[X1, X2, X3, x1, x2, x3, Ee, Nu] X = {X1, X2, X3}; x = {x1, x2, x3}; x1 = X1 + 0.001 X2 + 0.0002 X1^2; x2 = 1.001 X2 - 0.0002 X2^2; x3 = X3; u = x - X; gradu = Table[D[u[[i]], X[[j]]], {i, 1, 3}, {j, 1, 3}]; esmall = 1/2 (gradu + Transpose[gradu]); esmall // MatrixForm Strainvector = {esmall[[1, 1]], esmall[[2, 2]], esmall[[3, 3]], 2*esmall[[1, 2]], 2*esmall[[1, 3]], 2*esmall[[2, 3]]}; Strainvector // MatrixForm Ee = 210000; Nu = 0.3; G = Ee/2/(1 + Nu); Cc = {{1/Ee, -Nu/Ee, -Nu/Ee, 0, 0, 0}, {-Nu/Ee, 1/Ee, -Nu/Ee, 0, 0, 0}, {-Nu/Ee, -Nu/Ee, 1/Ee, 0, 0, 0}, {0, 0, 0, 1/G, 0, 0}, {0, 0, 0, 0, 1/G, 0}, {0, 0, 0, 0, 0, 1/G}}; Dd = FullSimplify[Inverse[Cc]]; stressvector = FullSimplify[Chop[Dd . Strainvector]]; stressvector // MatrixForm S = {{stressvector[[1]], stressvector[[4]], stressvector[[5]]}, {stressvector[[4]], stressvector[[2]], stressvector[[6]]}, {stressvector[[5]], stressvector[[6]], stressvector[[3]]}}; S = Chop[FullSimplify[S]]; S // MatrixForm StrainEnergy = FullSimplify[Sum[1/2*S[[i, j]]*esmall[[i, j]], {i, 1, 3}, {j, 1, 3}]] TotalEnergy = Integrate[StrainEnergy, {X1, 0, 2}, {X2, 0, 1}, {X3, 0, 0.01}] Udeviatoric = FullSimplify[ 1/12/G*((S[[1, 1]] - S[[2, 2]])^2 + (S[[3, 3]] - S[[2, 2]])^2 + (S[[1, 1]] - S[[3, 3]])^2 + 6*(S[[1, 2]]^2 + S[[1, 3]]^2 + S[[2, 3]]^2))] Uvolumetric = FullSimplify[(1 - 2 Nu)/6/Ee*(S[[1, 1]] + S[[2, 2]] + S[[3, 3]])^2] (*Check that the above expressions for the energy add up*) Chop[FullSimplify[StrainEnergy - Udeviatoric - Uvolumetric]] ContourPlot[StrainEnergy, {X1, 0, 2}, {X2, 0, 1}, AspectRatio -> Automatic, ContourLabels -> All, PlotLabel -> "StrainEnergy MN m/m^3"] ContourPlot[Udeviatoric, {X1, 0, 2}, {X2, 0, 1}, AspectRatio -> Automatic, ContourLabels -> All, PlotLabel -> "Deviatoric StrainEnergy MN m/m^3"] ContourPlot[Uvolumetric, {X1, 0, 2}, {X2, 0, 1}, AspectRatio -> Automatic, ContourLabels -> All, PlotLabel -> "Volumetric StrainEnergy MN m/m^3"]
View Python Code
import sympy as sp from sympy import Matrix, diff, simplify, integrate, lambdify import numpy as np X1,X2,X3 = sp.symbols("X_1 X_2 X_3") import matplotlib.pyplot as plt X = Matrix([X1,X2,X3]) x1 = X1+0.001*X2+0.0002*X1**2 x2 = 1.001*X2-0.0002*X2**2 x3 = X3 x = Matrix([x1,x2,x3]) u = x-X display("u =",u) gradu = Matrix([[diff(i,j) for j in X] for i in u]) display("\u2207u =",gradu) esmall = 1/2*(gradu+gradu.T) display("\u03B5 =",esmall) strainvector = Matrix([esmall[0,0], esmall[1,1], esmall[2,2], 2*esmall[0,1], 2*esmall[0,2], 2*esmall[1,2]]) display("Strain vector =",strainvector) Ee = 210000 Nu = 0.3 G = Ee/2/(1+Nu) Cc = Matrix([[1/Ee,-Nu/Ee,-Nu/Ee,0,0,0], [-Nu/Ee,1/Ee,-Nu/Ee,0,0,0], [-Nu/Ee,-Nu/Ee,1/Ee,0,0,0], [0,0,0,1/G,0,0], [0,0,0,0,1/G,0], [0,0,0,0,0,1/G]]) Dd = Cc.inv() stressvector = Dd*strainvector display("Stress vector =",stressvector) S = Matrix([[stressvector[0], stressvector[3], stressvector[4]], [stressvector[3], stressvector[1], stressvector[5]], [stressvector[4], stressvector[5], stressvector[2]]]) display("Stress Matrix =",S) StrainEnergy = simplify(sum([S[i]*esmall[i]/2 for i in range(9)])) display("Strain energy (U) =",StrainEnergy) TotalEnergy = integrate(StrainEnergy,(X1,0,2),(X2,0,1),(X3,0,0.01)) display("Total Energy =",TotalEnergy) Udeviatoric = simplify(1/12/G*((S[0,0]-S[1,1])**2 + (S[2,2]- S[1,1])**2 + (S[0,0] - S[2,2])**2 + 6*(S[0,1]**2 + S[0,2]**2 + S[1,2]**2))) display("U_deviatoric =",Udeviatoric) Uvolumetric = simplify((1-2*Nu)/6/Ee*(S[0,0]+S[1,1]+S[2,2])**2) display("U_volumetric =",Uvolumetric) display("Check for energy total:",simplify(StrainEnergy-Udeviatoric-Uvolumetric)) display("Contour plots:") def plot(f, limits, title): x1, xn, y1, yn = limits dx, dy = 10/100*(xn-x1),10/100*(yn-y1) xrange = np.arange(x1,xn,dx) yrange = np.arange(y1,yn,dy) X, Y = np.meshgrid(xrange, yrange) lx, ly = len(xrange), len(yrange) F = lambdify((X1,X2),f) Z = F(X,Y)*np.ones(lx*ly).reshape(lx, ly) fig = plt.figure(figsize = (5,2)) ax = fig.add_subplot(111) cp = ax.contourf(X,Y,Z) fig.colorbar(cp) plt.title(title) plot(StrainEnergy, [0,2,0,1],"StrainEnergy MN m/m^3") plot(Udeviatoric, [0,2,0,1],"Deviatoric StrainEnergy MN m/m^3") plot(Uvolumetric, [0,2,0,1],"Volumetric StrainEnergy MN m/m^3")
Example 4:
Consider a linear elastic small deformations cantilever beam. If a load of value is applied at the free end, find an expression for the strain energy per unit volume as a function of the position, , and the beam length . Also find the total strain energy stored. Assume Young’s modulus to be and that the beam has a rectangular cross section with a moment of inertia .
SOLUTION:
The bending moment in a cantilever beam loaded by a concentrated load at the free end is given by:
The stress component and the strain component are given by:
Therefore, the strain energy per unit volume at any point is given by:
The total strain energy stored in the beam is given by:
Note that the displacement at the free end is equal to:
By assuming a gradual increase of the external load , the work done during the application of the load is equal to:
Therefore, the work done on the beam is equal to the total strain energy stored in the beam.
Problems:
- A linear elastic isotropic material with a shear modulus and a bulk modulus is stretched such that the small strain matrix is:
- A linear elastic isotropic material with Young’s modulus of 100 units is stretched such that the small strain tensor is given by:
- Find the strain energy stored during the deformation.
- Find the deviatoric strain energy stored during the deformation.
- Find the volumetric strain energy stored during the deformation. Which case has higher volumetric strain energy and why?
- Two states of stress are given by the stress matrices:
where , and is the identity matrix. Find the deviatoric and the volumetric strain energy densities associated with both matrices if the material is linear elastic isotropic with Young’s modulus and Poisson’s ratio .
- Two states of stress are given by the stress matrices:
- Compare the total strain energy stored in a simple versus fixed ends beam of length , Young’s modulus , moment of inertia loaded with a constant distributed load . (Answer: Simple beam has 6 times more energy stored for the same distributed loading!) .
- For a linear isotropic elastic material with a Young’s modulus and Poisson’s ratio , express the strain energy density function under the condition of plane stress in terms of:
- and .
- and .
- For a linear isotropic elastic material with a Young’s modulus and Poisson’s ratio , express the strain energy density function under the condition of plane strain in terms of:
- and .
- and .
- Consider a material model that follows the following nonlinear relationship between the unixial stress and the uniaxial strain .
- Draw the relationship between the stress and strain in the specified range.
- Find the strain energy stored at full extension.
- Find the stress corresponding to a strain value of 0.1.
Hi, Im student from Brasil and Im studiyng Orthotropic Materials. Thank you !!