Ch−ơng trình tính toá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 74 - 76)

Ch−ơng trình tính toán đ−ợc viết bằng ngôn ngữ lập trình Fortran giải số hệ ph−ơng trình n−ớc nông hai chiều không dừng tổng quát d−ới dạng tích phân của dạng bảo toàn (3.14) có xét đến sự tồn tại gián đoạn bằng ph−ơng pháp thể tích hữu hạn và ph−ơng pháp của Godunov với xấp xỉ hàm dòng kiểu Roe. Các hệ ph−ơng trình sai phân và kỹ thuật phân rã đã đ−ợc trình bày. Ch−ơng trình tính toán sử dụng l−ới không cấu trúc với các ô tính toán là các đa giác lồi với số cạnh tùy ý và có tính mềm dẻo cao. Với −u điểm này các dạng miền tính phức tạp có thể đ−ợc mô tả rất chi tiết tuy nhiên việc chia l−ới có thể gặp những khó khăn nhất định và tốn thời gian.

3.3.2 Điều kiện biên và điều kiện ban đầu

Các điều kiện biên áp dụng đ−ợc phân chia t−ơng ứng theo biên cứng hay biên mềm.

Với biên cứng điều kiện biên dạng phản xạ đ−ợc sử dụng [8, pp.344].

Với các biên mềm một dạng điều kiện biên áp dụng các công thức thực nghiệm đ−ợc sử dụng [57].

Với biên mềm là biên tràn tự do công thức thực nghiệm cho dòng chảy tràn đ−ợc sử dụng để xác định vận tốc tại biên.

Với biên mềm là các biên mở (open boundary) thì một dạng công thức thực nghiệm khác đ−ợc trình bày d−ới đây:

73 đi ra khỏi phần tử nh− sau [57]:

Biên vào với giả thiết dòng chảy êm Biên ra với giả thiết dòng chảy êm

hR =hB hR =hB

uR =uL + g( hLhR ) uR =uL + g( hLhR)

vR =0 vR =vL

Biên vào với giả thiết dòng chảy xiết Biên ra với giả thiết dòng chảy xiết

hR =hB hR =hL

uR =uB uR =uL

vR =0 vR =vL

Ký hiệu B chỉ các giá trị cho tr−ớc. Giá trị địa ph−ơng tại mọi thời điểm của số Froud tại vị trí biên đ−ợc sử dụng để quyết định loại điều kiện biên sẽ đ−ợc sử dụng.

Các điều kiện ban đầu đ−ợc cho theo tính chất đặc tr−ng riêng ban đầu của mỗi bài toán.

3.3.3 Các thủ tục tính toán chính

• Thủ tục START: thủ tục đầu tiên đ−ợc gọi khi chạy ch−ơng trình. Thủ tục này đọc các file số liệu l−ới tính toán, địa hình, các điều kiện biên, điều kiện đầu v.v. thực hiện các xử lý cần thiết cho ch−ơng trình tính.

Các thủ tục trong vòng lặp:

• Thủ tục BREAKFLUX: tính toán điều kiện biên vào thông qua các số liệu và dạng điều kiện biên đã cho.

• Thủ tục APRXMT_RIEMANN_SOLVER: giải số hệ ph−ơng trình n−ớc nông hai chiều tổng quát dạng tích phân có xét đến các gián đoạn bằng ph−ơng pháp thể tích hữu hạn và ph−ơng pháp của Godunov sử dụng xấp xỉ Roe cho hàm dòng trên cạnh.

• Thủ tục GETNEWVALUE: cập nhật và trao đổi giá trị các biến, các giá trị tính toán đ−ợc của b−ớc tr−ớc đ−ợc thay bằng các giá trị mới tính.

74

thực hiện các chức năng cụ thể nhất định hỗ trợ tính toán, hiển thị kết quả đồ hoạ và quản lý ch−ơng trình.

3.3.4 Sơ đồ khối mô đun tính toán

Hình 3.8 Sơ đồ khối tổng quát của ch−ơng trình tính toá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 74 - 76)