Các thuật toán số cho phương trình sóng

Một phần của tài liệu Sóng âm và ứng dụng trong địa chấn (Trang 50 - 59)

4 Phương pháp sai phân giải các phương trình sóng

4.2Các thuật toán số cho phương trình sóng

Bây giờ chúng ta phát triển kỹ thuật nghiệm số cơ bản của phương trình sóng bậc hai. Mặc dù chúng ta có biểu thức nghiệm d’Alembert dạng tường minh và phương pháp tách biến cho nghiệm của phương trình sóng ở dạng chuỗi, bài học rút ra trong việc thiết kế các chương trình khả thi ở đây là sẽ mang đến các tình huống phức tạp, bao gồm cả phương tiện truyền thông không đồng nhất và các vấn đề bậc cao, trong đó công thức nghiệm giải tích có thể không còn có sẵn. Vì vậy trong mục này trình bày phương pháp SPHH giải phương trình sóng một chiều.

Xét phương trình sóng cấp hai một chiều không gian ∂2u

∂t2 = c2∂

2u

∂x2, 0 < x < l, t ≥ 0 (4.6) trên một khoảng bị chặn có chiều dài l với tốc độ sóng không đổi c > 0

với điều kiện biên Dirichlet (có thể phụ thuộc thời gian)

u(t,0) = α(t), u(t, l) =β(t);t≥ 0 (4.7) cùng với các điều kiện ban đầu

u(0, x) =f(x), ∂u

∂t(0, x) = g(x); 0≤ x ≤ l. (4.8) Xây dựng một lưới thống nhất có khoảng cách đều nhau

tj = j∆t; xm = m∆x trong đó ∆x = l

n.

Phép rời rạc hóa được thực hiện bằng cách thay thế các đạo hàm cấp hai trong phương trình sóng bằng các phép tính gần đúng sai phân hữu hạn theo công thức (4.5): ∂2u ∂t2(tj, xm) ≈ u(tj+1, xm)−2u(tj, xm) +u(tj−1, xm) (∆t)2 +O (∆t)2, ∂2u ∂x2(tj, xm) ≈ u(tj, xm+1)−2u(tj, xm) +u(tj, xm−1) (∆x)2 +O (∆x)2. (4.9)

Từ điều kiện sai số ở cả bậc hai, chúng ta có thể lựa chọn kích cỡ bước thời gian và không gian để so sánh độ lớn: ∆t ≈ ∆x. Thay công thức sai phân hữu hạn (4.9) vào phương trình vi phân từng phần (4.6), và các điều kiện sắp xếp, chúng ta có hệ thống lặp:

