Parametric Finite Element Analysis of Spur Gear Bending Stress Using ABAQUS Secondary Development

In mechanical engineering, spur gears are among the most widely used components for power transmission in various applications, including automotive, aerospace, and industrial machinery. The accurate calculation of bending stress in spur gears is critical to ensure their durability, reliability, and performance under operational loads. Traditional methods for spur gear bending stress analysis, such as the Lewis formula, rely on simplified assumptions like the uniform strength cantilever beam model, which often fails to account for geometric discontinuities at the tooth root and the influence of radial loads. This can lead to conservative or inaccurate stress predictions, potentially resulting in over-designed or under-performing spur gear systems. To address these limitations, the finite element method (FEM) has emerged as a powerful tool, enabling detailed modeling of spur gear geometry, boundary conditions, and loading scenarios. However, using commercial FEM software like ABAQUS for spur gear analysis typically involves repetitive and time-consuming graphical user interface (GUI) operations, which hinder efficiency and scalability. This article presents a parameterized and automated approach for spur gear bending stress analysis through secondary development in ABAQUS using Python scripting. By leveraging this method, we aim to streamline the finite element analysis (FEA) workflow for spur gears, from geometric modeling to result extraction, while ensuring accuracy and repeatability. The focus is on spur gears with an involute tooth profile and a circular arc transition curve, which enhances bending strength compared to traditional cycloidal or trochoidal forms. Through this work, we provide a comprehensive framework for researchers and engineers to efficiently analyze spur gear bending stress, facilitating optimized design and validation processes.

The geometric modeling of spur gear teeth forms the foundation for accurate finite element analysis. For spur gears, the tooth profile is typically defined by an involute curve from the base circle to the tip circle, followed by a transition curve connecting the involute to the root circle. In this study, we adopt a circular arc transition curve, as it offers improved stress distribution and fatigue resistance compared to standard fillets. The coordinate system for the tooth profile is established with the origin at the gear center, denoted as $O_G$, and the $Y_G$-axis aligned with the tooth centerline. Key circles include the root circle (radius $r_f$), base circle (radius $r_b$), pitch circle (radius $r$), and tip circle (radius $r_a$). The transition curve $\overarc{BD}$ is a circular arc tangent to the involute $\overarc{AB}$ at point $B$ and to the root circle $\overarc{DF}$ at point $D$, with its center at point $E$. The coordinates of critical points are derived based on gear parameters such as the number of teeth $z$, module $m_n$, and pressure angle $\alpha_n$. For spur gears, these parameters are essential for defining the geometry. The formulas for point coordinates are as follows, where $\Omega_S$ represents half of the base circle tooth thickness angle, given by $\Omega_S = \pi/(2z) + \theta_n$, with $\theta_n = \tan \alpha_n – \alpha_n$ being the involute function. The coordinates are calculated in the $O_G-X_G Y_G$ plane:

$$ \begin{cases} x_I = 0 \\ y_I = r_a \end{cases} $$

$$ \begin{cases} x_A = r_a \sin(\Omega_S – \theta_A) \\ y_A = r_a \cos(\Omega_S – \theta_A) \end{cases} $$

$$ \begin{cases} x_B = r_b \sin \Omega_S \\ y_B = r_b \cos \Omega_S \end{cases} $$

$$ \begin{cases} x_D = r_f \sin(\Omega_S + \xi) \\ y_D = r_f \cos(\Omega_S + \xi) \end{cases} $$

$$ \begin{cases} x_E = \dfrac{r_b \tan(\Omega_S + \xi)}{\cos \Omega_S + \tan(\Omega_S + \xi) \sin \Omega_S} \\ y_E = \dfrac{r_b}{\cos \Omega_S + \tan(\Omega_S + \xi) \sin \Omega_S} \end{cases} $$

$$ \begin{cases} x_F = r_f \sin \beta \\ y_F = r_f \cos \beta \end{cases} $$

$$ \begin{cases} x_G = (r_f – S_R) \sin \beta \\ y_G = (r_f – S_R) \cos \beta \end{cases} $$

