Tải bản đầy đủ (.docx) (76 trang)

Các phương pháp tạo lưới tự động và ứng dụng trong tính toán cơ học

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 (4.61 MB, 76 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Nguyễn Thị Thủy

CÁC PHƯƠNG PHÁP TẠO LƯỚI TỰ ĐỘNG VÀ
ỨNG DỤNG TRONG TÍNH TOÁN CƠ HỌC

LUẬN VĂN THẠC SỸ KHOA HỌC

Hà Nội – 2011


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

Nguyễn Thị Thủy

CÁC PHƯƠNG PHÁP TẠO LƯỚI TỰ ĐỘNG VÀ
ỨNG DỤNG TRONG TÍNH TOÁN CƠ HỌC

LUẬN VĂN THẠC SỸ KHOA HỌC
Chuyên ngành: Cơ học chất lỏng
Mã số: 60 44 22
Người hướng dẫn khoa học:
PGS.TS. Trần Văn Trản

Hà Nội – 2011


Mục lục


Lời cảm ơn
Lời mở đầu

1 Một số phương pháp chia lưới tự động không cấu trúc
1.1
Phương pháp chia lưới Delaunay
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.1.6
1.1.7
1.2

Phương pháp tịnh tiến biên (Adva
1.2.1
1.2.2
1.2.3
1.2.4
1.2.5
1.3 Phương pháp tạo lưới không cấu trúc sử dụng thuật toán chèn
điểm tự động và tái kết nối địa ph
1.3.1
1.3.2
1.4
Các phương pháp chồng tạo lưới
1.4.1
1.4.2
1.5

Một số phương pháp đang được
2 Áp dụng trong một số bài toán cơ học
2.1 Bài toán 1 . . . . . . . . . . . . . . . . . .
2.2 Bài toán 2 . . . . . . . . . . . . . . . . . .
2.3 Bài toán 3 . . . . . . . . . . . . . . . . . .

2

2.4

Bài toán 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


2.5
Bài toán 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3


Lời mở đầu
Ngày nay phương pháp chia lưới tự động đã trở thành một công cụ khá phổ
biến trong việc sử dụng nghiệm số của phương trình vi phân từng phần trên các
miền có hình dạng bất kì. Trong những năm gần đây, phương pháp chia lưới tự
động đang được phát triển rộng rãi, đầu tiên trong cơ học kết cấu và cơ học vật
rắn, sau đó là trong tính toán động lực học chất lỏng. Phương pháp chia lưới tự
động đã cung cấp chìa khóa để giải quyết các vấn đề về hình dạng biên từ
phương pháp sai phân hữu hạn và được sử dụng trong việc xác định các điểm
nút trong phương pháp phần tử hữu hạn. Với mạng lưới như vậy tất cả các
thuật toán số, sai phân hữu hạn hay phần tử hữu hạn đều thực hiện được trên

miền tính toán có hình dạng và đường biên bất kì.
Các phương pháp chia lưới tự động bao gồm hai loại: phương pháp chia
lưới tự động có cấu trúc và phương pháp chia lưới tự động không cấu trúc.
Một ví dụ đơn giản nhất về lưới có cấu trúc là lưới ĐềCác. Các nú t lưới
và ô lưới (hình chữ nhật) là giao của các đường lưới. Lưới này được tạo ra
một cách dễ dàng và nhanh chóng. Tuy nhiên nếu miền tính toán có biên
trong và biên ngoài là các đường cong thì để giải trên lưới ĐềCác yêu cầ u
phải xác định sơ đồ số ở gần các biên. Điều này thường khá khó.

Hình 1: (a) Lưới ĐềCác, (b) bodyfitted grid

Một loại khác của lưới có cấu trúc là bodyfitted (trùng khít v ới miền tính
toán). Về cơ bản lưới này khá giống lưới ĐềCác nhưng các ô lưới tứ giác có
hình dạng phù hợp với biên. Các phương pháp tính toán đã được phát triển
cho lưới ĐềCác có thể được chỉnh sửa để áp dụng cho lưới bodyf itted thông
4


qua các ánh xạ lưới mà không làm thay đổi bản chất của chương trình số.
Khó khăn trong việc thực hiện phương pháp này nằm trong việc tạo ra các
nút lưới nhất là khi có nhiều vật cản bên trong miền tính toán.
Không giống như lưới có cấu trúc, các nút lưới và các ô lưới của lưới
không cấu trúc không phải là giao của các đường thẳng song song. Một ưu
điểm của lưới không cấu trúc là các điểm nút có thể đặt trên biên của miền
tính toán vì vậy khi áp dụng các phương pháp số thì lưới không cấu trúc cho
độ chính xác cao hơn. Hơn thế nữa, lưới không cấu trúc cho phép các phần
tử có kích thước khác nhau vì vậy có thể biểu diễn chính xác biên của miền
tính toán mà không cần một số lượng quá lớn các nút lưới và ô lưới.
Khi miền tính toán có hình dạng phức tạp thì so với lưới có cấu trúc, lưới
không cấu trúc có thể giúp cải thiện độ chính xác của nghiệm tổng thể, lưới

không cấu trúc cũng đã được chứng minh là có khả năng thích nghi cao hơn
trong các bài toán biên chuyển dịch hoặc dòng nhất thời.
Về nguyên tắc, lưới không cấu trúc có thể bao gồm các ô có hình dạng
bất kỳ, được xây dựng bằng cách kết nối một điểm cho trước đến một số tùy
ý các điểm khác, nhưng nói chung là được hợp thành từ các tam giác và tứ
giác trong không gian hai chiều, các tứ diện và lục giác trong không gian ba
chiều. Ưu điểm của các lưới này là chúng có khả năng thích nghi bằng cách
cho phép chèn thêm các điểm mới vào, do đó chúng có thể làm việc với các
miền tính toán có hình dạng phức tạp.
Ở thời điểm hiện tại phương pháp chia lưới không cấu trúc đã được áp
dụng trong không gian ba chiều. Tuy nhiên phương pháp chia lưới không cấu
trúc dựa trên tam giác Delaunay thường xuyên được sử dụng nhất và đã
được chứng minh là có khả năng thích nghi cao, phù hợp với các miền tính
toán phức tạp. Các lưới này cho phép bổ sung thêm các nút lưới mới vào hệ
tam giác đã tồn tại chỉ ảnh hưởng đến cấu trúc lưới địa phương mà không
ảnh hưởng đến cấu trúc lưới tổng thể.
Trong luận văn này giới thiệu hai phương pháp chia lưới không cấu trúc
hay được sử dụng: phương pháp chia lưới Delaunay Triangulation và
phương pháp tịnh tiến biên (Advancing Front method). Ngoài ra hai phương
pháp đang được phát triển: Phương pháp tạo lưới không cấu trúc sử dụng
thuật toán chèn điểm tự động và tái kết nối địa phương và phương pháp
chồng tạo lưới tứ giác và lục giác cũng được trình bày trong luận văn.
* Nội dung luận văn gồm 2 chương:
Chương 1: Một số phương pháp chia lưới tự động không cấu trúc.
Chương 2: Áp dụng trong một số bài toán cơ học.

5


Chương 1


Một số phương pháp chia lưới tự
động không cấu trúc
1.1 Phương pháp chia lưới Delaunay Triangulation
1.1.1 Giới thiệu
Phương pháp Delaunay Triangulation là một trong các phương pháp
chia lưới không cấu trúc đã được phát triển từ rất sớm [8]. Phương pháp này
dựa trên tiêu chuẩn Delaunay (hay còn gọi là tiêu chuẩn vòng tròn ngoại tiếp
trống): Siêu cầu của mỗi đơn hình trong không gian n chiều được xác định
bởi n + 1 điểm trong đó không có bất kỳ điểm nút nào khác của lưới. Ví dụ
trong không gian ba chiều, bốn đỉnh của một tứ diện xác định một mặt cầu và
mặt cầu này không chứa các điểm nút khác của lưới tứ diện. Trong không
gian hai chiều, hệ tam giác thu được dựa trên tiêu chuẩn Delaunay được gọi
là hệ tam giác Delaunay. Hệ tam giác này được áp dụng rất phổ biến trong
thực hành vì chúng có các đặc điểm tối ưu sau:
• Các tam giác Delaunay là các tam giác xấp xỉ đều;
• Góc lớn nhất của tam giác được cực tiểu hóa;
• Góc nhỏ nhất của tam giác được cực đại hóa.

Với các đặc điểm này hệ tam giác Delaunay sẽ không bị quá biến dạng
hoặc quá méo mó. Tiêu chuẩn Delaunay không đưa ra bất kỳ một sự chỉ dẫn
nào như là các điểm lưới nên được định nghĩa và liên kết với nhau như thế
nào? Một hạn chế nữa của tiêu chuẩn Delaunay đó là có khả năng không thể áp
dụng tiêu chuẩn này trên toàn bộ miền tính toán với các tam giác biên xác định
trước. Nhược điểm này đưa ra hai cách tiếp cận chia lưới tam giác có bảo toàn
liên kết biên và vẫn áp dụng tiêu chuẩn Delaunay. Trong cách tiếp cận thứ nhất
tiêu chuẩn Delaunay được bỏ qua tại các điểm gần biên và hệ quả

6



là biên của lưới trước vẫn còn nguyên vẹn. Để kết hợp với kỹ thuật này, các
điểm được thêm vào dưới dạng một sơ đồ để đảm bảo không xảy ra sự phá
hủy biên. Cách tiếp cận thứ hai, áp dụng tiêu chuẩn Delaunay trên toàn miền
tính toán, sau đó khôi phục lại biên ban đầu bằng cách bỏ đi các đơn hình
nằm bên ngoài miền tính toán [1].
Có rất nhiều thuật toán tạo lưới không cấu trúc dựa trên tiêu chuẩn De
launay, chẳng hạn có một số thuật toán sử dụng phương pháp chia lưới có
cấu trúc tạo ra sự phân bố các điểm nút lưới trước sau đó các điểm nút lưới
này được kết nối để thu được các tam giác thỏa mãn các tiêu chuẩn hình
học nào đó (tương đương với tiêu chuẩn Delaunay). Tuy nhiên thuật toán
chúng ta hay sử dụng là thuật toán Bowyer Watson. Thuật toán này có t hể
áp dụng với không gian n chiều bất kỳ. Thuật toán bắt đầu từ một hệ tam
giác của một vài điểm, sau đó tiếp tục tại mỗi bước ta thêm các điểm mới
vào hệ tam giác hiện tại và tái thiết lập hệ tam giác một cách địa phương.
Quá trình này cho phép chúng ta cải thiện được chất lượng lưới trong khuôn
khổ của tiêu chuẩn Delaunay. Điểm khác biệt của thuật toán này là vị trí các
điểm và các liên kết được tính toán một cách đồng thời.
1.1.2 Cơ sở hình học
• Định nghĩa ô lồi

Một ô lồi n chiều S là một bao lồi của n + k điểm P1 , ......, Pn+k (k>1) mà

các điểm này không cùng nằm trong một mặt phẳng (n − 1) chiều. Như vậy
n

S bao gồm các điểm x ∈ R thỏa mãn
n+k

x = ∑ α i Pi ,

i=1
n+k
i=1

Gọi tất cả các điểm Pl của tập Pi , i = 1, ....., n + k nằm trên biên của S là
các đỉnh của ô lồi S.
Một mặt m chiều của ô lồi n chiều
m + 1 đỉnh Pl , và bao lồi này không chứa bất kỳ một đỉnh nào khác của S. Ta
nói ô S là lồi mạnh nếu nó không có hai mặt bất kỳ cùng nằm trong
mặt phẳng m chiều với mọi m < n
Nếu P là một điểm nằm trong ô lồi mạnh S với các đỉnh P1 , ......, Pn+k thì
n+k

i

P = ∑ α Pi ,
i=1

7


Hình 1.1: Ô lồi (bên trái) và ô tứ diện lồi mạnh (bên phải)

• Đơn hình và các ô đơn hình

Một phần tử đơn giản nhất n chiều được sử dụng để rời rạc hóa miền tính toán
được gọi là một ô n chiều. Ô này là bao của n + 1 điểm x1, ....., xn+1 mà
không cùng nằm trong bất kỳ mặt phẳng (n − 1) chiều nào. Những ô như thế

được gọi là các đơn hình. Như vậy một đơn hình được tạo nên bởi các điểm

n
x ∈ R thỏa mãn

n+1
i=1

Đơn hình này là một ô lồi mạnh có các đỉnh là x1, ....., xn+1 . Chẳng hạn một

đơn hình ba chiều là một tứ diện có các đỉnh là x1, x 2 , x3 , x4 , một đơn hình
hai chiều là một tam giác, đơn hình một chiều là một đoạn thẳng. Mỗi mặt m
chiều của đơn hình là một đơn hình m chiều được định nghĩa qua m + 1 đỉnh.
Điểm x là một điểm trong của đơn hình nếu α > 0 với mọi i = 1, ...., n + 1.
Trong thực hành, để rời rạc hóa miền tính toán, ta hay sử dụng các ô lồi có
các mặt biên là các đơn hình. Những ô như vậy được gọi là các ô đơn hình.

Gọi Ni , i = 1, ..., n, là số mặt đơn hình i chiều của S, và N0 là số đỉnh của
S. Ta có


n−1

1)

∑(



i=k

k = −1, ...., n − 2,


l
m
8

i


• Tính nhất quán của lưới

Bằng một phép rời rạc phù hợp chúng ta thu được một tập hợp các điểm
n
V ∈ R và một tập các ô lồi mạnh T thỏa mãn các điều kiện sau:
1. Tập hợp các đỉnh của các ô của T trùng với V;
2. Nếu hai ô khác nhau S1 và S2 giao nhau, thì miền giao nhau đó là mặt
chung của cả hai ô.

Hình 1.2: Các ô giao nhau chấp nhận được (a) và không chấp nhận được (b, c, d)

Tập hợp các ô của một phép rời rạc phù hợp tạo thành một miền kết nối
đơn giản n chiều.
Gọi Ni , i > 0 là số lượng các mặt biên i chiều của miền rời rạc, N0 là số
đỉnh của biên, theo định lý Euler ta có:
n−1



i=0

i


(−1) Ni = 1 + (−1)

n−1

biểu thức trên được sử dụng để xác định tính nhất quán của lưới.
• Lưới tổ ong Dirichlet

Xét một tập tùy ý gồm các điểm Pi , i = 1, 2, ......, N trong một miền xác
định n chiều. Với mỗi điểm Pi chúng ta xác định một miền V(Pi ) trong R
bao gồm các điểm có khoảng cách tới Pi nhỏ hơn tới các điểm Pj khác.
n

Vi = x ∈ R | d (x, Pi ) ≤ d x, Pj , i = j, j = 1, ....., N

n

,

trong đó d(a, b) là khoảng cách giữa hai điểm a , b . Các miền Vi này được gọi
là các khối đa diện Voronoi. Do các khối đa diện là giao của các bán không gian
nên chúng là các đa diện lồi, nhưng không cần thiết là bị chặn. Mặt biên chung
của hai Voronoi của hai điểm V(Pi ) và V(Pj ) là một đa giác (n − 1) chiều. Cặp
điểm Pi và Pj được gọi là cặp cấu hình nếu các khối đa diện Voronoi của
chúng có một mặt chung. Bằng cách kết nối các điểm kề nhau ta sẽ thu được
một lưới. Trong lưới này, tập hợp n + 1 điểm cùng kề với một điểm khác tạo
thành một đơn hình n chiều. Tâm của bất kỳ một đơn hình nào cũng sẽ là
9



một đỉnh của sơ đồ Voronoi. Siêu cầu của mỗi đơn hình là rỗng, có nghĩa là
không có bất kỳ điểm nào ở bên trong siêu cầu vì nếu có một điểm nào đó ở
bên trong siêu cầu thì điểm này sẽ gần tâm hơn các điểm khác của siêu cầu.
Do đó tập hợp các đơn hình được xây dựng từ lưới tổ ong Dirichlet theo
cách này tạo thành một lưới tổ ong mới thỏa mãn tiêu chuẩn Delaunay. Biên
của hệ tam giác Delaunay được xây dựng theo sơ đồ Voronoi là các bao lồi
của tập hợp các điểm Pi .
Ta có thể coi phép đặt tam giác Delaunay và lưới tổ ong Dirichlet là các
đối ngẫu hình học của nhau trong ý nghĩa là với mỗi đơn hình Si sẽ tồn tại
một đỉnh Pi của lưới tổ ong và ngược lại, với mỗi miền Voronoi V(Pj ) cũng
tồn tại một đỉnh Pj của hệ tam giác. Thêm vào đó, với mỗi cạnh của hệ tam
giác sẽ tồn tại tương ứng (n − 1) phân đoạn của lưới tổ ong.
1.1.3 Thiết lập hệ tam giác ban đầu
Vì các điểm lưới được đưa vào một cách tuần tự, nên lưới ban đầu rất thô,
số lượng các nút lưới ít và các phần tử lưới là các tam giác rất lớn. Ví dụ trong
không gian hai chiều chúng ta có thể tạo ra lưới ban đầu bằng cách chia một
hình vuông nằm trong miền tính toán (hoặc chứa miền tính toán) thành hai tam
giác. Sau đó các điểm bên trong và các điểm biên được thêm vào một cách liên
tiếp để xây dựng các tam giác liên tiếp cho đến khi miền xấp xỉ đạt được các
yêu cầu cần thiết. Một trong các yêu cầu đó là hệ tam giác ban đầu phải bảo
toàn biên, tức là tất cả các cạnh biên đều được chứa trong hệ tam giác ban
đầu. Một cách tự nhiên để thỏa mãn yêu cầu trên là ta quy định trước các điểm
nút trên biên bằng các phương tiện của thuật toán Bowyer Watson. Tuy nhiên
không có gì đảm bảo rằng hệ tam giác Delaunay xây dựng từ tập hợp các điểm
biên sẽ có biên được bảo toàn. Để khắc phục vấn đề này ta lặp đi lặp lại việc
chèn một điểm lưới mới tại trung điểm của các cạnh biên bị thiếu để thu được
các tam giác biên. Một cách khác để duy trì tính nguyên vẹn của biên là chúng
ta loại bỏ tất cả các điểm có thể làm cho liên kết biên bị phá vỡ.

1.1.4 Thuật toán Bowyer Watson

Có nhiều thuật toán cho việc phân chia tam giác Delaunay chủ yếu trong
trường hợp hai chiều. Tuy nhiên thuật toán được sử dụng phổ biến nhất trong
thực hành là thuật toán Bowyer Watson [6]. Thuật toán này thê m các điểm một
cách tuần tự vào hệ tam giác Delaunay đã có, thường thì bắt đầu từ một hệ tam
giác rất đơn giản (chẳng hạn là một tam giác lớn) mà nó bao bọc tất cả các
điểm (giả sử có i điểm) sẽ được dùng để tạo hệ lưới tam giác Delaunay. Gọi Ti
là tập hợp các tam giác và Bi là tập hợp các đường tròn ngoại tiếp các tam giác
đó. Khi thêm một điểm mới xi+1 vào hệ tam giác Delaunay xảy ra

10


các trường hợp sau: xi+1 ∈ Ti ; xi+1 ∈/ Ti và xi+1 ∈ Bi ; trường hợp cuối cùng là
x

i+1

∈/ Bi . Sau đây ta sẽ xét lần lượt từng trường hợp một.
• Trường hợp 1: xi+1

∈ Ti

Ta cần tìm tập S là tập hợp gồm các tam giác ∈ Ti , có đường tròn ngoại tiếp
chứa điểm xi +1 , hệ tam giác mới thu được bằng cách xóa các cạnh bên trong của
các tam giác hợp thành S và nối điểm xi+1 với tất cả các đỉnh của S .

Ví dụ ta có năm điểm x1, x2 , x3 , x4 , x5 như hình vẽ.

Điểm mới chèn vào x6 nằm bên trong một tam giác và cũng nằm bên
trong hai đường tròn ngoại tiếp. Trong trường hợp này S là tứ diện x2 x3 x4

x5 . Xóa cạnh trong x2 x4 của S đi và nối x6 với bốn đỉnh của S.

• Trường hợp 2: xi+1

∈/ Ti và xi+1 ∈ Bi

Ta cũng gọi S là tập hợp gồm các tam giác mà có đường tròn ngoại tiếp
chứa điểm xi+1 . Nhưng trong trường hợp này ta chỉ xóa đi các cạnh của S gần
nhất với điểm xi+1 (và nhìn thấy được từ xi+1 ). Hệ tam giác mới thu được bằng
cách nối điểm xi+1 với tất cả các đỉnh của các tam giác ∈ S và với bất kì đỉnh
nào của Ti mà nhìn thấy được từ xi+1
Trong hình vẽ bên dưới, điểm mới chèn vào x6 nằm bên trong đường tròn
ngoại tiếp tam giác x1 x2 x5 (tập S chỉ có một tam giác). Cạnh x1 x2 có thể nhìn
11


thấy được từ x 6, vì vậy cạnh này bị xóa đi và hệ tam giác mới thu được
bằng cách nối x6 với các đỉnh của x1, x2 , x5 và x3.
• Trường hợp 3: xi+1 ∈/ Bi
Ta không cần bỏ đi bất cứ cạnh nào của Ti mà chỉ cần xác định các cạnh
ngoài của Ti có thể nhìn thấy được từ x i+1 . Hệ tam giác mới thu được bằng
cách nối điểm xi+1 với mỗi đỉnh của các cạnh ngoài này.

Trong hình vẽ trên điểm mới chèn vào x6 không nằm trong đường tròn
ngoại tiếp của bất kỳ tam giác nào. Các cạnh x1 x2 và x2 x3 có thể nhìn thấy
được từ x6 , vì vậy hệ tam giác mới thu được bằng cách nối x6 với các đỉnh
x1 , x2 và x 3. Rõ ràng các đường tròn ngoại tiếp của các tam giác x1 x2 x6
và x 2 x3 x6 không chứa ba điểm nút còn lại vì vậy tính chất đường tròn
ngoại tiếp được thỏa mãn.
Khi thêm một điểm mới vào hệ tam giác Delaunay, hệ tam giác mới sẽ

được đánh giá theo một vài tiêu chuẩn hình học và vật lý.
12


• Tiêu chuẩn hình học: Các tam giác phải trơn, nhẵn và có kích thước,

hình dạng tương tự nhau.
• Tiêu chuẩn vật lý: Mật độ điểm lưới trong miền tính toán phải ít hơn mật

độ điểm lưới là nghiệm của phương trình vi phân từng phần.
1.1.5 Các phương pháp chèn điểm mới
Hệ tam giác Delaunay ban đầu dựa trên việc lựa chọn các điểm biên và
áp dụng thuật toán Bowyer Watson chèn các điểm một cách tuần t ự vào bên
trong miền tính toán tại các điểm được lựa chọn và xây dựng lại hệ tam giác
bao gồm các điểm mới. Tiếp theo chúng ta sẽ trình bày hai cách tiếp cận để
chèn các điểm vào bên trong miền tính toán.
• Thêm điểm mới vào tâm đường tròn ngoại tiếp tam giác.

Các điểm mới sẽ được thêm vào tại vị trí tâm của các đường tròn ngoại
tiếp tam giác. Một điểm mới được thêm vào không nên quá gần các điểm nút
đã tồn tại, vì vậy khi thêm điểm mới vào tâm đường tròn ngoại tiếp tam giác
thì ít nhất điểm này cũng cách đều ba đỉnh của tam giác đó. Vấn đề đặt ra là
ta sẽ chọn tam giác nào để thêm điểm mới vào. Trước khi áp dụng thuật toán
này ta cần sắp xếp các tam giác theo chất lượng của chúng, bắt đầu từ
những tam giác có chất lượng xấu nhất. Một tam giác có chất lượng xấu nếu
nó là tam giác gầy, mỏng hoặc có góc tù. Các tam giác này sẽ được nhận
biết thông qua một tiêu chuẩn đó là tỉ lệ khía cạnh.
Tỉ lệ khía cạnh A.R. của tam giác ABC được định nghĩa là R/2r trong đó
r, R lần lượt là bán kính đường tròn nội tiếp, ngoại tiếp tam giác ABC. Diện
tích tam giác ABC được tính theo công thức:

S = p(p − a)(p − b)(p − c) = p.r =

abc

4R

p=a+b+c
2

⇒A.R. =

abc

8(p − a)(p − b)(p − c)

Nếu tam giác là tam giác đều thì A.R. = 1. Rõ ràng là nếu ba đỉnh của
tam giác càng gần như nằm trên một đường thẳng thì p sẽ càng gần bằng
giá trị của a, b hoặc c và tỉ lệ khía cạnh càng lớn. Với ý nghĩa đó tỉ lệ khía
cạnh đo độ gầy của một tam giác. Như vậy ta có thể đưa ra danh sách các
tam giác có chất lượng xấu bằng cách
• Thêm vào danh sách các tam giác có diện tích lớn hơn 1.5 lần diện tích

của tam giác đều có cạnh là cạnh lớn nhất của tam giác đó. Bước này
sẽ loại bỏ tất cả các tam giác có diện tích lớn.
13


Hình 1.3: Đường tròn ngoại tiếp và đường tròn nội tiếp của tam giác ABC

• Thêm vào danh sách các tam giác có bán kính đường tròn ngoại tiếp


lớn và tỉ lệ khía cạnh cao. Như vậy các tam giác nhỏ nhưng có tỉ lệ khía
cạnh cao ở gần biên sẽ được giữ lại.
Tiêu chuẩn để đánh giá tỉ lệ khía cạnh cao là dựa vào kinh nghiệm,
thông thường tỉ lệ khía cạnh tiêu chuẩn là 1.5. Đây là tỉ lệ khía cạnh của tam
o
giác cân có góc ở đỉnh nằm trong khoảng 24 − 104 .
Sử dụng ý tưởng trên thuật toán thêm điểm mới vào tâm đường tròn
ngoại tiếp tam giác được tiến hành theo các bước sau đây:
(i) Thiết lập hệ tam giác ban đầu sử dụng các điểm biên dữ liệu và thuật
toán Bowyer Watson.
(ii) Xắp xếp các tam giác theo chất lượng của chúng, chọn ra danh sách
các tam giác có chất lượng xấu, bắt đầu từ tam giác có chất lượng xấu nhất.
(iii) Lấy tam giác đầu tiên trong danh sách và thêm một điểm mới vào vị
trí tâm đường tròn ngoại tiếp .
(iv) Chia lại sử dụng thuật toán Bowyer Watson.
(v) Thêm các tam giác mới vào danh sách chất lượng xấu nếu chúng
không đủ tốt.
Tuy nhiên khi sử dụng thuật toán này chèn điểm mới vào tâm đường tròn
ngoại tiếp của tam giác được lựa chọn, có hai trường hợp sau đây cần phải
loại bỏ:
• Tâm của tam giác được lựa chọn không nằm bên trong miền tính toán.
• Tâm của tam giác được lựa chọn qua gần biên của miền tính toán.

Một hạn chế nữa của phương pháp trên là mật độ lưới của hệ tam giác mới
thu được trên toàn miền bị ảnh hưởng bởi mật độ lưới dọc biên của miền, do đó
kích thước của các tam giác ở xa biên có thể làm cho nghiệm bằng số
14



của các phương trình vi phân trong miền không được đẹp. Để khắc phục vấn
đề này ta đưa ra một hàm chỉ vị trí f ( x), hàm này cho ta giá trị của bán kính
đường tròn ngoại tiếp tại vị trí x trong miền. Ta có thể thu được biểu thức của
hàm f ( x) bằng cách nội suy các giá trị nút quy định trên lưới nền thích hợp.
Giả sử một tam giác có tâm và bán kính đường tròn ngoại tiếp tam giác lần
lượt là X, R, ta định nghĩa tham số α = R/ f (X) . Ta sẽ thêm điểm mới vào
tam giác có giá trị α lớn nhất. Sau một số vòng lặp tất cả các tam giác trong
hệ thu được đều có giá trị α ≤ 1, điều này có nghĩa là tất cả các tam giác đã
đạt được kích thước như mục tiêu đề ra.
• Thêm điểm mới vào đoạn thẳng Voronoi.

Thay vì thêm điểm mới vào tâm đường tròn ngoại tiếp của các tam giác
ta sẽ thêm điểm mới dọc theo một cạnh của đa giác Voronoi. Khác với cách
tiếp cận trước, ở đây vị trí của điểm mới chèn vào sẽ được xác định trước và
kích thước của ô lưới yêu cầu đạt được sau một vài vòng lặp. Kỹ thuật này
có thể tạo ra một hoặc một vài tam giác mới có kích thước phù hợp và kết
quả sau khi chèn điểm mới vào, ta thu được các tam giác xấp xỉ đều trên
toàn miền tính toán.
Công thức của thuật toán:
Hệ tam giác Delaunay ban đầu được chia thành các tam giác ngoài và tam
giác trong. Các tam giác ngoài chứa ít nhất một cạnh biên còn các tam giác
trong thì không. Các tam giác trong được chia thành hai loại tam giác đã được
chấp nhận và chưa được chấp nhận . Các tam giác đã được chấp nhận là các
tam giác có bán kính đường tròn ngoại tiếp < 1.5 f ( X) (X là tâm đường tròn
ngoại tiếp tam giác đó). Các tam giác còn lại là chưa được chấp nhận .
Thuật toán bắt đầu bằng việc xét các tam giác chưa được chấp nhận, có
một cạnh chung với tam giác đã được chấp nhận và ta chọn tam giác có bán
kính đường tròn ngoại tiếp lớn nhất.
Trong hình vẽ trên ta có tam giác ABD là tam giác chưa được chấp nhận
với bán kính đường tròn ngoại tiếp là R ABD và tam giác ABC là tam giác đã

được chấp nhận. Cạnh chung AB được gọi là cạnh hoạt động. Đoạn thẳng
Voronoi của hai tam giác này là đoạn EF (E, F lần lượt là tâm đường tròn
ngoại tiếp tam giác ABD và ABC), EF⊥AB, EF ∩ AB = {M}.
Bây giờ ta thêm điểm X vào vị trí nào đó trên đoạn EF sao cho ta
ABD sẽ được thay thế bằng tam giác được chấp nhận ABX.
Kí hiệu f M là giá trị của f (X) tại M. Đặt
Nếu X
2 +) 2

(p
+q
và B là p (đường tròn tâm M), do đó ta có:

)/2q. Vì bán kính nhỏ nhất của bất kí đường

+) Nếu f M ≤ p, chọn X sao cho bán kính đường tròn ngoại tiếp RA
tam giác ABX bằng p. Điều này xảy ra khi MX = p và AXB


