Monthly Update — Feb 2020

Coreform Short-Course

In February, Coreform held its second short-course, which I attended. It was fairly similar to the last short-course, though a bit more polished. The biggest difference, however, was the unveiling of their beta version of Flex preprocessing software — which is built on the Trelis meshing software they obtained through their acquisition of CSimSoft. Inspired by one of my work colleagues, I made a video of their stress-testing of one of the tutorial problems.

“Deep rolling” tutorial problem from Coreform’s short-course.
My colleague stress-tested the problem by exploring compressions greater than the 7.5% prescribed by Coreform.
\mathcal{P}^2\mathcal{C}^1 elements, except across the edges touching the roller’s extraordinary points, which are \mathcal{C}^0

Planar Spring

After the short-course I began developing a strategy to build a simulation model of the planar spring in Flex. I ran into a few bugs, but was able to work with Coreform to get some fixes. Namely I was trying to construct a U-Spline on the mesh shown in figure there was an infinite loop happening in their algorithm to apply \mathcal{C}^0 creases along one of my boundary conditions.

Figure 1: Meshed planar spring as seen in Flex. The outer ring that’s highlighted is where I’ll apply a prescribed displacement (Dirichlet boundary condition) and so it needs to be creased (\mathcal{C}^0) along the interface with the inner elements.

Caleb and Florian were able to quickly troubleshoot the error and get a fix pushed to their master branch. Now I’m just waiting to get a new build of Flex so that I can run the simulation on the working U-Spline. As you can see in figure 2, it’s still not perfect, but this will be an important milestone for me: building an entire simulation from scratch using only Coreform’s software stack.

Figure 2: U-Spline built after Caleb’s and Florian’s bug-fixes.

U-Spline vs. B-Spline

Another thing I worked on with another graduate student was coming up with a simple example demonstrating the difference between a traditional B-Spline and a U-Spline — in 2-D. Remember that a traditional B-Spline is a basis-spline constructed via the Cox de Boor recursion algorithm in 1-D and then expanding to higher-dimensions via tensor products. The figure below shows an unstructured spline topology and demonstrates a quadratic spline basis function with maximal continuity, B-Splines on the left and U-Splines on the right. Notice that the B-Spline basis is \mathcal{C}^0 and has to be constructed via three carefully parameterized B-Spline tensor product surfaces. In practice (i.e. moden CAD) this basis wouldn’t even be continuous, but rather \mathcal{C}^{-1}. The U-Spline, on the otherhand, is constructed as a single entity and is able to acheive \mathcal{C}^1 continuity, except at the extraordinary point though I’m told this isn’t a theoretical limitation, but rather that Coreform hasn’t yet implemented smooth extraordinary points. Later I’ll talk about the far-reaching implications this may have for constructing watertight-CAD models.

That’s it for February, hopefully March proves to be another fruitful month!

Leave a Reply

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

WordPress.com Logo

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

Facebook photo

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

Connecting to %s

%d bloggers like this: