|
本帖最后由 wsyqz 于 2020-4-27 21:49 编辑
各位前辈,小弟是做有限元方向的的,采用的工具是Abaqus,配合Fortran编写的程序(.for),完成有限元分析。
但是最近小弟发现一个非常玄幻的问题:
只要注释掉或者删除 .for文件中的一段负责输出语句(与实际计算过程无关,仅仅是输出当前运行的进度),整个程序的输出结果不收敛;
保留该段,程序可以配合Abaqus正常完成分析,该语句如下
CCCCCCCCCCCCCCCCCCCCCCCC
WRITE (*,34) M
34 FORMAT ('M= ',I6.5,/)
WRITE (*,35) N
35 FORMAT ('N= ',I6.5,/)
CCCCCCCCCCCCCCCCCCCCCCCC
经过尝试,发现注释掉后两行,保留前两行(如下所示),程序仍可正常运行
CCCCCCCCCCCCCCCCCCCCCCCC
WRITE (*,34) M
34 FORMAT ('M= ',I6.5,/)
! WRITE (*,35) N
!35 FORMAT ('N= ',I6.5,/)
CCCCCCCCCCCCCCCCCCCCCCCC
或者注释掉前两行,保留后两行(如下所示),程序仍可正常运行
CCCCCCCCCCCCCCCCCCCCCCCC
! WRITE (*,34) M
!34 FORMAT ('M= ',I6.5,/)
WRITE (*,35) N
35 FORMAT ('N= ',I6.5,/)
CCCCCCCCCCCCCCCCCCCCCCCC
但是只要这一段语句中注释掉所有write语句,那么程序计算不收敛,仿佛程序要求这里必须有输出才行,不知道到底是什么原因…………
求各位前辈指点!
|
|