T-spline support in OpenCascade

Dear All,

I was wondering if there are any plans on implementing t-splines in OpenCascade. Below I provide a little background on why this might be interesting.

Since many years, finite element analysis (FEA) is the work-horse numerical analysis tool in many engineering disciplines. Although very powerfull from an user point of view it has a weakness in that it requires significant pre-processing time to prepare and mesh a complex CAD model for FEA. Recently a new numerical analysis technique is developed (called isogeometric analysis) that that directly works with the CAD geometry itself. So, the solution space for numerical analysis is the same as the space used to define the geometric model itself. One key point in the development of isogeometric analysis is its capability to locally refine the solution space without modifying the underlying CAD representation. In addition, isogeometric analysis requires a "gap-free" geometry. Both of these requirements can (and are) handled by t-splines. Currently the commercially available Rhinoceros supports t-splines. One of the weaknesses of Rhino though is that it is not a real solid modelling solution. This ofcourse is the strength of OpenCascade. For me, this could mean that opencascade could be at the very center of this new development in numerical analysis if t-spline (or maybe something similar) support would be available.

Kind regards,


jelle's picture

Both are very good, but very demanding ideas.
For instance, in Rhino, there is the scan & solve plugin that provides isogeometric analysis.
The marriage of t-splines and isogeometric is a very potent idea, but of considerable scope.
How long would it take to add t-spline to OCC?
It sure would be a considerable boost for the project, no doubt!

Marco Nawijn's picture

Hi Jelle,

I am aware that it is a quite a task to implement T-spline like functionality in OpenCascade. However, it would be a big selling point for OCC. I have been involved in simulation (mostly finite element analysis) for a long time and I have a history in CAD modelling (CATIA V5, solidedge, solidworks, cimatron, IDEAS master series, Artisan). Although meshers have been improved quite strongly, discretising complex geometries is still a non-value adding effort. Customers in general do not want to pay for the meshing. Their main interest is in the analysis results. Additionally, for many complex types of analysis (e.g. damage initiation and propagation) mesh sensitivity is still an issue in traditional finite element analysis. In principle, isogeometric analysis can remove many of these constraints. As a result there are two main advantages. The first is a highly improved efficiency of the numerical analysis workflow (tight integration between design and analysis). The second is a more robust solution process (no or much less mesh sensitivity).

The opensource OCC environment, would be a perfect playground for experimenting with isogeometric analysis in a real CAD environment. As you know, Rhino is a pure NURBS modeller. The step from NURBS to a BREP like representation like OCC is as far as I can tell not so straightforward.

jelle's picture

roughly, breps is nurbs with topology on top...
so you've got that out of the box with OCC.

I noticed this project:

[ matlab sucks... ] surely bridging such approaches can be prototyped fairly rapidly [ I'm talking glue code ].
That could be the path to a more robust, industrial version.

sounds like a very interesting PhD thesis ;D