| 
 | 
 
 本帖最后由 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语句,那么程序计算不收敛,仿佛程序要求这里必须有输出才行,不知道到底是什么原因………… 
 
求各位前辈指点! 
 
 
 
 
 |   
 
 
 
 |