Here, $\xi = \arccos\left( \dfrac{2r_b r_f}{r_b^2 + r_f^2} \right)$, and $\beta$ is an angle parameter for the root circle segment. The rim thickness $S_R$ is defined as $S_R = h_t m_B$, where $m_B$ is the rim thickness factor, typically set to 1.2 according to standards like GB/T/ISO 6336-3:2019, allowing neglect of its effect on bending stress for spur gears. The involute curve $\overarc{AB}$ is represented by parametric equations for any point $k$ with pressure angle $\alpha_k$ and roll angle $\theta_k = \tan \alpha_k – \alpha_k$, where $0 \leq \alpha_k \leq \arccos(r_b / r_a)$:

$$ \begin{cases} x_k = \dfrac{r_b}{\cos \alpha_k} \sin(\Omega_S – \theta_k) \\ y_k = \dfrac{r_b}{\cos \alpha_k} \cos(\Omega_S – \theta_k) \end{cases} $$

This geometric model enables precise construction of spur gear teeth for finite element analysis. By parameterizing these equations, we can automatically generate tooth profiles for different spur gear designs, facilitating rapid prototyping and analysis. The use of a circular arc transition curve is particularly beneficial for spur gears, as it reduces stress concentrations at the tooth root, a common failure point in gear systems. To illustrate the geometric parameters, Table 1 summarizes key values used in this study for a sample spur gear pair. These parameters are typical for heavy-duty spur gear applications, where bending stress analysis is crucial.

Table 1: Geometric Parameters of the Spur Gear Pair
Parameter Symbol Value for Gear z1 Value for Gear z2
Number of Teeth $z$ 27 192
Module $m_n$ (mm) 32 32
Pressure Angle $\alpha_n$ (°) 20 20
Face Width $b$ (mm) 500 500
Addendum Coefficient $h_a^*$ 1 1
Dedendum Coefficient $c^*$ 0.25 0.25
Base Circle Radius $r_b$ (mm) $r \cos \alpha_n$ $r \cos \alpha_n$
Tip Circle Radius $r_a$ (mm) $r + m_n h_a^*$ $r + m_n h_a^*$
Root Circle Radius $r_f$ (mm) $r – m_n (h_a^* + c^*)$ $r – m_n (h_a^* + c^*)$

With the geometric model established, the next step involves setting up the finite element model for spur gear bending stress analysis. In this work, we consider a three-tooth model, which captures the load-sharing effects between adjacent teeth while maintaining computational efficiency. For spur gears under low-speed, high-torque conditions, bending strength is the primary design criterion, requiring analysis of the maximum bending stress at the critical tooth root section. We assume steady-state operation without dynamic effects or manufacturing errors. The gear material is IF steel, with properties listed in Table 2, which are typical for high-strength spur gear applications. The boundary conditions and loading are applied to simulate the worst-case scenario for bending stress, which occurs when the load acts at the highest point of single tooth contact (HPSTC). This point, denoted as $B_1$, is where only one pair of spur gear teeth carries the full load, maximizing the bending moment at the root.

Table 2: Material Properties for Spur Gear (IF Steel)
Property Symbol Value
Young’s Modulus $E$ (MPa) 206,000
Poisson’s Ratio $\mu$ 0.3
Density $\rho$ (kg/m³) 7,800

To determine the load application point $(x_0, y_0)$ in the $O_G-X_G Y_G$ coordinate system, we use the following formulas based on gear geometry and meshing theory for spur gears. Let $r_1$ and $r_2$ be the pitch radii of the driving and driven spur gears, respectively. The distance $OA_1$ is calculated from the base and tip circles, and $OB_1$ is derived from the transverse contact ratio. The radius $r_0$ to the HPSTC and the corresponding pressure angle $\alpha_0$ are given by:

$$ OA_1 = \sqrt{r_{a2}^2 – r_{b2}^2} – \sqrt{r_2^2 – r_{b2}^2} $$

$$ OB_1 = \pi m_n \cos \alpha_n – OA_1 $$

$$ r_0 = \sqrt{r_1^2 + OB_1^2 – 2 r_1 OB_1 \cos(\alpha_n + \pi/2)} $$

$$ \alpha_0 = \arccos(r_b / r_0) $$

$$ \theta_0 = \tan \alpha_0 – \alpha_0 $$

$$ x_0 = r_0 \sin(\Omega_S – \theta_0) $$

$$ y_0 = r_0 \cos(\Omega_S – \theta_0) $$

The load angle $\alpha_{Fen}$, which defines the direction of the normal force $F_n$, is computed as $\alpha_{Fen} = \pi/2 + \Omega_S – \tan \alpha_0$. For a driving torque $T$, the concentrated normal force $F_n$ applied at the HPSTC on the spur gear tooth is:

