eddiechenmac 发表于 2008-11-18 05:59

[求助] 打印积分点应力

请教,结果已经计算好,本人想再后处理中打印积分点Mises和Pressure应力的值。请问该如何写后处理文件? 谢谢!

prdkmzq 发表于 2008-11-18 10:15

在后处理中,先只显示你所需要打印的那些单元,然后菜单中点Report ->Field Output
在“variable”选项卡中 position已经是积分点的位置了,再在下面的S中选Mises和Pressure
在“setup"选项卡中 现选择你想打印到哪个文件里,是复盖还是继续写文件。并选择你要的精度和格式,还有是否打印总和和最大最小值。

都选好后点OK 就行

eddiechenmac 发表于 2008-11-18 21:52

回复 沙发 prdkmzq 的帖子

谢谢! 但是这样的话貌似只能输出一个Step下的信息,如果想要连续输出所有步数下各积分点的Mises,Pressure,有没有方法实现呢?

prdkmzq 发表于 2008-11-19 09:00

如果你的step不多的话,其实多点几次也不麻烦。
如果你的step真的多到手点会很耗时的时候,我有几个建议:
1 你是不是要画出随step的增加,积分点Mises,Pressure值的曲线图?如果是的话,并且你实际要的打印的相关单元个数并不太多,你可以用后处理画曲线的功能“xy data” 选择“odb history output"输出随步变化的所需值的曲线图。
2如果你step数和所需打印相关的单元都非常多,那你可以用类似ansys命令流的方式,在ABAQUS用macro(宏命令)来写出你需要大量“手点”的工序,然后用文件形式或者直接在cae下运行这个macro就能完成。

eddiechenmac 发表于 2008-11-19 10:57

回复 地板 prdkmzq 的帖子

非常感谢! 看来我需要用macro命令. 再请教一下,如果用macro写的话,documentation里有没有例子? 我想找一个学习一下. 或者能不能具体给点建议如何用macro实现呢?

prdkmzq 发表于 2008-11-19 15:56

session.fieldReportOptions.setValues(printTotal=OFF, printMinMax=OFF)
session.writeFieldReport(fileName='abaqus.rpt', append=ON, sortItem='Element Label', odb=odb, step=0, frame=11, outputPosition=INTEGRATION_POINT, variable=(('S', INTEGRATION_POINT, (( INVARIANT, 'Mises'), (INVARIANT, 'Pressure'), )), ))

这上面是打印第1个step 的第11个frame(也是最后一个) 中mises pressure 积分点值的命令,你自己修改下再用吧。如果你不用循环的话,多复制几次吧,然后存到一个文档里,可以用run script运行
页: [1]
查看完整版本: [求助] 打印积分点应力