**1. Introduction**

The finite element method (FEM) is definitely the most common and effective analytical technique for analyzing the behavior of a wide variety of engineering and physical issues. One of the essential uses of FEM is the study of crack propagation. The propagation of the crack reduces components' ability to resist the external load and eventually break the components. Analyzing fatigue crack growth is necessary to ensure the stability of structures subjected to cyclic loading. Cracks begin due to the presence of plastic strain caused by cyclic tension, and they grow due to the tensile stress. However, compressive loads do not lead to fatigue cracks due to the local tensile stress [1]. A variety of software has been developed for general purposes for finite elements, verified and calibrated through the years and now available on request, the most well-known being three-dimensional, such as ANSYS [2], ABAQUS [3], NASTRAN, FRANC3D, and COMSOL. In addition, there are numerous 2D simulation software for crack propagation simulation, e.g., NASGRO, AFGROW, FRANC2D, and FASTRAN. Many researchers have also developed an effective method for estimation of fatigue breakage growth in 2D linear elastic structures with multimode loading [4–7]. Determining the accurate stress intensity factor of a cracked structure in LEFM is very crucial in accessing the integrity of the crack, especially if the calculation is carried out using the finite element technique with extremely fine mesh. The propagation of the crack can be simulated at the highest accuracy by increasing the mesh density, as well as estimating the stress intensity factors accurately. In addition, very fine mesh around the crack tip is needed for precise prediction of SIFs using a nodal displacement technique

Mechanical Engineering Department, Jazan University, Jazan 45142, Saudi Arabia; yfageehi@jazanu.edu.sa

such as the displacement extrapolation technique (DET). The DET requires configuration of special elements in the vicinity of the crack tip, by correctly representing the stress field singularity at the crack tip. These special elements, known as singular elements, need to be constructed in a rosette formation around every crack tip. Very small-size elements can be optimally created around the crack tip with the use of an adaptive mesh refinement scheme. Generating overall fine mesh leads to greater computational time. This procedure was reduced by using the adaptive mesh strategy, which increases the mesh only on the required areas. The adaptive mesh refinement scheme is another method to generate the optimal mesh in a very efficient way. Many studies on mesh refinement problems and related errors in computing SIFs using the FEM were conducted [8,9]. Another study [10] was been performed to clarify the effect of the in-plane and out-of-plane constraints on the ductile fracture with different crack sizes, specimen thicknesses, and span lengths. They concluded that the lower in-plane and out-of-plane constraint levels introduce higher fracture properties. It is more challenging to combine the extreme fine mesh generation with the adaptive scheme and solve the stiffness equation matrix. The benefits sought here are both faster execution time and the ability to process larger problems. In order to simulate 2D cracks under mixed mode loading, the current developed software code is formulated to allow the researcher to estimate the fatigue life and crack trajectory using the automated adaptive mesh finite element [11–15]. This software was created in 2004 and continues to include several features for the simulation of two-dimensional fatigue crack growth under LEFM assumptions [12,16–21]. The use of commercial software for engineers is not appropriate in at least two aspects: First, the basic algorithm that lies behind it is not fully understood, and second, the execution is completely apprehended throughout the programming ability. Commercial software can be used to model crack propagation as well, but such software is very expensive and can hardly ge<sup>t</sup> the source code to develop it.
