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

THỰC HÀNH dự báo số TRỊ các PHƯƠNG PHÁP SAI PHÂN hữu hạ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 (221.92 KB, 34 trang )

TRƯỜNG ĐẠI HỌC TÀI NGUN VÀ MƠI TRƯỜNG TP.HỒ CHÍ MINH

KHOA KHÍ TƯỢNG - THỦY VĂN
--------------------------

BÁO CÁO
THỰC HÀNH DỰ BÁO SỐ TRỊ

CÁC PHƯƠNG PHÁP SAI PHÂN HỮU HẠN
GV.Phạm Thị Minh
Các thành viên nhóm 11:

1. Đặng Thị Diễm
2. Trần Thị Thanh Thơm
3. Đỗ Ngọc Dung

Tp. Hồ Chí Minh, 2017


MỤC LỤC
Chương 1: MỞ ĐẦU.........................................................................................................................................3
Chương 2: CÁC PHƯƠNG PHÁP SAI PHÂN HỮU HẠN............................................................................4
2.1 Hình thành sai phân hữu hạn...................................................................................................................4
2.2 Đạo hàm bậc nhất.....................................................................................................................................4
2.2.1. Sai phân lùi:.....................................................................................................................................5
2.2.2. Sai phân tiến:....................................................................................................................................6
2.3 Đạo hàm bậc hai.......................................................................................................................................8
2.3.1. Các bước tính tốn:..........................................................................................................................9
2.3.2. Code:................................................................................................................................................9
2.4 Tốn tử Laplaxian..................................................................................................................................12
2.4.1. Các bước tính tốn:........................................................................................................................15


2.4.2. Code:..............................................................................................................................................15
2.5 Tốn tử Jacobian....................................................................................................................................23
2.5.1. Jacobian bậc hai.............................................................................................................................25
2.5.2. Jacobian bậc bốn............................................................................................................................25
2.5.3. Các bước tính tốn.........................................................................................................................26
2.5.4. Code...............................................................................................................................................26
Chương 3: KẾT QUẢ......................................................................................................................................28
3.1. Đạo hàm bậc hai:..................................................................................................................................28
3.1.1. Input:..............................................................................................................................................29
3.1.2. Output:............................................................................................................................................29
3.1.3. Kết quả thu được:...........................................................................................................................29
3.2. Laplaxian:..............................................................................................................................................29
3.2.1. Input:..............................................................................................................................................29
3.2.2. Output:............................................................................................................................................29
3.2.3. Kết quả thu được:...........................................................................................................................30
3.3. Jacobian:................................................................................................................................................31
3.3.1. Input:..............................................................................................................................................31


3.3.2. Output:............................................................................................................................................31
3.3.3. Kết quả thu được:...........................................................................................................................31


NHẬP MƠN
Đây là một giáo trình nhập mơn về phương pháp luận của dự báo thời tiết số,
được viết cho trình độ sinh viên tốt nghiệp và làm tốt nghiệp ngành Khí tượng,
đồng thời cũng thích hợp cho những cán bộ khoa học muốn tìm hiểu mơn này.
Tài liệu này xuất phát từ một giáo trình đào tạo đã được viết cho Tổ chức Khí
tượng thế giới (WMO) từ năm 1982, được nhiều sinh viên và cán bộ khoa học từ
nhiều Trung tâm nghiên cứu và đào tạo trên thế giới quan tâm.