15


Hình 1.4: Các tam giác chấp nhận được và không chấp nhận được

+) Nếu f M > p chọn vị trí của X sao cho
2

2

RABX = min( f M , (p + q )/2q)

Điều này xảy ra khi X nằm giữa F và vị trí của X ở trường hợp trên khi đó
2

= RABX + (RABX ) −

MX
Trong cả hai trường hợp ta đều có:

[

+) Nếu f M < p

=

AXB

X A, X B sẽ là các cạnh hoạt động tiếp theo.
Giả sử tam giác D AX là tam giác chưa được chấp nhận, chúng ta sẽ tìm
vị trí điểm Y trên đường thẳng trực giao của AX sao cho tam giác AXY là tam
giác chấp nhận được. chúng ta có thể đánh lại nhãn p là p0 và gọi N là trung



điểm của AX. Đặt AN = p1 = p0 / 2.
[

+) Nếu p1 > f N thì bước trước được lặp lại và Y sẽ được chọn sao cho
=

o


.

AYX90
+) Nếu p1 < f N , giả sử q > p0 và RAY X = f N . Theo phương trình (2.1.1)
và (2.1.2) ta có:
2

2

NY = d1 = f N +( f N ) − (p1 )
16

o

90


⇒ tan θ =
Chú ý rằng giá trị hàm f tại M và N về cơ bản là giống nhau ( và cùng
bằng f N ), vì vậy p1 < f N <








