Fortran Coder

查看: 30016|回复: 10
打印 上一主题 下一主题

[求助] 关于FORTRAN77中COMMON的问题

[复制链接]

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
跳转到指定楼层
楼主
发表于 2020-10-8 21:54:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在两个子程序之间进行数据交互,且每个增量步后都需要把数据传递给另一个子程序,通过COMMON进行数据交换时,会出现数据混乱,温度传递过去的云图如下图所示,在数据传递过程中,子程序1计算的数据传递给子程序2,子程序2计算后的数据在通过common传递给子程序1中,参与子程序1中的计算。子程序1中:
      COMMON X, Y, Z, H, I, J, W, B, BA
      REAL X, Y, Z, H, I, J, W, B, BA
其中:
X,K,W,B,BA为子程序1传递给子程序2

子程序2中:
      COMMON L, G, K, O, P, Q, S, NN, BBA
      REAL L, G, K, O, P, Q, S, NN, BBA

其中:
G,O,P,Q为子程序2传递给子程序1
子程序中的相关变量已经一一对应。




微信图片_20201008215331.png (68.65 KB, 下载次数: 618)

子程序1传递给子程序2的温度云图

子程序1传递给子程序2的温度云图
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

7

帖子

0

主题

0

精华

入门

F 币
70 元
贡献
43 点
沙发
发表于 2020-10-8 23:41:16 | 只看该作者
改用module就解决了。

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
板凳
 楼主| 发表于 2020-10-9 09:09:30 | 只看该作者
七星彩 发表于 2020-10-8 23:41
改用module就解决了。

module是90/95引入的吧 77可以用么
如果不换module 只是在common的基础上进行改动 需要怎么改呢

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2020-10-9 10:09:51 | 只看该作者
是什么让你把自己禁锢在F77的古老世界里?

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
5#
 楼主| 发表于 2020-10-9 10:42:46 | 只看该作者
fcode 发表于 2020-10-9 10:09
是什么让你把自己禁锢在F77的古老世界里?

来自导师的压力

168

帖子

2

主题

1

精华

大师

Vim

F 币
1021 元
贡献
486 点

规矩勋章

6#
发表于 2020-10-9 16:37:03 | 只看该作者

注意区分F77和固定格式,现在应该没有只支持F77的编译器

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
7#
 楼主| 发表于 2020-10-9 19:52:24 | 只看该作者
Transpose 发表于 2020-10-9 16:37
注意区分F77和固定格式,现在应该没有只支持F77的编译器

因为课题组都是Abaqus+Fortran77 所以就都只能一样了

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1642 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

8#
发表于 2020-10-10 09:02:00 | 只看该作者
abaqus 也可以用90啊~~注意固定格式并不代表F77。
F90也可以用固定格式~~

PS:其实abaqus有可以用自由格式~~

168

帖子

2

主题

1

精华

大师

Vim

F 币
1021 元
贡献
486 点

规矩勋章

9#
发表于 2020-10-10 12:07:59 | 只看该作者
916115735 发表于 2020-10-9 19:52
因为课题组都是Abaqus+Fortran77 所以就都只能一样了

看来你并没有区分清楚固定格式和F77。Fortran文件格式有固定格式和自由格式,语法标准有77,90,95,2003,2008。固定格式是以for,f结尾的文件(需要满足开头空6列,标签的位置,续行的要求等等),并不影响使用哪一种标准的语法,在固定格式里面也可以使用90的语法。

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
10#
 楼主| 发表于 2020-10-11 10:21:09 | 只看该作者
Transpose 发表于 2020-10-10 12:07
看来你并没有区分清楚固定格式和F77。Fortran文件格式有固定格式和自由格式,语法标准有77,90,95,2003 ...

好的 谢谢指点
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 11:44

Powered by Tencent X3.4

© 2013-2024 Tencent

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