Mở đầu giáo trình là việc giới thiệu hệ phương pháp sai phân hữu hạn trình bày
ở chương 2, kỹ thuật sai phân không gian, các sơ đồ bậc hai và bậc bốn, biểu diễn
các toán tử Laplaxian, Jacobian và cách giải các phương trình dạng Poisson và
Helmholtz. Chương này dành cho mô tả khoảng biến đổi rất rộng của phần lớn các
sơ đồ sai phân thời gian phổ biến nhất nên dung trong dự báo thời tiết số.
Chương 3 liệt kê một số kỹ thuật tính tốc độ thẳng đứng – là biến khí tượng
khơng thám sát được, trong phần lớn các trường hợp xác định nó đều kèm theo tính
phân kỳ gió ngang. Độ thiếu chính xác nhỏ trong đo đạc gió ngang sẽ gây ra sai số
lớn trong việc xác định tốc độ thẳng đứng.
Chương 4 mô tả hai phương pháp mạnh và phổ biến để tính hàm dịng và thế
tốc độ đó là kỹ thuật lỏng dần (relaxation) và kỹ thuật biến đổi Fourier, giới thiệu
mối quan hệ giữa áp và gió. Một số quan hệ được gọi là “cân bằng” sẽ giải đối với
áp suất và cho ra trường gió, trường áp được rút ra từ các định luật cân bằng tuyến
tính và phi tuyến tính như thế nào.
Chương 5 nói về tính khách quan, giới thiệu bốn phương pháp phân tích số liệu
gần đúng từ đa thức đơn giản đến nội suy tối ưu, minh họa số liệu thơ được phân
tích như thế nào vào mảng nút lưới.
Chương 6 đưa vào những khái niệm vật lý cơ bản gắn liền với dự báo thời tiết
số, đề cập đến việc sử dụng các biến ẩm trong khí tượng cùng với một số thuật tốn
mơ tả về các khía cạnh tính tốn và một số nguyên tắc về tính ổn định.
Chương 7 giới thiệu một mơ hình đối lưu đơn giản minh họa sự tiến triển của
lự nổi điều khiển khí quyển khơ về nhiệt, bài tốn tổng hợp tham số hóa đối lưu,

1


một vài sơ đồ chung nhất xác định tốc độ mưa phát sinh từ đối lưu cumulus, ngưng
kết quy mô lớn.
Chương 8 giới thiệu biện pháp tốt nhất để mô hình hóa các thơng lượng động
lượng, nhiệt và ẩm từ bề mặt (cả trên đất và trên biển) và một số phương pháp tính

các thơng lượng này. Chương này cịn đề cập đến một lớp khí quyển của các thơng
lượng khơng đổi có độ cao khoảng vài chục mét sát bề mặt và cách tính của chúng.
Chương 9 giới thiệu cách tính vận chuyển bức xạ, sự thể hiện của độ chói bức
xạ sóng dài và sóng ngắn, vai trị của mây, cân bằng năng lượng mặt đất và kết quả
biến trình ngày của chúng.
Chương 10 giới thiệu mơ hình chính áp đơn giản áp dụng ngun tắc bảo tồn
xốy tuyệt đối, là một mơ hình hữu ích đầu tiên để bắt đầu nghiên cứu dự báo số, có
khả năng áp dụng thực tế đối với những vùng nhất định của nhiệt đới.
Chương 11 giới thiệu mơ hình dự báo thời tiết số thứ hai dựa vào nguyên tắc
bảo toàn xốy thế, giới thiệu cho người đọc mơ hình phương trình ngun thủy đầu
tiên, dự báo gió cũng như độ cao địa thế vị được thực hiện trên một đơn vị.
Chương 12 liệt kê một số tập số liệu vệ tinh hiện có và dựa vào mơ hình thích
hợp cho dự báo thời tiết số.
Chương 13 tính tốn cảnh báo, biểu diễn các sản phẩm của mơ hình. Nếu dự
báo có độ chính xác cao có thể mơ phỏng được các hiện tượng như xốy xốy thuận
thì nghiên cứu cảnh báo này có thể cho ta biết ít nhiều về chu trình sống của hiện
tượng ấy. Nếu dự báo nghèo nàn thì tính tốn cảnh báo thực hiện trên sản phẩm của
mơ hình cũng như các trường phân tích có thể cho ta những ngun nhân về thiếu
sót của mơ hình.
Một số tài liệu tham khảo cần thiết:
1.
2.
3.
4.

Wallace and Hobbs, 1977: Atmospheric Science.
Holton, 1992: An introduction to Dynamic Meteorology.
Houghton, 1985: Physical Meteorology.
Nyhoff and Leestma, 1988: Fortran 77 for Engineers and Scientists.


2


