| 查看: 285 | 回复: 0 | ||
[求助]
麻烦大家帮忙看看这个程序错在哪里了
|
|
program bhs !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++声明 implicit none integer,parameter::Num=10 !能量的格点数 integer,parameter::Num1=100 !位置的格点数 real::bhs(Num,Num1) !存放波函数的数组 real::bhs1(Num,Num1) !存放波函数的中间过渡数组 real::energy(Num) !存放能量本征值的数组 integer::n !既是本征态量子数,又是能量循环指标 integer::c ! denote 2 real::w !谐振子的振动频率 real::x !表示位置的变量 real::xx !位置的最大值 real::dx !数值模拟的位置间隔 real::kjc(1) !k的阶乘 real::efkjc(1) !二分之k的阶乘 integer::j !位置循环指标 integer::i !厄密多项式项数循环指标 integer::k !n取一定值时,波函数的项数由第项叠加至第n项的循环指标 integer::g !用来求k的阶乘,以及二分之k的阶乘的循环指标 !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++赋值 xx=4.0 dx=xx/Num1 w=2.0 c=2 open(unit=60,file='bhs.txt') open(unit=70,file='energy.txt') !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++运算 ! do j=1,Num1=100 !x=j*dx !bhs(0,j)=exp((-1.0/2.0)*x**2) !end do energy(0)=(1.0/2.0)*w do j=1,Num1 !++++++++++++++++++++++++++++++++++++++++++++++++++++++++the loop of station energy(n)=(n+1.0/2.0)*w x=j*dx do n=1,Num !++++++++++++++++++++++++++++++++++++++++++++++++++++++++the loop of energy if (n%c==0) then do k=1,n !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++the loop of k do g=1,k !++++++++++++++++++++++++++++++++++++++++++++++++++++++++the loop of g kjc(0) =kjc(0)*g efkjc(0)=efkjc(0)*(g/2.0) end do !+++++++++++++++++++++++++++++++++++++++++++++++++++++++end g bhs1(k,j)=exp((-1.0/2.0)*x**2)*((-1)**(n/2.0)*kjc(0)*(2x)**(n-2*(n/2.0))/efkjc(0)) bhs1(n,j)=bhs1(n,j)+bhs1(k,j) kjc(0)=0.0 efkjc(0)=0.0 end do !++++++++++++++++++++++++++++++++++++++++++++++++++++++end k bhs(n,j)=bhs1(n,j)+exp((-1.0/2.0)*x**2) end if !bhs(0,j)=exp((-1.0/2.0)*x**2) if (n%c==1)then do k=1,n do g=1,k kjc(0)=kjc(0)*g efkjc(0)=efkjc(0)*(g/2.0) end do bhs1(k,j)=exp((-1.0/2.0)*x**2)*((-1)**((n-1)/2.0)*kjc(0)*(2x)**(n-2*((n-1)/2.0))/efkjc(0)) bhs1(n,j)=bhs1(n,j)+bhs(k,j) kjc(0)=0.0 efkjc(0)=0.0 end do bhs(n,j)=bhs1(n,j)+exp((-1.0/2.0)*x**2) end if end do !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++end the loop of energy end do !++++++++++++++++++++++++++++++++++++++++++++++++++++++++++end the loop of station do n=1,Num do j=1,Num1 write(60,*)bhs(n,j) write(70,*)energy(n) end do end do close(60) close(70) end program |
» 猜你喜欢
评审有感
已经有10人回复
面上本子正文33页,违规吗?会被低分嘛?
已经有10人回复
国自然上会要求
已经有9人回复
博士申请
已经有5人回复
今年审到国自然15份,谈谈感受
已经有16人回复
上海大学实验技术岗位非升即走
已经有8人回复
考博自荐
已经有6人回复
青C资助名额大幅增加!
已经有16人回复
重磅!青年科学基金项目(C类)资助增幅预计超过50%
已经有10人回复
我在等一个没有答案的答案
已经有3人回复












回复此楼
20