In my last entry, I wrote about how to check whether the mesh was of sufficient quality to ensure that the mesh would not cause divergence in the solver. However there are situations which arise where regardless of how many elements you have in the model, or how perfect the mesh is, the stress results will be inaccurate at best and divergent at worst. These locations can arise due to what are known as stress singularities.
There are a couple reasons where stress singularities occur. The first place would be at the location of bad elements. If there are elements in the mesh which have very high aspect ratio or Jacobian ratios, the stress value at these elements can incorrectly report as much higher than they actually are. This will cause a spike in the stress values of the surrounding elements as well because the stress value is averaged over an area. However if you followed the steps outlined in my last post, this should not be an issue.
A second place where stress singularities can occur is in regions where the physical geometry has a sharp corner which carries a significant loading. These areas are referred to as “re-entrant” corners, and according to the theory of elasticity, the stress at these points approaches infinity. In simpler terms, stress is equal to force/area.
σ = F/A
When the area tends towards zero, the stress tends towards infinity. Area at points or edges is very small, so the stress value will be very high.
A third place where stress singularities can occur is at fixtures and boundary conditions. Fixtures have an infinite stiffness value whereas the material you are analyzing does not. This can also result in an infinite stress values near the fixture. When analyzing a model, it is very important to take into account how the model will be restrained in the real world and whether the stress in areas near your fixtures are of interest. This particular problem will be addressed in my next post.
We will begin with a study of stress at sharp corners:
Figure 1: A 90 degree bracket with a sufficiently refined mesh to provide reasonably accurate results. There is a fixture at the top restricting all 3 degrees of freedom for each node (solid tetrahedral elements in SolidWorks Simulation have only 3 translational degrees of freedom each), as well as a load that is normal to the fixed face.
Figure 2: Running the study, we find the reported stress value is a maximum at 91.2 MPa
Figure 3: The mesh superimposed on the results.
Figure 4: The mesh is further refined
Figure 5: The maximum reported stress at the corner is now 103.2 MPa.
The difference between the mesh in figure 1 and figure 4 is that the global mesh density has been increased. While in general this should increase the accuracy of the stress and strain results, this also comes at a significant cost to solver computational time. Reducing the element mesh size by a factor of two can increase the number of elements by a factor of 8, and each high quality element has 10 nodes, each with 3 degrees of freedom. While many of the nodes are shared, you can see how this can substantially increase the solver time as each degree of freedom requires its own equation to define its displacement.
Instead, there is an option to refine the mesh locally, and is available for points, edges, faces, and components. This is referred to as a “Mesh Control” in SolidWorks Simulation. To apply a mesh control, right click on the mesh icon > “Apply Mesh Control”.
Figure 7: Right click on the “Mesh” icon > “Apply Mesh Control
Figure 8: The re-entrant edge is selected
Figure 9: The first case has a mesh control of 0.75 mm applied to the edge. You can see that the mesh is refined substantially compared to the surrounding global mesh element size.
Figure 10: Running the analysis, the maximum stress at the edge reports as 140.4 MPa.
Figure 12: The mesh control is refined to 0.5mm
Figure 13: Stress is now 167.9 MPa
Figure 15: 0.25mm Mesh Control
Figure 16: 282.9 MPa
Figure 18: 0.1mm Mesh Control
Figure 19: 425.7MPa
At this point, you can see that the results are divergent. Every time the mesh is refined, the stress values increase significantly for the same loading value. The results at this edge are in-accurate and most likely divergent.
We can resolve this issue by ignoring the results in this corner, however in analyzing this right angle bracket, this may be an area of interest as this is where the most stress will occur given the fixture and loading conditions. The second option is to physically modify the geometry such that the area of the edge or corner is not very small or approaching zero at that corner.
The simplest way to modify the geometry such that the area is not approaching zero at any edge is to add a tangent fillet.
Figure 21: A small fillet is added to the corner
Figure 22: The global mesh is set to 2mm, and no mesh refinement (mesh control) is applied at the fillet
Figure 23: The stress value reports as 214.1 MPa
Figure 25: A mesh control of 0.75mm is added to the fillet face
Figure 26: Maximum reported stress on the face is 228.1 MPa
Figure 28: Mesh control reduced to 0.5mm
Figure 29: Stress reported as 259.9 MPa
Figure 31: 0.25mm Mesh Control
Figure 32: Stress reported as 270.8 MPa
Figure 34: 0.1mm Mesh Control
Figure 35: 283.4 MPa Stress
In the second example where the fillet was added to the corner, the stress value continued to climb slowly, however this is expected. Although the stress results increase as the element size decreases, the % rate of change in reported stress also begins to decrease from iteration to iteration. This is considered a converging result.
In contrast, the first example without the fillet exhibited behavior such that the % difference in reported stress values continued to climb with each successive mesh refinement, indicating that the results were divergent.
Figure 37: Reported stress values versus element size for the bracket without the fillet
Figure 38: Reported stress values versus element size for the bracket with the fillet. As the mesh is successively refined, the % increase in reported stress values is also decreasing with each iteration indicating convergence.