Bài toán 7. Xét bài toán biên
∆2u = 4ex1+x2 + sin(ex1+x2 −u) + cos(2ex1+x2 −∆u)−1, x ∈ Ω, u = ex1+x2,∆u = 2ex1+x2, (x1, x2) ∈ ∂Ω, trong đó Ω = (0,1)×(0,1), x = (x1, x2).
Đối với bài toán này, chúng ta thấy rằng hàm vế phải f(x, u,∆u) cũng thỏa mãn các điều kiện của Định lý 2.1 nên bài toán biên đối với điều kiện biên thuần nhất sẽ tồn tại và duy nhất nghiệm, từ đó bài toán trên sẽ tồn tại duy nhất nghiệm. Có thể thấy rằng nghiệm chính xác của bài toán là ud = ex1+x2. Kết quả chạy thực nghiệm Thuật toán 2.3 được thể hiện ở Bảng 3.7.
Bài toán 8. Xét bài toán biên
∆2u = 120(x1 +x2) + 4 sinx1sinx2 + cos(u−γ)−cos(∆u−ψ), x ∈ Ω,
u = γ,∆u = ψ, x ∈ ∂Ω,
trong đó Ω = (0,1) × (0,1), x = (x1, x2), γ = x51 + x52 + sinx1sinx2,
ψ = 20(x31 +x32)−2 sinx1sinx2.
Đối với bài toán này, chúng ta thấy rằng hàm vế phải f(x, u,∆u) cũng thỏa mãn các điều kiện của Định lý 2.1 nên bài toán biên đối với
Bảng 3.7: Tốc độ hội tụ theo bước lưới, T OL =kUh k −Uh
dk là sai số tốt nhất của sơ đồ lặp. M×N T OL K Rate 8×8 1.6293×e−7 6 - 16×16 1.6305×e−8 6 3.9875 32×32 1.0209×e−9 6 3.9974 64×64 6.3864×e−11 6 3.9987 128×128 4.0829×e−12 6 3.7695 256×256 2.0218×e−12 6 0.8370
điều kiện biên thuần nhất sẽ tồn tại và duy nhất nghiệm, từ đó bài toán trên sẽ tồn tại duy nhất nghiệm. Có thể thấy rằng nghiệm chính xác của bài toán là ud = γ = x51 + x52 + sinx1sinx2. Kết quả chạy thực nghiệm Thuật toán 2.3 được thể hiện ở Bảng 3.8.
Bảng 3.8: Tốc độ hội tụ theo bước lưới, T OL =kUh k −Uh
dk là sai số tốt nhất của sơ đồ lặp. M×N T OL K Rate 8×8 2.7135×e−8 5 - 16×16 1.6971×e−9 5 3.9990 32×32 1.0609×e−10 5 3.9997 64×64 6.3631×e−12 5 3.9994 128×128 4.0967×e−12 5 4.0171 256×256 2.4247×e−13 5 1.0000
Bài toán 9. Xét bài toán biên
∆2u = u+ (∆u)2sinπx1sinπx2 + 1
4, x ∈ Ω, u = log(x51 +x52), ∆u = 2 sinx1sinx2, x ∈ ∂Ω,
trong đó Ω = (0,1)×(0,1), x = (x1, x2).
Đối với bài toán này, chúng ta thấy rằng hàm vế phải f(x, u,∆u) cũng thỏa mãn các điều kiện của Định lý 2.1 nên bài toán biên đối với
điều kiện biên thuần nhất sẽ tồn tại và duy nhất nghiệm, từ đó bài toán trên sẽ tồn tại duy nhất nghiệm. Chọn miền Ω = (0,1)×(0,1), sử dụng Thuật toán 2.3, kết quả về tốc độ hội tụ của phương pháp lặp được đưa ra trong Bảng 3.9.
Bảng 3.9: Tốc độ hội tụ theo bước lưới, ERR=kUkh−Ukh−1klà sai số tốt nhất của sơ đồ lặp. M×N T OL K Rate 8×8 1.2285×e−13 8 - 16×16 1.2329×e−13 8 - 32×32 1.2407×e−13 8 3.9580 64×64 1.2401×e−13 8 3.9992 128×128 1.2407×e−13 8 3.9998 256×256 1.2412×e−13 8 3.9997
Nhận xét 3.2. Từ các kết quả thực nghiệm số trong 3 bài toán, chúng ta thấy Thuật toán 2.3 ứng với các bài toán biên song điều hòa tổng quát có tốc độ hội tụ rất nhanh, độ chính xác đạt cấp bốn.
Tốc độ hội tụ theo bước lưới cũng đạt cấp bốn.
Kết luận
Nội dung chính của luận văn đã trình bày các kết quả khi tìm hiểu và nghiên cứu về mô hình bài toán song điều hòa, sự tồn tại duy nhất nghiệm và phương pháp lưới giải bài toán. Các kết quả thu được bao gồm:
Tìm hiểu phương pháp sai phân với độ chính xác bậc bốn để xây dựng hệ phương trình lưới tìm nghiệm số của bài toán biên elliptic cấp hai, sử dụng thuật toán thu gọn khối lượng tính toán xây dựng thư viện RC2009 làm cơ sở để cài đặt tất cả các thuật toán trong luận văn.
Tìm hiểu cơ sở lý thuyết và các phương pháp đánh giá tốc độ hội tụ theo bước lưới của các lược đồ sai phân tổng quát.
Tìm hiểu mô hình tổng quát về bài toán song điều hòa phi tuyến với hệ điều kiện biên thuần nhất, sự tồn tại duy nhất nghiệm, sự tồn tại nghiệm dương, nghiệm trên và nghiệm dưới. Các sơ đồ lặp dạng liên tục và rời rạc tìm nghiệm xấp xỉ của bài toán. Sự hội tụ của phương pháp.
Tìm hiểu mô hình tổng quát về bài toán song điều hòa phi tuyến với hệ điều kiện biên tổng quát, sự tồn tại duy nhất nghiệm. Xây dựng các sơ đồ lặp dạng liên tục và rời rạc tìm nghiệm xấp xỉ của bài toán. Sự hội tụ của phương pháp.
Tiến hành tính toán thử nghiệm các thuật toán thông qua các ví dụ cụ thể, đồng thời đánh giá về tốc độ hội tụ theo bước lưới của các thuật toán. Các kết quả tính toán thử nghiệm qua các ví dụ đã khẳng định các thuật toán đề xuất là hội tụ với tốc độ hội tụ nhanh. Độ chính xác đạt cấp bốn với bước lưới.
Hướng phát triển tiếp theo của luận văn là mở rộng nghiên cứu các ứng dụng của bài toán song điều hòa trong các mô hình cơ học và môi trường liên tục khác.
Tài liệu tham khảo
Tiếng Việt
[1] Phạm Kỳ Anh, Giải tích số, Nhà xuất bản Đại học Quốc gia Hà Nội, 2004.
[2] Tạ Văn Đĩnh,Phương pháp sai phân và phương pháp phần tử hữu hạn, Nhà xuất bản Khoa học kỹ thuật, 2000.
[3] Vũ Vinh Quang, Trương Hà Hải, Phương pháp lặp giải bài toán song điều hòa tổng quát và ứng dụng, Tạp chí Khoa học và Công nghệ Đại
học Thái nguyên, 2020.
[4] Vũ Vinh Quang, Trương Hà Hải, Nguyễn Thị Tuyển , Xây dựng bộ chương trình RC2009 giải số bài toán biên elliptic với hệ số hằng, Tạp
chí Khoa học và Công nghệ Đại học Thái Nguyên, T.69(07):56-63,
2010.
Tiếng Anh
[5] Darae Jeong, Yibao Li, Chaeyoung Lee, Junxiang Yang, Yongho Choi and Junseok Kim, Verifying Numerical Convergence Rates, DN2255 – Numerical Solutions of Differential Equations Olof Runborg Spring 2012, 1-9.
[6] Q. A. Dang, T. H. Nguyen, “Existence result and iterative method for solving a nonlinear biharmonic equation of Kirchhoff type”,Computers
& Mathematics with Applications, 76, pp.11-22, 2018.
[7] Q. A. Dang, Hai. T. H, Huong N. T, Quy N. K, “Solving a nonlin- ear biharmonic boundary value problem”, Journal of Computer Sci-
ence and Cybernetics, V.33, N.4 (2017), 308-324. DOI 10.15625/1813-
9663/33/4/11066.
[8] Samarskij A. and Nikolaev E.,Numerical Methods for Grid Equations:
Volume II Iterative Methods, Birkh¨auser, 2012.
PHỤ LỤC
MỘT SỐ CHƯƠNG TRÌNH NGUỒN 1. Thuật toán 2.1
% Chuong trinh giai bai toan song dieu hoa phi tuyen % dang -delta2(u)=f(x,u,delta(u));
% Truong hop biet truoc nghiem dung function pt=qhr_cx(k,saiso) %format long e; clc; rate=ones(1,4); for n=3:7 N=2^n; M=N; a=1;b=1; p1=1;p2=M+1;q1=1;q2=N+1; x10=0;x20=0;l1=a;l2=b; h1=l1/M;h2=l2/N;X1=linspace(x10,x10+a,N+1); X2=linspace(x20,x20+b,N+1); csiluu=zeros(M+1);
% Gia tri nghiem dung va ve phai for i=1:M+1
for j=1:N+1 x1=x10+(i-1)*h1; x2=x20+(j-1)*h2;
ud(i,j)=u(x1,x2);% Nghiem dung csi(i,j)=f(x1,x2,0,0);
end; end;
thoigian=cputime; count=0;ss=10;l=1;
while and(ss>saiso,count<k) count=count+1;
% giai bai toan v=delta(u)
b1=delta(x10,X2);b2=delta(x10+l1,X2); b3=delta(X1,x20);b4=delta(X1,x20+l2); phiv=csi;
v2=u0000(phiv,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); % giai bai toan u
b1=u(x10,X2);b2=u(x10+l1,X2); b3=u(X1,x20);b4=u(X1,x20+l2); phiu=-v2; u2=u0000(phiu,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); ss1=chuan(ud-u2); ss=chuan(csi-csiluu); csiluu=csi;
% hieu chinh csi for i=1:M+1 for j=1:N+1 x1=x10+(i-1)*h1; x2=x20+(j-1)*h2; csi(i,j)=f(x1,x2,u2(i,j),v2(i,j)); end; end; ss end; y(n-2,l)=N; y(n-2,l+1)=count; 45
y(n-2,l+2)=ss1; ss1 if (n==3) Z1=u2-ud; else Z2=u2-ud; rate(n-3)=log2(chuan(Z1)/chuan(Z2)); Z1=Z2; end;
if n>3 y(n-2,l+3)=rate(n-3); else y(l+3)=0;end; end;
save ketqua.dat y -ascii;
Ket_qua=’ Buoc luoi So buoc lap Sai so Toc do’
type ketqua.dat; thoigian=cputime-thoigian function ux=ux(x1,x2) ux=sin(pi*x1); function dh2ux=dh2ux(x1,x2) dh2ux=-pi^2*sin(pi*x1); function dh4ux=dh4ux(x1,x2) dh4ux=pi^4*sin(pi*x1); function uy=uy(x1,x2) uy=sin(pi*x2); function dh2uy=dh2uy(x1,x2) dh2uy=-pi^2*sin(pi*x2); function dh4uy=dh4uy(x1,x2) dh4uy=pi^4*sin(pi*x2); function u=u(x1,x2) u=ux(x1,x2).*uy(x1,x2); 46
function delta=delta(x1,x2) delta=dh2ux(x1,x2).*uy(x1,x2)+ux(x1,x2).*dh2uy(x1,x2); function delta2=delta2(x1,x2) delta2=dh4ux(x1,x2).*uy(x1,x2)+2*dh2ux(x1,x2).*dh2uy(x1,x2)+ux(x1,x2 ).*dh4uy(x1,x2); function f=f(x1,x2,y,z) xicma=cos(pi*x1).*cos(pi*x2); f=xicma*z./(1+y)- 4*pi^4*u(x1,x2)+2*k*pi^2*xicma*u(x1,x2)./(1+u(x1,x2)); 2. Thuật toán 2.2
% Chuong trinh giai bai toan song dieu hoa phi tuyen % dang -delta2(u)=f(x,u,delta(u));
% dieu kien bien tong quat
% truong hop khong biet nghiem dung function pt=Q_H_r_xx_tq(k,saiso) clc; rate=ones(1,4); for n=3:8 N=2^n; M=N; a=1;b=1; p1=1;p2=M+1;q1=1;q2=N+1; x10=0;x20=0;l1=a;l2=b; h1=l1/M;h2=l2/N;X1=linspace(x10,x10+a,N+1);X2=linspace(x20,x20+b,N+1 ); uluu=zeros(N+1);Z0=zeros(1,N+1); % Gia tri nghiem dung va ve phai for i=1:M+1
for j=1:N+1
x1=x10+(i-1)*h1; x2=x20+(j-1)*h2;
ud(i,j)=u(x1,x2);% Nghiem dung csi(i,j)=f(x1,x2,0,0);
end; end;
thoigian=cputime;
% buoc 1: giai bai toan voi u1 % giai bai toan v1=delta(u1) b1=g1(x10,X2);b2=g1(x10+l1,X2); b3=g1(X1,x20);b4=g1(X1,x20+l2); phiv=zeros(N+1);
v1=u0000(phiv,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); % giai bai toan u1
b1=g0(x10,X2);b2=g0(x10+l1,X2); b3=g0(X1,x20);b4=g0(X1,x20+l2); phiu=-v1;
u1=u0000(phiu,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); % Buoc 2: giai bai toan voi u2
% Gia tri nghiem dung va ve phai for i=1:M+1
for j=1:N+1 x1=x10+(i-1)*h1; x2=x20+(j-1)*h2;
ud(i,j)=u(x1,x2);% Nghiem dung csi(i,j)=f(x1,x2,u1(i,j),v1(i,j)); end;
end;
count=0;ss=10;ss1=10;
while and(ss>saiso,count<k) count=count+1;
% buoc 2: giai bai toan voi u2 % giai bai toan v2=delta(u2) b1=Z0;b2=Z0;b3=Z0;b4=Z0; phiv=csi;
v2=u0000(phiv,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); % giai bai toan u2
b1=Z0;b2=Z0;b3=Z0;b4=Z0; phiu=-v2; u2=u0000(phiu,b1,b2,b3,b4,l1,l2,M,N,n,p1,p2,q1,q2); utq=u1+u2; ss=chuan(uluu-utq); uluu=utq;
% hieu chinh csi for i=1:M+1 for j=1:N+1 x1=x10+(i-1)*h1; x2=x20+(j-1)*h2; csi(i,j)=f(x1,x2,u1(i,j)+u2(i,j),v1(i,j)+v2(i,j)); end; end; end; luoi=N So_buoc_lap=count sai_so=ss if (n==3) Z1=u2; elseif (n==4) 49
Z2=u2; end; if (n>4) Z3=u2; rate(n-4)=log2(chuan_moi(Z1,Z2)/chuan_moi(Z2,Z3)) Z1=Z2; Z2=Z3; end; end; thoigian=cputime-thoigian function g0=g0(x1,x2) g0=log(x1.^5+x2.^5+1); function g1=g1(x1,x2) g1=2*sin(x1).*sin(x2); function f=f(x1,x2,y,z) %f=sin(x1)-cos(x2)+y.^2+z.^3+cos(t); f=y+z.^2.*sin(pi*x1).*sin(pi*x2)+1/4;%ham so 3 50