Periodico bimestrale
Anno XXI, numero 95
Nov./dic. 2019
ISSN 1128-3874
METODOLOGIA

Metodi efficienti per la deformazione di forma nel calcolo parametrico mediante tecniche di riduzione computazionale

Nicola Demo, Marco Tezzele, Andrea Mola, Gianluigi Rozza SISSA, Scuola Internazionale Superiore di Studi Avanzati, Trieste Area Matematica, mathLab

Stampa pdf rivista

Parametrizzazione di forma e model order reduction.

In molti contesti ingegneristici, l’ottimizzazione o il miglioramento del comportamento di un determinato manufatto o prodotto risulta ancora oggi un problema ricorrente e di difficile soluzione. Grazie al progressivo aumento delle risorse di calcolo, e della qualità degli algoritmi di simulazione numerica, molti prodotti o processi oggi giorno vengono sviluppati attraverso il paradigma della prototipazione virtuale. In questo contesto le prestazioni del manufatto o processo in fase di studio vengono simulate (numericamente) in modo ripetitivo a fronte della variazione dei diversi parametri di design presi in considerazione, così da analizzare le differenze nelle soluzioni e se possibile determinare la combinazione di parametri che ottimizzi le prestazioni stimate. Il ciclo di progettazione descritto può dunque essere caratterizzato come un processo di ottimizzazione basato su un problema parametrico in cui i parametri vengono associati a diversi aspetti rilevanti per il design. Nel caso estremamente ricorrente in cui il ciclo di progettazione miri a cercare la forma ottimale di un certo sistema, è però necessario che le variazioni di forma vengano associate a parametri di forma, ovvero numeri con cui alimentare gli algoritmi matematici per ottimizzazione e simulazione. Per ottenere questo risultato, abbiamo bisogno di metodi di parametrizzazione di forma, capaci, dati una geometria iniziale e un insieme di parametri di input, di deformare tale geometria in maniera automatica, rispettando alcuni vincoli dipendenti dal problema stesso, come ad esempio il mantenimento della continuità sulla derivata della superficie. Sottolineiamo che con parametrizzazione di forma intendiamo la famiglia di algoritmi che si occupa di deformare l’oggetto in esame secondo alcune regole matematiche, e non ci riferiamo a un metodo specifico. Siccome ogni nuova forma creata verrà, nella maggior parte dei casi, analizzata numericamente per quantificare le differenze, nel suo comportamento, rispetto alla forma originale, possiamo considerare il problema studiato come un modello parametrico in cui i parametri si riferiscono alla forma del dominio rispetto a una configurazione (non deformata) di riferimento.
Dipendentemente dal modello, le soluzioni numeriche possono avere un costo computazionale molto elevato: in un contesto di design e ottimizzazione, il costo computazionale cresce ulteriormente poiché il processo è iterativo. In molti casi, il costo totale rende lo studio di questi sistemi parametrici quasi impraticabile, anche sui computer ad alte prestazioni più recenti. In questi contesti, tecniche di riduzione di modello permettono un grande risparmio computazionale, in quanto forniscono un’approssimazione efficiente della soluzione del problema studiato (per un nuovo parametro mai testato prima) basata sulla proiezione di funzioni di base provenienti da un database di soluzioni parametriche precalcolate [1].

Ottimizzazione di forma parametrica tramite processi iterativi.

La parametrizzazione di forma consente quindi di applicare processi iterativi sulla geometria, generando in maniera automatica le forme ammissibili. Ogni forma potrà quindi essere testata attraverso la simulazione numerica, andando a costituire una pipeline computazionale capace di esplorare l’insieme di tutte le deformazioni. Tale pipeline potrà essere facilmente integrata con tecniche di riduzione di modello per rendere la risoluzione del problema numerico molto più efficiente e veloce.
L’intera pipeline può essere facilmente adattata non solo per esplorare i cambiamenti nella soluzione al variare delle forme, ma anche per ottimizzare la forma dell’oggetto in questione. In questo caso è necessario introdurre un algoritmo di ottimizzazione che converga, possibilmente con il minor numero di iterazioni, alla forma che minimizza un dato funzionale, nella maggior parte dei casi dipendente dalla soluzione numerica. Specifichiamo inoltre che il suddetto processo di ottimizzazione, o comunque di parametrizzazione di forma, viene spesso applicato a processi o manufatti industriali, ma può essere facilmente esteso ad altri settori, data la generalità del metodo. Troviamo esempi nel settore biomedicale, dove per esempio le geometrie di porzioni del sistema cardiovascolare vengono spesso modellate con le stesse tecniche per ricostruire al computer forme specifiche per il singolo paziente.
È importante che questo processo sia efficiente, automatico e integrato. Diversi progetti di ricerca industriale degli ultimi anni, che hanno visto la nostra partecipazione, hanno riguardato la necessità di parametrizzare e deformare forme per ottimizzare per lo più prestazioni fluidodinamiche, soprattutto in ambito naval-meccanico, come richiamato nelle immagini.

