Stai osservando l'equazione di conservazione di massa:
dmdt=0
Quando si considera l'evoluzione della massa per unità di volume, ciò si riduce all'equazione di avanzamento della densità in forma di flusso:
∂ρ∂t=−∇⋅(ρu)
La cosa buona di questo è che è solo l'equazione di avanzamento di un campo scalare arbitrario (nel nostro caso, questo è densità ) ed è (relativamente) facile da risolvere, a condizione che gli schemi di differenziazione del tempo e dello spazio adeguati e iniziale e condizioni al contorno.ρ
Quando progettiamo uno schema di differenziazione finito, ci preoccupiamo di convergenza, stabilità e accuratezza. Uno schema converge se quando . La stabilità degli schemi garantisce che la quantità rimanga limitata quando . L'accuratezza formale dello schema indica dove si trova l'errore di troncamento nelle serie di espansione di Taylor della derivata parziale. Guarda un libro di testo CFD per maggiori dettagli su queste proprietà fondamentali di uno schema di differenziazione. Δt→0At→∞ΔAΔt→∂A∂tΔt→0At→∞
Ora, l'approccio più semplice è quello di passare direttamente alla differenziazione a monte del 1 ° ordine. Questo schema è definito positivo, conservativo ed efficiente dal punto di vista computazionale. Le prime due proprietà sono particolarmente importanti quando modelliamo l'evoluzione di una quantità che è sempre positiva (cioè massa o densità).
Per semplicità, diamo un'occhiata al caso 1-D:
∂ρ∂t=−∂(ρu)∂x
È conveniente ora definire il flusso , in modo che:Φ=ρu
∂(ρu)∂x=∂Φ∂x≈ΔΦΔx≈Φi+1/2−Φi−1/2Δx
Ecco uno schema di ciò che stiamo simulando:
u u
| --> --> |
| rho | rho | rho |
x-----o-----x-----o-----x-----o-----x
i-1 i-1/2 i i+1/2 i+1
Stiamo valutando l'evoluzione di nella cella . L'utile o la perdita netta deriva dalla differenza tra ciò che entra, e ciò che esce, . È qui che iniziamo a divergere dalla risposta di Paolo. Nel vero differenziale conservativo a monte, la quantità al centro della cellula viene trasportata dalla velocità sul suo bordo della cellula, nella direzione del suo movimento. In altre parole, se immagini di essere la quantità consigliata e ti siedi al centro della cellula, vieni trasportato nella cellula di fronte a te dalla velocità sul bordo della cellula. La valutazione del flusso sul bordo della cella come prodotto di densità e velocità, entrambi sul bordo della cella, non è corretta e non conserva la quantità consigliata.i Φ I - 1 / 2 Φ i + 1 / 2ρiΦi−1/2Φi+1/2
I flussi in entrata e in uscita sono valutati come:
Φi+1/2=ui+1/2+|ui+1/2|2ρi+ui+1/2−|ui+1/2|2ρi+1
Φi−1/2=ui−1/2+|ui−1/2|2ρi−1+ui−1/2−|ui−1/2|2ρi
Il suddetto trattamento del differenziamento del flusso garantisce la certezza a monte. In altre parole, regola la direzione di differenziazione in base al segno di velocità.
Il criterio di stabilità Courant-Friedrichs-Lewy (CFL), quando si fa la differenza di tempo con il semplice primo ordine, la differenza di Eulero in avanti viene data come:
μ=uΔtΔx≤1
Si noti che in 2 dimensioni, il criterio di stabilità CFL è più rigoroso:
μ=cΔtΔx≤12–√
dove è magnitudine della velocità, .cu2+v2−−−−−−√
Alcune cose da considerare Questo schema può essere o non essere appropriato per la tua applicazione a seconda del tipo di processo che stai simulando. Questo schema è altamente diffusivo ed è appropriato per flussi molto fluidi senza forti pendenze. È anche più diffusivo per passaggi di tempo più brevi. Nel caso 1-D, otterrai una soluzione quasi esatta se i gradienti sono molto piccoli e se . Nel caso 2-D, ciò non è possibile e la diffusione è anisotropica.μ=1
Se il tuo sistema fisico considera onde d'urto o gradienti elevati di altro tipo, dovresti esaminare la differenza a monte di ordine superiore (ad es. 3 ° o 5 ° ordine). Inoltre, potrebbe valere la pena esaminare la famiglia di schemi di Flux Corrected Transport (Zalesak, 1979, JCP); correzione anti-diffusione per il suddetto schema di Smolarkiewicz (1984, JCP); Famiglia di schemi MPDATA di Smolarkiewicz (1998, JCP).
Per la differenza di tempo, la differenza di Eulero in avanti del 1 ° ordine può essere soddisfacente per le tue esigenze. Altrimenti, esamina i metodi di ordine superiore come Runge-Kutta (iterativo) o Adams-Bashforth e Adams-Moulton (multi-livello).
Vale la pena esaminare alcuni libri di testo a livello di laurea CFD per un riepilogo degli schemi sopra menzionati e molti altri.