Monthly Update — March 2020

Well, March was an interesting month. Between the COVID-19 pandemic shutting down BYU campus, transitioning to online classes, hitting the homestretch for classes, turning 31(!), and work obligations, I found some time to work through the orthoplanar spring problem in Coreform Flex and Crunch. Below is a video I captured of my first start-to-finish simulation in Coreform’s software. The purpose wasn’t to necessarily accurately analyze the problem, but familiarize myself with the Flex workflow as it exists today.

I also started to explore, conceptually, some of the merits behind immersed, smooth-spline, finite elements. The primary value behind the immersed finite element method is the promise it shows for dramatically reducing the amount of model preparation for an analysis, e.g. it removes the need to defeature and partition geometry for the sole purpose of constructing a body-fitted hex mesh. This model prep time has been shown to consume ~85% of the finite element workflow. For example, in the figures below I demonstrate trying to take a deceptively difficult-to-mesh geometry from a NIST repository which I helped make available to the general public through my employment. Figure 1 shows the CAD BREP as shown in Fusion360.

Figure 1: Bracket model from NIST Parts Repository

In figure 2 I show my best attempt at putting a conforming all-hex mesh on this geometry, without any defeaturing. The astute eye will notice that near the front of the part, where the large fillets meet their neighboring, perpendicular faces, that the mesh is not a conforming mesh — the mesh elements do not share nodes at the interface. Effectively, these regions are now \mathcal{C}^{-1}, which means they are not connected across this interface. In conventional FEA applications we might apply a tie constraint to “connect” these elements, but this is undesirable as it leads to incorrect solutions near the tie constraint and the introduction of constraints negatively impacts convergence of the problem.

Figure 2: Failed attempt to build an all-hex mesh without defeaturing

Consider instead, the immersed finite element method. In figure 3 we see the unmodified CAD BREP immersed in a rectilinear background grid, which can trivially be generated via a tensor product construction. To be clear, a high-quality, body-fitted hex-mesh will likely always be able to produce more accurate results — it’s just that we should be able to get good-enough results, in a much shorter period of time using an immersed approach.

Figure 3: Meshing in the immersed finite element method can be trivial

If there is a specific region that we desire to obtain high-accuracy results (say a mission-critical feature) we aren’t limited to a fully immersed mesh. Instead, we can do a small number of partitions, which result in a background mesh that can be partially body-fitted. In figure 4 we see an example of this applied to the same bracket. Unlike the first, entirely body-fitted mesh, this geometry processing is much simpler and faster to do because we only care about a localized region — in this case, the front cut-out region.

Figure 4: Immersed finite element mesh, with a locally body-fitted portion in the front of the bracket that conforms to the fillets.

In figures 5 and 6 I demonstrate the immersed concept on a linkage assembly that is chock-full of complex fillets (especially on the white piston). In traditional FEA software, I would immediately begin removing fillets — I may not keep a single fillet. Instead, the immersed approach allows for individual background meshes for each part in the assembly and allows us to retain the full feature set of the geometry.

Figure 5: An assembly of a linkage mechanism
Figure 6: Each part in the assembly can be assigned its own rectilinear background mesh

And finally, figures 7, 8, and 9 I present a few classes of problems cases that I believe require the use of immersed finite element techniques is generative design for additive manufacturing. Figure 7 is a subsection of a printed circuit board with some mounted components, where I’ve immersed each individual component of the assembly into their own background grid. Having done some analyses at work on circuit boards I can tell you that these are extremely challenging to partition and mesh.

Figure 7: Section of an Arduino printed circuit board, with mounted components. Almost every discrete part is embedded within its own background grid
The copper traces are included within the background grid of the circuit board (red).

In figure 8 we see a piece of a metal foam, as captured by Prof. Ashley Spear’s group at the University of Utah. The colors on the foam represent the grain structure of the metal foam. All-Hex meshes tend to be easiest to build for blocky structures, but blocky structures are rare in nature. Once again we choose a nice, blocky, background domain to discretize with our finite elements and immerse organic-looking metal foam into this grid.

Figure 8: Immersing a volumetric scan representation of a metal foam into a background grid

And last but not least, in figure 9 we have an entry of the GE Bracket Challenge. This entry was generatively designed using topology optimization. As such, the part has few “blocky” regions – the part has a distinctly organic shape. I honestly don’t know how I would proceed with putting a quality body-fitted hex mesh on this part. But with the immersed method, it’s trivial.

Figure 9: Generatively designed (via topology optimization) part, created as part of the GE Bracket Challenge, immersed within a background grid..

The immersed finite element technique isn’t a new idea, in fact there are already commercial solvers available that provide some form of this technique, namely ANSYS Discovery Live and Midas MeshFree. However, Discovery Live appears to use a very poor basis (constants) for its solutions and thus seems relegated to linear problems. This may be fine for preliminary design studies, but I don’t want to fly on an airplane that used Discovery Live to engineer the landing gear, turbine blades, or wing-box!

This is where it seems to me that we can instead utilize the functionality of Coreform’s U-spline technology to create locally-refined, high-degree, smooth-spline bases in these elements which should allow us to achieve very accurate results for nonlinear problems. This may be the technology that allows FEA analysts to use and trust immersed finite elements on a wide-variety of nonlinear, mission-critical, problems. Chris, a fellow graduate student and current Coreform employee, is working on developing the immersed smooth-spline FEA technology and I will be following his progress closely.

Excited to see what April brings!

Data Sources

Blocky Bracket:
Regli, W., & Gaines, D. M. (2017, February 17). A Repository for Design, Process Planning and Assembly. Retrieved from

Piston Linkage:
Available as example in Autodesk Fusion360

Circuit Board:
Monnin, B. (2018, June 9th). MKS Gen V1.4 Board. Retrieved from

Metal Foam:
Plumb, J., Lind, J., Tucker, J., Kelley, R., & Spear, A. (2018, August 3). Raw and Processed Data to Generate Three-Dimensional Grain Map of Open-Cell Aluminum Foam. Retrieved from

Generatively Designed GE Bracket:
Available as example in Autodesk Fusion360

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: