Enhancing Scalability for FUN3D Rotorcraft Simulations with Yoga: an Overset Grid Assembler
FUN3D, an unstructured grid Navier-Stokes CFD code is capable of overset grid simu- lations, but does not have an internal method for assembling an overset grid system from a group of component grids. FUN3D currently relies on the third party codes Suggar++ and DiRTlib to perform domain assembly and provide intergrid connectivity for overset simulations. Rotorcraft simulations with moving, deforming blades require domain assembly and mesh deformation at each time step. For these simulations, the three primary drivers of computational cost for each time step are: deforming the mesh, performing domain assembly, and performing subiterations of the flow solver. FUN3D exhibits strong and weak scalability for the flow solver subiterations and the mesh deformation. However, FUN3D is currently hardwired directly to the serial version of Suggar++, which has a fixed cost for a given mesh system. Therefore, domain assembly begins to dominate the total cost of each time step as grid systems become larger. An integrated method for parallel domain assembly is presented that addresses scalability for large grid systems. Restructuring within FUN3D to accommodate integrated domain assembly is also discussed, which could enable use of the parallel Suggar++ library.