⇒ 45 < tan θ < 67.5


Hình 1.5: Chèn điểm vào đoạn thẳng Voronoi

Nếu AY được chọn là cạnh hoạt động tiếp theo, chúng ta có:

(AY )

2

= (2 p 2 )

2

và sử dụng phương trình (2.1.3) ta thu được

Do chúng ta giả thiết p1 < f N <
1



2

= (p1 ) + (d1 )

2


17



Nếu quá trình này được lặp lại với giả thiết f gần như bằng hằng số thì ta
có các bước tổng quát như sau:
2

(pn+1 ) =


Giá trị của pn hội tụ đến giá trị p. Theo (2.1.4) ta có

Nghiệm của phương trình trên là



p=

3

2

f

N

tương tự giá trị của dn cũng hội tụ đến giá trị d, từ (2.1.5)
3

⇒d=

2


f

N

Tam giác có giá trị của d và p như trên là tam giác đều có bán kính
đường tròn ngoại tiếp là f N , vì vậy sau một số vòng lặp ta sẽ thu được lưới
mà các phần tử của nó là các tam giác đều.
1.1.6 Hạn chế hình dạng của hệ tam giác Delaunay
Một cách để đảm bảo các tam giác biên vẫn còn nguyên vẹn trong quá
trình tái kết nối lại hệ tam giác khi chèn thêm điểm mới vào là sử dụng một
phiên bản hạn chế hình dạng của hệ tam giác Delaunay mà không ảnh
hưởng đến các liên kết gần biên.
Xét hệ tam giác T bất kì có thể chưa thỏa mãn tiêu chuẩn Delaunay. P là
một điểm mới được chèn vào. Kí hiệu (P) là tập hợp các tam giác có đường
tròn ngoại tiếp chứa điểm P. ( P) được gọi là hố Delaunay. Chú ý rằng P là
điểm duy nhất nằm trong (P). Thật vậy, giả sử A là một đỉnh của ít nhất một
tam giác trong (P). Nếu có một tam giác S ∈/ (P) nhận A là một đỉnh thì
A không phải là điểm trong của (P). Vì vậy chúng ta cần chỉ ra rằng tồn tại
một tam giác như thế.
Gọi {Si } là tập hợp các tam giác nhận A là một đỉnh và Ci là đường tròn
ngoại tiếp tương ứng với tam giác Si . Si ∈ (P) nếu điểm mới chèn vào nằm
bên trong Ci . Vì vậy, một đỉnh A là điểm trong của (P) nếu các điểm P nằm
bên trong ∩Ci . Tuy nhiên nếu A là một điểm trong của (P) thì miền bên
18