Intro FFD  e vantaggi gestione forme e parametri.

La free form deformation (FFD) è una tecnica per la parametrizzazione di forma, inizialmente diffusasi nella computer grafica per via delle proprie caratteristiche. Questo metodo consiste nella creazione di un lattice di punti di controllo intorno all’oggetto che si vuole deformare e, tramite lo spostamento di alcuni di questi punti, viene indotta una deformazione continua all’interno del lattice. La deformazione sfrutta funzioni B-spline. Questo permette di ottenere la continuità desiderata lungo le sezioni individuate dal lattice di controllo. Nella figura 1,  a sinistra, si può vedere un esempio di bulbo prodiero con i punti di controllo della FFD indeformati in rosso. A destra invece si nota il bulbo deformato e la nuova posizione dei punti di controllo.
Come si evince il metodo è molto generale e può essere applicato ad ogni tipo di geometria. Per questa tecnica di deformazione, i parametri si riferiscono allo spostamento dei punti di controllo nelle varie direzioni. Un altro aspetto vantaggioso di questa tecnica è che permette deformazioni globali anche con pochi parametri, rendendola particolarmente efficace da integrare all’interno di un ciclo di ottimizzazione di forma [2,3], come in figura 2 e 3.

Riduzione dello spazio dei parametri.

Purtroppo non sempre è immediato capire quanti punti di controllo utilizzare, e come e quanti spostarne per indurre la deformazione voluta, o per generare uno spazio delle deformazioni abbastanza ricco per l’ottimizzazione. Una possibile soluzione è rappresentata dalla riduzione del numero dei parametri tramite una riparametrizzazione sfruttando una tecnica basata sulle proprietà (spettrali) della matrice costruita con i gradienti della funzione obiettivo di interesse rispetto ai parametri di input. Questa tecnica è basata sulla proprietà degli active subspaces [4] e negli ultimi anni è stata applicata con successo in diversi campi dell’ingegneria aeronautica, nautica, navale ed elettronica. La ri-parametrizzazione avviene ri-scalando e ruotando lo spazio dei parametri di input in modo da scoprire eventuali direzioni lungo le quali la quantità di interesse non cambia in media, e analogamente direzioni per cui la funzione ha la massima variabilità. Questo permette di restringere lo spazio di input a solo determinate direzioni (cioè combinazioni lineari dei parametri) e quindi di avere a che fare con un numero minore di variabili. Per diverse applicazioni si è visto che basta una sola combinazione lineare per avere una buona approssimazione della funzione target di riferimento, per esempio per approssimare i coefficienti di resistenza e portanza di un profilo alare. Applicando questa tecnica alla FFD è possibile identificare quali punti di controllo influiscono maggiormente sulle quantità da ottimizzare e allo stesso tempo quali punti di controllo possono rimanere inalterati poiché non hanno effetti  significativi sul sistema [5], identificando di fatto una sensitività del sistema rispetto alla variazione dei parametri.

Integrazione tra CAD e simulazione nel design industriale.

La generalità della FFD consente di poter applicare questo metodo non solo a geometrie discretizzate, ma anche a una grande varietà di oggetti. Grazie alla peculiarità di deformare tutto lo spazio racchiuso all’interno del lattice, possiamo indifferentemente integrare questa tecnica con superfici CAD o direttamente sulla griglia di calcolo per la simulazione numerica.
Nel caso di modelli CAD, l’algoritmo sposterà direttamente i punti di controllo delle superfici/curve, inducendo quindi una deformazione nel modello stesso, senza tuttavia cambiarne la topologia.
Il discorso è simile per le griglie di calcolo: la FFD sposta tutti i nodi della griglia (contenuti all’interno del lattice) lasciando tuttavia invariata la topologia e quindi l’ordine ed il numero degli elementi. Da un punto di vista pratico, questo si traduce in una griglia parametrica, che non deve essere generata da zero per ogni nuova deformazione della geometria originale. Ciò consente di ridurre sensibilmente il tempo necessario alla generazione di griglia che spesso è il più oneroso, in termini di ore uomo, nei cicli di design. Inoltre, questa integrazione risulta particolarmente utile nell’ambito della modellistica basata sulla riduzione di ordine, dato che molte di queste tecniche richiedono che le simulazioni che popolano il database iniziale abbiano lo stesso numero di gradi di libertà. Tuttavia è importante notare che eventuali deformazioni della griglia potrebbero ridurre la qualità della griglia stessa, dipendentemente dal tipo di deformazione applicata.
A livello più applicativo la procedura proposta permette anche una perfetta integrazione tra  gli strumenti utilizzati dai reparti di ricerca e sviluppo presenti nelle aziende con gli uffici tecnici di progettazione. I primi utilizzano strumenti di simulazione, i secondi CAD.

