YOMEDIA
ADSENSE
Phương pháp chia miền giải bài toán biên với điểm biên kì dị
58
lượt xem 2
download
lượt xem 2
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Trong bài báo này, chúng tôi giới thiệu một số phương pháp tiếp cận giải bài toán biên elliptic với điều kiện biên hỗn hợp mạnh dựa trên cơ sở phương pháp chia miền đồng thời đưa ra các kết quả cụ thể khi áp dụng các phương pháp để giải bài toán Motz, một bài toán mẫu được thế giới quan tâm. Các kết quả được trình bày cả về lý thuyết và thực nghiệm khẳng định tính đúng đắn của các phương pháp đã đưa ra.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Phương pháp chia miền giải bài toán biên với điểm biên kì dị
PHƯƠNG PHÁP CHIA MIỀN<br />
GIẢI BÀI TOÁN BIÊN VỚI ĐIỂM BIÊN KỲ DỊ<br />
Vũ Vinh Quang* – Trường Đại học Công nghệ Thông tin và Truyền thông Thái Nguyên<br />
Ngô Thị Kim Quy – Trường Đại học Kinh tế và Quản trị Kinh doanh Thái Nguyên<br />
TÓM TẮT<br />
Trong bài báo này, chúng tôi giới thiệu một số phương pháp tiếp cận giải bài toán biên<br />
elliptic với điều kiện biên hỗn hợp mạnh dựa trên cơ sở phương pháp chia miền đồng thời đưa ra<br />
các kết quả cụ thể khi áp dụng các phương pháp để giải bài toán Motz, một bài toán mẫu được thế<br />
giới quan tâm. Các kết quả được trình bày cả về lý thuyết và thực nghiệm khẳng định tính đúng<br />
đắn của các phương pháp đã đưa ra.<br />
Từ khóa: phương pháp chia miền, sơ đồ lặp, bài toán Motz, bài toán biên hỗn hợp mạnh,<br />
điểm kì dị.<br />
1. Cơ sở của phương pháp<br />
2<br />
<br />
Cho R là miền<br />
Lipschitz , xét bài toán:<br />
<br />
với<br />
<br />
u(x ) f (x ), x ,<br />
<br />
<br />
lu(x ) g(x ),<br />
x .<br />
<br />
<br />
biên<br />
<br />
Giả sử miền được mô tả bởi Hình<br />
1, xét bài toán<br />
u(x ) f (x ),<br />
x ,<br />
<br />
u(x )<br />
(x ),<br />
x n ,<br />
<br />
<br />
u(x ) (x )<br />
x \ n .<br />
<br />
<br />
(1)<br />
<br />
(2)<br />
<br />
1<br />
<br />
Giả thiết f (x ) L2 (), g(x ) H 2 () . Ta<br />
xét trường hợp tổng quát khi điều kiện biên<br />
lu ( x) g ( x) là điều kiện biên dạng hỗn hợp<br />
mạnh tức là trên một phần biên trơn gồm cả<br />
hai điều kiện biên Dirichlet ( l là toán tử hàm)<br />
và Neumann (l là toán tử đạo hàm hướng).<br />
Khi đó điểm giao giữa hai loại điều kiện biên<br />
được gọi là điểm kì dị. Đây là bài toán đã<br />
được nhiều tác giả trên thế giới quan tâm như<br />
Saito, Fuijtu, Funaro, Quarteroni,...<br />
Để giải quyết bài toán trên, có nhiều<br />
phương pháp đã được đưa ra của các tác giả<br />
trên thế giới, một trong các phương pháp đó là<br />
sử dụng phương pháp khai triển các hàm cơ<br />
sở xung quanh lân cận điểm kì dị từ đó xác<br />
định nghiệm bằng chuỗi hàm xấp xỉ qua các<br />
hàm cơ sở. Các hệ số của chuỗi được xác định<br />
thông qua điều kiện cực trị của một phiếm<br />
hàm. Các kết quả trên đã được đưa ra trong [2,<br />
3, 5].<br />
Trong phần này, khác với các phương<br />
pháp của các tác giả trên thế giới, chúng tôi sẽ<br />
áp dụng phương pháp chia miền để xử lý bài<br />
toán biên hỗn hợp mạnh. Nhờ phương pháp<br />
này bài toán được dẫn về dãy các bài toán<br />
biên hỗn hợp yếu để giải.<br />
<br />
Hình 1<br />
Bài toán được gọi là bài toán biên hỗn<br />
hợp mạnh khi trên đoạn biên trơn d n<br />
gồm cả hai loại điều kiện biên Dirichlet và<br />
Neumann.<br />
Chia miền 1 2, 1 2 <br />
bởi<br />
<br />
biên<br />
<br />
ui u<br />
<br />
i<br />
<br />
1 2 .<br />
<br />
(i 1,2)<br />
<br />
là<br />
<br />
Kí<br />
<br />
hiệu<br />
<br />
nghiệm,<br />
<br />
1 1 \ d , 2 2 \ n .<br />
Để giải được hai bài toán trong 2 miền con,<br />
điều quan trọng nhất là cần xác định được giá<br />
trị điều kiện biên trên đường phân chia giữa 2<br />
miền. Có hai cách tiếp cận:<br />
1. Cách tiếp cận thứ nhất là xác định giá<br />
trị hàm trên biên phân chia dựa trên một sơ đồ<br />
<br />
136Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br />
<br />
http://www.lrc-tnu.edu.vn<br />
<br />
lặp. Cách tiếp cận này đã được các tác giả<br />
Nhật Bản [4] phát triển vào năm 2001.<br />
2. Cách tiếp cận thứ hai là xác định giá trị<br />
đạo hàm trên biên phân chia dựa trên một sơ<br />
đồ lặp. Cách tiếp cận này đã được các tác giả<br />
Việt Nam [1] phát triển năm 2006. Phương<br />
pháp này đã được đánh giá có tốc độ hội tụ<br />
nhanh hơn.<br />
Sau đây chúng tôi giới thiệu cả 2 cách<br />
tiếp cận.<br />
Thuật toán 1.1.<br />
Đặt g u2 . Khi đó giá trị của g<br />
sẽ được xác định bằng sơ đồ lặp sau đây:<br />
Bước 1: Cho trước g (0) L2 () .<br />
Bước 2: Với g<br />
giải hai bài toán.<br />
<br />
(k )<br />
<br />
u2(k )(x ) f (x ),<br />
<br />
(k )<br />
u2 (x ) (x ),<br />
(k )<br />
u2 (x ) g (k )(x ),<br />
<br />
(k )<br />
u2 (x ) (x ),<br />
v<br />
2<br />
<br />
u (x ) f (x ),<br />
1<br />
<br />
u (x ) u (x )<br />
1<br />
2<br />
<br />
,<br />
<br />
1<br />
2<br />
<br />
x<br />
u1 (x ) (x ),<br />
Hiệu chỉnh:<br />
<br />
x 2<br />
<br />
u (x ) f (x ),<br />
x 1,<br />
1<br />
<br />
u (x )<br />
1<br />
(6)<br />
g (k )(x ),<br />
x ,<br />
1<br />
<br />
x 1 d .<br />
u1(x ) (x ),<br />
u 2(k )(x ) f (x ), x 2,<br />
<br />
(k )<br />
(x ) x 2,<br />
u 2 (x )<br />
(k )<br />
u 2 (x )<br />
u1(k )(x ), x ,<br />
<br />
<br />
(k )<br />
u2 (x ) (x ), x .<br />
n<br />
v<br />
2<br />
<br />
Bước 3: Hiệu chỉnh giá trị g (k 1)<br />
g (k 1)(x ) (1 )g (k )(x ) <br />
<br />
trên tiến hành<br />
<br />
2. Mô hình bài toán Motz<br />
(3)<br />
<br />
x ,<br />
x n .<br />
<br />
Bài toán Motz là một bài toán Laplace<br />
chuẩn, nó thường được sử dụng để kiểm tra<br />
các phương pháp số với các bài toán biên với<br />
điều kiện biên kì dị.<br />
Chúng ta xét bài toán Motz với hệ<br />
điều kiện biên được biểu hiện trong Hình 2.<br />
<br />
x 1,<br />
x ,<br />
<br />
(4)<br />
<br />
1 d .<br />
<br />
Tương tự như trong [4] ta có thể<br />
chứng minh sơ đồ (5) là hội tụ, tham số lựa<br />
chọn 0 1 .<br />
<br />
u(x ) 0, (x , y ) -1 x 1,0 y 1,<br />
<br />
u(x )<br />
0,<br />
OD<br />
(9)<br />
<br />
u(x )<br />
<br />
500,<br />
<br />
AB<br />
<br />
<br />
u<br />
(<br />
x<br />
)<br />
<br />
n OABC CD 0.<br />
<br />
<br />
y<br />
<br />
Thuật toán 1.2.<br />
<br />
1<br />
<br />
, x . (8)<br />
<br />
Trong tài liệu [1] đã chứng minh sơ<br />
đồ lặp (8) hội tụ với tham số : 0 1 .<br />
<br />
g (k 1) (x ) g (k )(x ) (1 )u1(k )(x ), x . (5)<br />
<br />
Đặt g <br />
<br />
v2<br />
<br />
trong đó τ là tham số lặp cần lựa chọn.<br />
<br />
x 2,<br />
<br />
u1<br />
<br />
u2(k )(x )<br />
<br />
(7)<br />
<br />
1<br />
<br />
C<br />
<br />
u<br />
0<br />
n<br />
<br />
B<br />
<br />
. Khi đó giá trị của<br />
<br />
<br />
g được xác định bởi sơ đồ lặp sau đây:<br />
Bước 1: Cho trước g<br />
<br />
(0)<br />
<br />
2<br />
<br />
L () .<br />
<br />
u<br />
0<br />
n<br />
<br />
(k )<br />
<br />
Bước 2: Với g trên<br />
(k 0, 1, 2,.....) tiến hành giải hai bài<br />
toán:<br />
<br />
137Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br />
<br />
-1<br />
D<br />
<br />
2<br />
<br />
1<br />
<br />
u = 500<br />
1<br />
<br />
u=0<br />
<br />
0<br />
Hình 2<br />
<br />
A<br />
<br />
x<br />
<br />
http://www.lrc-tnu.edu.vn<br />
<br />
Nhận xét: Ở bài toán này, điểm kì dị<br />
sinh ra tại x y 0 vì tại đó là điểm<br />
chuyển tiếp từ điều kiện biên u 0 đến điều<br />
kiện đạo hàm<br />
<br />
u<br />
0 . Ta thấy rằng, mô<br />
y<br />
<br />
hình bài toán Motz chính là trường hợp bài<br />
toán biên gián đoạn mạnh với điểm phân cách<br />
giữa hai loại điều kiện biên hàm và đạo hàm<br />
chính là điểm O(0, 0) .<br />
<br />
Bước 3: Hiệu chỉnh giá trị g (k ) trên<br />
biên<br />
<br />
g (k 1) (1 )g (k ) u1(k ), (x , y ) .<br />
Trong đó giá trị tham số được chọn trong<br />
khoảng (0,1) .<br />
Thuật toán 2.2.<br />
Bước 1: Giải bài toán xác định u1(k )<br />
trong miền 1<br />
<br />
Sử dụng các phương pháp chia miền<br />
đã trình bày, ta sẽ tìm nghiệm xấp xỉ của bài<br />
toán Motz theo các thuật toán như sau.<br />
<br />
u (k ) 0,<br />
(x , y ) 1,<br />
<br />
1<br />
u (k ) 0,<br />
<br />
1<br />
<br />
x 0, y 0,<br />
1<br />
(<br />
k<br />
)<br />
u<br />
1<br />
<br />
0,<br />
x 0, 0 y 1,<br />
x<br />
(<br />
k<br />
)<br />
u<br />
1<br />
<br />
0, 1 x 0, y 1,<br />
y<br />
u (k )<br />
1 g (k ),<br />
(x , y ) .<br />
x<br />
<br />
Thuật toán 2.1.<br />
Chia miền 1 2 bởi biên<br />
<br />
x 0, 0 y 1 ,<br />
<br />
u1 u<br />
<br />
1<br />
<br />
, u2 u<br />
<br />
<br />
<br />
, g u2<br />
<br />
kí<br />
<br />
<br />
hiệu<br />
<br />
.<br />
<br />
Xuất phát từ g (0) 0, k 0,1, 2,... thực<br />
hiện thuật toán lặp:<br />
Bước 1: Giải bài toán xác định u<br />
<br />
(k )<br />
2<br />
<br />
trong miền 2<br />
u (k ) 0,<br />
(x, y ) 2 ,<br />
2<br />
u (k ) 500, x 1, 0 y 1,<br />
2<br />
u (k )<br />
2 0, , 0 x 1, y 0,<br />
x(k )<br />
u2<br />
0, 0 x 1, y 1,<br />
<br />
y<br />
u2(k ) g (k ),<br />
(x, y ) .<br />
<br />
<br />
Bước 2: Giải bài toán xác định u1(k )<br />
trong miền 1<br />
u (k ) 0,<br />
(x , y ) 2<br />
<br />
1<br />
u (k ) 0,<br />
1 x 0, y 0,<br />
1<br />
<br />
u (k )<br />
1<br />
1 x 0, y 0, y 1,<br />
<br />
0,<br />
y<br />
u (k )<br />
1<br />
<br />
x 1, 0 y 1,<br />
0<br />
x<br />
u (k )<br />
(k )<br />
1 u2 ,<br />
(x , y ) .<br />
x<br />
x<br />
<br />
Bước 2: Giải bài toán xác định u2( k )<br />
trong miền 2<br />
u (k ) 0,<br />
(x , y ) 2 ,<br />
2<br />
u (k ) 500,<br />
x 1, 0 y 1,<br />
2<br />
u2(k )<br />
<br />
0, 0 x 1, y 0, y 1,<br />
y<br />
(k )<br />
(k )<br />
(x , y ) .<br />
u2 u1 ,<br />
Bước 3: Hiệu chỉnh giá trị g (k ) trên<br />
biên<br />
g (k 1) (1 )g (k ) <br />
<br />
u2(k )<br />
x<br />
<br />
, (x , y ) .<br />
<br />
Để kiểm tra độ chính xác của phương<br />
pháp lặp, chúng tôi sử dụng phương pháp lưới<br />
với số lưới M N 64 64 . Chuyển các<br />
bài toán vi phân về các bài toán sai phân<br />
tương ứng. Sau đó sử dụng thuật toán thu gọn<br />
khối lượng tính toán xác định nghiệm xấp xỉ<br />
trên từng nút lưới. Trong quá trình tính toán,<br />
chúng tôi đã sử dụng các hàm tương ứng trong<br />
thư viện TK2004 [6] .<br />
Kết quả về tốc độ hội tụ và độ chính<br />
xác của bài toán được cho trong Bảng 1 và đồ<br />
thị nghiệm bài toán Motz được cho bởi Hình<br />
3.<br />
Trong Bảng 1, err max uij(k 1) uij(k ) ,<br />
<br />
K là số bước lặp tương ứng.<br />
<br />
138Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br />
<br />
http://www.lrc-tnu.edu.vn<br />
<br />
Bảng 1. Kết quả thực nghiệm đối với bài toán Motz<br />
Thuật toán 1<br />
<br />
<br />
<br />
K<br />
<br />
Thuật toán 2<br />
<br />
<br />
<br />
K<br />
<br />
err<br />
<br />
-5<br />
<br />
0.1<br />
<br />
150<br />
<br />
3.10-5<br />
<br />
err<br />
<br />
0.1<br />
<br />
150<br />
<br />
3.10<br />
<br />
0.2<br />
<br />
78<br />
<br />
8.10-11<br />
<br />
0.2<br />
<br />
78<br />
<br />
7.10-11<br />
<br />
0.3<br />
<br />
40<br />
<br />
7.10-11<br />
<br />
0.3<br />
<br />
40<br />
<br />
6.10-11<br />
<br />
0.4<br />
<br />
24<br />
<br />
4.10-11<br />
<br />
0.4<br />
<br />
23<br />
<br />
4.10-11<br />
<br />
0.5<br />
<br />
30<br />
<br />
9.10-11<br />
<br />
0.5<br />
<br />
22<br />
<br />
7.10-11<br />
<br />
40<br />
<br />
9.10<br />
<br />
-11<br />
<br />
0.6<br />
<br />
32<br />
<br />
8.10<br />
<br />
-11<br />
<br />
9.10<br />
<br />
-11<br />
<br />
0.7<br />
<br />
48<br />
<br />
6.10-11<br />
<br />
9.10<br />
<br />
-11<br />
<br />
78<br />
<br />
7.10<br />
<br />
-11<br />
<br />
8.10<br />
<br />
-10<br />
<br />
0.6<br />
0.7<br />
0.8<br />
0.9<br />
<br />
56<br />
87<br />
150<br />
<br />
1.10<br />
<br />
-9<br />
<br />
0.8<br />
0.9<br />
<br />
150<br />
<br />
u<br />
g4<br />
y<br />
1<br />
<br />
u<br />
g1<br />
x<br />
<br />
y<br />
<br />
<br />
<br />
-a u = g3<br />
<br />
0<br />
<br />
u<br />
g4<br />
y<br />
<br />
u = g2<br />
<br />
u<br />
a<br />
g5<br />
y<br />
<br />
x<br />
<br />
Hình 4<br />
Đây chính là sự mở rộng của bài toán<br />
Motz trong trường hợp điều kiện biên bất kỳ,<br />
điểm (0,0) vẫn là điểm kì dị.<br />
Có thể thấy rằng trong trường hợp<br />
này, việc áp dụng các phương pháp BAMs và<br />
GFIFs [2, 3, 5] là không thực hiện được vì<br />
không thể xây dựng được hệ hàm độc lập<br />
tuyến tính. Tuy nhiên chúng ta vẫn có thể sử<br />
dụng phương pháp chia miền để xác định<br />
nghiệm xấp xỉ của bài toán theo thuật toán sau<br />
đây.<br />
Thuật toán 3.1.<br />
<br />
Hình 3: Nghiệm của bài toán Motz với<br />
phương pháp chia miền<br />
Nhận xét: Từ các kết quả trong Bảng<br />
1 ta có thể thấy tốc độ hội tụ của thuật toán 2<br />
nhanh hơn thuật toán 1.<br />
<br />
bởi<br />
biên<br />
1 2<br />
x 0, 0 y b .<br />
Kí<br />
hiệu<br />
g u2 .<br />
Xuất<br />
phát<br />
g (0) 0 ,<br />
k 0,1,2,.... thực hiện thuật toán.<br />
Chia<br />
<br />
Bước 1: Xác định nghiệm trong miền<br />
<br />
2<br />
<br />
3. Mở rộng phương pháp chia miền<br />
trong trường hợp tổng quát<br />
<br />
u (k ) f ,<br />
(x, y ) 2<br />
2<br />
u (k ) g , x c, 0 y b<br />
2<br />
2<br />
u (k )<br />
2 g5 , , 0 x c, y 0<br />
x<br />
(k )<br />
u2<br />
g 4 , 0 x c, y b<br />
<br />
y<br />
u2(k ) g (k ),<br />
(x , y ) .<br />
<br />
<br />
Xét bài toán tổng quát:<br />
<br />
u f , (x , y ) (a, c) (0,b)<br />
<br />
u<br />
<br />
g1 ,<br />
x a, 0 y b<br />
<br />
x<br />
<br />
a x 0, y 0<br />
u g 3 ,<br />
u<br />
<br />
g5 ,<br />
0 x c, y 0<br />
y<br />
u<br />
<br />
g4 ,<br />
a x c, y b<br />
y<br />
u g ,<br />
x c, 0 y b.<br />
2<br />
<br />
<br />
Bước 2: Xác định nghiệm trong miền<br />
<br />
1<br />
<br />
139Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br />
<br />
http://www.lrc-tnu.edu.vn<br />
<br />
u (k ) f ,<br />
x 1,<br />
<br />
1<br />
u (k )<br />
1<br />
<br />
g4,<br />
a x 0, y b<br />
y<br />
<br />
(k )<br />
a x 0, y 0<br />
u1 g 3 ,<br />
u (k )<br />
1<br />
<br />
g1,<br />
x a, 0 y b<br />
x<br />
u (k )<br />
(k )<br />
1 u2 ,<br />
x .<br />
x<br />
x<br />
g<br />
<br />
g1 (x 2 1)e y<br />
g 3 (x 2 x )e y<br />
g2 e y<br />
g 4 cos x .e y<br />
<br />
Thuật toán 3.2.<br />
<br />
1 2<br />
<br />
x 0, 0 y b .<br />
g<br />
<br />
u1<br />
<br />
<br />
.<br />
<br />
Xuất<br />
<br />
bởi<br />
Kí<br />
<br />
phát<br />
<br />
x<br />
k 0,1,2,.... thực hiện thuật toán.<br />
<br />
(x,y) .<br />
<br />
,<br />
<br />
f x2 y2<br />
<br />
g 5 sin x .e y<br />
<br />
(1 )g (k ) u1(k ), (x , y ) .<br />
Chia<br />
<br />
x<br />
<br />
Sau đây là các kết quả thực nghiệm đối với<br />
các hàm<br />
<br />
Bước 3: Hiệu chỉnh<br />
(k 1)<br />
<br />
u2(k )<br />
<br />
g (k 1) (1 )g (k ) <br />
<br />
biên<br />
hiệu<br />
<br />
g (0) 0 ,<br />
<br />
Bước 1: Xác định nghiệm trong miền<br />
<br />
1<br />
u (k ) f ,<br />
x 1<br />
<br />
1<br />
u (k )<br />
1 g , 0 y b, x a<br />
1<br />
x<br />
u (k ) g ,<br />
y 0, a x 0<br />
1<br />
3<br />
u (k )<br />
1 g 4 , a x 0, y b<br />
y<br />
u (k )<br />
1 g (k ),<br />
x .<br />
x<br />
Bước 2: Xác định nghiệm trong miền<br />
<br />
được đưa trong Bảng 2 và Hình 5 (a=1, b=1,<br />
c=1).<br />
Bảng 2. Số liệu thực hiện trong trường hợp<br />
tổng quát<br />
Thuật toán 1<br />
<br />
<br />
<br />
K<br />
<br />
Thuật toán 2<br />
<br />
<br />
<br />
K<br />
<br />
err<br />
<br />
-8<br />
<br />
err<br />
<br />
0.1<br />
<br />
150<br />
<br />
7.10<br />
<br />
0.1<br />
<br />
150<br />
<br />
1.10-8<br />
<br />
0.2<br />
<br />
62<br />
<br />
7.10-11<br />
<br />
0.2<br />
<br />
57<br />
<br />
8.10-11<br />
<br />
0.3<br />
<br />
32<br />
<br />
5.10-11<br />
<br />
0.3<br />
<br />
29<br />
<br />
9.10-11<br />
<br />
0.4<br />
<br />
26<br />
<br />
6.10-11<br />
<br />
0.4<br />
<br />
17<br />
<br />
5.10-11<br />
<br />
0.5<br />
<br />
34<br />
<br />
5.10-11<br />
<br />
0.5<br />
<br />
17<br />
<br />
5.10-11<br />
<br />
0.6<br />
<br />
45<br />
<br />
6.10-11<br />
<br />
0.6<br />
<br />
24<br />
<br />
9.10-11<br />
<br />
0.7<br />
<br />
63<br />
<br />
7.10-11<br />
<br />
0.7<br />
<br />
36<br />
<br />
7.10-11<br />
<br />
0.8<br />
<br />
97<br />
<br />
9.10-11<br />
<br />
0.8<br />
<br />
58<br />
<br />
7.10-11<br />
<br />
0.9<br />
<br />
150<br />
<br />
1.10-8<br />
<br />
0.9<br />
<br />
120<br />
<br />
9.10-11<br />
<br />
2<br />
u (k ) f ,<br />
x 2 ,<br />
2<br />
u (k )<br />
2 g , 0 x c, y 0<br />
5<br />
y<br />
(k )<br />
u21 g2 , x c, 0 y b<br />
(k )<br />
<br />
u2 g , 0 x c, y b<br />
4<br />
y<br />
(k )<br />
(k )<br />
x .<br />
u2 u1 ,<br />
Bước 3: Hiệu chỉnh<br />
<br />
Hình 5: Đồ thị nghiệm trong trường hợp tổng<br />
quát<br />
<br />
140Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên<br />
<br />
http://www.lrc-tnu.edu.vn<br />
<br />
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn