For the aerodynamic design of aeronautical components Computational Fluid Dynamics (CFD) plays a fundamental role. Pure CFD analyses are usually sufficiently accurate for a wide range of problems. However, when the deformability of the structure cannot be neglected or rigidly moving parts appear in the fluid domain, different disciplines (such as Fluid-Structure Interaction), methodologies (such as Finite Element Method) and strategies (such as Multibody System Dynamics) are also required. Beside the usual aeronautical examples where an accurate study of the interaction between the fluid and the structure is a key part of the design process (e.g. wings, aircraft, helicopter blades), another important field is represented by turbomachinery, where in particular in the literature aeroelastic investigations are not widely performed yet. A recent research trend is also represented by open rotors and propfans. Together with the availability of more and more powerful computing resources, current trends pursue the adoption of such high-fidelity tools and state-of-the-art technology even in the preliminary design phases. Within such a framework Graphical Processing Units (GPUs) yield further growth potential, allowing a significant reduction of CFD process turn-around times at relatively low costs. The target of the present work is to illustrate the design and implementation of an explicit density-based URANS coupled aeroelastic solver, called AeroX, for the efficient and accurate numerical simulation of multi-dimensional time-dependent compressible fluid flows on polyhedral unstructured meshes. Turbomachinery and open rotors extensions are also implemented to handle complex compressor, turbine and propfan cases. The solver has been developed within the object-oriented {OpenFOAM} framework, using {OpenCL} for GPGPU programming and CPU-GPU interfacing. Different convergence acceleration techniques, such as Multi Grid and Local Time Stepping, are implemented and opportunely tuned for GPU executions in order to allow an implicit-like residuals convergence. Dual Time Stepping is also implemented to allow time-accurate simulations of unsteady cases of aeronautical interest, such as wings and blades flutter. For what concerns aeroelasticity, Radial Basis Functions are employed to interface the aerodynamic and the structural meshes. The modal representation of the structural behavior is adopted thanks to its accuracy and computational efficiency. Inverse Distance Weighting is used to update the aerodynamic mesh points knowing the wall displacements. The solver is specifically designed to exploit cheap gaming GPU architectures which exhibit high single precision computational power but a limited amount of global memory. Equations are solved in a non-dimensional form to reduce numerical errors. The solver is also natively compatible with more expensive HPC GPUs, allowing the exploitation of their high double precision computational power and their higher amount of memory. Thanks to OpenCL, AeroX is also natively compatible with multi-thread CPU executions. The credibility of the proposed CFD solver is assessed by tackling a number of aeronautical, turbomachinery and open rotor benchmark test problems including the 2nd Drag Prediction Workhop, the 2nd Aeroelastic Prediction Workshop (AePW2), the HiReNASD wing, the AGARD 445 wing, the NASA's Rotor 67 blade, the 2D/3D Standard Configuration 10 blades, the Aachen turbine and the SR-5 propfan blade. The recent AePW2 benchmark case, in particular, proves that AeroX is capable to predict flutter with an accuracy level that is comparable with the state-of-the-art aeroelastic compressible URANS solvers, requiring just a cheap gaming GPU. In the literature it is difficult to find static aerelastic investigations of turbomachinery blades. Thus, the trim of the NASA's Rotor 67 fan blade is here investigated, showing that the high blade stiffness is responsible for the very small wall displacements. This is translated in negligible differences between the aeroelastic and the purely aerodynamic solutions for such configurations. The focus of this work is also on computational aspects. With AeroX an average one order of magnitude speed-up factor is obtained when comparing CPUs and GPUs of the same price range.

