| 查看: 318 | 回复: 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 |
» 猜你喜欢
广西大学-广州大学招聘博士后 欢迎广大优秀人才!!!
已经有11人回复
闲聊
已经有3人回复
江苏省自然基金 什么时候出结果
已经有4人回复
如何查询2026年获批项目名称?
已经有3人回复
两块石头
已经有10人回复
科研人应该花精力去思考如何解决问题,而不是去凝练问题
已经有19人回复
售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急
已经有15人回复
面上没中,邀请各位路过的虫友分析一下分数
已经有13人回复
初秋的晨风
已经有6人回复
Ei源刊怎么投
已经有4人回复










回复此楼