January was a bit of a slow month – most of my thesis time was spent on building some exemplar CAD models and constructing example finite element meshes on them. I’ve sent the meshes to the rest of Dr. Scott’s research team to begin discussing maturity of their production code for handling the various volumetric meshing schemes available in Cubit.
Cast Iron C-Frame
This example problem comes from a textbook in machine design and is a cast-iron C-frame used for bearings. A few things to point out about the geometry and analysis. The purpose of this analysis will be to predict the onset brittle failure due to various loading conditions.
The load conditions will be applied on the flat regions surrounding the through-holes and will “pull-apart” and “squeeze” on the frame similar to pulling apart a wishbone or squeezing a hand strengthener. Another thing to notice is the prevalence of fillets – particularly the very small radius fillets. Fillets can make it extraordinarily difficult to manually decompose a geometry for hex-meshing and we would expect such small fillets to not have much effect in minimizing stress concentrations – so we’re going to remove those tiny fillets (i.e. defeature). We’ll keep the large fillets, because they’re large enough that they may have a significant effect on the result.
Below is a linear finite element mesh that I would probably use if I were using a conventional FEM code like Abaqus. Almost the entire geometry can be meshed using the sweep scheme in Cubit. There are four small regions (blue) that need to be meshed using the polyhedron scheme. Currently, Dr. Scott’s code can construct volumetric U-Spline basis functions on swept mesh schemes, but not any other schemes (soon…?).
Since I want to be testing workflows for smooth-spline based FEM, I want to build as coarse of a mesh as possible (Analysis-suitable geometry). Below is an example of how coarse I’m talking:
And then refine the geometry as necessary for accuracy. One way we might refine the geometry is by degree-elevation. Below is the same mesh, but elevated to degree-2 elements. See how much better this represents the geometry? Since these basis functions are isoparametric they represent the geometry and the solution with the same basis functions, meaning that the solution is approximated more accurately as well. Note that I’m using basis functions, since those can be constructed, but obviously the eventual goal is to build a rational, volumetric U-spline with max continuity – everywhere except at extraordinary points – so that we match the geometry exactly.
I’ll be much briefer on these next two examples. Below is the coarse mesh I’ve made of an orthoplanar spring, as described in Professor Larry Howell’s research in BYU’s Compliant Mechanism Research group. I’ve colored the mesh by the block-decomposition I used to “guide” the construction of the mesh. Note that some of the colors of adjacent blocks are equivalent – ParaView isn’t yet smart enough to ensure this isn’t the case.
I’ll be treating this spring as a copper trace in an electrical connector and will be determining force-displacement curves and predicting the number of cycles to fatigue failure based on the equivalent plastic-strain increment and the Coffin-Manson law.
The last problem I worked on in January was a single column of an lattice structure test sample. This structure would be additively manufactured and includes integrated platens to improve experimental testing and numerical analysis. Traditional foams don’t have integrated platens and it can be difficult to prep the test-equipment’s platens to control the boundary condition between the foam and the plate.