Chương 1: MỞ ĐẦU
Trong khí tượng, các phương trình cơ bản thống trị hồn lưu xuất hiện trong khí
quyển nói chung bao gồm một hệ các phương trình vi phân riêng biệt phi tuyến.
Chúng khơng có nghiệm giải tích và được giải bằng phương pháp số. Những toán tử
chung nhất thường gặp trong khi giải các phương trình này có dạng đạo hàm bậc
nhất và bậc hai, Jacobian và Laplaxian. Những tốn tử này là những đạo hàm khơng
gian và đòi hỏi biết được biến tại một thời điểm cố định. Đạo hàm thời gian thường
gặp trong các phương trình dự báo thời tiết số, tuy nhiên vì biến của trạng thái
tương lai là chưa biết nên sơ đồ sai phân hữu hạn kèm theo những sai số phụ thuộc
thời gian. Chúng có thể được khuếch đại trong q trình tích phân và sinh ra bất ổn
định tính tốn. Do vậy tích phân thời gian các phương trình dự báo thời tiết số được
thực hiện nhờ những kĩ thuật đặc biệt và những bàn riêng trong chương này.
Thực chất của phương phấp sai phân là việc xấp xỉ các giá trị của hàm tại các điểm
đặc biệt ( thường chọn là lưới sai phân đều cho đơn giản).
Như vậy để xây dựng được 1 nghiệm sai phân đúng theo nghĩa sai phân cần tính
được các giá trị của nghiệm phương trình vi phân tại các đầu mút quan trọng, có tất
cả là m*n ( m là kích thước lưới sai phân, t là thời gian trong trường hợp 1 chiều)
các giá trị này với 1 số giá trị biên đã biết cịn lại ta cần tìm các giá trị cịn lại điều
đó đưa đến nhận xét là :

Thực chất của phương pháp sai phân chính là giải hệ phương trình đại số
tuyến tính khi đã biết 1 số giá trị đặc biệt.

Chỉ cần lập được hệ đại số tuyến tính để tính các nghiệm chính là đã giải
quyết được 70% cơng việc của bài tốn. Việc cịn lại chỉ là tìm phương pháp giải
phù hợp


3


Chương 2:
CÁC PHƯƠNG PHÁP SAI PHÂN HỮU HẠN
2.1 Hình thành sai phân hữu hạn
Giả sử có hàm u(x) đã biết trên những vị trí rời rạc điều hịa trong khơng gian
cách nhau một khoảng Δx, các đạo hàm của u(x) có thể nhận được nếu sử dụng sai
phân hữu hạn.
Khai triển Taylor quanh điểm x ta có:
u(x+Δx)=u(x)+ x +

x

+...+x

(2.1)

hay nếu gia số hữu hạn Δx là âm thì:
u(x-Δx)=u(x) -

x

+ x +...+x (2.2)

2.2 Đạo hàm bậc nhất
Từ những khai triển này có thể hình thành ba biểu thức vi phân khác nhau để
xác định hàm bậc nhất của hàm u.
Từ (2.1) và (2.2) chuyển vế và rút gọn ta được:
x


=

- x -…,

(2.3)

hay
x

= + x+…,

(2.4)

Sau đó cộng (2.1) và (2.2) lại với nhau ta được:
x

= + 2x +…,

(2.5)

Bậc đại lượng của độ chính xác trong sơ đồ sẽ được xác định bởi bậc của số
hạng lớn nhất được bỏ qua trong chuỗi khai triển trong q trình lấy gần đúng hàm.
Khi đó (2.3), (2.4), (2.5) được viết lại như sau:
x

= +,

(2.6)
4



x

= +

x

= +,

(2.7)
(2.8)

Trong đó: - ε(Δx): sai số bậc nhất
- ε(Δx)2:sai số bậc hai
Trong đó ε(Δx) và ε(Δx2) biểu diễn những sai số trong xác định đạo hàm và
được gọi là sai số bậc nhất và bậc hai của Δx tương ứng. các phương trình 2.6, 2.7
cũng được coi là những đạo hàm của độ chính xác bậc nhất trong khi 2.8 lại là đạo
hàm của chính xác bậc hai. Do mẫu của của các điểm dùng trong đánh giá sai phân
hữu hạn mà các sơ đồ trên được gọi là sai phân tiến , sai phân lùi và sai phân trung
tâm tương ứng hình (2.1).

Cũng theo cách trên có thể mở rộng để nhận đạo hàm bậc nhất của hàm đến đòi
hỏi phải biết giá trị của hàm ở 4 điểm lân cận.
Do mẫu của các điểm dùng trong đánh giá sai phân hữu hạn mà các sơ đồ trên
được gọi là sai phân tiến, sai phân lùi và sai phân trung tâm tương ứng.

2.2.1 .

Sai phân lùi:


1. =u(x)-x+x
=u(x)-x+x

-x+...+x

-x+...+x

- + -x+...+x

3.=u(x) x x

- + –x+...+x

4.=u(x) x x
(2.9)

- + -x+...+x

5.=u(x) x x

2.2.2.

(2.10)

