Fortran Coder

查看: 8811|回复: 5
打印 上一主题 下一主题

[文件读写] 关于自由格式读写数组的问题,求指导

[复制链接]

13

帖子

4

主题

0

精华

入门

F 币
74 元
贡献
43 点
跳转到指定楼层
楼主
发表于 2015-12-7 21:57:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
subroutine Stiffb
    common/fem1/npoin,nelem,nboun,nprop,nnode,nevab,nsvab,ndofn,ndime,nstre
    common/fem2/props(5,2),coord(50,2),lnods(75,2),ifpre(100),fixed(100),rload(50,2),eload(75,4),&
         matno(75),stres(75,1),xdisp(100),tdisp(50,2),treac(50,2),astif(100,100),aslod(100),react(100)
    dimension estif(4,4)
!
!  evaluation of member stiffness matrices
!  for pin-jointed plane frameworks
!
    open(unit=10,file='input.txt')
    open(unit=12,file='output.txt')
    open(unit=11,file='between.txt')
    rewind 11
    do 20 ielem=1,nelem
    lprop=matno(ielem)
    young=props(lprop,1)
    xarea=props(lprop,2)
    node1=lnods(ielem,1)
    node2=lnods(ielem,2)
    xproj=coord(node2,1)-coord(node1,1)
    yproj=coord(node2,2)-coord(node1,2)
    eleng=sqrt(xproj**2+yproj**2)
    sinth=yproj/eleng
    costh=xproj/eleng
    fmult=young*xarea/eleng
    estif(1,1)=fmult*costh**2
    estif(1,2)=fmult*sinth*costh
    estif(2,1)=fmult*sinth*costh
    estif(2,2)=fmult*sinth**2
    do 10 inode=1,nnode
    do 10 jnode=1,nnode
    kount=(-1)**inode*(-1)**jnode
    do 10 knode=1,nnode
    do 10 lnode=1,nnode
    index=(inode-1)*nnode+knode
    jndex=(jnode-1)*nnode+lnode
 10 estif(index,jndex)=kount*estif(knode,lnode)
    write(11) estif                          !问题在此行
 20 continue
    return
  end

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

沙发
发表于 2015-12-8 08:26:22 | 只看该作者
您好,固定格式自由格式并没有语法上的区别,只是书写格式的区别。就好像,推荐信求职信,使用的都是同一个英语

所以,并不存在 自由格式的数组用法 固定格式的数组用法 ,他们是一样的。

您的代码我这边编译没有问题。如果您遇到了链接错误,运行时错误,请给出完整的代码,或错误提示信息

13

帖子

4

主题

0

精华

入门

F 币
74 元
贡献
43 点
板凳
 楼主| 发表于 2015-12-8 19:35:04 | 只看该作者
对,编译没有问题。完整程序在链接里,output文件本来是空的,运行后中止,output文件内容只是读写了input文件,没有进行计算就中止了。问题提示框在附件了。谢谢你了!

Fcode问题提示.PNG (58 KB, 下载次数: 311)

Fcode问题提示.PNG

input.txt

395 Bytes, 下载次数: 1

output.txt

740 Bytes, 下载次数: 0

13

帖子

4

主题

0

精华

入门

F 币
74 元
贡献
43 点
地板
 楼主| 发表于 2015-12-8 19:38:08 | 只看该作者

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1641 元
贡献
709 点

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

5#
发表于 2015-12-8 20:06:02 | 只看该作者
错误提示里已经提示您,145行有错。
把 145 行 write(11) estif
改为 write(11,*) estif

只会会提示其他几处相似的地方,也一并修改。

13

帖子

4

主题

0

精华

入门

F 币
74 元
贡献
43 点
6#
 楼主| 发表于 2015-12-8 21:52:04 | 只看该作者
解决了,谢谢哈
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-22 19:12

Powered by Tencent X3.4

© 2013-2024 Tencent

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