La fluidodinamica computazionale (CFD) costituisce un ruolo fondamentale per la progettazione di componenti aeronautici. Solitamente analisi puramente aerodinamiche sono sufficienti per una vasta gamma di problemi. Tuttavia, quando la deformabilità della struttura non può essere trascurata oppure quando nel dominio fluido sono presenti parti rigide in movimento, altre discipline (come l'interazione fluido-struttura), metodi (come il metodo agli elementi finiti) e strategie (come la dinamica dei sistemi multi-corpo), risultano necessarie. Accanto ai soliti esempi aeronautici dove un accurato studio dell'interazione tra il fluido e la struttura è un punto chiave nel processo di progettazione (ad es. ali, interi aerei, pale di elicottero), un altro campo è rappresentato dalle turbomacchine, dove in letteratura analisi aeroelastiche statiche non sono ancora ampiamente effettuate. Un trend recente è inoltre rappresentato dagli open rotor e dai propfan. Assieme alla disponibilità di risorse di calcolo sempre più potenti, l'idea attuale è quella di adottare strumenti in grado di restituire soluzioni accurate già nelle fasi preliminari di progettazione. All'interno di questo concetto le schede grafiche (GPU) permettono una significante riduzione dei tempi di calcolo a costi relativamente bassi. Lo scopo di questo lavoro è quello di illustrare la progettazione e implementazione di un solutore aeroelastico esplicito, comprimibile, viscoso (URANS), chiamato AeroX, adatto alla simulazione efficiente ed accurata di casi instazionari e multi-dimensionali, compatibile con mesh poliedriche non strutturate. Nel solutore sono anche implementate estensioni riguardanti turbomacchine e open rotor per poter gestire casi di compressori, turbine e propfan. Il solutore è stato sviluppato nel contesto dell'ambiente orientato ad oggetti OpenFOAM, usando OpenCL per la programmazione GPGPU e per interfaccia CPU-GPU. Diverse tecniche di accelerazione della convergenza, quali Multi Grid e Local Time Stepping, sono implementate e ottimizzate per esecuzioni su GPU in modo da ottenere andamenti di convergenza simili a un solutore implicito. Inoltre, il Dual Time Stepping è implementato poter sfruttare queste tecniche anche con casi instazionari di interesse aeronautico come il flutter di ali e palette. Per quanto riguarda l'aeroelasticità, le Radial Basis Function sono utilizzate per interfacciare mesh strutturali e aerodinamiche. La rappresentazione modale del comportamento strutturale è adottata per via della sua accuratezza ed efficienza computazionale. L'Inverse Distance Weighting è usato per aggiornare la posizione dei punti della mesh aerodinamica sulla base degli spostamenti della parete. Il solutore è progettato per sfruttare le architetture delle GPU da gioco che sono caratterizzate da un'elevata potenza di calcolo in singola precisione ma una limitata quantità di memoria globale. Le equazioni sono risolte in forma adimensionale per ridurre gli errori numerici. Il solutore è inoltre nativamente compatibile con le più costose GPU da HPC, permettendo di sfruttarne l'elevata potenza di calcolo in doppia precisione e la maggiore quantità di memoria. Grazie a OpenCL il solutore è inoltre nativamente compatibile con l'esecuzione multi-thread su CPU. Il solutore è stato validato con diversi casi aeronautici, di turbomacchine e open rotors come il 2nd Drag Prediction Workshop, il 2nd Aeroelastic Prediction Workshop (AePW2), l'ala HiReNASD, l'ala AGARD 445, la pala del Rotor 67 della NASA, la pala della Standard Configuration 10 (2D e 3D), la turbina Aachen e la pala del propfan SR-5. Il recente benchmark AePW2, in particolare, prova che AeroX è capace di completare analisi di flutter con un livello di accuratezza comparabile a quello fornito dallo stato dell'arte dei solutori comprimibili URANS aeroelastici, richiedendo semplicemente l'uso di un'economica GPU da gioco. In letteratura è difficile trovare analisi aeroelastiche statiche di palette di turbomacchine. In questo lavoro è quindi stata effettuata l'analisi di trim della pala del Rotor 67, mostrando che la sua elevata rigidezza è il motivo per cui i suoi spostamenti sono ridotti e di conseguenza le differenze tra soluzioni aeroelastiche e soluzioni puramente aerodinamiche sono trascurabili. In questo lavoro l'attenzione è stata posta anche sugli aspetti computazionali. Uno speed-up medio di un ordine di grandezza è stato ottenuto confrontando CPU e GPU della stessa fascia di prezzo.

A unified GPU-CPU aeroelastic compressible URANS solver for aeronautical, turbomachinery and open rotors applications

GADDA, ANDREA

Abstract

For the aerodynamic design of aeronautical components Computational Fluid Dynamics (CFD) plays a fundamental role. Pure CFD analyses are usually sufficiently accurate for a wide range of problems. However, when the deformability of the structure cannot be neglected or rigidly moving parts appear in the fluid domain, different disciplines (such as Fluid-Structure Interaction), methodologies (such as Finite Element Method) and strategies (such as Multibody System Dynamics) are also required. Beside the usual aeronautical examples where an accurate study of the interaction between the fluid and the structure is a key part of the design process (e.g. wings, aircraft, helicopter blades), another important field is represented by turbomachinery, where in particular in the literature aeroelastic investigations are not widely performed yet. A recent research trend is also represented by open rotors and propfans. Together with the availability of more and more powerful computing resources, current trends pursue the adoption of such high-fidelity tools and state-of-the-art technology even in the preliminary design phases. Within such a framework Graphical Processing Units (GPUs) yield further growth potential, allowing a significant reduction of CFD process turn-around times at relatively low costs. The target of the present work is to illustrate the design and implementation of an explicit density-based URANS coupled aeroelastic solver, called AeroX, for the efficient and accurate numerical simulation of multi-dimensional time-dependent compressible fluid flows on polyhedral unstructured meshes. Turbomachinery and open rotors extensions are also implemented to handle complex compressor, turbine and propfan cases. The solver has been developed within the object-oriented {OpenFOAM} framework, using {OpenCL} for GPGPU programming and CPU-GPU interfacing. Different convergence acceleration techniques, such as Multi Grid and Local Time Stepping, are implemented and opportunely tuned for GPU executions in order to allow an implicit-like residuals convergence. Dual Time Stepping is also implemented to allow time-accurate simulations of unsteady cases of aeronautical interest, such as wings and blades flutter. For what concerns aeroelasticity, Radial Basis Functions are employed to interface the aerodynamic and the structural meshes. The modal representation of the structural behavior is adopted thanks to its accuracy and computational efficiency. Inverse Distance Weighting is used to update the aerodynamic mesh points knowing the wall displacements. The solver is specifically designed to exploit cheap gaming GPU architectures which exhibit high single precision computational power but a limited amount of global memory. Equations are solved in a non-dimensional form to reduce numerical errors. The solver is also natively compatible with more expensive HPC GPUs, allowing the exploitation of their high double precision computational power and their higher amount of memory. Thanks to OpenCL, AeroX is also natively compatible with multi-thread CPU executions. The credibility of the proposed CFD solver is assessed by tackling a number of aeronautical, turbomachinery and open rotor benchmark test problems including the 2nd Drag Prediction Workhop, the 2nd Aeroelastic Prediction Workshop (AePW2), the HiReNASD wing, the AGARD 445 wing, the NASA's Rotor 67 blade, the 2D/3D Standard Configuration 10 blades, the Aachen turbine and the SR-5 propfan blade. The recent AePW2 benchmark case, in particular, proves that AeroX is capable to predict flutter with an accuracy level that is comparable with the state-of-the-art aeroelastic compressible URANS solvers, requiring just a cheap gaming GPU. In the literature it is difficult to find static aerelastic investigations of turbomachinery blades. Thus, the trim of the NASA's Rotor 67 fan blade is here investigated, showing that the high blade stiffness is responsible for the very small wall displacements. This is translated in negligible differences between the aeroelastic and the purely aerodynamic solutions for such configurations. The focus of this work is also on computational aspects. With AeroX an average one order of magnitude speed-up factor is obtained when comparing CPUs and GPUs of the same price range.
VIGEVANO, LUIGI
GUARDONE, ALBERTO MATTEO ATTILIO
ROMANELLI, GIULIO
17-gen-2017
La fluidodinamica computazionale (CFD) costituisce un ruolo fondamentale per la progettazione di componenti aeronautici. Solitamente analisi puramente aerodinamiche sono sufficienti per una vasta gamma di problemi. Tuttavia, quando la deformabilità della struttura non può essere trascurata oppure quando nel dominio fluido sono presenti parti rigide in movimento, altre discipline (come l'interazione fluido-struttura), metodi (come il metodo agli elementi finiti) e strategie (come la dinamica dei sistemi multi-corpo), risultano necessarie. Accanto ai soliti esempi aeronautici dove un accurato studio dell'interazione tra il fluido e la struttura è un punto chiave nel processo di progettazione (ad es. ali, interi aerei, pale di elicottero), un altro campo è rappresentato dalle turbomacchine, dove in letteratura analisi aeroelastiche statiche non sono ancora ampiamente effettuate. Un trend recente è inoltre rappresentato dagli open rotor e dai propfan. Assieme alla disponibilità di risorse di calcolo sempre più potenti, l'idea attuale è quella di adottare strumenti in grado di restituire soluzioni accurate già nelle fasi preliminari di progettazione. All'interno di questo concetto le schede grafiche (GPU) permettono una significante riduzione dei tempi di calcolo a costi relativamente bassi. Lo scopo di questo lavoro è quello di illustrare la progettazione e implementazione di un solutore aeroelastico esplicito, comprimibile, viscoso (URANS), chiamato AeroX, adatto alla simulazione efficiente ed accurata di casi instazionari e multi-dimensionali, compatibile con mesh poliedriche non strutturate. Nel solutore sono anche implementate estensioni riguardanti turbomacchine e open rotor per poter gestire casi di compressori, turbine e propfan. Il solutore è stato sviluppato nel contesto dell'ambiente orientato ad oggetti OpenFOAM, usando OpenCL per la programmazione GPGPU e per interfaccia CPU-GPU. Diverse tecniche di accelerazione della convergenza, quali Multi Grid e Local Time Stepping, sono implementate e ottimizzate per esecuzioni su GPU in modo da ottenere andamenti di convergenza simili a un solutore implicito. Inoltre, il Dual Time Stepping è implementato poter sfruttare queste tecniche anche con casi instazionari di interesse aeronautico come il flutter di ali e palette. Per quanto riguarda l'aeroelasticità, le Radial Basis Function sono utilizzate per interfacciare mesh strutturali e aerodinamiche. La rappresentazione modale del comportamento strutturale è adottata per via della sua accuratezza ed efficienza computazionale. L'Inverse Distance Weighting è usato per aggiornare la posizione dei punti della mesh aerodinamica sulla base degli spostamenti della parete. Il solutore è progettato per sfruttare le architetture delle GPU da gioco che sono caratterizzate da un'elevata potenza di calcolo in singola precisione ma una limitata quantità di memoria globale. Le equazioni sono risolte in forma adimensionale per ridurre gli errori numerici. Il solutore è inoltre nativamente compatibile con le più costose GPU da HPC, permettendo di sfruttarne l'elevata potenza di calcolo in doppia precisione e la maggiore quantità di memoria. Grazie a OpenCL il solutore è inoltre nativamente compatibile con l'esecuzione multi-thread su CPU. Il solutore è stato validato con diversi casi aeronautici, di turbomacchine e open rotors come il 2nd Drag Prediction Workshop, il 2nd Aeroelastic Prediction Workshop (AePW2), l'ala HiReNASD, l'ala AGARD 445, la pala del Rotor 67 della NASA, la pala della Standard Configuration 10 (2D e 3D), la turbina Aachen e la pala del propfan SR-5. Il recente benchmark AePW2, in particolare, prova che AeroX è capace di completare analisi di flutter con un livello di accuratezza comparabile a quello fornito dallo stato dell'arte dei solutori comprimibili URANS aeroelastici, richiedendo semplicemente l'uso di un'economica GPU da gioco. In letteratura è difficile trovare analisi aeroelastiche statiche di palette di turbomacchine. In questo lavoro è quindi stata effettuata l'analisi di trim della pala del Rotor 67, mostrando che la sua elevata rigidezza è il motivo per cui i suoi spostamenti sono ridotti e di conseguenza le differenze tra soluzioni aeroelastiche e soluzioni puramente aerodinamiche sono trascurabili. In questo lavoro l'attenzione è stata posta anche sugli aspetti computazionali. Uno speed-up medio di un ordine di grandezza è stato ottenuto confrontando CPU e GPU della stessa fascia di prezzo.
Tesi di dottorato
File allegati
File Dimensione Formato  
andrea_gadda_phd_thesis.pdf

accessibile in internet per tutti

Descrizione: thesis pdf
Dimensione 15.58 MB
Formato Adobe PDF
15.58 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/130981