Sai phân tiến:
5


1.

2.
3.
4.
5.

u(x+Δx) = u(x) + x+x + x+…+x (2.11)
u(x+2Δx) = u(x)+x2+x+x+…+x (2.12)
u(x+3Δx) = u(x)+x3+x+x+…+x
u(x+4Δx) = u(x)+x4+x+x+…+x
u(x+5Δx) = u(x)+x5+x+x+…+x

Sơ đồ chính xác bậc bốn được hình thành như một tổ hợp từ 2.9 đến 2.12 sao
cho các số hạn trong Δx2 , Δx3 và Δx4 biến mất. Và khi các số hạng trong Δx2 , Δx3
và Δx4 biến mất và được thay bởi A, B, C thì:
x

= Au(x) + B[u(x+Δx)−u(x−Δx)]+C[u(x+2Δx)−u(x−2Δx)]+ε(Δx)5 (2.13)

Các số hạng trong ngoặc được khai triển như sau:
[u(x+Δx)−u(x−Δx)] =[ u(x) + x+x + x+…+x]-[ u(x)-x+x

-x+...+x ]

= 2x+x+ x+…+2x (2.14)


[u(x+2Δx)−u(x−2Δx)]=[u(x)+x2+x+x+…+x]-[u(x)-x+x

–x+...+x]


= 2x2+x+x+2x (2.15)

Thế (2.14) và (2.15) vào (2.13) sau đó rút gọn ta được:
x

=Au(x)+B[2x+x+ x+…+2x]+C[2x2+x+x+2x]
= Au(x) + (2B+4C)x+ (B+8C)x + ( (2.16)

Từ 2.13, 2.14 ,2.15 ta sẽ nhận được :
Hệ phương trình (2.17) và A, B, C là nghiệm và
Thay vào (2.13) ta được:
x

=0u(x) + [u(x+Δx)−u(x−Δx)] -[u(x+2Δx)−u(x−2Δx)]+ε(Δx)5

x

=
6


= ] -[]
= ] -[]

Cuối cùng ta được:
x

=

[] - [] (2.18)


2.3 Đạo hàm bậc hai
Đạo hàm bậc hai với độ chính xác bậc hai của hàm u(x) có thể nhận được là:
Cộng (2.10) và (2.11) lại với nhau:
+ u(x+Δx) = u(x)-x+x

-x+...+x+ u(x) + x+x + x+…+x

= 2u(x)+2x+x+…+x (2.19)
Ta có: = x+…+x
+ u(x+Δx) =2u(x)+2x+
2x
x

= - +u(x+Δx) - 2u(x)+

= + (2.20)

Cộng (2.9) và (2.12) và thay cho của (2.19) thì đạo hàm bậc 2 với độ chính xác
bậc bốn sẽ được biểu diễn dưới dạng sau
+ u(x+2Δx)= u(x)-x+x

–x+...+x+ u(x)+x2+x+x+…+x
=2u(x)+2x+2x+…+x

x

[

]


= -u(x)+[]-[u(x+2Δx)−u(x−2Δx)] + (2.21)

2.3.1. Các bước tính tốn:
B1: Xác định giới hạn của chuỗi biến X,Y và bước nhảy
B2: Khởi chạy lập trình ma trận
B3: Xây dựng hàm số P(z)
7


P(z) = P0*EXP(-A*Z(K))
B4: Tính đạo hàm bậc 2
B5: Tính đạo hàm bậc 4
B6: Đưa ra kết quả

2.3.2. Code:
PROGRAM DERIV
!
! Chương trình đơn giản này tính tốn các đạo hàm đầu tiên của 1 hàm số sử
dụng sơ ! đồ bậc 2 và bậc 4 chính xác. Sau đó các driver ước lượng đạo hàm
f(z) = p0 exp (-az)
!
PARAMETER(L=10)
REAL Z(L),P(L),P2(L),P4(L),ANAL(L)
!
DATA Z /0000.,1000.,2000.,3000.,4000.,5000.,6000.,7000.,8000.,9000./
DATA A,P0,DZ /0.000125062,1000.,1000./
! Khởi chạy lập trình ma trận
!
DO 2100 K = 1, L

P2(K) = 0
P4(K) = 0
2100 CONTINUE
!
DO 2102 K = 1, L
! Xây dựng hàm số P(z)
!
P(K) = P0*EXP(-A*Z(K))
!
! Tính tốn các phân tích đạo hàm
!
ANAL(K) = -A*P0*EXP(-A*Z(K))
!
2102 CONTINUE
! Tính đạo hàm bậc 2
!
CALL DDX2 (P,P2,L,DZ,1)
8


