Fortran Coder

查看: 9136|回复: 4
打印 上一主题 下一主题

[绘图界面库] PGI及GFortran上使用SGL绘图库等问题

[复制链接]

3

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
8 点
跳转到指定楼层
楼主
发表于 2015-1-23 22:35:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟是新手,之前有学过Fortran的语法和程序设计之类的,但是最近才真正地开始上手。那么问题来了:我原先用的事VS2008+IVF, 可是现在学校的机子只有VS2012+PGI。这样就导致原来很多代码运行起来老是出错。
在实验室师姐师兄推荐下,自己又下了个Code block+GFortran, 因为编译器的问题,运行依旧出错。
1. IVF中的SGL绘图在PGI和GFortran中都没法用了,请问有何替代品么?如何集成到PGI或者GF中去?
2. SGL的dflib.mod 没法用了,说是没声明,能否给我dflib全局变量中的内容 我单独声明下试试看。
3. IVF中原先的open命令在PGI中无法打开某一个文件,该文件在我笔记本上的VS2008+IVF可以打开,并执行代码中的命令。请问是什么原因?
4. yield_stress=stress(pre_yield_time)+(stress(post_yield_time)-stress(pre_yield_time))*(0.001-strain(pre_yield_time))/(strain(post_yield_time)-strain(pre_yield_time))  这个式子Code block+GF提示:invalid form of array reference 怎么改啊?谢谢
原命令很简单:open(10, file = 'xyzInitial.dat', form = 'formatted', status = 'old', iostat = ioErr) 到这里就没法运行下去了。
十分感谢各位大侠!!
小弟真是新手。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

725

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
657 元
贡献
337 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

沙发
发表于 2015-1-23 23:00:47 | 只看该作者
1. SGL 是什么?彭国伦的库?貌似有源代码吧?在 PGI 和 GFortran 上重新编译一下就好了。( PGI 我没用过,也没用 gfortran 编译过 SGL )

   我对 SGL 没有什么了解,但是开源的库应该都没问题的。

2. 这个 dflib.mod 貌似是 CVF 的东西,在新的编译器环境下,你不需要它。如果你编译的时候提示需要,尝试重新编译 SGL

3. 你的 Open 语句非常标准,PGI 没有道理不支持的。请给出错误提示以便判断。

3

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
8 点
板凳
 楼主| 发表于 2015-1-23 23:16:28 | 只看该作者
楚香饭 发表于 2015-1-23 23:00
1. SGL 是什么?彭国伦的库?貌似有源代码吧?在 PGI 和 GFortran 上重新编译一下就好了。( PGI 我没用过 ...

对的, SGL是彭国伦那个书里面说的。用PGI 说是代码里面的dflib module 没有声明。 我百度了一下, 有人说dfilb mod 是SGL里包含的。
open的那个,build之后run, 立马就死机了。。。。我用Ctrl+F5去run, 因为我之前的代码有 ioErr/=0 就显示 xyzinitial file open fails,这才知道是这里出的问题
能否再看看我补充的第四点,十分感谢!

725

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
657 元
贡献
337 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

地板
发表于 2015-1-23 23:49:38 | 只看该作者
本帖最后由 楚香饭 于 2015-1-23 23:54 编辑

1. DFLib.mod 不是 SGL 的,可以肯定是 CVF 的。Digital Fortran Library 的缩写。
  我在彭国伦光盘上没有找到 DFLib.mod,反而在 CVF 安装光盘里找到了。
2. 如果你的 SGL 没有重新编译,请不要在 GFortran / PGI 上使用。编译后的函数库,面向不同平台的是不通用的。(所以很多商业的函数库也是分别销售的,甚至价格都不同)
3. 我对 PGI 不了解。如果遇到运行后死掉的问题,建议你单步调试。(PGI应该有调试器)这个问题可以肯定不是出在open语句的代码上。
4. yield_stress=stress(pre_yield_time)+(stress(post_yield_time)-stress(pre_yield_time))*(0.001-strain(pre_yield_time))/(strain(post_yield_time)-strain(pre_yield_time))   这个句子我这里可以正常编译。(GFortran)

3

帖子

1

主题

0

精华

新人

F 币
19 元
贡献
8 点
5#
 楼主| 发表于 2015-1-24 13:21:10 | 只看该作者
楚香饭 发表于 2015-1-23 23:49
1. DFLib.mod 不是 SGL 的,可以肯定是 CVF 的。Digital Fortran Library 的缩写。
  我在彭国伦光盘上没有 ...

十分感谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-11-23 23:28

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表