Các ph−ơng pháp sinh l−ới không cấu trúc đã đ−ợc phát triển

Một phần của tài liệu mô hình số giải hệ phương trình nước nông hai chiều trên lưới không cấu trúc. một số kiểm nghiệm và ứng dụng (Trang 28 - 33)

Một số ph−ơng pháp sinh l−ới phổ biến đã đ−ợc phát triển nhiều gồm:

• Ph−ơng pháp phân chia và ánh xạ (Decomposition and mapping), về cơ bản là ph−ơng pháp phân chia đa khối trong mỗi khối sử dụng phép nội suy TFI (TransFinite Interpolation).

• Ph−ơng pháp xếp chồng một l−ới chuẩn lên miền tính sau đó tiến hành làm phù hợp (chỉnh sửa) các phần tử biên.

• Ph−ơng pháp tịnh tiến biên (advancing front)

• Ph−ơng pháp sử dụng phép phân chia tam giác Delaunay (Delaunay triangulation).

• Các ph−ơng pháp ít phổ biến hơn nh− các ph−ơng pháp sinh l−ới lai có và không có cấu trúc, ph−ơng pháp làm mịn l−ới.

Trong số đó các ph−ơng pháp phổ biến nhất là Delaunay triangulation và ph−ơng pháp Advancing front.

27

• Decomposition and mapping: Đây là ph−ơng pháp đ−ợc phát triển sớm nhất và vẫn đang đ−ợc sử dụng trong nhiều phần mềm chia l−ới. Miền tính toán đ−ợc phân chia một cách t−ơng tác với nhau thành các miền nhỏ. Sau đó các miền riêng biệt đ−ợc chia l−ới sử dụng một ph−ơng pháp ánh xạ nào đó. Đó có thể là các ph−ơng pháp nội suy hay ph−ơng pháp sử dụng hàm cơ sở [41].

• Các ph−ơng pháp dựa trên các l−ới cơ sở (Grid Based Methods): Trong các ph−ơng pháp này một l−ới tam giác hay l−ới hình chữ nhật đ−ợc chồng lên miền tính chùm qua các biên. Sau đó l−ới sẽ đ−ợc “cắt xén”, căn chỉnh để phù hợp với miền tính. Cuối cùng các nút trên các cạnh biên đ−ợc dịch chuyển đặt lên biên của miền tính và nếu cần thiết thì các tứ giác sẽ đ−ợc phân chia thành các tam giác (Hình 1.3).

Hình 1.3 Chồng l−ới, cắt xén và phân chia thành các tam giác

• Advancing front: Ph−ơng pháp này dựa trên ý t−ởng đơn giản nh− Hình 1.4 và gồm có các b−ớc (i) rời rạc hoá biên (với miền hai chiều là tạo thành một đa giác với các cạnh nằm trên biên miền tính). Đây đ−ợc gọi là front ban đầu. (ii) thêm các tam giác hoặc các tứ diện vào miền tính với ít nhất một cạnh hay mặt trên front. Trong mỗi b−ớc sẽ cập nhật front mới. (iii) khi front trống, chẳng hạn trong miền hai chiều không còn cạnh nào trên front khi đó quá trình chia l−ới kết thúc.

28

Hình 1.4 Ph−ơng pháp Advancing front

• Delaunay triangulation: Phép chia l−ới Delaunay triangulation của một tập hợp các điểm có một lý thuyết đ−ợc phát triển sâu rộng [42]. Cho tr−ớc một tập hợp các điểm rời rạc trong mặt phẳng, một đa giác Voronoi của một điểm P là một miền gần điểm P hơn bất kỳ điểm nào khác. Phân hoạch Voronoi hay phân hoạch Dirichlet đ−ợc tạo nên từ những đa giác Voronoi nh− vậy và phép chia l−ới tam giác Delaunay sẽ là một song hành của phân hoạch Dirichlet. Điều này đ−ợc minh họa trong Hình 1.5.

Hình 1.5 Phép chia tam giác Delaunay và phân hoạch song hành Voronoi hay Dirichlet

Phần tử mới

Mặt mới Mặt ban đầu

Phần tử mới

Mặt ban đầu Mặt mới

Hình tròn trống

Phân hoạch Voronoi Hệ tam giác Delaunay

29

Tam giác Delaunay có hai tính chất hữu ích có thể áp dụng trong việc chia l−ới: (i) Không có điểm nào nằm trong đ−ờng tròn ngoại tiếp của bất kỳ một tam giác nào khác. Tính chất đ−ờng tròn ngoại tiếp “trống” (empty) này đ−ợc sử dụng trong một số thuật toán chia tam giác Delaunay. Tính chất này đúng trong mọi không gian. (ii) Trong không gian hai chiều, phép chia tam giác Delaunay cực đại hoá góc nhỏ nhất cho tất cả các phần tử tam giác. Tam giác Delaunay là duy nhất trừ tr−ờng hợp sự phân bố của các điểm bị suy thoái. Trong tr−ờng hợp hai chiều, bốn điểm nằm trên một đ−ờng tròn (Hình 1.6).

Hình 1.6 Phân bố của các điểm bị suy thoái.