!
! Tính đạo hàm bậc 4
!
CALL DDX4 (P,P4,L,DZ)
!
! Viết dữ liệu xuất, Đạo hàm bậc 4 bị bỏ qua ở bước đầu và cuối bậc 2, vì nó
khơng
! xác định ở bậc 4
!
WRITE (6,1000)

WRITE (6,1001)
!
DO 2104 K = 1, L
IF (K.LE.2.OR.K.GE.(L-1)) THEN
WRITE(6,1002) ANAL(K), P2(K)
ELSE
WRITE(6,1003) ANAL(K),P2(K), P4(K)
ENDIF
2104 CONTINUE
!
1000 FORMAT(5X,'ANALYTICAL',15X,'SECOND ORDER',13X,'FOURTH
ORDER')
1001 FORMAT (5X,' SOLUTION ',15X,' ESTIMATE ',13X,' ESTIMATE ',/)
1002 FORMAT (5X,F10.6,15X,F10.6)
1003 FORMAT (5X,F10.6,15X,F10.6,15X,F10.6)
STOP
END
Subroutine DDX2 ( P, P2, L, Dz)
Real P2(L), P(L)
Do K=2, L-1
P2(K) = (P(K+1) – P(K-1))/(2.*Dz)
End do
Return
End
9


Subroutine DDX4 (P, P4, L, Dz)
Real P4(L), P(L)
Do K=3,L-2

P4(K) = (4./3.)*((P(K+1) – P(K-1))/(2.*Dz)) – (1./3.)*((P(K+2) –
P(K-2))/(4.*Dz))
End do
Return
End

 Chạy thô:
1. P(K) = P0*EXP(-A*z(K))
Ta được: P(1) = 1000
P(2) = 882.4421895
P(3) = 778.7042178
P(4) = 687.1614549
P(5) = 606.3802588
P(6) = 535.0955232
P(7) = 472.1908651
P(8) = 416.6811408
P(9) = 367.6970182
P(10) = 324.4713618
Với A = 0.000125062
P0 = 1000
Dz = /0000. ,1000. ,2000. ,3000. ,4000. ,5000. ,6000. ,7000. ,8000. ,9000./
2. P2(K) = (P(K+1) – P(K-1))/(2*Dz)
P2(1) =( P(2) – P(1))/Dz
P2(2) = -0.110648
P2(3) = -0.009764
P2(4) = -0.086162
P2(5) = -0.076033
10



P2(6) = -0.067095
P2(7) = -0.059207
P2(8) = -0.052247
P2(9) = -0.046105
P2(10) = ( P(10) – P(9))/Dz
3. P4(K) = (4/3)*((P(K+1) – P(K-1))/(2*Dz)) – (1/3)*((P(K+2) – P(K2))/(4*Dz))
P4(3) = -0.097368
P4(4) = -0.086939
P4(5) = -0.075834
P4(6) = -0.066920
P4(7) = -0.059053
P4(8) = -0.52111

2.4 Toán tử Laplaxian
Laplaxian là hàm u(x,y) về hình thức được xác định bởi:
u(x,y)= +

Việc ứng dụng sai phân hữu hạn của toán tử Laplaxian dựa vào khai triểnTaylor
hai chiều quanh 1 điểm (a,b):
u(x,y)=u(a,b)+(x-a)+(y-b)+(x-a)2 +(y-b)2 +(x-a)(y-b) (2.23)
Điều hịa theo hai hướng x và y thì khai triển Taylor của hàm u( quanh (x,y) có
thể biểu diễn như sau:
u(x+h,y+h)=u(x,y)+h()u(x,y)+()2u(x,y)+… (2.24)
u(x-h,y-h)=u(x,y)-h()u(x,y)+()2u(x,y)+…

(2.25)

u(x-h,y+h)=u(x,y)-h()u(x,y)+()2u(x,y)+… (2.26)
u(x+h,y-h)=u(x,y)+h()u(x,y)+()2u(x,y)+… (2.27)
Trong đó h là khoảng cách giữa hai điểm kề nhau của lưới.Tương tự, bốn

phương trình khác có thể viết cho u(x,y+ h), u(x- h,y), u(x,y- h), và u(x+ h,y) quanh
(x, y). Cộng (2.24) đến (2.27) sẽ nhận được biểu thức sau:
u(x+h,y+h)+ u(x-h,y-h)+ u(x-h,y+h)+ u(x+h,y-h)=4u(x,y)+2h2(+ )+(+4+)+
(+12+)+ (2.28)
11


Tương tự viết cho u(x,y+h),u(x-h,y),u(x,y-h),u(x+h,y) quanh (x,y)
Cộng lại hết với nhau ta được:
u(x,y+h)+u(x-h,y)+u(x,y-h)+u(x+h,y)= 4u(x,y)+ h2(+ )+(+ )+(+ )+ (2.29)
Laplaxian bậc 2 mẫu lưới 5 điểm:
= [u(x,y+h)+u(x-h,y)+u(x,y-h)+u(x+h,y)-4u(x,y)]+ (2.30)

Tương tự ta cộng (2.28) với (2.29) ta suy ra được Laplaxian bậc 2 trên mẫu lưới 9
điểm:
= [4{4u(x,y+h)+u(x-h,y)+u(x,y-h)+u(x+h,y)}+{ u(x+h,y+h)+ u(x-h,y-h)+
u(x-h,y+h)+ u(x+h,y-h)+20u(x,y)}]+ (2.31)

Cần lưu ý: cả hai biểu thức (2.30) và (2.31) đều là sơ đồ chính xác bậc hai. Sơ đồ
mẫu lưới 9 điểm nói chung chính xác hơn sơ đồ mẫu lưới 5 điểm trong nhiều ứng
dụng. Tuy nhiên trong nghiệm của phương trình Laplax đối với các điểu kiện biên
khơng thuần nhất thì Laplaxian tương đương khơng vỡ do đó sơ đồ mẫu 9 điểm trở
thành chính xác bậc bốn. Giải Laplaxian mẫu 9 điểm chính xác bậc bốn tổng quát
nhận được bằng kỹ thuật lặp. Quá trình này bao gồm đánh giá liên tiếp 4g= 2f
12


trong đó f=2g, với sử dụng mẫu 9 điểm trên giá trị lặp của f bắt đầu từ f= 0 ở lần
lặp đầu tiên
Sau đây là mã nguồn máy tính các Laplaxian khác nhau. Số liệu dùng để đánh

giá những giá trị khác nhau của Laplaxian tạo ra bằng một hàm lượng giác có
nghiệm đã biết. Sai số trung bình bình phương giữa các xác định sai phân hữu hạn
và nghiệm lý thuyết cũng đã được tính. Chương trình điều khiển dùng 3 chương
trình con khác nhau: LAP94, LAP92, và LAP52; Chúng xác định những Laplaxian
bậc bốn 9 điểm, bậc hai 9 điểm và bậc hai 5 điểm tương ứng.

2.4.1. Các bước tính tốn:
B1: Xác định các biến và giới hạn chuỗi biến i,j
B2: Xây dựng cơng thức hàm dịng và xốy
B3: Tính nghiệm xác định bậc bốn 9 điểm
B4: Tính nghiệm xác định bậc hai 9 điểm
B5: Tính nghiệm xác định bậc hai 5 điểm
B6: Đưa ra kết quả

2.4.2. Code:
PROGRAM LAPLACIAN
! Chương trình tính tốn Laplacian này sử dụng nghiệm xác định bậc hai 5
điểm ,
! nghiệm xác định bậc hai 9 điểm và bậc bốn 9 điểm tương ứng. Nó cũng tính
gốc
! bình phương và so sánh độ chính xác của các phương án khác nhau để đưa
ra các
! giải pháp phân tích
!
PARAMETER (L=10,M=20)

13


!

! Khai báo các biến và xác định hằng số
!
REAL PSI(L,M),ZTA(L,M),A(L,M)
REAL B (L,M),C(L,M),X(L),Y(M)
PI

= 4.*ATAN(1.0)

H

= 200.

YK

= 2.*PI/1000.

YL

= PI / 1000.

X(1)

= 0.

Y(1)

= 0.

!


DO 2200 I = 2, L
IM1 = I-1
DO 2200 J = 2, M
JM1

= J-1

X(I) = X(IM1) + H
Y(J) = Y(JM1) + H
2200 CONTINUE
SUM

= 0.

!
! Cơng thức hàm dịng (PSI) PSI = SIN(KX)*SIN(LY)+COS(LY) và xoáy
(ZTA) !AS
14


! ZTA= D2(PSI)/DX2 + D2(PSI)/DY2
!
DO 2202 I = 1, L
DO 2202 J = 1, M
PSI(I,J) = SIN(YK*X(I)) * SIN(YL*Y(J)) + COS(YL*Y(J))
ZTA(I,J) = -(YK**2+YL**2)*SIN(YK*X(I)) * SIN(YL*Y(J))-YL**2
* COS(YL*Y(J))
A(1,J)

= ZTA(1,J)


A(L,J)

= ZTA(L,J)

A(I,1)

= ZTA(I,1)

A(I,M)

= ZTA(I,M)

SUM

= SUM + (ZTA(I,J) / (L*M))**2

2202 CONTINUE
SU
N

= SQRT( SUM )
=1

25 GO TO ( 30,40,50,60 ) N
30 WRITE(6,1000)
!
! Nghiệm xác định bậc bốn 9 điểm
!
CALL LAP94 (PSI,A,B,C,H,L,M)

!
GO TO 70
15


40 WRITE(6,1001)
!
! Nghiệm xác định bậc hai 9 điểm
!
CALL LAP92 (PSI,A,H,L,M)
!
GO TO 70
50 WRITE(6,1002)
!
! Nghiệm xác định bậc hai 5 điểm
!
CALL LAP52 (PSI,A,H,L,M)
!
70 CONTINUE
DIF = 0.
DO 2204 I = 1, L
DO 2204 J = 1, M
DIF

= DIF + ((ZTA(I,J) - A(I,J)) / (L*M))**2

2204 CONTINUE
DIF
SUM


= SQRT(DIF)
= (DIF / SU ) * 100

WRITE(6,1003) DIF, SUM
!
16


! Hiển thị đầu ra
!
WRITE(6,1004) ((I,J,ZTA(I,J),A(I,J),I=1,L), J=4,4)
N=N+1
GO TO 25
60 CONTINUE
1000 FORMAT(//,20X,'NINE POINTS FOURTH ORDER LAPLACIAN
SCHEME.'//)
1001 FORMAT(//,20X,'NINE POINTS SECOND ORDER LAPLACIAN
SCHEME.'//)
1002 FORMAT(//,20X,'FIVE POINTS SECOND ORDER LAPLACIAN
SCHEME.'//)
1003 FORMAT(9X, 'RMS ERROR = ',E13.7,8X, 'RMS ERROR/RMS ZTA =
',E9.3,1X, 'PERCENT.'//,2X,'I J',5X, 'ANALYTICAL SOL',1X,'ESTIMATED
SOL.',2X,'I J',5X, 'ANALYTICAL SOL',1X,'ESTIMATED SOL',/)
1004 FORMAT( 2(2I3,4X,2E15.8) )
STOP
END
SUBROUTINE LAP52 (PSI,A,H,L,M)
REAL PSI(L,M), A(L,M)
L1


= L-1

M1

= M-1

DO 2230 I = 2, L1
DO 2230 J = 2, M1

17


IP1

= I+1

IM1 = I-1
JP1

= J+1

JM1

= J-1

A(I,J)
H**2

= (PSI(IP1,J)+PSI(IM1,J)+PSI(I,JP1)+PSI(I,JM1)- 4. * PSI(I,J)) /


2230 CONTINUE
RETURN
END
SUBROUTINE LAP92 (PSI,A,H,L,M)
REAL PSI(L,M), A(L,M)
L1

= L-1

M1

= M-1

DO 2220 I = 2, L1
DO 2220 J = 2, M1
IP1

= I+1

IM1 = I-1
JP1

= J+1

JM1

= J-1

A(I,J)
=(PSI(IP1,JP1)+PSI(IP1,JM1)+PSI(IM1,JP1)+PSI(IM1,JM1)+4.*(PSI(IP1

,J)+PSI(IM1,J)+PSI(I,JP1)+PSI(I,JM1))-20.*PSI(I,J)) / (6.*H**2)
2220 CONTINUE
RETURN
18


END
SUBROUTINE LAP94 (PSI,A,B,C,H,L,M)
REAL PSI(L,M), A(L,M), B(L,M), C(L,M)
DEL2(X0,X1,X2,X3,X4,X5,X6,X7,X8,D) =
(X1+X2+X3+X4+4.*(X5+X6+X7+X8)-20.*X0) / (6.*D**2)
K

=0

N

=1

M1

= M-1

M2

= M-2

L1

= L-1


L2

= L-2

DMAX

= 1.

EPS

= 1.E-02

SU

= 0.

DO 2210 I = 2, L1
IP1

= I+1

IM1 = I-1
DO 2210 J = 2, M1
JP1

= J+1

JM1


= J-1

A(I,J) =
DEL2(PSI(I,J),PSI(IP1,JP1),PSI(IM1,JP1),PSI(IP1,JM1),PSI(IM1,JM1),PSI(I,JP1),
PSI(I,JM1),PSI(IP1,J),PSI(IM1,J),H)
B(I,J) = A(I,J)
19


SU = SU + ABS(A(I,J)) / (L*M)
2210 CONTINUE
30 IF( N .EQ. 0 ) GO TO 70
K

=K+1

DIF

= 0.

DO 2211 I = 2, L1
IP1

= I+1

IM1 = I-1
DO 2211 J = 2, M1
JP1

= J+1


JM1

= J-1

C(I,J) =
DEL2(A(I,J),A(IP1,JP1),A(IM1,JP1),A(IP1,JM1),A(IM1,JM1),A(I,JP1),A(I,JM1),
A(IP1,J),A(IM1,J),H)
DIF

= DIF+ABS(C(I,J)*H**2 / 12.+A(I,J)-B(I,J))/(L*M)

2211 CONTINUE
DO 2212 I = 2, L1
DO 2212 J = 2, M1
A(I,J) = B(I,J) - C(I,J) * H ** 2 / 12.
2212 CONTINUE
DIF

= DIF / SU

IF ( DIF .LE. EPS ) GO TO 70
IF ( K .GE. 100 ) GO TO 60
20


IF ( DIF .GT. DMAX ) GO TO 60
GO TO 30
60 WRITE(6,100)
70 CONTINUE

100 FORMAT( ' THE SCHEME DOES NOT CONVERGE. ' )
300 FORMAT( 10X, 'K = ', I10, E30.13 )
RETURN
END

2.5 Toán tử Jacobian
Jacobian cũng là một toán tử thường dùng trong khi giải nhiều bài toán địa
vậy lý. Phần lớn nó xuất hiện trong các hạn bình lưu phi tuyến. Ví dụ trong phương
trình xốy sinh ra bởi gió ngang cho bằng.
Ad = - g.pξ

(2.32)

Trong đó: g là vecto gió địa chuyển và được xác định bởi
g

= x = x ∇ψ

(2.33)

g là gia tốc trọng trường
z là độ cao
f0 là tham số coriolis
ξ là xoáy tương đối được xác định bởi
ξ=.x =2ψ

(2.34)

ψ là hàm dòng địa chuyển
Ad = - x ∇ψ.pξ = -


(2.35)

Đại lượng này thường biểu diễn tượng trưng bằng Ad = -J(ψ, ξ)
(2.36)
21


J là jacobian . Toán tử này xuất hiện trong rất nhiều phương trình, trong đó một
số đại lượng là bất biến. Tuy nhiên , khi một tương tự sai phân hữu hạn được áp
dụng vào các phương trình như vậy thì cần thận trọng để cho sai số sinh ra bởi
phương pháp sai phân sẽ không làm sai lệch các ngun lí bảo tồn. Ví dụ, trong
động lực học chính áp thì jacobian xuất hiện trong phương trình xốy dạng sau:
= -J(ψ, ξ) -

(2.37)

Trong đó: = và f là tham số coriolis
là xoáy tuyệt đối
ξ là xoáy tương đối
Khi lấy tích phân trên một vùng khép kín thì phương trình này của hai đại
lượng bất biến vùng. Đó là động năng tổng trung bình và xốy bình phương trung
bình
Arakawa (1966) đã nghiên cứu rất nhiều về thuyết lập nên những tương tự sai phân
hữu hạn jacobian và đưa ra ba dạng sau:
(2.38)
(2.39)
(2.40)
Dạng đầu tiên gọi là dạng bình lưu, cịn hai dạng cuối là hai dạng thơng lượng của
jacobian.ở đây cịn có thể chứng minh được sự bảo tồn động năng trung bình vùng,

và các điều kiện xốy bình phương trung bình có thể biểu diễn tương ứng bằng
=0

(2.41)



2.5.1.

Jacobian bậc hai

22


×