TAU mesh deformation Thomas Gerhold
The parallel mesh deformation of the DLR TAU-Code Introduction Mesh deformation method & Parallelization Results & Applications Conclusion & Outlook
Introduction CFD needs mesh deformation to account for changes of the geometry shape e.g. in simulations for fluid structure interaction or shape optimisation procedures or Mesh deformation adjusts the coordinates of the interior grid points according to the surface displacements given as input. This avoids expensive re-meshing and minimises grid dependencies of the solution due to constant grid connectivity.
The mesh deformation problem The problem is: how to move the interior grid points such that the grid remains valid. The surface displacements are most often much larger than the local cell sizes. As a result it is a non-trivial task to avoid collapsing of cells. For unstructured meshes usually strategies are employed, which are based on spring analogy (tension or torsion) or linear elasticity equations. The computational costs are not negligible. Sufficient robustness for 3D complex geometries is questionable. The literature does not provide the optimal solution (for fine NS grids for 3D complex geometries! 2D or Euler grids or coarse NS grids are not the problem)
Mesh deformation method of the TAU-Code An alternative mesh deformation method has been developed for the TAU Code. It is an algebraic method, which is fast and robust for many applications. The TAU-Code is employed routinely in parallel on distributed memory architectures. Grids of 10 million points (and often more) are distributed typically over 16, 32 or 64 processors (sometimes more). This requires a parallel mesh deformation, which works on the same grid partitions as the flow solver: to avoid memory bottlenecks on single computational nodes. to profit from a parallel speed up.
The algebraic mesh deformation method Basic principle of the method: Algebraic prolongation of the given input displacements into the interior of the grid. Compute interior displacements by averages from neighbour points in the backward layer Consider translation and rotation of points in the backward layer for avoiding skew cells and increasing robustness
Mesh deformation test for mesh deformation with rotation of points: A rotated mesh and a deformed mesh for which the rotation is given only on the deformation surface are compared.
Mesh deformation The algebraic method is based on an advancing front algorithm. Advancing front methods are not well suited for parallelization. parallel set up: partition 1 1 step: advance the front per partition in the interior of the grid 2 step: communicate displacements on grid overlap interior grid repeat step 1 and 2 till updates remain unchanged partition overlap Advancing the front has to be repeated (typically) 30 to 50 times in parallel mode partition 3 deformation surface partition 2
How to build the advancing front? The order in which interior points are updated influences the result. The shape of an advancing front of cell layers is strongly influenced by different cell sizes. the front originated on the fuselage (small or zero displacements) wraps around the outer wing, where typically are the largest displacements How to build the front alternatively?
How to build the advancing front? Making the prolongation of displacements independent of local cell sizes 1) sort interior grid points by distance to the initial deformation surface 2) update interior displacements in a loop over the sorted points each point update requires only data of neighbour points which have a smaller distance and which are thus already updated. As a result one single loop over all points is required only. How to compute step 1 in order to make the algorithm highly efficient?
How to compute the distance to the deformation surface for interior points efficiently in parallel? loop over all points, check for each ( ) if a neighbour point ( ) has a surface coordinate which is nearer than its own: if yes, take it repeat till no more point gets an update If the points are suitable sorted usually 15 to 20 sweeps are needed only (less than 10 seconds for one million grid points on a modern PC ) deformation surface already updated actual point in loop In parallel mode, communicate surface coordinates on grid partition boundaries after each sweep (increases the number of sweeps by a factor of 3 or 4).
Limit of the deformation method The described method is able to handle small and some times also medium size deformations. If the deformations become too large the first cells of the grid start to collapse. Hybrid mesh for DLR F6 N-tetras ~ 3400000 N-prisms ~ 3600000 N-points ~ 2500000 outer chord length ~60 span of wing ~580 wing tip deformation 120 240 360 540 collaped collapsed tetras 383 712 1463 collapseds prisms 0149 238 470 collapsed elements The capability of repairing some hundred collapsed elements only, increases the robustness of the mesh deformation method considerably
How to repair elements initial grid extract the same boundary in the initial grid apply transformation on points of collapsed elements deformed grid with collapsed cells extract boundary of the valid part of the grid compute transformation matrix optionally extend this region Its a volume spline applied locally in regions containing collapsed cells
Grid repair: results outer chord length span of the wing realistic range
Parallel efficiency Memory scales with the number of processes (not shown here). For static aeroelastic simulations (call deformation each 500 iteration) runtime of deformation is negligible. wing tip deflection 240 (4 outer chord length) For unsteady applications using large numbers of processes the costs of the deformation can be become remarkable. This is due to the non load balanced occurrence of collapsed cells and their local repair Timings for the main algorithmic parts of the deformation on a 2 GHz Opteron dual core cluster. F6 GRID for WBPN 3.75 million points, 4.88 million tetrahedra, 5.7 million prisms.
Limits of the deformation method they depends on the initial grid quality Grid for A380 with 2m wing tip deflection points 1.0 * 107 tetras 1.0 * 107 prisms 1.5 * 107 pyras 5.0 * 104 collapsed tets 5 Deformation can become impossible if elements are too flat in relation to the deformation size. top view side view deformation
Limits of the deformation method they depend on the initial grid quality Problems with collapsing elements seem to occure due to chopping of prism-layers such that high aspect ratio prisms are connected to flat tetras. For those cases we do not have a solution available yet.
Aeroelastic applications (by J. Neumann) Procedure for the following dynamic aeroelastic simulations temporal coupling conventional serial staggered scheme CSS spatial coupling: radial basis functions for interpolation between CSM & CFD surfaces Flap-Wing & AMP wing: infinite plate spline X31: volume spline structure: NASTRAN eigenvalue analysis to obtain mass and stiffness matrices equation of motion solved with Newmark scheme (structural damping neglected) start 1 Step: steady converged solution with non-deformed mesh 2 Step: compute response of structure & apply deformations per time step
Dynamic aeroelasticity for wing-flap model Test for deformation of chimera grids: angle of attack α=0.0 ; Flap angle Φ=0 ; Onflow Ma=0.5 Start from undeformed converged steady state solution 200 time steps; t=0.01s; change of flap angle from Φ=0 to 10 in the first 100 time steps, afterwards constant flap deflection
AMP-Wing Unsteady simulation - TAU-Nastran Ma=0.60 TAU-Euler-CFD Ma=0.82 TAU-URANS-CFD
AMP Wing: 3-D flutter simulation near transonic dip TAU-Code Navier/Stokes coupled with NASTRAN LCO for AMP: p 0 =1,1 bar; Ma=0.82; α=2,55
FE-modell of X-31-wind tunel model generic CSM-model for large deformations geometry based on CFD surface data model consists of shell elements (CQUAD4 und TRIA3) model consists of 279 nodes and 312 elements CFD-surface mit 168935 surface points, 9.6 million elements, 1.7 million points FE-model with 819 degrees of freedom
X-31: half-model with sharp leading edge α=16.0 ; Mach=0.4; t=0.0005 s; p=100000 N/m² Displacement vectors on finite element model (left) and deformations at wing tip and canard tip over the time (rechts)
Conclusion & outlook The parallel TAU deformation method has been described and demonstrated, it is robust for many applications. can be applied on the same grid partitions distributed over the processes for the TAU preprocessor/solver and adaptation, without re-partitioning and redistribution of data. the memory requirements scale with the number of processes, thus it is no memory bottleneck for large scale applications. the time requirements of the parallel deformation for static aeroelastic simulations are negligible. for dynamic aeroelastic simulations the runtime requirements of the parallel deformation can become relevant (> 25% of solver runtime). Improvements or alternative methods might have to be considered, especially for massive parallel applications.
end