Có nhiều thuật toán cho việc phân chia tam giác Delaunay [42] 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 [43, 44]. 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 sẽ đ−ợc dùng để tạo hệ l−ới tam giác Delaunay. Thuật toán đ−ợc thực hiện theo các b−ớc sau đây: (i) Thêm một điểm vào hệ tam giác. (ii) Tìm tất cả các tam giác đã có, những tam giác mà đ−ờng tròn ngoại tiếp của chúng chứa điểm mới (Hình 1.7). Tam giác chứa điểm mới phải đ−ợc tìm thấy đầu tiên. Sau đó các tam giác lân cận của tam giác này sẽ đ−ợc tìm kiếm và tiếp nữa là đến các tam giác lân cận của các tam giác đó v.v. cho đến khi không một tam giác lân cận nào có đ−ờng tròn ngoại tiếp chứa điểm mới đó. (iii) Xoá đi các tam giác đó và luôn cho ta một đa giác lồi. (iv) Nối điểm mới này với tất cả các đỉnh của đa giác lồi này (Hình 1.7).

30

Hình 1.7 Phép chia tam giác Bowyer-Watson: Các đ−ờng tròn ngoại tiếp chứa điểm mới và hệ tam giác mới nhận đ−ợc

Cũng nh− tất cả các ph−ơng pháp chia tam giác Delaunay khác, thuật toán Bowyer-Watson giả thiết rằng các điểm sẽ đ−ợc chia là đã biết và do đó chỉ xác định một nửa bài toán sinh l−ới. Các điểm có thể đ−ợc sinh tr−ớc (pre-generated), chẳng hạn từ các đỉnh của một l−ới có cấu trúc xếp chồng lên miền tính với một số cách làm trơn và lọc phân bố điểm này để nhận đ−ợc hệ tam giác có chất l−ợng tốt. Tuy nhiên ph−ơng pháp hữu ích nhất là sinh các điểm đồng thời với sinh hệ tam giác, lựa chọn các điểm để cải thiện chất l−ợng hệ tam giác [45]. Thuật toán sinh l−ới đ−ợc tiến hành gồm các b−ớc sau đây: (i) Thiết lập hệ tam giác ban đầu cho một miền chữ nhật chứa miền tính. (ii) Chèn các điểm biên vào hệ tam giác này sử dụng thuật toán Bowyer-Watson. (iii) Xắp xếp các tam giác theo chất l−ợng của chúng, bắt đầu từ chất l−ợng xấu nhất. (iv) Lấy tam giác đầu tiên trong danh sách và chèn một điểm mới vào vị trí tâm đ−ờng tròn ngoại tiếp điều này tạo ra trong phép chia tam giác các góc của các phần tử nằm trong khoảng 30o đến 120o trong không gian 2 chiều. (v) Chia lại sử dụng thuật toán Bowyer-Watson. (vi) Chèn tam giác mới vào danh sách chất l−ợng nếu chúng không đủ tốt.

Ph−ơng pháp này cho phép tạo ra một trình sinh l−ới rất hiệu quả. L−ới không trơn bằng l−ới sinh bởi ph−ơng pháp Advancing front nh−ng thời gian chia thì nhanh hơn. Tuy nhiên có thể có những vấn đề về tốc độ, đặc biệt là trong pha ban đầu, khi có những phần tử l−ới quá méo. Một biến thể của ph−ơng pháp này, tạo l−ới trơn hơn, đó là sinh các điểm l−ới bên trong bằng ph−ơng pháp Advancing front [46].

Đối với vấn đề chia l−ới phù hợp với biên, phép chia tam giác Delaunay sinh một tập hợp các điểm và không quan tâm đến các cạnh biên cố định. (adsbygoogle = window.adsbygoogle || []).push({});

31

Hình 1.8 Hệ chia tam giác Delaunay không phù hợp với biên

Có hai cách để ép hệ chia tam giác Delaunay tuân theo biên một cách đúng đắn. Trong tr−ờng hợp hai chiều ta có thể định nghĩa hệ chia tam giác Delaunay c−ỡng bức [47]. Trong một hệ chia tam giác Delaunay c−ỡng bức các cạnh đ−ợc tiền định nghĩa nằm trong hệ chia tam giác, tính chất đ−ờng tròn ngoại tiếp trống đ−ợc cải tiến để áp dụng chỉ cho những điểm mà có thể nhìn thấy đ−ợc từ ít nhất một điểm của tam giác, nơi mà các cạnh đ−ợc tiền định nghĩa của tam giác đ−ợc xử lý nh− là đ−ờng mờ trong Hình 1.8. Sự tồn tại của hệ chia tam giác Delaunay c−ỡng bức đảm bảo rằng tính có thể có của việc cải tiến một hệ chia tam giác Delaunay tuân theo biên thông qua việc chuyển đổi các cạnh, Hình 1.9, hoặc hơn nữa là chia lại hệ tam giác.

Hình 1.9 Chuyển đổi cạnh để tạo một hệ chia tam giác Delaunay c−ỡng bức tuân theo biên.

Một phần của tài liệu mô hình số giải hệ phương trình nước nông hai chiều trên lưới không cấu trúc. một số kiểm nghiệm và ứng dụng (Trang 28 - 33)