Questions? Contact Us: Main: (510) 845-0029 Sales: (510) 301-9860 [email protected]

Geometry Kernel

Ennova is built on our own proprietary Geometry Kernel. There are many Geometry Kernels available today commercially so why did we decide to build our own? Doesn't this just add to the complexity of the application? There is not one single answer to these questions so lets look in detail at the advantages of a proprietary Geometry Kernel. Firstly, as applications are taking advantages of Cloud and on demand computing, distributed parallel computing is becoming a necessity. Building a fully threaded safe Geometry Kernel provides a platform for Cloud Computing and parallel computing. Ennova provides the platform to analyze real world CAD models in CFD and FEA. Often these CAD models are built for manufacturing tolerances, not those we need for CFD. For example, intersection curves on symmetry planes need to be computed to very tight tolerances often 1000's of times smaller than those needed for manufacture. The Ennova Geometry Kernel has specific technology to recognize, repair, and reprocess the model for CFD tolerances. Finally, in addition to strong technical reasons, should one commercially encounter a problem geometry, we are able to respond directly rather than waiting for another company to "fix" the issues.

Geometry Kernel Technologies


Some CFD preprocessing systems limit you to discrete (STL) or B-Spline (NURBS, or CAD) data. At Ennova we recognize that sometimes (in aerospace and turbo machinery) it is vital that the grid points lie on the NURBS to the last possible digit. Other times (especially in the automotive industry) the data is only available in discrete form. So, at Ennova, we have built our geometry kernel from the ground up to handle NURBs and STL data on equal footing. All algorithms that work on STL data also work on NURBs data and vise versa.

Zero Tolerance

One small but important decision we made in designing the Ennova Kernel was to minimize or eliminate user settable tolerances. Many systems have a tolerance that controls the level to which the NURBs data is discretized. This discretization is used to help answer queries to the geometry kernel. If the user settable tolerance is set too coarse, some queries (such as line intersection) will be answered incorrectly. If it is set too fine, the kernel will use too much memory or take too much time. The Ennova kernel is implemented so that all queries are answered correctly to the last digit, independent of the level of discretization.