Hình 1.6: Minh họa thành phần chủ yếu

trong của ∩Ci là rỗng vì vậy A chỉ có thể là điểm nằm trên tất cả các đường
tròn của {Si }. Vì vậy có ít nhất một tam giác của {Si } không nằm bên trong

(P) và A không phải là điểm trong của (P).
Trong trường hợp tổng quát, hố Delaunay không còn là các kết nối đơn
giản nữa. Với mục đích tái kết nối các tam giác, chúng ta xét miền kết nối
đơn giản lớn nhất của hố Delaunay có chứa điểm P. Miền này được gọi là
thành phần chủ yếu của hố Delaunay và được kí hiệu là P .
Rõ ràng là tất cả các cạnh biên của P đều có thể nhìn thấy được từ P. Thật
vậy vì P không rỗng nên có ít nhất một tam giác chứa điểm P thuộc P . Giả sử
tam giác đó là tam giác ABC , cho tam giác BCD nằm bên trong P , thì điểm P
phải nằm bên trong đường tròn ngoại tiếp tam giác BCD. Khi đó các điểm P , B,
C, D là bốn đỉnh của một tứ diện lồi, tất cả các cạnh của tứ diện này đều co thể
nhìn thấy từ P. Tiếp tục quá trình này đối với tất cả các tam giác của P , rõ ràng
là tất cả các cạnh của P đều có thể nhìn thấy từ P (hình 1.6).
• Xây dựng hệ tam giác bị hạn chế
Chúng ta giả thiết các tam giác nhất
định của hệ tam giác Delaunay là cố định, đặc biệt là các tam giác liền kề biên. Kí
¯
hiệu tập hợp các tam giác đó là . Các
tam giác của