$$ F_n = \frac{T}{b r_b \cos \alpha_n} $$

In our example, with $T = 120 \text{ kN·m}$ and $b = 500 \text{ mm}$, $F_n$ is approximately 1800 N, acting perpendicular to the involute profile at the HPSTC. Boundary conditions include fixed displacements on the left, right, and bottom edges of the gear rim to simulate rigid support. These settings ensure that the spur gear model accurately reflects operational constraints, enabling reliable stress analysis.

Mesh generation is a critical aspect of finite element analysis for spur gears, as it directly influences solution accuracy and computational cost. To achieve a balance, we employ a partitioned meshing strategy, dividing each spur gear tooth into eight distinct regions based on geometry and stress gradients. This approach allows for controlled mesh refinement in high-stress areas like the tooth root and transition curve, while using coarser elements in the gear body to reduce model size. The three-tooth model is similarly partitioned, as illustrated in Figure 5 of the original text. The element type selected is CPE4R, a 4-node bilinear plane strain quadrilateral element with reduced integration, suitable for linear elastic analysis of spur gears under plane strain conditions. Triangular elements (CPE3) are used in transition regions to maintain mesh quality. The seeding along edges is parameterized to control mesh density; for instance, the involute and transition curve edges are assigned more seeds than the rim edges. The final mesh for the three-tooth spur gear model consists of approximately 25,200 elements and 25,731 nodes, ensuring sufficient resolution for stress concentration detection.

The automation of this finite element process is achieved through ABAQUS secondary development using Python scripting. ABAQUS provides a robust application programming interface (API) via Python, enabling users to control modeling, analysis, and post-processing programmatically. This eliminates repetitive GUI interactions and allows for parameterized studies, such as varying spur gear dimensions or loads. The script structure revolves around three main objects: the Session object for visualization, the Mdb object for model database operations, and the Odb object for output database access. Below, we outline key script segments for implementing the spur gear bending stress analysis, with explanations embedded in comments. The code is written to be modular, accepting input parameters like gear geometry, material properties, and loading conditions.

First, we create a sketch for the spur gear tooth profile. The sketch includes lines, arcs, and splines defined by the geometric formulas earlier. For example, the circular arc transition curve is constructed using the `ArcByCenterEnds` method, while the involute is approximated as a spline through discrete points. The spur gear tooth regions are then partitioned using sketch-based splitting to facilitate structured meshing.

# Python code for spur gear geometry creation in ABAQUS
import part
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=200.0)
# Define points using parameterized coordinates
# Example: Root circle arc
s.ArcByCenterEnds(center=(0, 0), point1=(x_F, y_F), point2=(x_D, y_D), direction=CLOCKWISE)
# Involute spline
points = [(x_k, y_k) for alpha_k in alpha_range]  # alpha_range from 0 to alpha_max
s.Spline(points=points)
# Partition faces for meshing control
p = mdb.models['Model-1'].parts['Part-1']
f = p.faces
pickedFaces = f.findAt(coordinates=(0.0, r, 0.0))
p.PartitionFaceBySketch(faces=pickedFaces, sketch=s)

Material definition and section assignment follow. The spur gear material is defined as linear elastic with properties from Table 2, and a homogeneous solid section is assigned to the gear part. This ensures that the finite element model accurately represents the mechanical behavior of spur gears under load.

# Material and section definition for spur gears
mdb.models['Model-1'].Material(name='Material-1')
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((206000.0, 0.3),))
mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1', material='Material-1', thickness=None)
region = p.Set(faces=f, name='Set-1')
p.SectionAssignment(region=region, sectionName='Section-1', offset=0.0, offsetType=MIDDLE_SURFACE)

Boundary conditions and loads are applied programmatically. Displacement constraints fix the rim edges, while a concentrated force is applied at the HPSTC on the spur gear tooth. A local coordinate system is defined to orient the force perpendicular to the involute profile, using the load angle $\alpha_{Fen}$.