(

ujm+1 = σ2ujm+1+ 2(1−σ2)ujm +σ2ujm−1 −ujm−1;

j = 1,2, . . .;m = 1, . . . , n−1.

(4.10) Với các phép tính gần đúng ujm ≈u(tj, xm) được các giá trị nghiệm tại các nút lưới (tj, xm). Tham số

σ = c∆t

∆x > 0 (4.11)

phụ thuộc vào tốc độ sóng và tỷ lệ kích thước bước không gian và thời gian. Điều kiện biên (4.7) yêu cầu là:

Điều này cho phép chúng ta ghi lại các hệ thống lặp trong (4.10) dưới dạng véc tơ u(j+1) = Bu(j) −u(j−1) +b(j), (4.13) trong đó: B =       2(1−σ2) σ2 σ2 2(1−σ2) σ2 σ2 . . . ... . . . ... σ2 σ2 2(1−σ2)       , u(j) =      uj,1 uj,1 ... uj,n−2 uj,n−1      , b(j) =      σ2αj 0 ... σ2βj      .

Lưu ý rằng (4.13) mô tả chương trình lặp bậc hai, từ tính toán lặp tiếp theo u(j+1) yêu cầu đòi hỏi phải biết các giá trị của hai bước trước đó: u(j) và u(j−1).

Một cách tối ưu là làm như thế nào để có được phương pháp bắt đầu. Chúng ta biết u(0) từ mục nhập vào của nó u0,m = fm = f(xm) được xác định bởi vị trí ban đầu. Tuy nhiên, chúng ta cũng cần u(1) để bắt đầu phép lặp và tính toán u(2), u(3), ... Mục nhập vào của nó u1,m ≈ u(∆t, xm)

xấp xỉ các nghiệm tại thời điểm t1 = ∆t, trong khi vận tốc ban đầu ut(0, x) = g(x) phải đạo hàm ut(0, xm) = gm = g(xm) tại thời điểm t ban đầu t0 = 0. Để giải quyết khó khăn này, đầu tiên ta sử dụng phép tính gần đúng sai phân hữu hạn

gm = ∂u ∂t(0, xm) ≈ u(∆t, xm)−u(0, xm) ∆t ≈ u1,m −fm ∆t (4.14) để tính các giá trị cần thiết u1,m = fm +gm∆t.

Tuy nhiên, phép gần đúng (4.14) chỉ chính xác để yêu cầu ∆t, trong khi phần còn lại của chương trình có sai số tỷ lệ thuận với (∆t)2. Hiệu quả sẽ giới thiệu sai số lớn không thể chấp nhận được ở bước khởi đầu, và kết quả nghiệm sẽ không phù hợp với độ chính xác yếu cầu.

Để xây dựng phép tính gần đúng ban đầu cho u(1) với sai số ở bậc của

(∆t)2, chúng ta cần phân tích các lỗi trong phép tính gần đúng (4.14) cụ thể hơn. Lưu ý rằng, theo định lý Taylor,

u(∆t, xm)−u(0, xm) ∆t = ∂u ∂t(0, xm) + 1 2 ∂2u ∂t2(0, xm)∆t+O((∆t)2) = ∂u ∂t(0, xm) + c2 2 ∂2u ∂x2(0, xm)∆t+O((∆t)2). Từ u(t, x) giải phương trình sóng. Do đó, u1,m = u(∆t, xm) ≈ u(0, xm) + ∂u ∂t(0, xm)∆t+ c2 2 ∂2u ∂x2(0, xm)(∆t)2 = f(xm) +g(xm)∆t+ c 2 2f 00(xm)(∆t)2 ≈ fm +gm∆t+ c 2(fm+1−2fm+ fm−1)(∆t)2 2(∆x)2 ,

Chúng ta có thể sử dụng phép gần đúng sai phân hữu hạn (4.5) cho hàm bậc hai của hàm f(x) nếu công thức ở dạng tường minh, hoặc là không biết đến hoặc quá phức tạp để đánh giá trực tiếp.

Do đó, chúng ta bắt đầu chương trình này bằng cách thiết lập u1,m = 1 2σ 2fm+1 + 1−σ2fm + 1 2σ 2fm−1 +gm∆t, (4.15) hoặc, ở dạng vectơ, u(0) = f, u(1) = 1 2Bu (0) +g∆t+ 1 2b (0) , (4.16)

trong đó f = (f1, f2, ..., fn−1)T, g = (g1, g2, ..., gn−1)T là những giá trị mẫu của dữ liệu ban đầu. Các phục vụ để duy trì tính chính xác bậc hai mong muốn của chương trình này.

Ví dụ 4.4. Xem xét các vấn đề giá trị ban đầu cụ thể utt = uxx

u(0, x) = e−400(x−3)2, ut(0, x) = 0, 0 ≤x ≤ 1, u(t,0) = u(t,1) = 0, t ≥ 0,

tùy thuộc vào điều kiện biên Dirichlet thuần nhất trên đoạn [0,1]. Dữ liệu ban đầu khá tập trung cao nhất tại x = 0,3. Theo thời gian, chúng ta

Hình 4.2: Sóng ổn định bằng số

Hình 4.3: Sóng không ổn định bằng số

mong điểm cao nhất ban đầu chia thành hai phần có kích thước bằng một nửa nó, sau đó giảm dần đến 0, đảo chiều và tăng tiếp tục.

Ở phép gần đúng đại số, chúng ta hãy sử dụng một không gian rời rạc gồm 90 điểm cách đều nhau, và do đó ∆x = 1

90 = 0,0111. . .. Nếu chúng

ta chọn một bước thời gian ∆t= 0,01, trong đó σ = 0,9, nên chúng ta có được giải pháp hợp lý và chính xác trên một phạm vi thời gian khá dài, như vẽ trong hình 4.2 tại thời điểmt = 0,0.1,0.2, . . . ,0.5. Mặt khác, nếu chúng ta tăng gấp đôi bước thời gian, thiết lập ∆t = 0,002, do đó σ = 1,8, sau đó, như vẽ trong hình 4.3 tại thời điểm t = 0; 0,05; 0,1; 0,14; 0,16; 0,18, chúng ta quan sát sự không ổn định lầm lấn át các nghiệm số. Như vậy, chương trình tính chỉ có nghiệm dưới điều kiện ổn định.

Điều kiện CFL yêu cầu các đặc tính phát ra từ một nút (tj, xm) phải, cho thời gian 0 ≤ t ≤ tj, duy trì trong khoảng phạm vi số của sự phụ thuộc, trong đó, chương trình số của chúng ta, là tam giác

˜

T(tj, xm) = {(t, x)|06 t 6 tj;xm −tj + t6 x 6 xm+tj −t}, Quan sát vẽ hình 4.4. Từ đặc điểm là các đường dốc ±c, điều kiện CFL

σ = c∆t

∆x ≤ 1, hoặc tương đương, 1 < c ≤ ∆x

∆t. (4.17)

Hình 4.4: Điều kiện CFL cho phương trình sóng

Kết quả tiêu chí ổn định giải thích sự khác biệt quan sát được giữa trường hợp ổn định và không ổn định bằng số.

Tuy nhiên, như chúng ta đã nói ở trên, điều kiện CFL nói chung là chỉ cần thiết cho tính ổn định của chương trình số; tức đòi hỏi chúng ta thực hiện một giải tích ổn định von Neumann. Để kết, chúng ta tính cho một hàm mũ phức tạp eikx. Sau bước thời gian, chương trình này sẽ có tác dụng của nhân nó với (có thể yếu tố phức tạp) hệ số phóng đại λ = λ(k), sau bước thời gian tiếp bởi λ2, và cứ tiếp tục. Để xác định λ, chúng ta thay các giá trị mũ lấy mẫu liên quan

uj−1,m = eikxm; uj,m = λeikxm; uj+1,m = λ2eikxm,

vào chương trình (4.10),sau khi hủy bỏ mũ thông thường, chúng ta thấy rằng hệ số phóng đại đáp ứng các phương trình bậc hai sau đây:

λ2 = [2−4σ2sin2 1 2k∆x

]λ−1. Khi đó

λ = α±√α2 −1 với α = 1−2σ2sin2 1 2k∆x . (4.18)

Như vậy, có hai hệ số phóng đại khác nhau kết hợp với mỗi hàm mũ phức tạp đó là một hệ quả của các chương trình bậc hai. Các yêu cầu ổn định mà cả hai 6 1 trong mô đun.

Bây giờ, nếu các điều kiện CFL (4.17) được giữ nguyên, sau đó |α| 6 1, hiểu rằng cả hai hệ số phóng đại (4.18) là những mô đun của các con số phức tạp |λ| = 1, và do đó các chương trình số thỏa mãn tiêu chí ổn định |λ| 6 1.

Mặt khác, nếu σ > 1, sau đó cho một loạt các giá trị của k, chúng ta có α < −1. Điều này cho thấy hai hệ số phóng đại (4.18) là số thực và một trong hai số < −1, đó là vi phạm các tiêu chí ổn định.

Như vậy, điều kiện CFL (4.17) không thực sự phân biệt giữa (có điều kiện) chương trình số ổn định và không ổn định cho phương trình sóng.

KẾT LUẬN

Sau thời gian học tập tại Khoa Toán, Trường Đại học Khoa học, Đại học Thái Nguyên. Được các thầy cô trực tiếp giảng dạy và hướng dẫn, đặc biệt là TS Nguyễn Văn Ngọc, tôi đã hoàn thành luận văn với đề tài "Sóng âm và ứng dụng trong địa chấn". Luận văn đã đạt được một số kết quả sau:

1. Luận văn đã trình bày cơ sở vật lý của sóng âm.

2. Trình bày định luật Hooke, định luật hai Newton và thành lập phương trình sóng âm trên cơ sở hai định luật đó.Xét phương trình sóng âm điều hòa, các định luật về sóng khúc xạ và phản xạ, vận tốc pha, vận tốc nhóm, năng lượng sóng...các ứng dụng của sóng âm trong địa chấn học.

3. Trình bày bài toán Cauchy cho phương trình sóng âm, bằng cách tiếp cận lý thuyết hàm suy rộng, biến đổi tích phân Fourier trình bày nghiệm suy rộng và nghiệm cổ điển tường minh của bài toán Cauchy đối với phương trình sóng với các số chiều n= 1,2 và 3.

4. Trình bày phương pháp sai phân hữu hạn giải gần đúng bài toán biên giá trị ban đầu của phương trình sóng một chiều trên khoảng hữu hạn.

Bản luận văn chắc không tránh khỏi khiếm khuyết, nên tôi rất mong nhận được nhiều ý kiến đóng góp của quý thầy cô và các bạn đọc.

Tài liệu tham khảo

[1] Dugald B. Ducan (1995),Diference approximations of acoustic and elastic wave equations , Heriot- Watt University, Edinburgh UK, EH14 4AS.

[2] Internet: vi. wikipedia.org; bachkhoatrithuc.vn.

[3] Gerhard Muller (2007),Theory of Elastic Waves, Germany.

[4] Gerard T. Schuster (2003), Basic Seismic Wave Theory, University of Utah.

[5] Peter Olver (2013), Introduction to Partial Differential Equations,

Springer Sciences and Business Media.

[6] V. S. Vladimirov (1971), Equations of Mathematical Physics, Marcel Dekker, INC, New York.

Luận văn với đề tài " Sóng âm và ứng dụng trong địa chấn" của học viên Phạm Thị Thu Hương đã chỉnh sửa theo ý kiến đóng góp của Hội đồng chấm luận văn họp tại Đại học Khoa học - Đại học Thái Nguyên ngày 11 tháng 10 năm 2014.

Người hướng dẫn khoa học

Một phần của tài liệu Sóng âm và ứng dụng trong địa chấn (Trang 50 - 59)