Contesto:
per un corso ho creato solo una soluzione numerica funzionante a 2d Navier-Stokes. Era una soluzione per il flusso di cavità guidato dal coperchio. Il corso, tuttavia, ha discusso una serie di schemi per discretizzazioni spaziali e discretizzazioni temporali. Ho anche seguito altri corsi di manipolazione dei simboli applicati a NS.
Alcuni degli approcci numerici per gestire la conversione dell'equazione analitica / simbolica dalla PDE alla differenza finita includono:
- Euler FTFS, FTCS, BTCS
- negligente
- Midpoint Leapfrog
- Lax-Wendroff
- MacCormack
- griglia offset (la diffusione spaziale consente la diffusione delle informazioni)
- TVD
A me, all'epoca, sembravano "inserire-name trova uno schema e sembra funzionare". Molti di questi risalivano a prima del "abbondante silicio". Sono tutte approssimazioni. Nel limite loro. in teoria, portare alla PDE.
Mentre la simulazione numerica diretta ( DNS ) è divertente e Reynolds Averaged Navier-Stokes ( RANS ) è anche divertente, sono i due "punti finali" del continuum tra trattabili dal punto di vista computazionale e che rappresentano pienamente i fenomeni. Esistono più famiglie di approcci che vivono al loro interno.
Durante la lezione, i professori di CFD hanno detto che la maggior parte dei solutori di CFD fanno belle foto, ma per la maggior parte, quelle immagini non rappresentano la realtà e che può essere molto difficile e richiedere molto lavoro, per ottenere una soluzione risolutiva che rappresenta la realtà.
La sequenza di sviluppo (a quanto ho capito, non esaustiva) è:
- inizia con le equazioni di governo -> PDE
- determinare la discretizzazione spaziale e temporale -> griglia e regole FD
- si applicano al dominio comprese le condizioni iniziali e le condizioni al contorno
- risolvere (molte varianti sull'inversione della matrice)
eseguire controlli di realtà grossolana, adattarsi a soluzioni note, ecc.
costruire alcuni modelli fisici più semplici derivati da risultati analitici
- testarli, analizzare e valutare
- iterare (tornare al passaggio 6, 3 o 2)
Pensieri: di
recente ho lavorato con modelli CART, alberi obliqui, foreste casuali e alberi a gradiente. Seguono regole derivate più matematicamente e la matematica guida la forma dell'albero. Lavorano per rendere bene le forme discretizzate.
Sebbene questi approcci numerici creati dall'uomo funzionino in qualche modo, esiste un ampio "voodoo" necessario per collegare i loro risultati ai fenomeni fisici che dovrebbero modellare. Spesso la simulazione non sostituisce sostanzialmente i test e le verifiche del mondo reale. È facile usare il parametro sbagliato o non tenere conto della variazione della geometria o dei parametri dell'applicazione vissuti nel mondo reale.
Domande:
- C'è stato qualche approccio per consentire alla natura del problema di definire
la discretizzazione appropriata, lo schema di differenziazione spaziale e temporale, le condizioni iniziali o la soluzione? - È possibile utilizzare una soluzione ad alta definizione abbinata alle tecniche di apprendimento automatico per creare uno schema di differenziazione che ha dimensioni di gradino molto più grandi ma conserva convergenza, precisione e simili?
- Tutti questi schemi sono accessibili "umanamente trattabili per derivare" - hanno una manciata di elementi. Esiste uno schema di differenziazione con migliaia di elementi che fa un lavoro migliore? Come viene derivato?
Nota: seguirò empiricamente intializzato e empiricamente derivato (al contrario di analiticamente) in una domanda separata.
AGGIORNARE:
Uso dell'apprendimento profondo per accelerare i flussi di Boltzmann reticolari. Ha dato ~ 9x speedup per il loro caso particolare
Hennigh, O. (in corso di stampa). Lat-Net: simulazioni di flusso di Boltzmann reticolare compresso che utilizzano reti neurali profonde. Estratto da: https://arxiv.org/pdf/1705.09036.pdf
Repo con codice (penso):
https://github.com/loliverhennigh/Phy-NetCirca 2 ordini di grandezza più veloce della GPU, 4 ordini di grandezza o ~ O (10.000x) più veloce della CPU e dello stesso hardware.
Guo, X., Li, W. & Ioiro, F. Reti neurali convoluzionali per l'approssimazione del flusso costante. Estratto da: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation
Altri che hanno esaminato l'argomento circa 20 anni fa:
Muller, S., Milano, M. & Koumoutsakos P. Applicazione di algoritmi di machine learning per la modellazione e l'ottimizzazione del flusso. Briefs di ricerca annuale del Center for Turbulence Research 1999 Estratto da: https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf
Aggiornamento (2017):
questo caratterizza l'uso di metodi senza gradiente nell'apprendimento profondo, un'arena che è stata esclusivamente basata sul gradiente. Mentre l'implicazione diretta dell'attività è nell'apprendimento profondo, suggerisce anche che GA può essere usato come equivalente nel risolvere un problema molto duro, molto profondo, molto complesso a livello coerente o superiore ai metodi basati sulla discesa del gradiente.
Nell'ambito di questa domanda, potrebbe suggerire che un attacco su larga scala basato sull'apprendimento automatico potrebbe consentire "modelli" nel tempo e nello spazio che accelerano sostanzialmente la convergenza dei metodi del dominio gradiente. L'articolo si spinge fino a dire che a volte andando nella direzione della discesa gradiente si allontana dalla soluzione. Mentre in qualsiasi problema con optima locale o traiettorie patologiche (la maggior parte dei problemi del mondo reale hanno alcuni di questi) ci si aspetta che il gradiente non sia informativo a livello globale, è comunque bello averlo quantificato e validato empiricamente com'era in questo documento e la capacità di "saltare il limite" senza richiedere "riduzione dell'apprendimento" mentre si prende slancio o sotto rilassamento.
Aggiornamento (2019):
sembra che Google abbia ora un contributo "come trovare un risolutore migliore" del puzzle AI. link Questa è una parte del fare in modo che l'IA faccia il risolutore.
** Aggiornamento (2020): ** E ora lo stanno facendo e lo stanno facendo bene ...
https://arxiv.org/pdf/1911.08655.pdf
Si potrebbe sostenere che potrebbero quindi decostruire il loro NN per determinare la discretizzazione effettiva. Mi piace particolarmente la figura 4.