Mesh Refinement Using STEP Model
Overview
Mesh convergence analyses can be performed efficiently if the model used in FEBio is imported from a STEP file. This tutorial illustrates this procedure using a structural analysis of an L-shaped bracket that exhibits stress concentration at the filleted internal corner of the bracket.
Creating the Model
Download the model file name L BRACKET FILLET.STEP from the FEBioStudio Repository (also see Files below) and import it into FEBioStudio (Start->New Model->Structural Mechanics->OK; File->Import Geometry).

Set the Units of the model to mm-N-s (right-click in graphics window, Options->Units). You can view the dimensions of this part by clicking on its entry in the model tree.

Create a material named Alloy Steel, using a neo-Hookean elastic material (Add Material->Neo Hookean) and assign it a Young’s modulus of 210 000 MPa and Poisson’s ratio of 0.28. Assign this material to the model (select the bracket in the graphics window and click on the + sign in the Selection window for the Alloy Steel material).

Save the file as a FEBioStudio model with the name L BRACKET FILLET (a file extension, such as .fs2, is automatically added). Remember to save your model file frequently.
Pick the topmost surface and fix its X, Y and Z displacements (Physics->Add Nodal BC…->Zero displacement).


Select the rightmost surface and prescribe a vertical load of {0,-1000,0} (Physics->Add Surface Load…->Force).


Since we expect this analysis of alloy steel to remain in the range of infinitesimal strains, there is no need to increase the applied load linearly with time. Click on the Curve Editor and navigate to Loads->Force1->scale, then change the type to Type->Step. This will apply the entire load in a single step, without ramping it up linearly.
Now click on Physics->Add Analysis Step… and reduce the number of time steps from the default value of 10 to 1. We will use all other default values. The step size does not matter in this elastic stress analysis, since we set the load curve associated with the applied force to be a Step curve (i.e., it gets applied instantly, no matter what the current time happens to be).

Finally, to compare this model to similar analyses performed using commercial finite element software, add the nodal stress plot variable to the list of Output variables for the plotfile, using Edit plot variables … .

Mesh Generation, Model Analysis and Mesh Refinement
Moderate Mesh and Analysis
Select the bracket in the graphics window then click on the Build->Mesh tab. Since the part was imported form a STEP file the Mesh tab automatically displays meshing options for the NetGen mesher. By default, the Max element size is set to 1000 and the Min element size to 1. These are arbitrary values that may or may not be applicable to any given model. By default, the checkbox for Second-order mesh is checked off, but this should be checked on for all problems in this tutorial.

Though the default values for the Max and Min element size are generic, we can try them out for this particular model, since the radius of the fillet of the L BRACKET (which is where we expect the highest stresses to be produced) is in fact equal to 2 mm. This can be checked using the Select Nodes tool and selecting nodes on either side of the fillet, and viewing their X, Y and Z coordinates in the boxes at the bottom left of the graphics window.

Click on the Apply button in the Mesh tab to generate this first mesh. The resulting mesh is coarser in regions away from the fillet,

and finer in and around the fillet.

Save this file as L BRACKET FILLET Moderate, then run the analysis (FEBio->Run FEBio…->Run). When the analsys has completed, display a contour plot of the Effective nodal stress (in FEBio, effective stress = von Mises stress).

Results show that the effective nodal stress is indeed highest in the fillet region, as expected, with a peak value of 116.7 MPa.
Mesh Refinements and Analyses
To perform a mesh convergence analysis it is necessary to refine the mesh and check to see if the quantity of interest (in our case, the Effective nodal stress) changes by a large amount (e.g., greater than 5% of its value in the preceding analysis of the mesh convergence study). In our case, technically we only need to refine the mesh in the vicinity of the fillet, since that’s where the effective nodal stress is greatest. For computational efficiency it would not make sense to refine the mesh uniformly across the entire model, as that would require considerably more memory and time to perform the finite element analysis.
It is under these circumstances that we get a better appreciation of the NetGen mesher capabilities: On your own, you can try to change the Mesh granularity in the Build->Mesh tab from Moderate to Fine and Very Fine. Save each model into a separate file, e.g., L BRACKET FILLET Fine and L BRACKET FILLET Very Fine, respectively, and examine if mesh convergence was achieved by looking at the maximum value of the effective nodal stress.
Final Mesh Convergence Analysis
Since the Min element size entry was set to 1 by default, changing the mesh granularity for the L BRACKET FILLET model does not alter the number of elements in the fillet region in any significant manner. To address this concern, our final mesh convergence analysis is performed using Mesh granularity->Very Fine and Min element size=0.2 (which is one-tenth of the fillet radius).

The resulting mesh now has 135 084 elements and exhibits much finer refinement in the fillet area.

Running this analysis now takes a little bit longer than for the first mesh in the mesh convergence analysis, and the results show a slightly smoother effective nodal stress distribution.

However, interestingly, the peak value of the Effective nodal stress only climbed to 120.8 MPa, which is less than 5% of the initial value of 116.7 MPa noted in the initial Moderate analysis. Therefore we can conclude from this analysis that mesh convergence was indeed achieved from the first try, for this particular example.
Files
The files used in this tutorial may be downloaded from the FEBioStudio Repository or directly from https://repo.febio.org:443/permalink/project/124.