Stress concentration factor (SCF) for a notched circular shaft subjected to bending moment \(M\), diameter \(D\), notch diameter \(d\), and notch radius \(r\).
\(K_t\) is reported so that the max. von Mises stress can be calculated as \( \sigma^\prime = K_t 32 M/ (\pi d^3) \).
In this site, \(K_t\) is calculated by a response surface that has been adjusted to 44 simulation points spanning the domain \(D/d=[1.02,1.3]\), \(r/d=[0.025,0.3]\), as shown below.
The 44 data points have been calculated automatically by ~132 Abaqus simulations using a parameterized (Python) script. The number of simulations is ~3X the number of data points because computing \(K_t\) for each pair \([D/d,r/d]\) requires ~3 simulations to achive a solution with less than 1% error, by invoking automatic adaptive mesh refinement for each data point within the script.
If \((D-d)/2>r\) the notch is "deep", with a full half-circle at the bottom of the root, thus requiring vertical shoulders to reach the surface of the shaft. Otherwise, the notch is "shallow," spanning less than half-circle. As a result, two different geometric models were used, and the data pooled to make the graph.
Adaptive remeshing works well is you start with a not-so-coarse mesh, otherwise the algorithm does not have a good-enough direction for remeshing.
Special care must be taken with parametrerized scripts because the dimentions change from case to case (in this case 44 cases) and you do not want to start adaptive remeshing with a too-coarse or too-deformed mesh for any particular case.
For stress concentration, if you forgo adaptive remeshing you will never know if the single mesh you used was fine enough. With adaptive remeshing, you set the target error and the algorithm has to achieve it. It the script is set up correctly, and the target is reasonable (say, 1% error), it will likely achieve it. And if it does not achieve it, you will know.
To a certain extent, it is almost a waste to play with seeding for the inital mesh, because the adaptive algorithm will change the mesh anyway. But you do not want to have too coarse a mesh in the region of interest, for the reasons stated above.
Also, it is important to pick the correct target error for each application. Here we used min/max MISESERI.
You can learn how to produce similar simulations here [link to be provided].
Here is a 2D plot of \(K_t\) vs. \(r/d\).