Perbedaan terbatas yang baik untuk persamaan kontinuitas

22

Apa yang akan menjadi diskritisasi perbedaan hingga yang baik untuk persamaan berikut:

ρt+(ρu)=0 ?

Kita dapat mengambil kasus 1D:

ρt+ddx(ρu)=0

Untuk beberapa alasan semua skema yang dapat saya temukan adalah untuk formulasi dalam koordinat Lagrangian. Saya datang dengan skema ini untuk saat ini (abaikan indeks j ):

ρsaya,jn+1-ρsaya,jnτ+1hx(ρsaya+1,jn+1+ρsaya,jn+12kamuxsaya+1/2,jn-ρsaya,jn+1+ρsaya-1,jn+12kamuxsaya-1/2n)=0

Tetapi tampaknya benar-benar tidak stabil atau memiliki kondisi stabilitas yang mengerikan. Apakah begitu?

Kecepatan sebenarnya dihitung melalui hukum darcy . Ditambah lagi kita memiliki persamaan keadaan. Sistem lengkap juga terdiri dari persamaan energi dan persamaan keadaan untuk gas ideal. Kecepatannya bisa berubah negatif .kamu=-kμhal

tiam
sumber
Dalam kasus 1D, masalahnya adalah pde hiperbolik orde 1. Sudahkah Anda mencoba menggunakan skema beda hingga melawan angin urutan pertama?
Paul
Sejauh ini saya menjalankan apa yang saya tulis dalam pertanyaan. Kasus saya sebenarnya 2d. Tetapi karena ini adalah persamaan klasik, saya pikir akan ada diskritisasi klasik juga tersedia.
tiam
Bisakah Anda menunjukkan bagaimana skema melawan angin akan mencari ini. Saya akrab dengan konsep dari metode volume hingga ketika Anda menggunakannya dalam istilah konvektif, tetapi di sana Anda tidak memiliki turunan spasial suatu produk lagi.
tiam
Apakah bidang kecepatan diberikan, atau apakah ia memenuhi persamaan evolusi juga?
David Ketcheson
Kecepatan sebenarnya dihitung melalui hukum darcy . Sistem lengkap juga terdiri dari persamaan energi dan persamaan keadaan untuk gas ideal. Kecepatannya bisa berubah negatif. kamu=-kμhal
tiam

Jawaban:

21

Anda melihat persamaan konservasi massa:

dmdt=0

Ketika mempertimbangkan evolusi massa per satuan volume, ini bermuara pada persamaan adveksi kerapatan dalam bentuk fluks:

ρt=-(ρkamu)

Hal yang baik tentang ini adalah bahwa itu hanya persamaan adveksi bidang skalar yang sewenang-wenang (dalam kasus kami, ini adalah kepadatan ) dan itu (relatif) mudah dipecahkan, menyediakan skema waktu dan ruang yang berbeda, serta inisial dan kondisi batas.ρ

Saat merancang skema pembeda hingga, kami khawatir tentang konvergensi, stabilitas, dan akurasi. Suatu skema sedang konvergen jika ketika . Stabilitas skema memastikan bahwa kuantitas tetap terbatas ketika . Akurasi formal skema memberitahu di mana kesalahan pemotongan dalam seri ekspansi Taylor dari turunan parsial terletak. Lihatlah ke buku teks CFD untuk detail lebih lanjut tentang sifat-sifat mendasar dari skema differencing ini. Δt0AtΔSEBUAHΔtSEBUAHtΔt0SEBUAHt

Sekarang, pendekatan yang paling sederhana adalah langsung menuju ke pembedaan hulu urutan pertama. Skema ini pasti-positif, konservatif dan efisien secara komputasi. Dua sifat pertama sangat penting ketika kita memodelkan evolusi kuantitas yang selalu positif (yaitu massa atau kepadatan).

Untuk mempermudah, mari kita lihat kasus 1-D:

ρt=-(ρkamu)x

Lebih mudah sekarang untuk mendefinisikan fluks , sehingga:Φ=ρkamu

(ρkamu)x=ΦxΔΦΔxΦsaya+1/2-Φsaya-1/2Δx

Berikut skema yang kami simulasi:

            u           u
|          -->         -->          |
|    rho    |    rho    |    rho    |
x-----o-----x-----o-----x-----o-----x
     i-1  i-1/2   i   i+1/2  i+1

Kami sedang mengevaluasi evolusi di sel . Keuntungan atau kerugian bersih berasal dari selisih dari apa yang masuk, dan apa yang keluar, . Di sinilah kita mulai menyimpang dari jawaban Paul. Dalam pembedaan hulu konservatif sejati, kuantitas di pusat sel dibawa oleh kecepatan di tepi selnya, ke arah gerakannya. Dengan kata lain, jika Anda membayangkan Anda adalah jumlah yang maju dan Anda duduk di pusat sel, Anda dibawa ke dalam sel di depan Anda dengan kecepatan di tepi sel. Mengevaluasi fluks di tepi sel sebagai produk kepadatan dan kecepatan, keduanya di tepi sel, tidak benar dan tidak menghemat jumlah yang dikembangkan.i Φ i - 1 / 2 Φ i + 1 / 2ρsayaΦsaya-1/2Φsaya+1/2

