Tải bản đầy đủ (.pdf) (16 trang)

Phương pháp tình trong kỹ thuật điện

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (702.5 KB, 16 trang )

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
---------------o0o---------------

TIỂU LUẬN

PHƯƠNG PHÁP TÍNH
TRONG KỸ THUẬT ĐIỆN

GVHD: PGS TS. Vũ Phan Tú
Học viên: Phan Đình Khải
MSHV: 1670347

TP. HỒ CHÍ MINH, THÁNG 01 NĂM 2017


1. FDM – Tính phân bố trường nhiệt trên đường dây
1.1.

Phương pháp Crank-Nicholson:

Giải quyết bài toán phân bố trường nhiệt trên dây dẫn trong không gian một chiều dùng
phương pháp Crank-Nicholson.
Giải phương trình Parabolic:

Xấp xỉ sai phân:

(

(



)

)

Điều kiện biên có thể tính theo công thức:

Ma trận vuông

Với



và vector r đã biết trước, ta có thể tính ra các biên.

được tính:

Tương đương với:
2


Tương tự ta tính được

1.2.

%

Thực hiện bằng chương trình Matlab:

Matlab Program 7: Heat


Diffusion in one dimensional
wire within the
%

Crank-Nicholson Method

clear;
% Khai báo thông số không gian và thời gian
L = 1.;

%

Chiều dài đường dây

T =1.;

%

Tổng thời gian tính toán

maxk = 2500;

%

Số khoảng chia thời gian

dt = T/maxk;

%


Bước sai phân thời gian

n = 50.;

%

Số khoảng chia không gian

dx = L/n;

%

Bước sai phân không gian

cond = 1/2;

%

Độ dẫn nhiệt

b = cond*dt/(dx*dx);

%

Parameter of the method

%

Khai báo cái điều kiện ban đầu


3


%

Khởi tạo nhiệt độ ban đầu của đường dây

for i = 1:n+1
x(i) =(i-1)*dx;

%Nhiệt độ ban đầu là biến
u(i,1) có dạng sin

u(i,1) =sin(pi*x(i));
end
%

Nhiệt độ tại biên (T=0)

for k=1:maxk+1

%Tại T=0, nhiệt độ tại biên
bằng 0

u(1,k) = 0.;
u(n+1,k) = 0.;
time(k) = (k-1)*dt;
end
% Khai báo ma trận M_right and


Ma trận

M_left
aal(1:n-2)=-b;
bbl(1:n-1)=2.+2.*b;
ccl(1:n-2)=-b;
MMl=diag(bbl,0)+diag(aal,1)+diag(ccl,1);

Ma trân

tương tự.

aar(1:n-2)=b;
bbr(1:n-1)=2.-2.*b;
ccr(1:n-2)=b;
MMr=diag(bbr,0)+diag(aar,1)+diag(ccr,1);

4


%

Giải phương trình ma trận

for k=2:maxk

%

Time Loop


uu=u(2:n,k-1);
u(2:n,k)=inv(MMl)*MMr*uu;
end
figure(1)

% Vẽ đồ thị

