Avete eseguito lo stesso problema su 16 e su 64 core e i risultati non coincidono. È frequente, ed è frequentemente diagnosticato male.
Comportamento atteso
La partizione del dominio non cambia le equazioni; decide soltanto quale processore calcola quale parte. Una soluzione convergente dovrebbe essere indipendente dal numero di partizioni.
Non sarà identica bit a bit: l'ordine delle somme in virgola mobile cambia con la partizione, e questo produce differenze nelle ultime cifre. Ma quella differenza resta a livello di parti per milione in una grandezza monitorata e non incide su una decisione ingegneristica.
Se la differenza è grande
1. La soluzione non è convergente. È di gran lunga la causa più comune. In una soluzione mezza convergente la differenza d'ordine di somma cresce e le due esecuzioni divergono. Si veda la nota sulla convergenza.
2. La fisica è transitoria. In un flusso caotico o oscillante i campi istantanei non coincidono comunque; ciò che va confrontato non è un valore istantaneo ma una media temporale.
3. Un confine di partizione attraversa una regione critica. Alcuni modelli (in particolare le funzioni di parete e certe chiusure multifase) hanno bisogno delle informazioni delle celle vicine. Se un confine di partizione taglia in pieno uno strato limite sottile o un'interfaccia di fase, può nascere incoerenza locale.
4. Un modello usa un seme casuale. Con l'iniezione di particelle o un generatore sintetico di turbolenza, il seme può dipendere dalla partizione.
Che cosa fare
Stringete prima la convergenza; di solito la differenza sparisce. Se non sparisce, fissate il numero di partizioni e dichiaratelo nella relazione — in uno studio di ottimizzazione la coerenza fra le esecuzioni conta più dell'accuratezza assoluta. Si veda la nota sui modelli surrogati.
Riferimenti
- 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
- Celik, I. B., Ghia, U., Roache, P. J., Freitas, C. J., Coleman, H. & Raad, P. E. (2008). Procedure for estimation and reporting of uncertainty due to discretization in CFD applications. Journal of Fluids Engineering, 130(7), 078001. DOI: 10.1115/1.2960953