Fluks masuk dan keluar dievaluasi sebagai:

Φsaya+1/2=kamusaya+1/2+|kamusaya+1/2|2ρsaya+kamusaya+1/2-|kamusaya+1/2|2ρsaya+1

Φsaya-1/2=kamusaya-1/2+|kamusaya-1/2|2ρsaya-1+kamusaya-1/2-|kamusaya-1/2|2ρsaya

Perlakuan perbedaan fluks di atas memastikan kepastian hulu. Dengan kata lain, itu menyesuaikan arah yang berbeda sesuai dengan tanda kecepatan.

Kriteria stabilitas Courant-Friedrichs-Lewy (CFL), ketika melakukan pembeda waktu dengan urutan pertama yang sederhana, forward Euler differencing diberikan sebagai:

μ=kamuΔtΔx1

Perhatikan bahwa dalam 2 dimensi, kriteria stabilitas CFL lebih ketat:

μ=cΔtΔx12

dengan adalah besarnya kecepatan, .ckamu2+v2

Beberapa hal yang perlu dipertimbangkan. Skema ini mungkin cocok atau tidak cocok untuk aplikasi Anda tergantung pada jenis proses yang Anda simulasi. Skema ini sangat difusif, dan sesuai untuk aliran sangat lancar tanpa gradien tajam. Ini juga lebih difusif untuk langkah waktu yang lebih pendek. Dalam kasus 1-D, Anda akan mendapatkan solusi yang hampir tepat jika gradiennya sangat kecil, dan jika . Dalam kasus 2-D, ini tidak mungkin, dan difusi bersifat anisotropik.μ=1

Jika sistem fisik Anda mempertimbangkan gelombang kejut atau gradien tinggi dari jenis lain, Anda harus melihat perbedaan hulu dari orde yang lebih tinggi (misalnya orde 3 atau 5). Juga, mungkin bermanfaat melihat ke dalam keluarga skema Transportasi Terkoreksi Fluks (Zalesak, 1979, JCP); koreksi anti-difusi untuk skema di atas oleh Smolarkiewicz (1984, JCP); Rangkaian skema MPDATA oleh Smolarkiewicz (1998, JCP).

Untuk perbedaan waktu, penerusan urutan pertama Euler differencing mungkin memuaskan untuk kebutuhan Anda. Jika tidak, lihatlah metode tingkat tinggi seperti Runge-Kutta (iteratif), atau Adams-Bashforth dan Adams-Moulton (multi-level).

Akan bermanfaat melihat ke dalam beberapa buku teks tingkat pascasarjana CFD untuk ringkasan skema yang disebutkan di atas dan banyak lagi.

militer
sumber
Terima kasih atas jawabannya. Sekarang saya jelas melihat upwinding :). Saya akan mencoba menerapkannya sekarang! Saya bertanya-tanya, dapatkah fakta bahwa berubah di setiap waktu memengaruhi stabilitas? kamu
tiam
1
Tidak, selama Anda memenuhi batasan CFL. Anda dapat melakukan adaptasi -time adaptif, yaitu , atau mengatur konstan sesuai dengan kecepatan maksimum yang diharapkan dalam masalah Anda. Ingatlah bahwa berbagai kombinasi metode perbedaan waktu dan ruang akan memberi Anda batasan CFL yang berbeda. ΔtΔt=ΔxmSebuahx(kamu)Δt
milancurik
ini agak aneh, saya menerapkan skema dan saya berhasil mengirim pulsa dari satu batas ke yang lain dan kembali lagi (dengan membalikkan kecepatan). Tetapi segera setelah saya mengatakan bahwa itu mulai menuntut timestep yang sangat kecil, meskipun kecepatannya di bawah 1. Pengaturan timestep dinamis seperti yang Anda tentukan di atas tidak membantu juga. kamu=-Cρ
tiam
kamuρ
kamuρkamu=-Cρρt=C[(ρ)2+ρ2ρ]
13

(ddx)

ρsayak+1-ρsayakΔt+ρsayakUsayak-ρsaya-1kUsaya-1kΔx=0

ΔxΔt

Paul
sumber
ρk+1Δt
Saya tidak sepenuhnya yakin ... Saya pikir Anda harus memeriksa kesalahan pemotongan untuk memastikan bahwa itu mendekati PDE dengan benar. Anda mungkin ingin mempertimbangkan skema tersirat lainnya di situs web ini: web.mit.edu/dongs/www/publications/projects/…
Paul