plot(x,u(:,1),'-',x,u(:,100),'',x,u(:,300),'-',x,u(:,600),'')
title('Temperature within the
Crank-Nicholson method')
xlabel('X')
ylabel('T')

figure(2)
mesh(x,time,u')

title('Temperature within the
Crank-Nicholson method')
xlabel('X')
ylabel('Temperature')

1.3.

Kết quả:

5


6



2. FDM – PHÂN BỐ ĐIỆN THẾ GIỮA 2 BẢN TỤ SONG SONG
Cơ sở lý thuyết

2.1.

Trong lý thuyết tĩnh điện cổ điện, điện trường liên quan với điện thế thông qua phương
trình sau:






E   grad (U )   U 

U  U  U 
ex 
ey 
ez
x
y
z

(1)

Mặt khác, điện trường lại liên quan đến mật độ điện tích theo phương trình sau:



 

diverg ( E )   . E 

Ex E y Ez 



x
y
z 0

(2)

Theo giả thuyết mật độ điện tích ρ = 0 C.m-2 nên ta có:


 

diverg ( E )   . E  0

(3)

Thay điện trường trong phương trình thứ (1) vào phương trình thứ (3) ta có:




 




 .[ grad (U )]   . (U )   ||  ||2 U  U  0

(4)

Phương trình trên chính là phương trình Laplace, thể hiện trong miền 2D ta được:
 2U  2U

0
x 2 y 2

2.2.

(5)

Phân tích bài toán với FDM

Giải quyết bài toán phân bố điện thế giữa 2 bản tụ tiết diện vuông đặt song song với
nhau, cách điện bằng chân không với các thông số như sau:
- Hai bản tụ được đặt trong hộp vuông, kích thước 200x200 mm2.
- Chiều dài mỗi bản tụ là 160 mm.
- Khoảng cách giữa hai bản tụ song song là 80 mm
- Điện áp đặt lên bản tụ thứ nhất là 220V; điện áp đặt lên bản tụ thứ hai là -220V
7


- Giả sử mật độ điện tích giữa hai bản tụ là ρ = 0 C.m-2
Phương trình (5) là phương trình Eliptic, với giả thiết bề mặt của hộp vuông là kín và
điện thế phân bố ở khắp các phía trong hộp được xác định ổn định và đồng nhất, ta có

điều kiện biên Neuman cho bài toán như sau:
U ( x  0, y)  0;U ( x  L, y);U ( x, y  0)  0;U ( x, y  L)  0

(6)

Ngoài ra ta còn biết được điện thế tại các bản tụ, với bố trí các bản tụ ta có:
[

]
[

]

Phương trình (5) được giải bằng cách chia lưới thành LxL điểm, sử dụng phương pháp
sai phân hữu hạn với chuỗi Taylor bậc hai theo trục x và y ta được:

(8)
(9)
(10)
(11)

Cộng các phương trình lại, dùng xấp xỉ sai phân ta được lời giải cho bài toán như sau:

(12)

2.3.

Thực hiện bằng chương trình Matlab

Để giải bài toán, ta thực hiện đoạn code như sau:

% Điều kiện ban đầu

8


L=200;
% Kích thước ma trận và cũng là số
điểm chia
U=zeros(L,L);
% Định nghĩa ma trận U ban đầu là ma
trận 0
U(end/2-40,end/2-80:end/2+80)= 220;% Xác định điện áp bản
tụ (1)
U(end/2+40,end/2-80:end/2+80)=-220;% Xác định điện áp bản
tụ (2)
count=1;
% Biến đếm số vòng lặp
tolerance=6.00;
% Xác định dung sai = 6
norm_diff=100*rand(1);% Sai số dừng vòng lặp, ban đầu là
ngẫu nhiên
% Thực hiện vòng lặp
while norm_diff>tolerance % Thực hiện vòng lặp khi sai số
lớn hơn dung sai
Norm1=norm(U);
% Giá trị cũ lớn nhất của U trước
khi lặp
for i=2:L-1
% thực hiện 2 vòng lặp Jacobi
for j=2:L-1

% Giá trị điện thế trên 2 bản tụ luôn là hằng số
% Điều kiện để tiếp tục vòng lặp
if U(i,j)==220 || U(i,j)==-220
continue;
end
% Lời giải phương trình Laplace với FDM-2D
U(i,j)=(U(i-1,j)+U(i+1,j)+U(i,j1)+U(i,j+1))./4;
end
end
Norm2=norm(U);
% Giá trị lớn nhất của U sau mỗi
lần lặp
norm_diff=abs(Norm2-Norm1); % Sai số của giá trị mới và

count=count+1;
% Xác định số vòng lặp
end
% Hiển thị số vòng lặp
fprintf(' Number of iterations N=%d\n',count);
% Vẽ kết quả phân bố điện thế trong hộp vuông
surf(U);shading interp; colorbar;
xlabel(' Lx');
ylabel(' Ly');
9


zlabel(' Potential, in Volts');
title (' Electric potential of the parralel plate
Capacitor');
view(-54,6);

% Vẽ điện trường tĩnh tạo ra do 2 bản tụ
[Ex,Ey]=gradient(U);
figure, contour(U,'LineWidth',2);
hold on, quiver(Ex,Ey,4), hold off
title(' Electrical field of the parallel plate Capacitor in
static case');
% Thể hiện điện trường tĩnh rõ ràng hơn
figure,contour(U,'LineWidth',2); hold on, quiver(Ex,Ey,4),
hold
off;
zoom(3);
axis([10 40 130 160]);
xlabel(' Lx'), ylabel('Ly'), title(' Electrcial field :Zoom
x4 Left Corner of the 1st plate ')

2.4.

Kết quả:

10


11


3. FDM-FEM – GIẢI BÀI TOÁN ĐIỀU KIỆN BIÊN LOẠI 3
3.1.

Phân tích bài toán


Giải quyết bài toán có điều kiện biên hỗn hợp (điều kiện biên loại 3), phương trình vi phân
như sau:
Miền xác định:
Điều kiện biên:

tại x =2
Lời giải giải tích:
u = x2
Phân tích bài toán điều kiện biên loại 3 cũng tương tự như bài toán điều kiện biên
Dirichlet và điều kiện biên Neuman. Chỉ khác ở các biên, do đó ta cần phải sử đổi một
số điểm như sau:
- Xấp xỉ sai phân biên đạo hàm ta có:
Như vậy ma trận [A] và [F] phải thay đổi như sau:

Phân tích tương tự như trên, với phương pháp FEM-1D ta cũng cần thay đổi ma trận
[K] và [b] như sau:

Trong đó: α, β là hệ số của phương trình vi phân
M là số phần tử, M = n-1

3.2.

Thực hiện với chương trình Matlab
12


Để giải bài toán, ta thực hiện đoạn code như sau:
% Khai báo biến x, hàm U, miền khảo sát a-b, giá trị biên uaub
% hàm giá trị f, số điểm khảo sát n
function [x,U]=two_point(a,b,ua,ub,f,n)

clear
clc
%--------------------------Khai báo ban đầu------------n=24;
% Số điểm khảo sát
a=-1;
% Cận dưới của hàm số
b=2;
% Cận trên của hàm số
ua=1;
%--------------------Các hệ số của hàm số----------------A=-1;
B=0;
C=2;
%---------------------------FDM bậc 2------------------h=(b-a)/(n-1); % Khoảng chia Delta x
h1=h*h;
% Delta x bình phương
A1=sparse(n,n); % Định nghĩa ma trận A
F=zeros(n,1); % Định nghĩa ma trận F
% ------Thực hiện vòng lặp xác định ma trận A-----for i=2:n-2
A1(i,i)=(C*h1-2*A)/h1; % Định nghĩa số hạng A(i,i)
A1(i,i+1)=(A+h*B/2)/h1; % Định nghĩa số hạng A(i,i+1)
A1(i+1,i)=(A-h*B/2)/h1; % Định nghĩa số hạng A(i+1,i)
end
%----Các giá trị của ma trận A chưa được xác định trong vòng
lặp-A1(1,1)=1;
A1(2,1)=(A+h*B/2)/h1;
A1(n-1,n-1)=(C*h1-2*A)/h1;
A1(n-1,n)=(A+h*B/2)/h1;
A1(n,n-1)=-1/h; % Giá trị xác định từ ĐKB loại 3
A1(n,n)=3+1/h; % Giá trị xác định từ ĐKB loại 3
%----Thực hiện vòng lặp xác định hàm giá trị f----for i=2:n-1

13


x(i)=a+(i-1)*h;
% Xác định giá trị biến x trong mổi
phép lặp
F(i)=-2+2*x(i)^2; % Hàm giá trị f theo đề bài
end
%----Các giá trị hàm f chưa được xác định trong vòng lặp----F(1)=ua;
F(n)=16;
%----Xác định hàm cần tìm U1 theo FDM--------U1=A1\F;
U1=U1';
%----------------------Khai báo ban đầu FEM bậc 1------------N=n;
l=(b-a)/(N-1);
%---------------------------FEM bậc 1------------------K11=sparse(N,N);
% Định nghĩa ma trận độ cứng K
F11=zeros(N,1);
% Định nghĩa ma trận hàm giá trị f
b11=zeros(N,1);
% Định nghĩa ma trận b
%----Thực hiện vòng lặp xác định ma trận độ cứng K----for i=2:N-2
K11(i,i)=-2*A/l+2*C*l/3;
K11(i,i+1)=A/l+C*l/6;
K11(i+1,i)=A/l+C*l/6;
end
%----Các giá trị của ma trận K chưa được xác định trong vòng
lặp--K11(1,1)=1;
K11(2,1)=A/l+C*l/6;
K11(N-1,N-1)=-2*A/l+2*C*l/3;
K11(N-1,N)=A/l+C*l/6;

K11(N,N-1)=A/l+C*l/6;
% Giá trị xác định từ ĐKB loại 3
K11(N,N)=-A/l+C*l/3+3; % Giá trị xác định từ ĐKB loại 3
%----Thực hiện vòng lặp xác định ma trận b---for i=2:N-1
x(i)=a+(i-1)*l;
F11(i)=-2+2*x(i)^2;
b11(i)=F11(i)*l;
end
%----Các giá trị của ma trận b chưa được xác định trong vòng
lặp--b11(1)=ua;
b11(N)=F11(N-1)*l/2+16;
14


%----Xác định hàm cần tìm U11 theo FEM-----U11=K11\b11;
U11=U11';
%---------------------------------------------------%-------------------------Nghiệm chính xác----------m4=n*7;
% Định nghĩa số bước lặp để giải nghiệm
h4=(b-a)/(m4-1);
% Định nghĩa khoảng chia của mỗi bước lặp
u=zeros(m4,1);
% Định nghĩa ma trận của hàm cần tìm u
%----Thực hiện vòng lặp xác định nghiệm chính xác u --for i=1:m4
x(i)=a+(i-1)*h4;
u(i)=x(i)^2;
end
%----Giá trị biên của nghiệm chính xác-----u(1)=ua;
u(m4)=4;
%-------------------------------In kết quả ----------------------k=a:h4:b;
i=a:h:b;

z=a:l:b;
t=a:1/(n-1):b;
WW=spline(z,U11,t);
plot(k,u,'k',i,U1,'b',z,U11,'-rs','LineWidth',2,'MarkerEdgeColor','r','MarkerFaceColor','g',
'Mark
erSize',5);
xlabel('x direction');
ylabel('u(x)');
title('Comparison Between Analytic, FD and FE Numerical
Solutions');
grid on;
legend('Analytic Solution','2nd-Order FD Solution','1st-Order
FE
Solution');
%---------------------------------------------------------

--------3.3.

Kết quả

15


16



×