¯

T

không tham gia trong việc xây dựng các hố Delaunay, tức là

T

nếu hố được tạo ra từ sự ra đời của một điểm mới có chứa một hoặc nhiều tam
giác cố định thì chúng ta hạn chế chỉ tái kết nối trong phần của hố không chứa bất
¯

kỳ một tam giác cố định nào. Kí hiệu Υ( P) là phần này của hố thì Υ( ) = ( ) − . Kí
hiệu Υ là miền kết nối đơn giản lớn nhất của Υ( ) có
PPTP P chứa P. Tương tự ΥP được gọi là thành phần chủ yếu
¯ của Υ(P), ΥP chỉ tồn
tại nếu điểm không nằm bên trong bất kỳ một tam giác nào của .

P

T

Tương tự chúng ta cũng chứng minh được tất cả các cạnh biên của Υ P đều nhìn thấy từ P và các
đỉnh¯của ΥP đều được kết nối với P , do đó xây dựng được hệ tam giác hạn chế mà các tam giác cố định
của vẫn còn nguyên vẹn.

T

• Bảo toàn biên của hệ tam giác
19


Một yêu cầu quan trọng của quá trình tạo lưới là biên của miền tính toàn
được bảo toàn. Quá trình thiết lập hệ tam giác hạn chế giúp chúng ta giữ
được một tập hợp con các tam giác biên được xây dựng từ các cạnh tạo
thành biên. Các tam giác biên này có thể tạo ra bởi bất kỳ một quá trình phù
hợp nào đó. Vì vậy mà hệ tam giác thu được bảo toàn biên và các tam giác
bên trong thỏa mãn tiêu chuẩn Delaunay.
Một cách tiếp cận khác được Weatherill và Hassan phát triển đó là: áp
dụng tiêu chuẩn Delaunay để tạo ra lưới có biên phù hợp, bao gồm cả các
cạnh biên đã được khôi phục trong quá trình chia lưới Delaunay triangulation
và sau đó xóa tất cả các tam giác nằm bên ngoài miền tính toán.

