写在前面,最近回看了一些自己之前编写的和这个py代码,发现自己写的可能和公式表达的有偏差,在我的测试过程中,提取的是单元积分点处的应力应变值,由于只有一个积分点(这个积分点在质心,与centroid提取得到的结果一样),因此自然的把这个值当成了单元的平均应力或平均应变,然后进行计算,但是我现在觉得这并不是获取单元平均应力的方式,也就是代码并没有实现所谓的提取平均应力应变的功能,希望有大神可以指点迷津。
如果是有多个积分点的话,是不是应该对每个积分点权重进行积分,加权平均这样得到单元的平均应力,然后乘单元体积,将所有单元的值求和再除模型的总体积,就得到整个RVE模型的平均应力。
最近写了一个简单的python读取abaqus结果中的场输出数据,想通过均匀化计算方法来计算所定义集合的平均应力应变曲线,之前是手动提取了各个数据导出,然后用excel、matlab处理,但是很慢,而且很费劲,于是就想着用Python来处理结果。
均匀化计算方法:
参考文献:马思鸣. 精冲用碳钢微观组织对宏观力学性能及精冲性能影响研究[D]. 上海:上海交通大学,2017.
我在网上找了挺久挺多的关于Python提取场输出结果的,我找到的案例中输出的都是某一帧所有单元的或者某一单元所有帧的结果,而我要想求的是所有单元每一帧的结果,以第二篇帖子中的简单模型为案例,集合Set-1定义为整个模型,编写程序计算输出了其应力应变数据,结果如下:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删