Fortran Coder

楼主: 916115735
打印 上一主题 下一主题

[求助] 关于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, 下载次数: 540)

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

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

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
沙发
 楼主| 发表于 2020-10-9 09:09:30 | 显示全部楼层
七星彩 发表于 2020-10-8 23:41
改用module就解决了。

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

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
板凳
 楼主| 发表于 2020-10-9 10:42:46 | 显示全部楼层
fcode 发表于 2020-10-9 10:09
是什么让你把自己禁锢在F77的古老世界里?

来自导师的压力

29

帖子

10

主题

0

精华

熟手

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

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

29

帖子

10

主题

0

精华

熟手

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

好的 谢谢指点

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
6#
 楼主| 发表于 2020-10-11 10:21:43 | 显示全部楼层
fcode 发表于 2020-10-10 09:02
abaqus 也可以用90啊~~注意固定格式并不代表F77。
F90也可以用固定格式~~

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

本版积分规则

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

GMT+8, 2024-5-6 19:21

Powered by Tencent X3.4

© 2013-2024 Tencent

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