1.1.7 Phép chia lưới Delaunay triangulation trong không gian ba chiều
Trong không gian ba chiều, lưới không cấu trúc của phép đặt tam giác
Delaunay thu được bằng cách liên kết các đỉnh của các khối đa diện Voronoi
mà có một mặt chung. Mỗi đỉnh của khối đa diện Voronoi là tâm của khối cầu
đi qua bốn đỉnh tạo thành tứ diện và không có bất kỳ một điểm nào khác nằm
bên trong khối cầu.
Thuật toán chúng ta hay sử dụng để chia lưới Delaunay trong không
gian ba chiều là thuật toán dựa trên quá trình tuần tự Bowyer Watso n: Mỗi
điểm của lưới được đưa vào một hệ tam giác Delaunay đã tồn tại, phá vỡ
các liên kết và tái kết nối để thu được một hệ tam giác Delaunay mới. Trong
trường hợp tổng quát, các bước của thuật toán tương tự như trong không
gian hai chiều.Thuật toán bắt đầu với một hệ tam giác Delaunay được tạo
thành bởi một siêu tứ diện hoặc một siêu lập phương, phân chia thành năm
tứ diện chứa tất cả các điểm khác.Các điểm còn lại phát sinh trong quá trình
hình thành lưới sẽ được đưa vào tại một thời điểm. Sau khi mỗi điểm được
thêm vào, thuật toán Bowyer Watson được áp dụng để tạo ra các hố Del
aunay, sau đó tái kết nối để thu được hệ tam giác Delaunay mới.
Thuật toán trên có một nhược điểm là không bảo toàn được bề mặt biên
của miền tính toán. Để khắc phục hạn chế này ta phải đưa ra các hạn chế
đối với hệ tam giác Delaunay. Các hạn chế đối với hệ tam giác Delaunay
trong không gian ba chiều cũng tương tự như trong không gian hai chiều.
• Đối với cách tiếp cận thứ nhất: các tứ diện có các mặt hợp thành bề mặt

