我有一些编写fortran代码的经验,但我从未见过这样的东西.
我正在使用大型HPC代码(~10K行),我在其中修改子程序.我使用print语句验证一切都已正确完成并在必要时进行调试.当我用PRINT我使用的最后一个语句运行我的代码时,代码到处都给我实数.一旦我评论了最后一个PRINT语句,代码就是给我NaN一些变量.由于我的代码太大,我显然不能在这里发布,但我会发表PRINT声明:
PRINT*, "outletBC up1 ", SUM(ABS(up(nptsx,:,:)))
Run Code Online (Sandbox Code Playgroud)
哪里up是一些速度阵列.
题:
怎么可能?PRINT语句如何可能影响任何变量?
小智 1
我认为这表明代码中存在其他一些错误(例如内存损坏)。我不确定你使用了什么调试标志。但是,请尝试编译标志“-check all”(针对 intel fortran 编译器)。该标志检查多个可能的错误。有关更多详细信息,您可以参考https://software.intel.com/sites/default/files/m/f/8/5/8/0/6366-ifort.txt
| 归档时间: |
|
| 查看次数: |
1128 次 |
| 最近记录: |