使用ifort编译Abaqus子程序时输出异常的技术求助
Abaqus子程序(ifort编译)数组声明相关诡异计算异常
问题背景
使用ifort编译器开发Abaqus子程序,此前运行正常,近两周出现异常:计算结果受非逻辑因素影响,已耗时10天排查仍未解决,急需适配大规模模型。
异常现象
- 打印任意变量时,计算结果自动恢复正确
- 仅通过Abaqus传递的变量(如
nnode)声明数组维度时,无需打印即可得到正确结果
具体案例
处理含4节点单元的2单元模型(计算刚度矩阵与位移):
- 手动声明
b矩阵为4×8时,Abaqus报错 - 用
4×2*nnode(nnode由Abaqus传入,此时2*nnode=8)声明时,结果完全正确,二者逻辑上数组规格一致
已做排查
- 通过循环构建
ba矩阵 - 尝试过初始化变量、检查数组越界等常见建议,但
b矩阵的访问逻辑仍存在诡异问题
代码片段
# 请在此处粘贴你的子程序代码片段
内容的提问来源于stack exchange,提问作者Biswabhanu Puhan
相关产品推荐
相关产品推荐