biên được giữ nguyên trong quá trình tái kết nối. Các tứ diện biên này
được thiết lập ngay từ hệ phép đặt tam giác Delaunay ban đầu. Các
bước tiếp theo là chèn điểm mới vào, xác định một hố hình sao có chứa
điểm đó và tái kết nối các cạnh của hố đó. Lưới thu được bảo toàn biên
và các tam giác nhỏ bên trong thỏa mãn tiêu chuẩn Delaunay.
• Đối với cách tiếp cận thứ hai: Thuật toán bắt đầu bằng việc xác định các


điểm nút trên biên, kết nối các điểm này để tạo ra bề mặt của hệ tam giác

20


biên. Sau đó xây dựng hệ tam giác Delaunay mới bằng cách chèn các
điểm bên trong và áp dụng thuật toán Bowyer Watson. Sau bước n ày,
các tứ diện cắt bề mặt biên sẽ được biến đổi để khôi phục lại biên. Nếu
có một mặt biên không hiện diện ở phép đặt tam giác Delaunay mới, đó
là do các cạnh và các mặt của tứ diện của phép đặt tam giác Delaunay
cắt mặt biên này. Vì một mặt được tạo nên từ ba cạnh, nên để khôi phục
lại một mặt ta phải khôi phục lại ba cạnh trước. Quá trình khôi phục lại
cạnh biên bao gồm các bước sau: Đầu tiên, ta tìm các tứ diện giao với
các cạnh của mặt, sau đó, thiết lập tiêu chuẩn giao nhau của mỗi tứ diện
với các cạnh biên, cho phép thực hiện các phép biến đổi trực tiếp để
khôi phục lại cạnh biên. Các tứ diện được biến đổi một cách địa phương
thành các tứ diện mới có hiện diện các cạnh yêu cầu. Để khôi phục lại
các mặt biên ta cũng thực hiện quá trình tương tự.
1.2 Phương pháp tịnh tiến biên (Advancing Front)
1.2.1 Giới thiệu
Trong một số bài toán, việc sử dụng phương pháp Delaunay Triangulation
có thể thu được lưới không thỏa mãn. Chẳng hạn như bài toán xác định
dòng chảy nhớt. Bài toán này yêu cầu phải tạo ra các phần tử tam giác có
bán kính tỉ lệ cao ở vùng lớp biên. Vì vậy trong trường hợp này nếu chỉ sử
dụng phương pháp chia lưới Delaunay Triangulation ta sẽ thu được lưới
không thỏa mãn. Một vấn đề khác đối với phương pháp Delaunay
Triangulation là các nút biên sẽ là các đỉnh của hệ tam giác cuối cùng, vì vậy
mà không có gì có thể đảm bảo là các cạnh biên giữa các nút sẽ trùng với
biên của miền tính toán, nói cách khác là tính nguyên vẹn của biên không
được bảo toàn và cần thiết phải thực hiện thêm một số bước nữa.

