Vai al contenuto principale
it

Modi legittimi per accelerare la convergenza

Tagliare i fattori di sottorilassamento non accelera, rallenta. L'accelerazione vera viene da condizione iniziale, salita a gradini e multigriglia.

Ci sono modi per accorciare il tempo di convergenza su un problema difficile, e nessuno di essi consiste nel giocare con i fattori di sottorilassamento.

1. Un buon campo iniziale

Non dovete partire dal nulla:

  • Una soluzione su griglia rada. Un risultato rado e veloce viene interpolato sulla griglia fitta come punto di partenza. Da solo questo può dimezzare il numero di iterazioni.
  • Un punto di funzionamento vicino. Se state producendo una curva, non ripartite da zero per ogni punto; proseguite dalla soluzione precedente.
  • Un flusso potenziale o altra pre-soluzione semplice. Avviare il campo da una distribuzione di velocità sensata evita gli urti delle prime iterazioni.

2. Salire a gradini con il carico

Non mettete il solutore sulla condizione finale in un colpo solo. Alzate a gradini portata, potenza, velocità di rotazione o galleggiamento. La soluzione parzialmente convergente di ogni gradino è il punto di partenza del successivo.

Far salire a gradini il numero di Mach nei problemi comprimibili, e risolvere il flusso freddo prima di accendere la combustione, seguono la stessa logica. Si veda la nota sul flusso comprimibile.

3. Multigriglia

Le componenti a bassa frequenza dell'errore si smorzano molto lentamente su una griglia fitta. Un metodo multigriglia trasferisce la soluzione su griglie più rade, lì smorza rapidamente quelle componenti, e ritrasferisce. Su griglie grandi il guadagno è di un ordine di grandezza, e non cambia la soluzione — la raggiunge soltanto prima [1].

4. Scalare lo schema

Primo ordine all'inizio, poi secondo ordine. È una tecnica di accelerazione, ma il risultato finale deve essere ottenuto al secondo ordine. Si veda la nota sullo schema di discretizzazione.

La via illegittima

Allentare il criterio di convergenza. Alzare la soglia dei residui e dichiarare la convergenza accorcia l'esecuzione ma non risolve il problema; se le grandezze monitorate derivano ancora, la soluzione non è finita. Si veda la nota sulla convergenza.

Riferimenti

  1. Ferziger, J. H., Perić, M. & Street, R. L. (2020). Computational Methods for Fluid Dynamics, 4th ed. Springer. DOI: 10.1007/978-3-319-99693-6
  2. Patankar, S. V. (1980). Numerical Heat Transfer and Fluid Flow. Hemisphere Publishing. ISBN 978-0-89116-522-4.

Parliamo del tuo progetto

Definiamo insieme il sistema da analizzare e la domanda a cui rispondere.

Parliamo del tuo progetto