Il software open-source PyGeM per la deformazione.

La tecnica FFD descritta nei paragrafi precedenti, assieme ad altre metodologie per la parametrizzazione di forma come interpolazione tramite radial basis functions (RBF) e inverse distance weighting (IDW), è stata implementata nel pacchetto PyGeM [6], disponibile online e con licenza open-source.
Questo software è stato scritto interamente in Python, con semplici API che permettono all’utilizzatore di impostare i parametri della deformazione (posizione e dimensione del lattice di punti, spostamento dei punti di controllo, etc.) direttamente all’interno dell’interfaccia Python o tramite un semplice file di testo. L’intero codice segue il paradigma della programmazione ad oggetti, aumentando la facilità di utilizzo e l’integrazione con altri framework. Orientato ad applicazioni industriali, PyGeM riesce a gestire deformazioni direttamente su file in formato CAD (STL, IGES, etc.) oppure sui formati file più comuni nell’ambito della simulazione industriale (VTK, UNV, OpenFOAM, ...). Per garantire un alto standard di qualità del codice, il pacchetto è arricchito da numerosi test atti a preservarne la robustezza, e da un’estesa documentazione online comprendente anche diversi tutorial per i workflow più tipici.
Va detto infine che esistono tipologie di geometrie per cui una metodologia general purpose quale FFD non rappresenta la soluzione più vantaggiosa. In presenza di oggetti  dalla forma altamente ingegnerizzata, è infatti possibile che le modifiche geometriche ottenute tramite FFD producano oggetti dalle forme che non rispondano alle esigenze degli ingegneri progettisti. In tali casi la parametrizzazione è più convenientemente introdotta nella particolare procedura di design utilizzata dagli ingegneri per progettare lo specifico componente analizzato. È il caso ad esempio delle eliche per la propulsione navale, figura 4, o aeronautica. Essendo generate come inviluppo di una serie di profili alari disposti su sezioni cilindriche a diversi valori di coordinata radiale a partire dall’asse di rotazione, le eliche non possono essere deformate con FFD senza alterare le forme dei profili stessi e altre caratteristiche di interesse. Per questa applicazione, è stato dunque sviluppato un software in grado di parametrizzare la forma delle eliche attraverso la parametrizzazione della forma dei profili di ciascuna sezione, e, attraverso lo spostamento dei punti di controllo di splines interpolanti, anche le curve caratteristiche di distribuzione delle corde, passo, rake, skew di ciascuna elica, come in figura 4. Anche in questo caso, la tecnica descritta è stata implementata in un pacchetto chiamato BladeX [7] disponibile online con licenza open-source. Anche questo software è stato scritto interamente in Python, e consente di generare, tramite un semplice file di testo, tutte le varianti desiderate a partire dalla tabella di progetto dell’elica originale e di salvarle in opportuni file CAD (STL, IGES, etc.).

Bibliografia e links

[1] J. Hesthaven, G. Rozza, and B. Stamm. Certified reduced basis methods for parametrized partial differential equations. SpringerBriefs in Mathematics. Springer, 2016.

[2] F. Salmoiraghi, A. Scardigli, H. Telib, and G. Rozza. Free-form deformation, mesh morphing and reduced-order methods: enablers for efficient aerodynamic shape optimisation. International Journal of Computational Fluid Dynamics 32.4-5 (2018): 233-247.


[3] N. Demo, M. Tezzele, G. Gustin, G. Lavini, and G. Rozza. Shape optimization by means of proper orthogonal decomposition and dynamic mode decomposition. In Technology and Science for the Ships of the Future: Proceedings of NAV 2018: 19th International Conference on Ship & Maritime Research, pages 212–219. IOS Press, 2018.


[4] P. Constantine. Active subspaces: Emerging ideas for dimension reduction in parameter studies. Volume 2 of SIAM Spotlights. SIAM, 2015.


[5] M. Tezzele, F. Salmoiraghi, A. Mola, and G. Rozza. Dimension reduction in heterogeneous parametric spaces with application to naval engineering shape design problems. Advanced modeling and simulation in engineering sciences, 5(1), 25, 2018.


[6] PyGeM: Python Geometrical Morphing. Available at https://github.com/mathLab/PyGeM.


[7] M. Gadalla, M. Tezzele, A. Mola, and G. Rozza. BladeX: Python Blade Morphing. Journal of Open Source Software, 4(34), 1203, 2019. Available at  https://mathlab.github.io/BladeX/

« Indice del n. 95