[{"data":1,"prerenderedAt":118},["ShallowReactive",2],{"$fj9tzn5smbnve":3},{"slug":4,"publishedAt":5,"category":6,"title":7,"summary":8,"image":9,"imageAlt":14,"readingMinutes":15,"serviceId":16,"keywords":17,"imageCaption":23,"sections":24,"sources":108},"cfd-simulation-diverging","2026-10-12","guides","La simulazione CFD diverge? Sette controlli nell’ordine giusto","Una simulazione CFD che diverge ha una causa, e ridurre il sotto-rilassamento raramente la trova. Sette controlli in ordine, da unità e contorni alla numerica.",{"src":10,"thumbnail":11,"width":12,"height":13},"\u002Fassets\u002Fcfd-cases\u002Fnozzle\u002Fimages\u002F02.webp","\u002Fbrand\u002Fstudies\u002Fnozzle.svg",1448,1086,"Illustrazione DEEB-FLOW di un campo di velocità in una camera di essiccazione a spruzzo",6,"review",[18,19,20,21,22],"simulazione CFD diverge","divergenza rilevata","floating point exception Fluent","CFD non converge","flusso inverso","Illustrazione concettuale dalla libreria di casi DEEB-FLOW. Non è un risultato di questo articolo.",[25,32,38,44,56,62,72,77,88,93,103],{"id":26,"title":27,"paragraphs":28},"why-tuning-fails","Perché abbassare i parametri del solutore raramente trova la causa",[29,30,31],"Iterazione 214. I residui, che scendevano con regolarità, girano verso l’alto. All’iterazione 230 sono a 10⁵, e la console stampa un avviso di divergenza, un’eccezione in virgola mobile o, in OpenFOAM, una colonna di numeri che termina con «nan».","L’istinto è aprire i controlli del solutore e abbassare tutto. Ridurre i fattori di sotto-rilassamento, dimezzare il passo temporale, rilanciare. A volte funziona. Più spesso ritarda il blocco di qualche centinaio di iterazioni e non ti insegna nulla.","Una simulazione CFD che diverge è un sintomo con una causa, e la causa si trova di solito più in fretta guardando la soluzione che ritoccando i parametri. Di seguito trovi l’ordine in cui controllo io. I controlli economici vengono prima, e ciascuno restringe il successivo.",{"id":33,"title":34,"paragraphs":35},"find-where","1. Trova dove è cominciato",[36,37],"Prima di cambiare qualsiasi impostazione, trova le celle in cui la soluzione ha deviato per prima. Carica gli ultimi dati salvati prima del blocco, oppure rilancia con salvataggi frequenti. Guarda minimo e massimo di pressione, velocità, temperatura e, per flussi comprimibili, numero di Mach. Una temperatura di 5.000 K in un condotto d’aria o una velocità cinquanta volte quella d’ingresso si trova in un punto preciso. Vai a guardare quel punto.","La maggior parte dei solutori può anche indicare le celle con i residui più alti. Tutto ciò che segue è più semplice quando sai se il problema è a un ingresso, a un’uscita, in un’intercapedine sottile o dentro uno strato limite.",{"id":39,"title":40,"paragraphs":41},"units-and-scale","2. Controlla unità e scala",[42,43],"Sembra troppo semplice, eppure è la causa più spesso di quanto si ammetta. Una geometria disegnata in millimetri e letta in metri è mille volte più grande in ogni direzione. Il tuo tubo da 50 mm ora ha un diametro di 50 m, il numero di Reynolds è mille volte più alto e una mesh che era adeguata diventa inservibile. Confronta le dimensioni del dominio riportate dal solutore con quelle che ti aspetti.","Già che ci sei, controlla le proprietà dei materiali e la pressione operativa. Confondere pressione relativa e assoluta in un caso comprimibile produce densità fisicamente assurde.",{"id":45,"title":46,"paragraphs":47},"boundary-conditions","3. Controlla le condizioni al contorno",[48,49,55],"Chiediti se il problema che hai posto ammette una soluzione.",{"list":50},[51,52,53,54],"**Conservazione della massa.** Una velocità fissata a ogni ingresso e a ogni uscita vincola troppo un flusso incomprimibile. Almeno un contorno deve lasciare libera la pressione.","**Riflusso a un’uscita.** Se una zona di ricircolo attraversa un’uscita a pressione imposta, il solutore deve inventare le proprietà del fluido che rientra. Sposta l’uscita più a valle oppure imposta valori di riflusso sensati.","**Posizione dell’ingresso.** Un ingresso posto subito a monte di una curva o di un gradino impone un profilo uniforme dove il flusso reale è tutt’altro che uniforme.","**Condizioni coerenti con il modello.** Un ingresso turbolento con intensità di turbolenza lasciata a zero, o un ingresso supersonico senza pressione statica, si comporterà male.","Un flusso inverso segnalato a un ingresso è quasi sempre un errore di impostazione e va affrontato prima di tutto il resto.",{"id":57,"title":58,"paragraphs":59},"mesh","4. Guarda la mesh dove ha ceduto",[60,61],"Ora la mesh, e precisamente quella nel punto individuato al passo 1. Controlla skewness, ortogonalità e rapporto d’aspetto. Bastano poche celle malformate in un’intercapedine sottile o su un bordo d’uscita affilato, perché celle molto distorte alterano i flussi tra celle vicine e introducono oscillazioni nella soluzione. Controlla anche i salti bruschi nella dimensione delle celle. Se la divergenza è partita dalle celle peggiori della mesh, ripara la mesh lì. Un’impostazione del solutore si limiterebbe a nascondere il problema.","Una mesh più fine può divergere dove una grossolana girava. La mesh grossolana smussava un fenomeno, come il distacco di vortici o un urto, che la mesh fine risolve. È un’informazione sul flusso, e di solito significa che il caso va calcolato in transitorio.",{"id":63,"title":64,"paragraphs":65},"better-start","5. Dai al calcolo una partenza migliore",[66,67],"Un solutore che parte da un campo uniforme alla velocità d’ingresso ha molta strada da fare, e le prime iterazioni sono violente. Tre accorgimenti rendono la partenza più dolce.",{"list":68},[69,70,71],"Usa l’inizializzazione del solutore da una soluzione potenziale o ibrida, se disponibile.","Parti con una frazione della portata, o con un rapporto di pressione più basso nei flussi comprimibili, e aumenta gradualmente.","Esegui qualche centinaio di iterazioni con discretizzazione del primo ordine, poi passa al secondo ordine.",{"id":73,"title":74,"paragraphs":75},"staged-physics","6. Aggiungi la fisica per gradi",[76],"Se il caso include scambio termico, specie chimiche, combustione o più di una fase, evita di attivare tutto alla prima iterazione. Porta prima a convergenza il flusso a freddo. Poi aggiungi l’energia, poi le specie senza reazione, poi le reazioni. Ogni passo parte da un campo sensato, e quando qualcosa va storto sai quale modello l’ha causato.",{"id":78,"title":79,"paragraphs":80},"numerics","7. Ora regola la numerica",[81,82,83,86,87],"Solo qui entrano in gioco i controlli del solutore, e ormai sai che cosa stai curando. Per i solutori stazionari basati sulla pressione, abbassa con moderazione i fattori di sotto-rilassamento di pressione e quantità di moto. Per i solutori accoppiati o basati sulla densità, abbassa il numero di Courant. Un approccio pseudo-transitorio è spesso più stabile del semplice sotto-rilassamento.","Nei calcoli transitori controlla direttamente il numero di Courant. Indica quante celle il flusso attraversa in un passo temporale. Prendi celle da 0,5 mm in un getto a 40 m\u002Fs con un passo temporale di 10⁻⁴ s.",{"formula":84},[85],"CFL = u × Δt \u002F Δx = 40 × 0.0001 \u002F 0.0005 = 8","Il fluido attraversa otto celle per passo. Per uno schema esplicito o una superficie libera netta sono decisamente troppe. Un passo temporale di 1,25 × 10⁻⁵ s lo riporta a 1.","Se il calcolo sopravvive solo con un rilassamento molto basso o un passo temporale minuscolo, torna ai passi da 1 a 4. La numerica sta compensando qualcosa.",{"id":89,"title":90,"paragraphs":91},"why-this-order","Perché i controlli seguono quest’ordine",[92],"I passi da 1 a 3 richiedono minuti e nessun rilancio. Il passo 4 può richiedere una nuova mesh, ed è per questo che conviene conoscere prima il punto. I passi da 5 a 7 cambiano il modo in cui il solutore si avvicina alla risposta, cosa che aiuta solo se una risposta esiste. Nella pratica l’ordine abituale è l’inverso, con la numerica per prima, la mesh per seconda e l’impostazione per ultima, ed è così che un problema da due ore diventa un problema da due giorni.",{"id":94,"title":95,"paragraphs":96},"common-mistakes","Errori frequenti",[97],{"list":98},[99,100,101,102],"**Abbassare il rilassamento finché gira e poi lasciarlo così.** Una soluzione fortemente sotto-rilassata converge molto lentamente e può sembrare finita mentre sta ancora cambiando.","**Raffinare tutta la mesh in risposta a un problema locale.** Il numero di celle cresce e le celle malformate restano malformate.","**Vietare il riflusso a un’uscita che è semplicemente troppo vicina.** L’avviso scompare e l’errore resta nella soluzione.","**Ignorare gli avvisi.** I messaggi di flusso inverso su centinaia di facce o di viscosità turbolenta limitata in migliaia di celle ti dicono dove guardare.",{"id":104,"title":105,"paragraphs":106},"still-not-running","Quando ancora non gira",[107],"Riduci il caso all’essenziale. Togli modelli finché gira, poi rimettili uno alla volta. Se una versione laminare, isoterma e monofase della tua geometria diverge, il problema è nella mesh o nelle condizioni al contorno, e hai tolto molto rumore dalla ricerca. Se ci hai passato due giorni, mostra il caso a qualcun altro, perché uno sguardo fresco trova spesso uno scambio tra millimetri e metri in pochi minuti.",[109,112,115],{"href":110,"label":111},"https:\u002F\u002Fwww.grc.nasa.gov\u002Fwww\u002Fwind\u002Fvalid\u002Ftutorial\u002Fiterconv.html","NASA \u002F NPARC: examining iterative convergence",{"href":113,"label":114},"https:\u002F\u002Fwww.grc.nasa.gov\u002Fwww\u002Fwind\u002Fvalid\u002Ftutorial\u002Fprocess.html","NASA \u002F NPARC: CFD analysis process",{"href":116,"label":117},"https:\u002F\u002Fdoi.org\u002F10.1007\u002FBF01448839","Courant, Friedrichs and Lewy (1928), Mathematische Annalen: on the partial difference equations of mathematical physics",1791759707816]