Phương pháp tịnh tiến biên (AFT) được George đưa ra lần đầu tiên năm
1971 , là phương pháp tạo lưới không cấu trúc bảo toàn tính nguyên vẹn của
biên và có thể tạo ra các tam giác có bán kính tỉ lệ cao ở các vùng lớp biên. Khi
sử dụng phương pháp này các đường biên ngoài và biên trong (nếu có) được
rời rạc thành các đoạn thẳng bằng cách chọn phân bố các nút trên biên của
miền tính toán [6]. Tập hợp các cạnh biên này hợp thành một ’front’ ban đầu.
front sẽ di chuyển vào bên trong miền tính toán khi các điểm nút mới và các
cạnh mới được tạo thành. Các phần tử tam giác được tạo thành bằng cách xóa
các cạnh cũ đi. Các đỉnh của một phần tử tam giác mới bao gồm hai nút của
một đoạn thẳng của một front và một nút khác hoặc là của front hoặc là mới
được tạo ra. Quá trình này tiếp tục cho đến khi không có cạnh nào còn lại trong
front, front không còn nữa và ta thu được các phần tử tam giác trong miền tính
toán. Chú ý là việc lựa chọn các điểm nút trên đường cong biên cần phụ thuộc
chặt chẽ vào yêu cầu kích thước của các ô lưới vì các cạnh của front
21


×