Objective: Analyzed the stress concentration factor Kt in a finite rectangular plate with a circular hole using both commercial simulation software (Abaqus) and a custom-built Finite Element solver.
Requirements: The project required a dual-approach analysis. First, perform a 3D simulation in Abaqus to investigate how plate thickness influences stress concentrations (transitioning from plane stress to plane strain). Second, develop a 2D FEM solver from scratch in Python—implementing stiffness matrix assembly and boundary conditions manually—to solve the corresponding Plane Stress problem and validate results against theoretical infinite-plate solutions.
Top Skills: Finite Element Analysis (Abaqus/CAE), Computational Mechanics (Python/NumPy), Mesh Convergence Studies, Stress Analysis (Plane Stress vs. Plane Strain)
This project explored the classical mechanics problem of a plate subjected to uniaxial tension with a geometric discontinuity (circular hole). While the theoretical solution for an infinite plate predicts a stress concentration factor of Kt = 3.0, real-world components are finite and 3D. I utilized Abaqus to capture 3D geometric effects and simultaneously wrote a Python-based solver using the Direct Stiffness Method to demonstrate a fundamental understanding of how FEA software functions "under the hood."
I modeled a square plate (2m width) with a central hole (0.1m radius) using eighth-symmetry to optimize computational efficiency. This eighth-symmetry because I modeled the top-right quarter of the hole as well as half of the thickness.
Mesh & Elements: Utilized C3D20R (20-node quadratic brick) elements with structured partitioning to refine the mesh around the critical hole edge.
Convergence Study: Performed an h-refinement study, determining that a mesh density of ~24,000 elements yielded a converged solution with <1% error.
Thickness Study: Simulated four plate thicknesses (t = 0.02, 0.05, 0.10, 0.20 m).
Findings: The analysis revealed that Kt is not a constant but dependent on thickness. Kt increased from 3.048 (thinnest plate) to 3.158 (thickest plate). This captured the physical transition from a Plane Stress state (where material can contract in the z-direction) to a Plane Strain state (where mid-plane material is constrained, inducing triaxial stress and stiffening the response).
Left Edge Symmetry BC
Thickness Symmetry BC
Bottom Edge Symmetry BC
Applied Uniaxial Tension
Course Mesh
Fine Mesh
Medium Mesh
Very Fine Mesh
t = 0.02m
t = 0.10m
t = 0.05m
t = 0.20m
To validate the mathematical foundations of FEA, I built a custom 2D solver (with the help of TAs) using the Constant Strain Triangle (CST) formulation.
Algorithm:
Mesh Import: Parsed node and connectivity data (created by our course TAs) for triangular meshes.
Stiffness Assembly: Calculated element stiffness matrices ke using material properties (E=200 GPa, nu=0.3) and assembled them into the global system KU=F.
Boundary Conditions: Applied Dirichlet BCs for symmetry and Neumann BCs for the distributed traction load (100 MPa) along the edge.
Post-Processing: Calculated nodal displacements and derived Von Mises and Hoop stresses at element centroids.
Validation: The solver successfully reproduced the expected stress field, with hoop stress peaking exactly at the hole edge and decaying rapidly.
Coarse Mesh Strain
Coarse Mesh Stress Along Vertical Symmetry Line
Coarse Mesh Stress
Coarse Mesh Stress Along Horizontal Symmetry Line
Medium Mesh Strain
Medium Mesh Stress Along Vertical Symmetry Line
Medium Mesh Stress
Medium Mesh Stress Along Horizontal Symmetry Line
Fine Mesh Strain
Fine Mesh Stress Along Vertical Symmetry Line
Fine Mesh Stress
Fine Mesh Stress Along Horizontal Symmetry Line
Geometric Dependence: The Abaqus analysis (D/W = 0.1) yielded Kt ≈ 3.05–3.15, close to the infinite plate theory. The Python model, which utilized a narrower geometry (D/W = 0.2), yielded a higher Kt ≈ 3.27. This successfully demonstrated the Finite Width Effect, where closer boundaries constrain the stress field and elevate peak stresses.
Material Independence: An additional study in the Python solver varied Poisson’s ratio (nu = 0.2, 0.3, 0.4). The resulting Kt remained effectively constant, validating Mitchell’s Theorem, which states that stress fields in simply connected 2D plane stress problems are independent of elastic constants.
Stress Concentration Factor Starts to Converge with Finer Mesh
Poisson's Ratio Has No Effect on Stress Concentration Factor
This project bridged the gap between theoretical mechanics and computational application. Writing the Python solver highlighted the sensitivity of CST elements, which require significantly finer meshes to match the accuracy of the quadratic elements used in Abaqus.
Additionally, a discrepancy in dimensions between my 3D and 2D models (2m width vs. 1m width) initially seemed like an error but proved to be a valuable insight. It allowed me to quantify the "Finite Width Effect," showing that Kt is geometrically dependent not just on the hole shape, but on the proximity of outer boundaries. This is a critical consideration for aerospace components where weight optimization often leads to narrow load paths.