Surface Displacements of a Triangular Load Distribution for Numerical Solutions of Contact Problems Brian Ruggiero Numerical Analysis for Engineering (NAE) (MEAE-4960) April 23, 2001 Table of Contents 1. List of Symbols Used 2 2. Introduction 3 3. Problem Description and Formulation 3 4. Numerical solution 6 5. Results 7 6. Error Analysis 8 7. Discussion 9 8. Conclusions 9 9. References 11 10. Appendices 1. Matlab program text for the analytical solution 12 2. FEM text output 13 3. Matlab example program 17 -1- List of Symbols Used O S h uz P p0 pj j c v E p(s) q(s) a C Initial contact point Arbitrary point on the contact surface within the contact region Function of the gap between two surfaces before contact Displacement of a point from the contact plane Displacement of two bodies in contact after deformation Load exerted on a body in contact in units of force per unit length Maximum pressure exerted at the point of first contact Pressure at node j Node number Distance between nodes Poisson’s ratio Modulus of elasticity Normal pressure distribution Tangential pressure distribution Contact length Constant of integration -2- Introduction The first analysis of stress at the contact of two elastic solids was conducted by Hertz in the early 1880s. His model for a general contact problem can be simplified to twodimensions for the normal contact of two cylindrical bodies. Results can be calculated to good approximation by considering each body as a semi-infinite elastic solid bounded by a plane surface. This is also known as an elastic half-space. The significant dimensions of the contact area must be small compared with the dimensions of the body and with the relative radii of curvature of the surfaces. Many contact problems do not permit analytical solutions and require numerical methods to find a solution. Conforming contacts and problems with friction involving partial slip are several examples of contact problems that cannot be solved analytically. Several methods are available for solving contact problems numerically. The use of triangular elements to calculate the contact area and pressure distribution in contact problems requires the derivation of a triangular distribution of load. Analytical solutions are derived from general pressure distributions applied to an elastic half-space in plane strain. Numerical methods such as the finite element method can solve for surface displacements by searching for the solution of a function among the set of those which minimize an integral1. The solution of a triangular distribution for use in the numerical solution of contact problems will be derived in the following sections. Problem Description and Formulation Contact problems begin with the understanding of two non-conforming smooth surfaces in contact. When they are brought into contact they initially touch at a single point O or along a line. Under the action of the slightest load they deform in the vicinity of their point of first contact so that they touch over an area that is finite though small compared with the dimensions of the two bodies2. Datum z is chosen as the plane tangent to both bodies at the point of first contact. Before deformation the separation between two corresponding surface points S1 and S2 is given by h. If the solids did not deform their profiles would overlap. Due to contact pressure the surface of each body is displaced parallel to the z-axis by an amount uz1 and uz2 (measured positive into each body) as shown in figure 1. If, after deformation, the points S1 and S2 are coincident within the contact surface then u z1 u z 2 h 0 (1a) within the contact surface, and u z1 u z 2 h 0 (1b) outside the contact surface. -3- Figure 1. For simplification we must neglect tangential tractions and assume that the surfaces are frictionless. This will incur only a small loss of precision. As stated earlier the contact between two cylinders in plane strain will produce a line contact after deformation. The load exerted on the bodies is represented by a force P per unit length. For the numerical solution the continuously distributed contact force created by load P is divided into a discrete set of elements with can be represented several ways. The simplest being an array of concentrated normal forces. This is not a useful representation because an infinite displacement will occur at the point of contact. This can be avoided by using uniformly distributed pressure elements shown as a stepwise distribution. The surface displacements are now finite everywhere, but the displacement gradients are infinite between adjacent elements where there is a step change in traction2. A triangular distribution with overlapping elements produces surface displacements that are everywhere smooth and continuous. This is called a piecewise-linear distribution of traction and is shown in figure 2. -4- p0 pj O c Figure 2. Where p0 is the maximum pressure at the initial contact point O, pj is the pressure element at node j, and c is the distance between nodes. The elastic displacements of corresponding points on the two surfaces must satisfy equations (1a) and (1b). The surface displacements are found by evaluating the displacement gradients at the surface of an elastic half space loaded with a triangular distribution. The general form of the equation is a u z 2(1 2 ) p( s) (1 2 )(1 ) ds q ( x) x E b x s E (2) Where p(s) is the normal traction and q(s) is the tangential traction. The gradient u z / x is the actual slope of the deformed surface. As stated earlier friction will be neglected thus simplifying equation (2). Substituting the normal distribution function and integrating yields the following equation: 2 2 (1 2 ) p0 xa xa 2 2 2 2 uz ( x a) ln 2 x ln( x / a) C ( x a) ln 2 E a a a (3) -5- Where is Poisson’s ratio, E is the Modulus of Elasticity of the material, and C is the constant of integration. C is dependent on the coordinate system chosen and is found where uz = 0. Equation (3) is the surface displacement of an elastic half-space loaded with a triangular distribution. It is used to calculate the matrix of influence coefficients. The pressure element at each node is affected by the deflection of every other node. It is the summation over a region larger than the contact area that is used to numerically calculate the pressure distribution and contact area. Two methods that use this method are: 1. The direct, or Matrix Inversion method in which the boundary conditions are satisfied exactly at specified ‘matching points’, usually the mid-points of the boundary elements. 2. The Variational method in which the values of the traction elements are chosen to minimize an appropriate energy function. It is beyond the scope of this paper to go into any more detail regarding the above methods. A Matlab program using the Matrix Inversion method can be found in the Appendix. Numerical Solution Calculating surface displacements of a triangular distribution can be determined using the finite element method (FEM). Numerous software packages are available to efficiently run FEM analysis. For this exercise Pro/Mechanica Structure, the finite element analysis (FEA) module of the CAD package Pro/Engineer, will be used to calculate the surface displacement. The arbitrary body is loaded in plane strain over a 0.020” wide portion of the surface (a = .010). A 1000 pound/inch load is applied using the following load distribution: p ( x) p0 (a | x |) a (4) This is the same load distribution used in the analytical solution. Again, the triangular distribution is used for two-dimensional contact problems in plane strain. Figure 3 shows a graphical output of the displacements in the z-direction (shown as the y-direction) for the pressure distribution outlined above. -6- Figure 3. It is interesting to note that the displacement effects subjected to the load are apparent throughout the body. Although the body is considered infinite the geometry chosen in the analysis is sufficiently large compared to the loaded region and does not affect the results. The following section compares the FEM and the analytical solution. Results Figure 3 shows the comparison between the FEA described above and the same problem solved using equation (3). The constant of integration C was evaluated at x = 10. This is an arbitrary distance chosen using equation (2) to determine when the displacement gradient approaches zero. -7- Displacement Comparison 1.80E-06 Displacement (inch) 1.60E-06 1.40E-06 1.20E-06 Analytical FEA (z-dir) FEA (mag) 1.00E-06 8.00E-07 6.00E-07 4.00E-07 2.00E-07 0.00E+00 0.000 0.010 0.020 0.030 0.040 0.050 0.060 x-distance Figure 4 Note that the displacements are symmetrical about x = 0. The displacements are nearly identical under the loaded region (a = 0.010). The error increases as the measure is taken further and further from the loaded region. The results of the FEA can output displacements in the x and z-directions as well as displacement magnitude. Figure 4 shows FEA displacements in the z-direction and magnitudes as well as the analytical displacements in the z-direction. Error Analysis As stated earlier the error increases as the measure is taken further from the loaded region. The results plotted for the FEA are displacements in the z-direction only. Note that comparison between the displacement in the z-direction and the displacement magnitudes of the FEA have nearly identical results. This tells us that the displacements in the x-direction are negligible and our analytical solution is valid for use in the numerical solution of contact problems. Figure 5 shows the values obtained from the analytical solution, FEM displacement magnitudes, FEM displacements in the zdirection, and error. Error is calculated using displacements in the z-direction only. Error is not sensitive to changes in the C constant providing that it was calculated a distance far from the loaded region. The error remains in the order of 10E-7. -8- measure1: measure2: measure3: measure4: measure5: measure6: measure7: measure8: measure9: measure10: measure11: X 0.000 0.005 0.010 0.015 0.020 0.025 0.030 0.035 0.040 0.045 0.050 FEA (mag) 1.594640E-06 1.524936E-06 1.334915E-06 1.154452E-06 1.055451E-06 9.820083E-07 9.241372E-07 8.760405E-07 8.340999E-07 7.975570E-07 7.653622E-07 FEA (z-dir) 1.594637E-06 1.523029E-06 1.328265E-06 1.146614E-06 1.046848E-06 9.728517E-07 9.145697E-07 8.661087E-07 8.238028E-07 7.869750E-07 7.545242E-07 Analytical 1.623605E-06 1.518787E-06 1.355898E-06 1.263561E-06 1.204335E-06 1.159662E-06 1.123621E-06 1.093360E-06 1.067257E-06 1.044296E-06 1.023796E-06 Error 2.896480E-08 6.148600E-09 2.098260E-08 1.091090E-07 1.488841E-07 1.776537E-07 1.994842E-07 2.173195E-07 2.331570E-07 2.467391E-07 2.584342E-07 Figure 5 Discussion The finite element method has gained enormous popularity in recent years due to its increase in flexibility and exponential leaps in computing power. It seams as if every CAD package has an FEA module or has the capability of exporting its geometry to FEA software. It is becoming relatively easy to use the finite element method. Engineers simply apply loads and constraints and output a beautifully contoured fringe plots that animate the deflections and highlighting all the “hot spots”. Engineers need to take a step back and evaluate their results, baseline them to analytical results, and correlate the analysis to test data. The results should not be taken at face value. It is too easy to miss a decimal point or create a bad mesh when it comes to using FEA. The correlation shown above is a good indicator that the FEA was performed on a robust model. Conclusions Numerical solutions of contact problems are typically used when the size or shape of the contact area is unknown. A piecewise-linear distribution of traction using triangular distributions with overlapping elements produces surface displacements that are everywhere smooth and continuous. Results show how the triangular load deflects the surface at distances well outside the loaded region. Each element has an effect on the remaining elements. Similarly solutions of point load contact problems are solved using an array of pyramid elements based on the same idea. Verification of simple problems such as two cylinders in contact or two spheres in contact can be done using Hertz method. Hertz’s theory has been shown to agree very closely with experimental results for small deformations. The finite element method is the generally preferred method for calculating stress and deflection. Using FEA for contact analysis involves slightly more complicated software. Some FEA packages have the capability of refining the mesh at the point of contact. Contact problems are difficult because the contact area is constantly changing until the material stops deflecting. The method used in this paper is probably the most commonly used. The pressure distribution and contact patch is calculated and -9- directly applied to the body. This works for simple contact situations, which are fortunately the most common. FEA has the advantage of analyzing complicated geometry, providing the most accurate results, and efficiently calculating an array of results in a relatively short amount of time. - 10 - References 1. Ernesto Gutierrez-Miravete, Session 12: (NAE) MEAE-4960 2. Johnson, K. L., Contact Mechanics, CambridgeUniversity, UK, 1985. 3. Paul, B., Hashemi, J., “Contact Pressures on Closely Conforming Elastic Bodies,” ASME Journal of Applied Mechanics, Vol. 48, (1981): 543-548 4. Singh, K. P., Paul, B., “Numerical Solution of Non-Hertzian Elastic Contact Problems,” ASME Journal of Applied Mechanics, Vol . 41, (1974): 484-490 5. Timoshenko, S. P., Goodier, J. N., Theory of Elasticity, 2nd ed., McGraw-Hill, NY, 1951. - 11 - Appendix 1 Matlab program to calculate surface displacements of a triangular load %Tri_dist.m %Program calculates surface displacement of a triangular load distribution %04/14/2001 clear; P=1000; c=.010; EE=30000000; v=.30; z=10; E=1/(2*(1-v^2)/EE); %Force (lb/inch) %Element size (inch) %Modulus of Elasticity (psi) %Poissons's ratio %zero intersection %Calculates triangular element constant g=inline('-(1-v^2)/(2*pi*EE)*P/c*((x+c)^2*log(((x+c)/c)^2)+(x-c)^2*log(((x-c)/c)^2)2*x^2*log((x/c)^2))','x','v','EE','P','c'); const=-g(z,v,EE,P,c); for i = 1:11 x(i)=(i-1)*.005; x(1)=.0000001; x(3)=.01+.0000001; f(i)=-(1-v^2)/(2*pi*EE)*P/c*((x(i)+c)^2*log(((x(i)+c)/c)^2)+(x(i)-c)^2*log(((x(i)c)/c)^2)-2*(x(i))^2*log((x(i)/c)^2))+const; end ff=f'; figure(1) plot(f); save disp.out ff –ASCII 1.6236048e-006 1.5187874e-006 1.3558976e-006 1.2635610e-006 1.2043351e-006 1.1596620e-006 1.1236214e-006 1.0933600e-006 1.0672569e-006 1.0442961e-006 1.0237964e-006 - 12 - Appendix 2 Pro/Mechanica Structure output file -----------------------------------------------------------Pro/MECHANICA STRUCTURE Version 22.3(305) Summary for Design Study "Analysis3_Y" Tue Apr 17, 2001 13:03:40 -----------------------------------------------------------Run Settings Memory allocation for block solver: 256.0 Checking the model before creating elements... These checks take into account the fact that AutoGEM will automatically create elements in volumes with material properties, on surfaces with shell properties, and on curves with beam section properties. Not all of the materials assigned to the model contain failure data. Failure Index measures will only be calculated for materials with failure data. Generate elements automatically. Checking the model after creating elements... No errors were found in the model. Pro/MECHANICA STRUCTURE Model Summary Principal System of Units: Inch Pound Second (IPS) Length: in Force: lbf Time: sec Temperature: F Model Type: Plane Strain Points: Edges: Faces: 54 103 50 Springs: Masses: 0 0 - 13 - 2D Shells: 2D Solids: 0 50 Elements: 50 -----------------------------------------------------------Standard Design Study Static Analysis "Analysis3_Y": Convergence Method: Multiple-Pass Adaptive Plotting Grid: 10 RMS Stress Error Estimates: Load Set Stress Error % of Max Prin Str ---------------- ------------ ----------------LoadSet1 4.64e+00 0.5% of 9.93e+02 Resource Check (13:03:46) Elapsed Time (sec): 7.28 CPU Time (sec): 4.75 Memory Usage (kb): 285866 Wrk Dir Dsk Usage (kb): 0 The analysis converged to within 10% on edge displacement, element strain energy, and global RMS stress. Total Mass of Model: 1.464799e-03 Total Cost of Model: 0.000000e+00 Mass Moments of Inertia about WCS Origin: Ixx: 4.88266e-04 Ixy: 9.51973e-20 Iyy: 4.88266e-04 Ixz: 0.00000e+00 Iyz: 0.00000e+00 Izz: 9.76532e-04 Principal MMOI and Principal Axes Relative to WCS Origin: Max Prin 9.76532e-04 Mid Prin 4.88266e-04 Min Prin 4.88266e-04 - 14 - WCS X: 0.00000e+00 WCS Y: 0.00000e+00 WCS Z: 1.00000e+00 0.00000e+00 1.00000e+00 0.00000e+00 1.00000e+00 0.00000e+00 0.00000e+00 Center of Mass Location Relative to WCS Origin: ( 2.15621e-16, -5.00000e-01, 0.00000e+00) Mass Moments of Inertia about the Center of Mass: Ixx: 1.22067e-04 Ixy: -6.27237e-20 Iyy: 4.88266e-04 Ixz: 0.00000e+00 Iyz: 0.00000e+00 Izz: 6.10333e-04 Principal MMOI and Principal Axes Relative to COM: Max Prin 6.10333e-04 Mid Prin 4.88266e-04 WCS X: 0.00000e+00 WCS Y: 0.00000e+00 WCS Z: 1.00000e+00 Min Prin 1.22067e-04 0.00000e+00 1.00000e+00 0.00000e+00 1.00000e+00 0.00000e+00 0.00000e+00 Constraint Set: ConstraintSet1 Load Set: LoadSet1 Resultant Load on Model: in global X direction: -7.160892e-14 in global Y direction: -1.600000e+01 Measures: Name Value Convergence -------------- ------------- ----------max_disp_mag: 1.594637e-06 0.3% max_disp_x: 1.375065e-07 0.5% max_disp_y: -1.594637e-06 0.3% max_disp_z: 0.000000e+00 0.0% max_prin_mag: -9.927550e+02 0.0% max_rot_mag: 0.000000e+00 0.0% max_rot_x: 0.000000e+00 0.0% max_rot_y: 0.000000e+00 0.0% max_rot_z: 0.000000e+00 0.0% max_stress_prin: 7.918202e+01 1.2% max_stress_vm: 5.317132e+02 0.3% max_stress_xx: -9.787585e+02 0.3% - 15 - max_stress_xy: -2.626563e+02 max_stress_xz: 0.000000e+00 max_stress_yy: -9.927550e+02 max_stress_yz: 0.000000e+00 max_stress_zz: -5.914541e+02 min_stress_prin: -9.927550e+02 strain_energy: 1.212280e-05 measure1: -1.594637e-06 measure10: -7.869750e-07 measure11: -7.545242e-07 measure2: -1.523029e-06 measure3: -1.328265e-06 measure4: -1.146614e-06 measure5: -1.046848e-06 measure6: -9.728517e-07 measure7: -9.145697e-07 measure8: -8.661087e-07 measure9: -8.238028e-07 0.2% 0.0% 0.0% 0.0% 0.2% 0.0% 0.3% 0.3% 0.1% 0.1% 0.3% 0.3% 0.3% 0.3% 0.3% 0.2% 0.2% 0.1% Analysis "Analysis3_Y" Completed (13:03:46) -----------------------------------------------------------Memory and Disk Usage: Machine Type: Windows NT/x86 RAM Allocation for Solver (megabytes): 256.0 Total Elapsed Time (seconds): 7.34 Total CPU Time (seconds): 4.80 Maximum Memory Usage (kilobytes): 285866 Working Directory Disk Usage (kilobytes): 0 Results Directory Size (kilobytes): 2150 .\Analysis3_Y -----------------------------------------------------------Run Completed Tue Apr 17, 2001 13:03:46 ------------------------------------------------------------ - 16 - Appendix 3 Matlab program for contact between two cylinders. Compares numerical method to Hertz method. %Contact.m %Program to numercally calculate contact area and pressure distribution between two cylinders %03/28/2001 clear; P=2500; c=.0005; EE=30000000; v=.30; R1=1; R2=3; n=37; nn=n-1; z=1; aa=9; %Force (lb/inch) %Element size (inch) %Modulus of Elasticity (psi) %Poissons's ratio %Radius of cylinder 1 (inch) %Radius of cylinder 2 (inch) %Number of nodes %n-1 nodes %zero intersection %Node where p becomes zero E=1/(2*(1-v^2)/EE); R=1/(1/R1+1/R2); %Calculates triangular element constant g=inline('(1-v^2)/(2*pi*EE*c)*((x+c)^2*log(((x+c)/c)^2)+(x-c)^2*log(((x-c)/c)^2)2*x^2*log((x/c)^2))','x','v','EE','c'); const=-g(z,v,EE,c); %Calculates influence coefficients for i = 1:nn %i=1 refers to i=0 for j = 1:nn k=i-j; x=k*c; if x < -z x=-z; elseif x == -c x=-c+.0000001; elseif x == 0 x=.0000001; elseif x == c x=c+.0000001; elseif x > z x=z; else - 17 - end f=inline('-(1-v^2)/(2*pi*EE*c)*((x+c)^2*log(((x+c)/c)^2)+(x-c)^2*log(((x-c)/c)^2)2*x^2*log((x/c)^2))+const','x','v','EE','c','const'); ff(i)=f(x,v,EE,c,const); C(i,j)=f(x,v,EE,c,const); B(i,j)=C(1,j)-C(i,j); end h(i,:)=.5*(1/R)*((i-1)*c)^2; end %Sets pi=0 for negative pressures for i =aa:nn for j = 1:nn if j ~= i B(i,j)=0; Else h(i)=0; end end end %Calculates last equation A=c*(aa-2) %Contact area h(1)=P; for j = 1:nn B(1,j)=A; end p=B\h; %Pressure distribution save Numer.out p -ASCII %Solution using Hertz method a=sqrt(4*2*P*R/(pi*E)); %Contact width p0=2*2*P/(pi*a); %Maximum pressure i=1; x=0; while x < (a-c) x(i)=i*c; p_h(i)=2*2*P/(pi*a^2)*(a^2-(x(i))^2)^(.5); %Pressure distribution i=i+1; end for j = i:(n-1) p_h(j)=0; - 18 - end pp=p_h'; figure(1) subplot(2,2,1) xx = 1:(n-1); plot(xx,p,xx,pp); - 19 -