24小时热门版块排行榜    

查看: 374  |  回复: 1

zml90h

银虫 (小有名气)

[求助] 请问一下,应该从命令窗口输入什么,格式是什么样子的。

下面一段Fortran代码会在命令窗口提示用户输入转轴和转角,但是我不明白输入的格式是什么,因为我刚刚接触到Fortran写的程序,所以看不懂。因此在这里请求各位虫友们帮小弟看看。谢谢了。主要是前几行。

c  define rotation of lattice axes
c
    2 write(*,'(a)',advance='NO') ' axis (x/y/z/q) and degree : '
      read(*,*,end=3) axis,degree
      degr = 3.1415926535898d0 * degree / 180.0d0
      if(axis(1:1).eq.'q' .or. axis(1:1).eq.'Q') goto 3
      if(axis(1:1).eq.'x' .or. axis(1:1).eq.'X') then
         rotation(1,1) = one
         rotation(2,1) = zero
         rotation(3,1) = zero
         rotation(1,2) = zero
         rotation(2,2) = dcos(degr)
         rotation(3,2) = - dsin(degr)
         rotation(1,3) = zero
         rotation(2,3) = dsin(degr)
         rotation(3,3) = dcos(degr)
         call matrix_product(tmp_rotation,rotation,all_rotation)
         tmp_rotation = all_rotation
      elseif(axis(1:1).eq.'y' .or. axis(1:1).eq.'Y') then
         rotation(1,1) = dcos(degr)
         rotation(2,1) = zero
         rotation(3,1) = dsin(degr)
         rotation(1,2) = zero
         rotation(2,2) = one
         rotation(3,2) = zero
         rotation(1,3) = - dsin(degr)
         rotation(2,3) = zero
         rotation(3,3) = dcos(degr)
         call matrix_product(tmp_rotation,rotation,all_rotation)
         tmp_rotation = all_rotation
      elseif(axis(1:1).eq.'z' .or. axis(1:1).eq.'Z') then
         rotation(1,1) = dcos(degr)
         rotation(2,1) = - dsin(degr)
         rotation(3,1) = zero
         rotation(1,2) = dsin(degr)
         rotation(2,2) = dcos(degr)
         rotation(3,2) = zero
         rotation(1,3) = zero
         rotation(2,3) = zero
         rotation(3,3) = one
         call matrix_product(tmp_rotation,rotation,all_rotation)
         tmp_rotation = all_rotation
      endif
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

做一个拥有哲学头脑的技术人
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zml90h

银虫 (小有名气)

如何放弃求助啊 问题已经解决了
做一个拥有哲学头脑的技术人
2楼2013-12-19 11:19:41
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zml90h 的主题更新
信息提示
请填处理意见