Fortran Coder

标题: 跪求土木大佬帮看看这个弹塑性本构代码的问题 [打印本页]

作者: 旅人    时间: 2021-3-30 17:18
标题: 跪求土木大佬帮看看这个弹塑性本构代码的问题
最近在学习Fortran,试着编译了一下一篇论文的应变表达的弹塑性本构模型,但是输出的结果不对劲,也没有类似的例子可以参考一下,输出的结果有一半能输出数据,有一半则都是NaN,跪求各位大佬帮忙看一看这个代码的逻辑有没有问题以及能输出的那部分数据是否符合客观规律。小弟在此谢过。

outSigEpu.txt

107.03 KB, 下载次数: 8

Source1.f90

13.81 KB, 下载次数: 4

文献.pdf

570.36 KB, 下载次数: 7


作者: li913    时间: 2021-3-31 09:54
修改设置,让nan报错,就能知道哪里出问题了。

1.png (36.76 KB, 下载次数: 868)

1.png

作者: 旅人    时间: 2021-3-31 14:17
li913 发表于 2021-3-31 09:54
修改设置,让nan报错,就能知道哪里出问题了。

这个我用过,虽然知道是在哪出现问题 ,但是没办法改,因为显示出问题的地方是文献上的一条公式,我寻思着会不会可能是其他地方出现了错误,导致这出错
作者: 望舒    时间: 2021-3-31 21:27
之前编写有限元遇到过这样的问题,
NAN的输出结果极有可能是你没有给矩阵(二维数组)所有位置都 赋值。(哪怕是0也得赋值)
你如果不赋值系统就会分配随机数进去,出现大量很大的数字或者NAN。
所以在给刚度矩阵、应力张量、弹性常数等矩阵赋值的时候务必注意不要让系统随机。
作者: 旅人    时间: 2021-3-31 21:59
望舒 发表于 2021-3-31 21:27
之前编写有限元遇到过这样的问题,
NAN的输出结果极有可能是你没有给矩阵(二维数组)所有位置都 赋值。( ...

这个问题我之前注意到了,大部分应该都初始化过了,我回去检查一下。
作者: 旅人    时间: 2021-3-31 22:02
望舒 发表于 2021-3-31 21:27
之前编写有限元遇到过这样的问题,
NAN的输出结果极有可能是你没有给矩阵(二维数组)所有位置都 赋值。( ...

大哥 你有类似的代码么,就用应变迭代的本构程序
作者: li913    时间: 2021-4-2 09:33
找到出错的地方,一步步往回找,追根溯源。




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2