You are here

Computational Geometry Kernel Support


OBJECTIVE: Provide a geometry kernel code-base and associated APIs that can be incorporated into other simulation frameworks to enable dynamic simulations involving surface mesh deformation, adaptive mesh refinement and non-linear surface elements. 

DESCRIPTION: When analyzing aerodynamic systems using computational fluid dynamics (CFD), a computational mesh is required to discretize the region of interest and capture the physical mechanisms driving the system. Traditionally, surfaces defining boundaries within the region have been comprised of static linear elements (typically triangles and quadrilaterals). To address many real-world dynamic problems, an analyst is often confronted with situations involving transient and dynamic environments where surfaces are not rigid or are in motion relative to each other. To perform simulations with higher-order accuracy, generating CFD solutions involving finite-element discretization methods is becoming increasingly common. These methods require higher-order (non-linear) elements, which requires access to the geometric properties of the original surface on which the mesh was created. Dynamic simulations can include rigid bodies moving relative to one another, as happens during a store separation event or a moving rotor modeled as part of a turbomachinery simulation. The simulations can also involve a surface physically changing shape, as happens for cases involving ablation and aeroelasticity. If a surface moves or changes shape, a new computational mesh that accounts for the change in surface configuration must be generated for a CFD analysis to proceed. If the surface movement can be decoupled from the CFD simulation, each new mesh can be generated autonomously with a capable mesh generation tool. Manually generating each new mesh (which may need to be done as often as every iteration during a CFD simulation) can be time consuming and inconvenient and it is often advantageous to incorporate the mesh manipulation directly into the aerodynamic solution generation process. For the surface mesh to move as part of a dynamic simulation, it must have access to a well-developed geometry kernel that offers functionality such as projecting mesh nodes back onto a surface after transient processes such as elliptic smoothing or mesh refinement have driven them off of their initial position. Having a mesh coupled to an analytic surface also facilitates efficient interaction that is unavailable if a surface is brought in from a tool completely decoupled from the meshing process. Furthermore, having a mesh coupled to an analytic (non-discretized) surface allows the surface elements to increase in order and support finite-element based CFD. The development of a geometry kernel is a time-intensive and technically rigorous undertaking requiring someone with a solid background in computational geometry as well as geometry-related algorithms and application program interface (API) development. Few engineers and computer scientists within the DoD have this specific background; however, within the small business community this expertise is more common as it is required for modeling everything from computer animation to video games. The geometry kernel should consist of flexible and robust non-manifold surface definitions such as non-uniform rational b-spline (NURBS) surfaces and a set of APIs to perform commonly required tasks such as node projection onto a given surface. To enable effective deployment of the capability that this tool would enable, the DoD will need the source code and licensing rights to use the provided code without restriction. For Phase II, the APIs associated with the kernel should have bindings in several popular code languages including Python, C++ and Fortran and should extend capabilities to include wall distance and miss distance calculations. 

PHASE I: Demonstrate the feasibility of providing a well-developed geometry kernel appropriate for incorporation into larger DoD developed tools and frameworks and a versatile set of APIs to efficiently perform commonly required tasks related to geometry and associated computational meshes. 

PHASE II: Develop, demonstrate and provide the source code for a well-developed geometry kernel to incorporate into larger DoD developed tools and frameworks and a versatile set of APIs to efficiently perform commonly required tasks related to geometry and associated computational meshes. The final product should be scalable over many computational cores and a suite of automated unit tests should be included to improve code integration and maintenance. 

PHASE III: For military and commercial applications, this technology can be used for any type computational analysis of higher order CFD methods involving deforming bodies (aeroacoustics and aeroelasticity). 


1: Winslow, A., "Numerical Solution of the Quasilinear Poisson Equation in a Nonuniform Triangle Mesh," Journal of Computational Physics, Vol. 2, pp 149-172, 1967.

2:  Masters, J. and Tatum K., "Unstructured Mesh Manipulation in Response to Surface Deformation," AIAA Journal, Vol. 54, No. 1, pp. 331-342, January 2016.

3:  Erwin, T., Glasby, R., Stefanski D., Karman, S., "Results from HPCMP CREATE-AV Kestrel Component COFFE for 3-D Aircraft Configurations with Higher-Order Meshes Generated by Pointwise, Inc.," 55th AIAA Aerospace Sciences Meeting, Grapevine, TX, January

KEYWORDS: Winslow Smoothing, Computational Geometry, Geometry Kernel, CFD, Mesh Adaptation 


Taylor Swanson 

(931) 454-4240 

US Flag An Official Website of the United States Government