Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 116 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
116
Dung lượng
1 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH HUỲNH NGUYỄN THANH TRÚC MỨC NĂNG LƯỢNG KÍCH THÍCH THẤP CỦA NGUYÊN TỬ HYDRO TRONG TỪ TRƯỜNG CÓ CƯỜNG ĐỘ BẤT KỲ THEO PHƯƠNG PHÁP TOÁN TỬ Chuyên ngành: VẬT LÝ NGUYÊN TỬ HẠT NHÂN VÀ NĂNG LƯỢNG CAO Mã số: 60 44 05 LUẬN VĂN THẠC SĨ VẬT LÝ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN VĂN HOA Thành phố Hồ Chí Minh – 2011 LỜI CAM ĐOAN Tôi cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa công bố công trình khác Tp Hồ Chí Minh, ngày … tháng … năm 2011 MỤC LỤC LỜI CAM ĐOAN .1 MỤC LỤC 2 CHƯƠNG 1. LÝ THUYẾT NHIỄU LOẠN CHO BÀI TOÁN NGUYÊN TỬ HYDRO TRONG TỪ TRƯỜNG 8 1.1 Bài toán nguyên tử hydro .8 1.2 Bài toán nguyên tử hydro từ trường 10 1.3 Giải phương trình Schrödinger lý thuyết nhiễu loạn 12 1.3.1 Lý thuyết nhiễu loạn trạng thái dừng không suy biến .12 1.3.2 Ứng dụng lý thuyết nhiễu loạn để giải toán nguyên tử hydro từ trường 13 CHƯƠNG 2. PHƯƠNG PHÁP TOÁN TỬ CHO BÀI TOÁN NGUYÊN TỬ HYDRO 18 2.1 Các bước để giải toán phương pháp toán tử 18 2.2 Phương trình Schrưdinger toán nguyên tử hydro 19 2.3 Xây dựng hàm sở đối xứng cầu 20 2.4 Biểu diễn hamiltonian qua toán tử sinh, hủy 25 2.5 Tính yếu tố ma trận Hˆ o Vˆ .26 2.6 Sơ đồ vịng lặp tìm nghiệm xác số phương trình Schrưdinger 29 CHƯƠNG 3. PHƯƠNG PHÁP TOÁN TỬ CHO BÀI TOÁN NGUYÊN TỬ HYDRO TRONG TỪ TRƯỜNG CÓ CƯỜNG ĐỘ BẤT KỲ 32 3.1 Phương trình Schrưdinger tốn ngun tử hydro từ trường 33 3.2 Xây dựng hàm sở đối xứng trụ 34 3.2.1 Hàm riêng toán tử lˆ3 35 3.2.2 Bộ hàm sở đối xứng trụ 38 3.3 Biểu diễn hamiltonian toán nguyên tử hydro từ trường qua toán tử sinh hủy 42 3.4 Tính yếu tố ma trận toán nguyên tử hydro từ trường .44 3.5 Sơ đồ vịng lặp tìm nghiệm phương trình Schrưdinger toán nguyên tử hydro từ trường .48 3.6 Mức lượng nguyên tử hydro từ trường có cường độ 49 3.7 Mức lượng kích thích nguyên tử hydro từ trường có cường độ 56 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI .63 DANH MỤC CƠNG TRÌNH CỦA TÁC GIẢ 65 TÀI LIỆU THAM KHẢO 66 PHỤ LỤC 68 MỞ ĐẦU Giới thiệu tổng quan Từ xuất vào nửa đầu kỷ XX, học lượng tử làm thay đổi quan niệm giới vi mơ vật lý học có tác động khơng nhỏ đến nhiều ngành khoa học kỹ thuật đại Cơ học lượng tử xây dựng hệ thống tiên đề dựa loạt công cụ tốn học nhằm mơ tả giới vi mơ Trong học lượng tử, trạng thái lượng tử hệ vật lý mô tả cách đầy đủ vector trạng thái nghiệm phương trình Schrưdinger Ngày nay, với phát triển khoa học kỹ thuật, hệ lượng tử xét đến ngày phức tạp đa dạng, có nhiều tốn chưa tìm lời giải xác, từ phát sinh nhu cầu xây dựng phát triển phương pháp giải toán học lượng tử, cụ thể giải phương trình Schrưdinger Một phương pháp mạnh phổ biến, trình bày hầu hết giáo trình học lượng tử lý thuyết nhiễu loạn Ý tưởng phương pháp tách hamiltonian toán thành hai phần: thành phần có nghiệm xác định cách xác, phần cịn lại xem nhiễu loạn góp phần vào kết thơng qua bổ chính, với điều kiện áp dụng thành phần nhiễu loạn phải nhỏ nhiều so với thành phần Vì thế, khó khăn cho việc áp dụng lý thuyết nhiễu loạn vào toán phi nhiễu loạn Cụ thể toán nguyên tử hydro từ trường, phương pháp giải cho trường hợp nguyên tử hydro đặt từ trường có cường độ yếu (khi tương tác Coulomb hạt nhân nguyên tử electron nguyên tử hydro tương tác chính, tương tác electron nguyên tử hydro với từ trường nhiễu loạn) trường hợp nguyên tử hydro đặt từ trường có cường độ mạnh (tương tác electron nguyên tử hydro với từ trường tương tác chính, tương tác Coulomb hạt nhân nguyên tử electron nguyên tử hydro nhiễu loạn), nhiên trường hợp nguyên tử hydro từ trường trung bình đến cịn tốn chưa giải triệt để Trước tình hình đó, việc tìm phương pháp hiệu quả, có phạm vi áp dụng rộng rãi nhà vật lý học quan tâm nghiên cứu năm gần Như biết, toán nguyên tử hydro toán kinh điển học lượng tử, số tốn học lượng tử có lời giải xác, xem thước đo tính đắn phương pháp Phương pháp toán tử (Operator Method) với tính tốn đại số, xây dựng cho nhóm tốn ngun tử phương pháp nhà Vật lý lý thuyết quan tâm nghiên cứu Ý tưởng phương pháp toán tử (OM) xuất vào năm 1979 Tuy nhiên, phương pháp toán tử đưa vào năm 1982 nhóm nghiên cứu giáo sư Kamarov L I thuộc trường đại học tổng hợp Belarus áp dụng thành cơng cho nhóm toán vật lý chất rắn, vật lý nguyên tử, lý thuyết trường,… Ý tưởng phương pháp tốn tử hamiltonian tách thành hai thành phần: Thành phần trung hịa có ma trận ma trận chéo Thành phần khơng trung hịa có yếu tố ma trận nằm đường chéo khơng Khó khăn lớn cho việc áp dụng phương pháp toán tử vào toán nguyên tử hydro hamiltonian có thành phần tương tác Coulomb chứa biến số động lực nằm mẫu số Trong phương pháp toán tử, biến số động lực chuyển biểu diễn qua toán tử sinh, hủy sau tác dụng lên vector trạng thái Chính tốn tử khơng thể mẫu số Trong luận này, chúng tơi giải khó khăn cách sử dụng phép biến đổi Laplace Phương pháp toán tử, phép biến đổi Laplace với sơ đồ vịng lặp ứng dụng tốn ngun tử hydro từ trường đồng có cường độ bất kỳ, bước đầu thu kết mức lượng ứng với m với độ xác hai chữ số thập phân [7], điều kiểm chứng tính đắn phương pháp Đối với mức kích thích khơng cịn tính đối xứng cầu m nên cần phải xây dựng lại hàm sở lập trình tính tốn cho mức lượng Trong luận văn này, xây dựng hàm sở cho hai toán: toán nguyên tử hydro toán nguyên tử hydro từ trường; lập trình tính tốn cho mức lượng 1s mức kích thích 2p 1 , so sánh kết thu với kết tính tốn tác giả khác, với mục đích kiểm chứng tính đắn phương pháp tốn tử hàm sở Các tính tốn phức tạp phổ lượng nguyên tử hydro từ trường thực cơng trình Mục đích nghiên cứu Mục đích nghiên cứu luận văn xây dựng hàm sở xác định giá trị lượng kích thích ứng với trạng thái 2p 1 nguyên tử hydro từ trường có cường độ Để đạt mục đích chúng tơi cần thực nhiệm vụ sau: Tìm hiểu phương pháp toán tử, phép biến đổi Laplace cho tương tác Coulomb; Xây dựng hàm sở đối xứng cầu cho tốn ngun tử hydro; Tìm hiểu thuật tốn lập trình tính số theo sơ đồ vịng lặp cho mức lượng bản, mức kích thích thứ thứ hai nguyên tử hydro khơng có từ trường để kiểm chứng tính đắn phương pháp Xây dựng hàm sở đối xứng trụ hàm riêng toán tử lˆ3 cho toán nguyên tử hydro từ trường đồng Áp dụng phương pháp tốn tử tìm lượng nguyên tử hydro từ trường đồng có cường độ hai trạng thái 1s 2p 1 Đối tượng nghiên cứu Bài toán nguyên tử hydro từ trường đồng có cường độ xét mức lượng mức kích thích tương ứng với trạng thái 1s 2p 1 Các phương pháp nghiên cứu Sử dụng phương pháp đại số qua biểu diễn toán tử sinh hủy; Phương pháp giải tích để tính tốn; Phương pháp lập trình tính số máy tính Nội dung phạm vi vấn đề sâu nghiên cứu Theo nhiệm vụ cụ thể nêu trên, nội dung phạm vi vấn đề sâu nghiên cứu luận văn bao gồm: Tìm lại hamiltonian nguyên tử hydro biểu diễn toán tử; Xây dựng hàm sở đối xứng cầu Tìm hiểu thuật tốn viết chương trình tính số theo sơ đồ vòng lặp cho mức lượng thấp ngun tử hydro khơng có từ trường ngoài; Xây dựng hàm sở đối xứng trụ Lập trình tính số máy tính xác định nghiệm xác số mức lượng ứng với hai trạng thái 1s0 2p 1 nguyên tử hydro từ trường đồng có cường độ CHƯƠNG LÝ THUYẾT NHIỄU LOẠN CHO BÀI TOÁN NGUYÊN TỬ HYDRO TRONG TỪ TRƯỜNG Phương trình Schrưdinger phương trình gắn liền với chuyển động hạt giới vi mô Đây phương trình vi phân tuyến tính với đạo hàm riêng phần hệ số biến đổi Nghiệm xác tìm số nhỏ trường hợp đơn giản như: tốn ngun tử hydro, dao động tử điều hịa,…Sự phức tạp việc giải phương trình phụ thuộc vào dạng số chiều không gian toán cần giải Phần lớn toán học lượng tử dẫn đến phương trình phức tạp mặt tốn học khơng thể giải cách xác, thường phải ứng dụng phương pháp gần để giải toán, nghĩa phải tìm cách gần trị riêng hàm riêng Lý thuyết nhiễu loạn phương pháp gần quan trọng để giải toán học lượng tử, chuỗi bổ tiến đến vơ thu nghiệm xác toán Cùng với xuất phát triển máy tính điện tử, lý thuyết nhiễu loạn gắn liền với phương pháp tính số trở thành cơng cụ có tầm quan trọng lớn việc giải toán học lượng tử Bên cạnh ưu điểm lý thuyết nhiễu loạn bộc lộ số hạn chế tính hội tụ chuỗi nhiễu loạn miền ứng dụng phương pháp Trong chương chúng tơi trình bày kết học lượng tử toán nguyên tử hydro để làm sở chứng minh tính đứng đắn phương pháp tốn tử việc ứng dụng lý thuyết nhiễu loạn cho toán nguyên tử hydro từ trường qua nói lên ưu, khuyết điểm phương pháp 1.1 Bài toán nguyên tử hydro Hamiltonian toán nguyên tử hydro có dạng: ˆ Ze Hˆ p 2m r Hay: (1.1) Ze 2 2 2 Hˆ , x y z x2 y2 z (1.2) với: Z số proton hạt nhân, nguyên tử hydro Z , e điện tích nguyên tố, r khoảng cách từ electron đến hạt nhân, khối lượng rút gọn Phương trình Schrưdinger tốn ngun tử hydro là: Hˆ n En n (1.3) Có thể coi nguyên tử hydro trường hợp riêng toán xuyên tâm, áp dụng kết nhận toán trường xuyên tâm Hàm riêng phương trình Schrưdinger khơng phụ thuộc thời gian xuyên tâm hệ tọa độ cầu ( r , , ) có dạng: nlm (r , , ) Cnlm Rnl (r )Yl m ( , ) , (1.4) nlm đó: R (r ) hàm bán kính xác định giải phương trình bán kính Yl m hàm cầu theo hai biến góc n, l, m số lượng tử chính, số lượng tử quỹ đạo số lượng tử từ Kết học lượng tử cho trị riêng xác phương trình Schrưdinger (1.3) toán nguyên tử hydro là: En Z 2e 2 n 1 (1.5) 101 (1) n n k k i k 2 n k 5 k m 4 i 6 k 2k 2k m 2i 2k ! n1 k1 i !i !k ! n2 k2 k ! k n1 n2 k1 k2 m ! 2n1 2n2 2k1 2k2 4i 4k 1! n1 n2 k1 k2 2i 2k 1! 2n1 2n2 2k1 2k2 2m 1! k 0 k1 ! n1 ! m k1 ! m n1 ! 2k2 ! 2n2 ! k1 i ! m k1 i ! 2k2 2k ! sum k1 2 2 i k1 n1 i k1 n1 ; i ' i i ' k1 n1 i ' n1 i k1 ; Đặt: i ' i k1 n1 i k1 n1 (1) n1 n2 k1 k2 2i k 24 n1 n2 5 k2 m 4i 6 k 2n1 2k2 m 2i 2k ! i ! k1 n1 i !k ! n2 k2 k ! n1 k2 k1 ! n1 ! m k1 ! m n1 ! 2k2 ! 2n2 ! sum n1 i ! n1 m i ! 2k2 2k ! i 0 k 0 n1 n2 k1 k2 m ! 2n1 2n2 2k1 2k2 4i 4k 1 ! n1 n2 k1 k2 2i 2k 1! 2n1 2n2 2k1 2k2 2m 1! Kết thu Vk ,k , m;n ,n , m Vk ,k , m;n ,n , m 2 2 k1 1 m k1 1 n ,k 1 n ,k 1 2 k1 m k1 n ,k 1 n ,k 2k2 1 2k2 n ,k n ,k 1 2 16 1 2 2k2 2k2 1 n ,k n ,k 1 k1 1 m k1 1 n ,k 1 n ,k 1 2 2 k1 m k1 n ,k 1 n ,k 1 2 (1) n k n k k1 ! n1 ! m k1 ! m n1 ! 2k2 ! 2n2 ! n1 k1 i !i !h ! n2 k2 k ! k2 , n2 2k ! 4min , 4min , n k k n k n n1 k1 n2 k2 4i 4k 1! Z k ,n k ,n m k , n i ! 2n 2n 2k 2k 2m 1! i 0 k 0 2 1 m i k n1 n2 k1 k2 m ! 2k1 2k2 m 2i 2k ! k1 , n1 i ! n1 k1 n2 k2 2i 2k 1! 1 2 2 2 1 2 102 PHỤ LỤC E CODE CHƯƠNG TRÌNH FORTRAN 90 TÍNH NĂNG LƯỢNG CỦA NGUN TỬ HYDRO TRONG TỪ TRƯỜNG Code chương trình tính mức lượng kích thích ứng với trạng thái 2p 1 nguyên tử hydro từ trường đồng hướng theo trục Oz toàn miền giá trị cường độ từ trường viết ngôn ngữ Fortran 90 chạy UBUNTU 11.4 PROGRAM MAIN INTEGER N,M,NMAX,L,Z REAL*8 GAMMA,GAMMAMAX,STEP PARAMETER(Z=1,N=1,M=0,L=1) NMAX=20 GAMMA=0D00 GAMMAMAX=30d0 STEP=0.0005D0 IF(GAMMA.LE.GAMMAMAX) THEN CALL MAGENERGY(Z,N,M,L,NMAX,GAMMA) GAMMA=GAMMA+STEP GOTO ENDIF END PROGRAM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE MAGENERGY(Z,N,M,L,NMAX,GAMMA) REAL*8 OUTENERGY,GAMMA,W,OUTVNK,OUTHO,W1 INTEGER LEVEL,M,Z,NMAX,N12,L,ROWS,MH,MV DIMENSION A(4),B(4),C(4) EXTERNAL HSA,HSC,HSG IF(GAMMA.LE.0.2D0) THEN I=1 ELSE IF(GAMMA.LE.2.0D0) THEN I=2 ELSE IF (GAMMA.LE.20.0D0) THEN I=3 ELSE I=4 ENDIF ENDIF ENDIF W1=A(I)+B(I)*(GAMMA**C(I)) ROWS=(NMAX+1)*(NMAX+2)/2 N12=N-ABS(M) MH=M MV=M OPEN(3,FILE='E.DAT') WRITE(3,*)'====================================================' WRITE(3,*) 'M= ',M WRITE(3,*) 'N12=N1+N2',N12 103 WRITE(3,*)'====================================================' W=W1 WRITE(3,*) 'W=',W CALL VNK(W,Z,GAMMA,NMAX,MV,OUTVNK) CALL HON(W,Z,GAMMA,NMAX,MH,OUTHO) LEVEL=(N12*(N12+1)/2)+L CALL CALENERGY(GAMMA,ROWS,LEVEL,OUTENERGY) END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE CALENERGY(GAMMA,SMAX,LEVEL,OUTENERGY) INTEGER I,J,N1,N2,K1,K2,ROWS,SMAX,LEVEL,VL2,VL3 REAL*8 E0,OUTENERGY,GAMMA,BE,ENERGY0 DIMENSION H0(SMAX),V(SMAX,SMAX),C(SMAX) OPEN(1,FILE='HONMAGNETIC.DAT') OPEN(2,FILE='VNKMAGNETIC.DAT') OPEN(3,FILE='E.DAT') OPEN(4,FILE='GAEIN.DAT') OPEN(23,FILE='E0.DAT') H0(1:SMAX)=H0(LEVEL) V(1:SMAX,1:SMAX)=0.0D0 DO I=1, SMAX READ(1,1000) ROWS, N1, N2, H0(I) DO J= 1, SMAX READ(2,1001) N1,N2,K1,K2,V(I,J) ENDDO ENDDO CLOSE (1) CLOSE (2) OUTENERGY=0D0 E0=H0(LEVEL) IF (GAMMA.NE.0D0) THEN CALL EVLAP(LEVEL,H0,V,C,E0,OUTENERGY,SMAX,VL2,VL3) ENDIF READ(23,1005) ENERGY0 OUTENERGY=OUTENERGY+ENERGY0 BE=GAMMA*1.0D0-2.0D0*(OUTENERGY) PRINT *,GAMMA,OUTENERGY,'In=',BE WRITE(4,1003) GAMMA,OUTENERGY,BE WRITE(3,*) ' -CALCULATED ENERGY ' WRITE(3,1002) 'E=',OUTENERGY WRITE(3,1002) 'In=',GAMMA*1D0-2.0D0*OUTENERGY WRITE(3,*)' INPUT ' WRITE(3,*)'LEVEL:',LEVEL WRITE(3,*)'' 1000 FORMAT(3 I 5,D 24.15) 1001 FORMAT(4 I 5,D 24.15) 1002 FORMAT(A,D 24.12) 1003 FORMAT(3 D 24.12) 1005 FORMAT(D 20.12) CLOSE(23) END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE EVLAP(N,H0,V,C,EE0,E,J,VL2,VL3) 104 DIMENSION H0(J),V(J,J),VNM(J),C(J) INTEGER N,VL2,VL3 DOUBLE PRECISION E ,TT,EE0 EXTERNAL SUMCV,CK VNM=V(N,1:J) VL2=1 VL3=1 CALL CK(N,EE0,H0,V,J,C,20) CALL SUMCV(C,VNM,J,TT) E=H0(N) + TT IF(ABS(EE0*1.0/E-1.0).GT.1.0D-6) THEN VL2=VL2+1 VL3=VL3+1 EE0=(E+EE0)*0.5 IF(VL2.GT.20) THEN GOTO ENDIF GOTO ENDIF END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE CK(N,E0,H0,V,J,C,VL3) DIMENSION H0(J),V(J,J),VNM(J),VKM(J),C(J),C0(J) INTEGER K,N,J,VL3 DOUBLE PRECISION MS, TS, E0,TT EXTERNAL SUMCV C(1:J)=0.0 VNM=V(N,1:J) DO I=1,VL3 C0=C DO K=1,J IF (K.NE.N) THEN VKM=V(K,1:J) CALL SUMCV(C0,VKM,J,TT) TS=V(K,N)+TT MS=E0-H0(K) IF(MS.NE.0D0) THEN C(K)=(TS/MS) ELSE C(K)=C0(K) ENDIF ENDIF ENDDO ENDDO END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE SUMCV(V,C,N,TT) DOUBLE PRECISION TEMP1,TT INTEGER N, I DIMENSION V(N), C(N) TT=0.0D0 DO I=1,N TEMP1=V(I) 105 TEMP1=TEMP1*C(I) TT=TT+TEMP1 ENDDO TT=TT END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE VNK(W,Z,GAMMA,NMAX,M,OUTVNK) INTEGER I,II,M,Z,J,JJ,NMAX,N1,N2,K1,K2 DOUBLE PRECISION GAMMA,W,OUTVNK,OUTHSF OPEN(2,FILE='VNKMAGNETIC.DAT') DO II=0,NMAX DO I=0,II N1=I N2=II-I DO JJ=0,NMAX DO J=0,JJ K1=J K2=JJ-J OUTHSF=0.0D0 CALL HSF(GAMMA,N1,N2,K1,K2,M,OUTHSF) OUTVNK=OUTHSF/W WRITE(2,1001) N1,N2,K1,K2,OUTVNK ENDDO ENDDO ENDDO ENDDO WRITE(2,*)' N1',' N2',' K1',' K2', ' VNK' WRITE(2,*) ' INPUT ' WRITE(2,*) 'W=',W WRITE(2,*) 'Z=',Z WRITE(2,*) 'GAMMA= ',GAMMA WRITE(2,*) 'N12MAX=',NMAX WRITE(2,*) 'M= ',M CLOSE(2) CLOSE(13) 1001 FORMAT(4I5,D24.15) END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE HSF(GAMMA,N1,N2,K1,K2,M,OUTHSF) INTEGER N2,N1,K1,K2,M DOUBLE PRECISION OUTHSF,ROTE,GAMMA,TEMP1,TEMP2 EXTERNAL ROTE INTRINSIC SQRT M=ABS(M) TEMP1=ROTE(N1,K1+1)*ROTE(N2,K2) TEMP1=TEMP1*SQRT((K1+1.0D0)*(K1+1.0D0+M)) TEMP2=ROTE(N1,K1-1)*ROTE(N2,K2) TEMP2=TEMP2*SQRT((1.0D0*K1)*(1.0D0*K1+M)) OUTHSF=GAMMA*GAMMA*0.125D0*(TEMP1+TEMP2) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC HAM ROTECKERCCCCCCCC FUNCTION ROTE(I,J) INTEGER I,J 106 DOUBLE PRECISION ROTE ROTE=0D0 IF (I.EQ.J) THEN ROTE=1.0D0 ENDIF END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE HON(W,Z,GAMMA,NMAX,M,OUTHO) INTEGER I,II,M,Z,NMAX,ROWS,N1,N2,MD DOUBLE PRECISION GAMMA,W,OUTHO,OUTHSB,OUTHSD EXTERNAL HSD,HSB OPEN(1,FILE='HONMAGNETIC.DAT') MD=M ROWS=0 DO II=0,NMAX DO I=0,II ROWS=ROWS+1 N1=I N2=II-I OUTHSB=0D0 OUTHO=0D0 CALL HSD(GAMMA,MD,OUTHSD) CALL HSB(GAMMA,N1,N2,M,OUTHSB) OUTHO=OUTHSB/W+OUTHSD WRITE(1,1000) ROWS,N1,N2,OUTHO ENDDO ENDDO WRITE(1,*)' ROWS N1 N2 HO' WRITE(1,*) ' INPUT -' WRITE(1,*) 'W=',W WRITE(1,*) 'Z=',Z WRITE(1,*) 'GAMMA= ',GAMMA WRITE(1,*) 'N12MAX= ',NMAX WRITE(1,*) 'M= ',M WRITE(1,*) 'ROWS= ',ROWS CLOSE(12) CLOSE(11) CLOSE(1) 1000 FORMAT(3 I 5,D 24.15) END !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SUBROUTINE HSD(GAMMA,M,OUTHSD) INTEGER M DOUBLE PRECISION OUTHSD,GAMMA OUTHSD=0.5D0*GAMMA*M END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC**1006** SUBROUTINE HSB(GAMMA,N1,N2,M,OUTHSB) INTEGER N1,M,N2 DOUBLE PRECISION GAMMA, OUTHSB OPEN(20,FILE='HSB0.DAT') OUTHSB=0D0 M=ABS(M) 107 OUTHSB=0.125D0*(GAMMA**2.0D0)*((N1+N2)+M+1.0D0) WRITE(20,*) N1,M,OUTHSB END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE SOLVE0(Z,SMAX,B,ENERGY0) DOUBLE PRECISION E ,E0,ANN,BNN,CNK,DNK,ENERGY0 INTEGER B,Z,SMAX EXTERNAL EVAPE0 DIMENSION V(smax+1,smax+1),H0(smax+1),C(smax+1) OPEN(11,FILE='HSAE0.DAT') OPEN(12,FILE='HSBE0.DAT') OPEN(13,FILE='HSCE0.DAT') OPEN(14,FILE='HSDE0.DAT') DO N=0,SMAX CALL HSAE0(N,ANN) CALL HSBE0(Z,N,BNN) WRITE(11,100) N,ANN WRITE(12,100) N,BNN DO K=0,N CALL HSCE0(N,K,CNK) CALL HSDE0(Z,N,K,DNK) WRITE(13,101) N,K,CNK WRITE(14,101) N,K,DNK ENDDO ENDDO CLOSE (11) CLOSE (12) CLOSE (13) CLOSE (14) CALL MATRIXH(B,Z,SMAX,H0,V) OPEN(1,FILE='H0.DAT') OPEN(2,FILE='V.DAT') WRITE(1,1000) H0 WRITE(1,*) ' INPUT ' WRITE(1,*) 'Z=',Z WRITE(1,*) 'B= :',B WRITE(1,*) 'VL= ',SMAX WRITE(2,1000) V WRITE(2,*) ' INPUT ' WRITE(2,*) 'Z= ',Z WRITE(2,*) 'B= ',B WRITE(2,*) 'VL= ',SMAX CLOSE(1) CLOSE(2) OPEN(1,FILE='H0.DAT') OPEN(2,FILE='V.DAT') READ(1,1000)H0 READ(2,1000)V E=0D0 E0=E CALL EVLAPE0(B,H0,V,C,E0,E,Smax+1) ENERGY0=E OPEN(23,FILE='E0.DAT') 108 WRITE(23,1000)E CLOSE(23) 100 FORMAT(I5,D20.12) 101 FORMAT(2I5,D20.12) 1000 FORMAT(D 20.12) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE MATRIXH(B,Z,S,H0,V) DOUBLE PRECISION VNK, HNN,ANN,BNN,DNK,CNK INTEGER N,K,S,B,Z,I,J DIMENSION V(S+1,S+1), H0(S+1) OPEN(11,FILE='HSAE0.DAT') OPEN(12,FILE='HSBE0.DAT') OPEN(13,FILE='HSCE0.DAT') OPEN(14,FILE='HSDE0.DAT') CALL HSAE0(B-1,ANN) CALL HSBE0(Z,B-1,BNN) W=0.9D0*BNN*BNN/ANN/ANN DO I=1,S+1 N=I-1 READ(11,200) N,ANN READ(12,200) N,BNN HNN=ANN*W-BNN*SQRT(W) H0(N+1)=HNN DO J=1,N+1 K=J-1 READ(13,201) N,K,CNK READ(14,201) N,K,DNK VNK=CNK*W-DNK*SQRT(W) V(N+1,K+1)=VNK V(K+1,N+1)=V(N+1,K+1) ENDDO ENDDO CLOSE(11) CLOSE(12) CLOSE(13) CLOSE(14) 200 FORMAT(I 5,D 20.12) 201 FORMAT(2 I 5,D 20.12) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE EVLAPE0(N,H0,V,C,E0,E,J) DIMENSION H0(J),V(J,J),VNM(J),C(J) INTEGER N,J,VL DOUBLE PRECISION E ,TT,E0 VNM=V(N,1:J) VL=0 CALL CKS(N,E0,H0,V,J,C) CALL SUMCVE0(C,VNM,J,TT) E=H0(N) + TT IF(ABS(1-E0/E).GT.1D-12) THEN E0=(E+E0)*0.5 VL=VL+1 109 IF(VL.GT.300) THEN GOTO ENDIF GOTO ENDIF END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE CKS(N,E0,H0,V,J,C) DIMENSION H0(J),V(J,J),TEMP(J,J),A(J-1,J), * TEMPN(J),X(J-1),C(J) INTEGER N,J,II,S DOUBLE PRECISION E0 EXTERNAL SUMCV DO I=1,J DO II=1,J IF (II.NE.I) THEN TEMP(I,II)=V(I,II) ELSE TEMP(I,II)=H0(I)-E0 ENDIF ENDDO ENDDO TEMPN(1:J)=TEMP(N,1:J) DO I=N,J-1 TEMP(I,1:J)=TEMP(I+1,1:J) ENDDO TEMP(J,1:J)=TEMPN(1:J) TEMPN(1:J)=TEMP(1:J,N) DO I=N,J-1 TEMP(1:J,I)=TEMP(1:J,I+1) ENDDO TEMP(1:J,J)=TEMPN(1:J) A(1:J-1,1:J-1)=TEMP(1:J-1,1:J-1) A(1:J-1,J)=-TEMP(1:J-1,J) S=J-1 CALL SOLVE(A,X,S) DO I=1,N C(I)=X(I) ENDDO DO I=N+1,J C(I)=X(I-1) ENDDO C(N)=0.0 END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE SOLVE(A,X,S) INTEGER I,K,N,S DIMENSION A(S,S+1), TEMPD(S+1), X(S) DOUBLE PRECISION TEMPA, TEMP DO N=1,S TEMPA=A(N,N) IF (TEMPA.EQ.0.0) THEN TEMPD(1:S+1)=A(N,1:S+1) 110 A(N,1:S+1)=A(N+1,1:S+1) A(N+1,1:S+1)=TEMPD(1:S+1) ENDIF TEMPA=A(N,N) A(N,1:S+1)=A(N,1:S+1)/TEMPA DO K=1,S IF (K.NE.N) THEN TEMP=A(K,N) A(K,1:S+1)=A(K,1:S+1)-A(N,1:S+1)*TEMP ENDIF ENDDO ENDDO DO I=1,S X(I)=A(I,S+1) ENDDO END !CCCCCCCCCCCCCCCCCC CHUONG TRINH CON TINH TONG CUA TICH CJVJ SUBROUTINE SUMCVE0(V,C,N,TT) DOUBLE PRECISION TEMP1,TT INTEGER N, I DIMENSION V(N), C(N) TT=0.0 DO I=1,N TEMP1=V(I) TEMP1=TEMP1*C(I) TT=TT+TEMP1 ENDDO TT=TT END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HSAE0(N,ANN) DOUBLE PRECISION ANN ANN=0.25D0*(4.0D0*N+3.0D0) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HSBE0(Z,N,BNN) PARAMETER (PI=3.14159265358979323846264338327950288419D0) DOUBLE PRECISION BNN,TONG1,TEMP,F INTEGER I,Z IF(N.GE.0) THEN TEMP=2.0 IF(N.GE.1) THEN DO I=1,N TEMP=TEMP*I*(2.0*I-1.0)*8.0 TEMP=TEMP/(4.0*I-1.0)/(4.0*I+1.0) ENDDO ENDIF ENDIF TEMP=TEMP*Z/SQRT(PI) TONG1=0D0 IF (N.GE.1) THEN DO J=1,N CALL HAMF1(N,J,F) 111 TONG1= TONG1+F ENDDO ENDIF BNN=TEMP*(1.0+(2.0*N+1.0)*TONG1) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HAMF1(N,J,F) DOUBLE PRECISION F,TEMP INTEGER I TEMP=0D0 IF(J.GE.1) THEN TEMP=0.1875D0 IF(J.GE.2) THEN DO I=2,J TEMP=TEMP*(4.0*I-3.0)*(4.0*I*1.0)*0.0625/ * I**2.0 ENDDO ENDIF TEMP=TEMP/(2.0*N-2.0*J+1.0) ENDIF F=TEMP END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HSCE0(NN,KK,CNK) DOUBLE PRECISION TEMP1, TEMP2,CNK,ROTE INTEGER N, K, NN,KK EXTERNAL ROTE IF(NN.GE.KK) THEN N=NN K=KK ELSE N=KK K=NN ENDIF TEMP1=ROTE(N,K+1) TEMP1=TEMP1*SQRT(2.0D0*K+2.0D0) TEMP1=TEMP1*SQRT(2.0D0*K+3.0D0) TEMP2=ROTE(N,K-1) TEMP2=TEMP2*SQRT(2.0D0*K*(2.0D0*K+1.0D0)) CNK=-0.25D0*(TEMP1+TEMP2) END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HSDE0(Z,NN,KK,DNK) PARAMETER(PI=3.141592653589793238462643383279502884197D0) INTEGER I,N,K,Z DOUBLE PRECISION T,F,DNK IF(NN.GE.KK) THEN N=NN K=KK ELSE N=KK K=NN ENDIF 112 T=0.0 DO I=0,K CALL HAMFD(N,K,I,F) T= T+F IF(ABS(T).LT.1D-307) THEN T=0D0 IF(T.GT.1D307) THEN PRINT*,'OVERFLOW TONG HSD' STOP ENDIF ENDIF ENDDO DNK=Z/SQRT(PI)*T END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE HAMFD(N,K,I,F) DOUBLE PRECISION F, TEMP INTEGER J INTRINSIC SQRT TEMP=0D0 IF(N.GE.1.AND.K.GE.0.AND.I.GE.0.AND.N.GT.K) THEN TEMP=-SQRT(6.0D0)/3.0D0 IF(N.GE.2) THEN DO J=2,N TEMP=-TEMP*(2.0*J-1.0)/SQRT(2.0*J*(2.0*J+1.0)) IF(ABS(TEMP).LT.1D-307) THEN TEMP=0D0 IF(TEMP.GT.1D307) THEN PRINT*,'OVERFLOW HAMFD 1' STOP ENDIF ENDIF ENDDO ENDIF IF(K.GE.1) THEN DO J=1,K TEMP=TEMP*(-8.0)*(N-J+1.0)*(2.0*J-1.0) TEMP=TEMP*SQRT(2.0*J*(2.0*J+1.0)) TEMP=TEMP/(2.0*J+1.0)/(2.0*N+2.0*J+1.0) TEMP=TEMP/(2.0*N-2.0*J+1.0) IF(ABS(TEMP).LT.1D-307) THEN TEMP=0D0 IF(TEMP.GT.1D307) THEN PRINT*,'OVERFLOW HAMFD 2' STOP ENDIF ENDIF ENDDO ENDIF IF (I.GE.1) THEN DO J=1,I TEMP=TEMP*0.0625*(2.0*N-2.0*K+4.0*J-1.0) TEMP=TEMP*(2.0*N-2.0*K+4.0*J-3.0) 113 TEMP=TEMP*(2.0*K-2.0*J+3.0)/J TEMP=TEMP/(N-K+J)/(2.0*K-2.0*J+1.0) IF(ABS(TEMP).LT.1D-307) THEN TEMP=0D0 IF(TEMP.GT.1D307) THEN PRINT*,'OVERFLOW HAMFD 3' STOP ENDIF ENDIF ENDDO ENDIF ENDIF F=TEMP END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC SUBROUTINE CKE0(N,E0,H0,V,J,C,VL3) DIMENSION H0(J),V(J,J),VNM(J),VKM(J),C(J),C0(J) INTEGER K,N,J,VL3 DOUBLE PRECISION MS, TS, E0,TT EXTERNAL SUMCV C(1:J)=0.0 VNM=V(N,1:J) DO I=1,VL3 C0=C DO K=1,J IF (K.NE.N) THEN VKM=V(K,1:J) CALL SUMCV(C0,VKM,J,TT) TS=V(K,N)+TT MS=E0-H0(K) IF(MS.NE.0D0) THEN C(K)=(C0(K)+TS/MS)*0.5D0 ENDIF ENDIF ENDDO ENDDO END !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC**THE END**CCCC 114 115 ... có cường độ chương 32 CHƯƠNG PHƯƠNG PHÁP TOÁN TỬ CHO BÀI TOÁN NGUYÊN TỬ HYDRO TRONG TỪ TRƯỜNG CÓ CƯỜNG ĐỘ BẤT KỲ Bài toán nguyên tử hydro toán cho nghiệm xác học lượng tử nên chương phương pháp. .. phương pháp tốn tử để giải toán nguyên tử hydro từ trường đồng có cường độ 18 CHƯƠNG PHƯƠNG PHÁP TOÁN TỬ CHO BÀI TOÁN NGUYÊN TỬ HYDRO Phương pháp toán tử đưa vào năm 1982 nhóm giáo sư trường. .. thức sơ đồ vịng lặp tìm lượng nguyên tử hydro từ trường 3.6 Mức lượng nguyên tử hydro từ trường có cường độ Ở trạng thái 1s0 , hàm sóng nguyên tử hydro từ trường có cường độ 0 ứng với n biểu