คำถามติดแท็ก advection

2
การสั่นที่แปลกเมื่อแก้สมการการพาโดยความแตกต่างอัน จำกัด ด้วยเงื่อนไขขอบเขตของ Neumann ที่ปิดสนิท (การสะท้อนที่ขอบเขต)
ฉันพยายามที่จะแก้สมการการพาความร้อน แต่มีความผันผวนที่แปลกประหลาดปรากฏขึ้นในการแก้ปัญหาเมื่อคลื่นสะท้อนจากขอบเขต หากใครได้เห็นสิ่งประดิษฐ์นี้ก่อนที่ฉันจะสนใจที่จะรู้สาเหตุและวิธีการหลีกเลี่ยง! นี่คือ gif แบบเคลื่อนไหวเปิดในหน้าต่างแยกต่างหากเพื่อดูภาพเคลื่อนไหว (มันจะเล่นเพียงครั้งเดียวหรือไม่พร้อมกันในทันที! ขอให้สังเกตว่าการขยายพันธุ์ดูเหมือนจะมีเสถียรภาพสูงจนกระทั่งคลื่นเริ่มสะท้อนจากขอบเขตแรก คุณคิดว่าจะเกิดอะไรขึ้นที่นี่ ฉันใช้เวลาสองสามวันในการตรวจสอบรหัสของฉันและไม่พบข้อผิดพลาดใด ๆ มันแปลกเพราะมันดูเหมือนจะมีวิธีแก้ปัญหาที่แพร่กระจายสองอย่าง: หนึ่งบวกและลบหนึ่ง หลังจากการสะท้อนจากขอบเขตแรก การแก้ปัญหาดูเหมือนว่าจะเดินทางไปตามจุดตาข่ายที่อยู่ติดกัน รายละเอียดการใช้งานมีดังนี้ สมการการพาความร้อน ∂u∂t=v∂u∂x∂u∂t=v∂u∂x\frac{\partial u}{\partial t} = \boldsymbol{v}\frac{\partial u}{\partial x} โดยที่คือความเร็วในการแพร่กระจายvv\boldsymbol{v} Crank-Nicolson เป็นdiscretization ที่ไม่มีเงื่อนไข (ลิงก์ pdf) ที่ มีเสถียรภาพสำหรับสมการการพาความร้อนที่ให้มีการเปลี่ยนแปลงอย่างช้าๆในอวกาศ (มีส่วนประกอบความถี่ต่ำเท่านั้นเมื่อแปลงฟูริเยร์)u(x)u(x)u(x) discretization ฉันได้ใช้คือ ϕn+1j−ϕnjΔt=v[1−β2Δx(ϕnj+1−ϕnj−1)+β2Δx(ϕn+1j+1−ϕn+1j−1)]ϕjn+1−ϕjnΔt=v[1−β2Δx(ϕj+1n−ϕj−1n)+β2Δx(ϕj+1n+1−ϕj−1n+1)] \frac{\phi_{j}^{n+1} - \phi_{j}^{n}}{\Delta t} = \boldsymbol{v} \left[ \frac{1-\beta}{2\Delta x} \left( \phi_{j+1}^{n} - \phi_{j-1}^{n} \right) …

2
Crank-Nicolson เป็นโครงร่างการแยกย่อยที่เสถียรสำหรับสมการปฏิกิริยา - การแพร่ - การพา (การพาความร้อน) หรือไม่?
ฉันไม่คุ้นเคยกับรูปแบบการแยกย่อยทั่วไปสำหรับ PDE ฉันรู้ว่า Crank-Nicolson เป็นรูปแบบที่ได้รับความนิยมในการลดทอนสมการการกระจาย ยังเป็นตัวเลือกที่ดีสำหรับคำศัพท์การพา? ฉันสนใจการแก้สมการปฏิกิริยา - การแพร่ -การพา ∂u∂t+∇⋅(vu−D∇u)=f∂u∂t+∇⋅(vu−D∇u)=f\frac{\partial u}{\partial t} + \nabla \cdot \left( \boldsymbol{v} u - D\nabla u \right) = f โดยที่คือสัมประสิทธิ์การแพร่ของสสารและคือความเร็วDDDuuuvv\boldsymbol{v} สำหรับการสมัครเฉพาะของฉันสมการสามารถเขียนได้ในรูปแบบ ∂u∂t=D∂2u∂x2Diffusion+v∂u∂xAdvection (convection)+f(x,t)Reaction∂u∂t=D∂2u∂x2⏟Diffusion+v∂u∂x⏟Advection (convection)+f(x,t)⏟Reaction\frac{\partial u}{\partial t} = \underbrace{D\frac{\partial^2 u}{\partial x^2}}_{\textrm{Diffusion}} + \underbrace{\boldsymbol{v}\frac{\partial u}{\partial x}}_{\textrm{Advection (convection)}} + \underbrace{f(x,t)}_{\textrm{Reaction}} นี่คือโครงร่างข้อเหวี่ยง - นิโคลสันที่ฉันสมัคร un+1j−unjΔt=D[1−β(Δx)2(unj−1−2unj+unj+1)+β(Δx)2(un+1j−1−2un+1j+un+1j+1)]+v[1−α2Δx(unj+1−unj−1)+α2Δx(un+1j+1−un+1j−1)]+f(x,t)ujn+1−ujnΔt=D[1−β(Δx)2(uj−1n−2ujn+uj+1n)+β(Δx)2(uj−1n+1−2ujn+1+uj+1n+1)]+v[1−α2Δx(uj+1n−uj−1n)+α2Δx(uj+1n+1−uj−1n+1)]+f(x,t)\frac{u_{j}^{n+1} - u_{j}^{n}}{\Delta t} …

1
การอนุรักษ์ปริมาณทางกายภาพเมื่อใช้เงื่อนไขขอบเขต Neumann นำไปใช้กับสมการการแพร่ - แพร่
ฉันไม่เข้าใจพฤติกรรมที่แตกต่างกันของสมการการแพร่ - การกระจายเมื่อฉันใช้เงื่อนไขขอบเขตที่แตกต่างกัน แรงจูงใจของฉันคือการจำลองปริมาณทางกายภาพที่แท้จริง (ความหนาแน่นของอนุภาค) ภายใต้การแพร่และการพาความร้อน ความหนาแน่นของอนุภาคควรได้รับการอนุรักษ์ในการตกแต่งภายในเว้นแต่จะไหลออกมาจากขอบ โดยตรรกะนี้หากฉันบังคับใช้เงื่อนไขขอบเขตของ Neumann จุดสิ้นสุดของระบบเช่น∂ϕ∂x=0∂ϕ∂x=0\frac{\partial \phi}{\partial x}=0(ทางด้านซ้ายและด้านขวา) จากนั้นระบบควรจะ"ปิด"เช่นถ้าฟลักซ์ที่ขอบเขตเป็นศูนย์จากนั้นไม่มีอนุภาคใด ๆ สำหรับการจำลองด้านล่างทั้งหมดที่ผมได้นำมาใช้ต่อเนื่อง Crank-Nicolson สมพา-การแพร่กระจายและการจำลอง∂ϕ∂x=0∂ϕ∂x=0\frac{\partial \phi}{\partial x}=0เงื่อนไขขอบเขต อย่างไรก็ตามสำหรับแถวแรกและแถวสุดท้ายของเมทริกซ์ (แถวเงื่อนไขขอบเขต) ฉันอนุญาตให้ββ\betaสามารถเปลี่ยนแปลงได้โดยอิสระจากค่าภายใน สิ่งนี้ทำให้จุดสิ้นสุดมีความชัดเจน ด้านล่างนี้ฉันพูดถึงการกำหนดค่าที่แตกต่างกัน 4 แบบหนึ่งในนั้นคือสิ่งที่ฉันคาดไว้ ในตอนท้ายฉันพูดคุยเกี่ยวกับการปฏิบัติ จำกัด การแพร่เท่านั้น ที่นี่ข้อกำหนดการปิดจะถูกปิดโดยการตั้งค่าความเร็วเป็นศูนย์ การแพร่กระจายเท่านั้นที่มี = 0.5 (Crank-Niscolson) ทุกจุดββ\boldsymbol{\beta} ปริมาณไม่ได้รับการอนุรักษ์ตามที่สามารถเห็นได้จากการลดพื้นที่พัลส์ การกระจัดกระจายเท่านั้นโดยมี = 0.5 (Crank-Niscolson) ที่จุดตกแต่งภายในและ = 1 (โดยนัย) ที่ขอบเขตบีตาββ\boldsymbol{\beta}ββ\boldsymbol{\beta} โดยใช้สมการโดยปริยายอย่างเต็มที่ในขอบเขตที่ผมประสบความสำเร็จในสิ่งที่ผมคาดหวัง: ไม่มีอนุภาคหลบหนี คุณสามารถเห็นสิ่งนี้ได้โดยพื้นที่ที่ถูกอนุรักษ์ไว้เมื่ออนุภาคกระจายตัว ทำไมการเลือกที่จุดขอบเขตจึงมีอิทธิพลต่อฟิสิกส์ของสถานการณ์ นี่เป็นข้อบกพร่องหรือคาดหวังββ\beta …

2
แบบแผนความแตกต่างแน่นอน จำกัด สำหรับสมการการพาความร้อน
มีรูปแบบ FD มากมายสำหรับสมการการพาความร้อนอภิปรายในเว็บ ตัวอย่างเช่นที่นี่: http://farside.ph.utexas.edu/teaching/329/lectures/node89.html∂T∂t+u∂T∂x=0∂T∂t+u∂T∂x=0\frac{\partial T}{\partial t}+u\frac{\partial T}{\partial x}=0 แต่ฉันไม่เคยเห็นใครเสนอรูปแบบลม "โดยนัย" เช่นนี้: 0Tn+1i−Tniτ+uTn+1i−Tn+1i−1hx=0Tin+1−Tinτ+uTin+1−Ti−1n+1hx=0\frac{T^{n+1}_i-T^{n}_i}{\tau}+u\frac{T^{n+1}_i-T^{n+1}_{i-1}}{h_x}=0 แผนการล่องทั้งหมดที่ฉันเคยเห็นมีการจัดการกับข้อมูลในขั้นตอนเวลาก่อนหน้าในอนุพันธ์อวกาศ อะไรคือเหตุผลสำหรับสิ่งนั้น? รูปแบบ upwind แบบคลาสสิคมีวิธีเปรียบเทียบกับแบบที่ฉันเขียนด้านบนอย่างไร

4
เงื่อนไขขอบเขตสำหรับสมการการพาความร้อนแยกด้วยวิธีผลต่างอันตะ
ฉันพยายามค้นหาแหล่งข้อมูลเพื่อช่วยอธิบายวิธีการเลือกเงื่อนไขขอบเขตเมื่อใช้วิธีการผลต่าง จำกัด เพื่อแก้ PDE หนังสือและบันทึกที่ฉันมีอยู่ในปัจจุบันสามารถเข้าถึงทุกคนพูดในสิ่งที่คล้ายกัน: กฎทั่วไปที่ควบคุมเสถียรภาพในการปรากฏตัวของเขตแดนนั้นซับซ้อนเกินไปสำหรับข้อความเกริ่นนำ; พวกเขาต้องการเครื่องจักรทางคณิตศาสตร์ที่ซับซ้อน (A. Iserles เป็นสนามแรกในการวิเคราะห์เชิงตัวเลขของสมการเชิงอนุพันธ์) ตัวอย่างเช่นเมื่อพยายามใช้วิธี leapfrog 2 ขั้นตอนสำหรับสมการการพา: un+1i=un−1i+μ(uni+1−uni−1)uin+1=uin−1+μ(ui+1n−ui−1n)u_i^{n+1} = u_i^{n-1} + \mu (u_{i+1}^n - u_{i-1}^n) ใช้ MATLAB M = 100; N = 100; mu = 0.5; c = [mu 0 -mu]; f = @(x)(exp(-100*(x-0.5).^2)); u = zeros (M, N); x = 1/(M+1) * …

1
สมการการพาความร้อนแบบแปรผันกับความเร็วสามารถลดลงได้ไหม?
ฉันพยายามที่จะเข้าใจสมการการพาความร้อนด้วยสัมประสิทธิ์ความเร็วตัวแปรที่ดีขึ้นเล็กน้อย โดยเฉพาะฉันไม่เข้าใจว่าสมการจะอนุรักษ์ได้อย่างไร สมพา , ∂u∂t+∂∂x(vu)=0∂u∂t+∂∂x(vu)=0 \frac{\partial u}{\partial t} + \frac{\partial}{\partial x}(\boldsymbol{v}u) = 0 เรามาตีความว่าเป็นความเข้มข้นของสปีชีส์ทางกายภาพบางชนิด ( c m - 3 ) หรือปริมาณทางกายภาพอื่น ๆ ที่ไม่สามารถสร้างหรือทำลายได้ หากเรารวมu ( x , t ) เข้ากับโดเมนของเราเราก็ควรจะได้รับค่าคงที่u(x,t)u(x,t)u(x,t)cm−3cm−3cm^{-3}u(x,t)u(x,t)u(x,t) ∫xmaxxminu(x,t)dx=constant∫xminxmaxu(x,t)dx=constant \int_{x_{\text{min}}}^{x_{\text{max}}} u(x,t) dx = \text{constant} (นี่คือสิ่งที่ฉันหมายถึงโดยการอนุรักษ์นิยม) ถ้าเราปล่อยให้ความเร็วเป็นฟังก์ชันของอวกาศ (และเวลา), ดังนั้นกฎลูกโซ่จะต้องถูกนำมาใช้เพื่อให้v(x,t)v(x,t)\boldsymbol{v}(x,t) ∂u∂t+v∂u∂x+u∂v∂x?=0∂u∂t+v∂u∂x+u∂v∂x⏟?=0 \frac{\partial u}{\partial t} + \boldsymbol{v}\frac{\partial u}{\partial x} + \underbrace{u\frac{\partial …

5
ฉันจะได้รับขอบเขตของการแกว่งไปมาในการแก้ปัญหาเชิงตัวเลขของสมการ advection 1D ได้อย่างไร
สมมติว่าฉันมีปัญหาการพา 1D ต่อไปนี้เป็นระยะ: ∂u∂t+c∂u∂x=0∂u∂t+c∂u∂x=0\frac{\partial u}{\partial t} + c\frac{\partial u}{\partial x} = 0 ใน Ω=[0,1]Ω=[0,1]\Omega=[0,1] u(0,t)=u(1,t)u(0,t)=u(1,t)u(0,t)=u(1,t) u(x,0)=g(x)u(x,0)=g(x)u(x,0)=g(x) ที่ไหน g(x)g(x)g(x) มีความไม่ต่อเนื่องกระโดดที่ x∗∈(0,1)x∗∈(0,1)x^*\in (0,1). มันเป็นความเข้าใจของฉันว่าสำหรับความแตกต่าง จำกัด เชิงเส้นของลำดับสูงกว่าลำดับแรกการแกว่งลวงตาเกิดขึ้นใกล้กับความไม่ต่อเนื่องเนื่องจากมีการประกาศเมื่อเวลาผ่านไปทำให้เกิดการบิดเบือนของสารละลายจากรูปร่างคลื่นที่คาดหวัง ตามคำอธิบายของวิกิพีเดียดูเหมือนว่าการแกว่งเหล่านี้มักเกิดขึ้นเมื่อฟังก์ชันที่ไม่ต่อเนื่องถูกประมาณด้วยอนุกรมฟูเรียร์ที่แน่นอน ด้วยเหตุผลบางอย่างฉันไม่สามารถเข้าใจได้ว่าอนุกรมฟูริเยร์ที่ จำกัด สามารถสังเกตได้ในการแก้ปัญหาของ PDE นี้ โดยเฉพาะอย่างยิ่งฉันจะประมาณขอบเขตของ "over-shot" analytically ได้อย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.