# Boundary conditions and loading for spur gear analysis
# Fixed constraints on rim edges
region_bc = a.sets['Set-1']  # Assume a set for rim edges
mdb.models['Model-1'].DisplacementBC(name='BC-1', createStepName='Initial', region=region_bc, u1=SET, u2=SET, ur3=UNSET)
# Local coordinate system for force direction
KLM = a.DatumCsysByThreePoints(name='Datum csys-20', coordSysType=CARTESIAN, origin=(0, 0, 0), point1=(1, 0, 0), point2=(0, 1, 0))
datum = mdb.models['Model-1'].rootAssembly.datums[KLM.id]
# Load application point
verts1 = a.instances['Part-1-1'].vertices.findAt(((x_0, y_0, 0.0),))
region_load = a.Set(vertices=verts1, name='Set-9')
mdb.models['Model-1'].ConcentratedForce(name='Load-1', createStepName='applyload', region=region_load, cf1=-F_n, cf2=0.0, distributionType=UNIFORM, localCsys=datum)

Mesh generation is automated with controlled seeding and element types. The edges of partitioned regions are assigned seed numbers based on desired mesh density—higher for stress concentration zones in spur gear teeth. Structured quad-dominated meshing is employed for accuracy.

# Meshing for spur gear model
# Seed edges parameterically
pickedEdges = p.edges.findAt(((x_B, y_B, 0.0),))  # Example edge on transition curve
p.seedEdgeByNumber(edges=pickedEdges, number=10, constraint=FIXED)
# Set mesh controls for structured quad elements
pickedRegions = p.faces
p.setMeshControls(regions=pickedRegions, elemShape=QUAD, technique=STRUCTURED)
# Element types
elemType1 = mesh.ElemType(elemCode=CPE4R, elemLibrary=STANDARD)
elemType2 = mesh.ElemType(elemCode=CPE3, elemLibrary=STANDARD)
p.setElementType(regions=pickedRegions, elemTypes=(elemType1, elemType2))
p.generateMesh()

Once the finite element model is built, the analysis is executed, and results are extracted for spur gear bending stress evaluation. The output includes contour plots of von Mises stress, with focus on the tooth root region. For the sample spur gear with parameters from Table 1 and Table 2, the simulation reveals maximum bending stresses at the transition curves. Specifically, the left transition curve shows a peak stress of 47.0000 MPa, while the right curve shows 41.5597 MPa. These values correspond to the critical sections where bending stress is highest in spur gears. Comparing this to standard calculations, such as the ISO 6336 method with a bending stress base value $\sigma_{F0} = 44 \text{ MPa}$ and stress correction factor $Y_S = 1.97$, the computed bending stress would be approximately 86.68 MPa. The finite element results are lower, indicating that the circular arc transition curve in our spur gear model reduces stress concentrations compared to the standard trochoidal fillet assumed in ISO calculations. This highlights the benefit of optimized geometry for spur gears, particularly in heavy-duty applications where bending fatigue is a concern.

To further analyze the results, we can examine stress distribution along the tooth root path. For spur gears, the bending stress typically peaks at the 30° tangent point relative to the tooth centerline. In our model, the stress contour shows a smooth gradient, with no abrupt spikes, validating the mesh quality and geometric accuracy. The parameterized approach allows for rapid iteration; for instance, we can modify the spur gear module or pressure angle and re-run the analysis to observe stress trends. This capability is invaluable for design optimization of spur gears, enabling engineers to explore trade-offs between size, weight, and strength.

The use of ABAQUS secondary development via Python scripting offers several advantages for spur gear analysis. Firstly, it automates repetitive tasks, reducing human error and saving time—especially when analyzing multiple spur gear configurations. Secondly, it ensures consistency in modeling assumptions, such as mesh density and boundary conditions, across different studies. Thirdly, it facilitates integration with other tools, such as CAD software for geometry import or optimization algorithms for design exploration. For spur gears, which often require iterative design changes, this automation streamlines the entire FEA workflow from concept to validation.

In conclusion, this article presents a comprehensive framework for parametric finite element analysis of spur gear bending stress using ABAQUS secondary development. By leveraging Python scripting, we have automated the geometric modeling, meshing, loading, and analysis processes for spur gears with a circular arc transition curve. The method enhances accuracy and efficiency, providing a robust platform for spur gear design and validation. Key findings include the reduced bending stress achieved with the circular arc transition compared to standard fillets, as demonstrated through simulation results. Future work could extend this approach to other gear types, such as helical or bevel gears, or incorporate dynamic and thermal effects for more comprehensive spur gear analysis. Ultimately, this contribution supports the advancement of gear technology by enabling faster, more reliable stress evaluation for spur gears in industrial applications.

Scroll to Top