脚本
thermnet计算后采点得到各部分实体的温度值,能够通过脚本赋值作为各部分实体的初始温度? 应该是可以的。能问下楼主,为什么需要用脚本?如果是coupling仿真,ThermNet会自动更新部件温度。如果不是,可否具体说下您所要仿真的问题吗? 因为每次计算之后,模型都会进行移动,这样的话就不能自动更新了,我需要通过脚本赋值 gcf 发表于 2017-3-24 09:30因为每次计算之后,模型都会进行移动,这样的话就不能自动更新了,我需要通过脚本赋值
点击宏录制,然后操作一遍,完毕保存vbs文件 ,稍后打开稍加删改,测试。完了你需要的脚本就完成了。我们遇到的大量重复操作都采用此功能。 本帖最后由 panda8866 于 2017-3-31 01:14 编辑
好像有点明白楼主的意思了, 您的模型在ThermNet中要移动,是吗? 如果是那样,目前ThermNet好像还没有运动瞬态求解。所以只能一个位置一个位置的求解。 每完成一个位置的couple求解后,更新温度和位置再次求解,而且这也只是个近似的方法,因为运动瞬态被忽略了。不过,还是希望楼主具体说下您所要仿真的情形吗?因为,在某些时候,即使有部件位置移动,但仍可在ThermNet中不用模拟这个移动,比如旋转电机。 达一 发表于 2017-3-30 21:38
点击宏录制,然后操作一遍,完毕保存vbs文件 ,稍后打开稍加删改,测试。完了你需要的脚本就完成了。我们 ...
现在正在这样测试,谢谢指导 panda8866 发表于 2017-3-31 00:16
好像有点明白楼主的意思了, 您的模型在ThermNet中要移动,是吗? 如果是那样,目前ThermNet好像还没有运动 ...
我做的是感应加热,运动体是做匀速直线运动 楼主需要注意一点, 在ThermNet求解后给出的部件温度有最大,最小和平均温度。实际部件的温度分布可能不一样,也就是说,部件的某个部分温度大,而其他部分温度低。如果您不在意温度的分布,那么4楼的方法可以适用,无非看您取最大或最小或平均温度。如果在意温度分布,那您必须使用温度属性覆盖的方法,提取网格点的所有温度值,然后覆盖到移动位置后的网格点。记得在您发的另外一个贴子中给您过建议(https://bbs.simol.cn/thread-159919-1-2.html)。 panda8866 发表于 2017-3-31 10:01
楼主需要注意一点, 在ThermNet求解后给出的部件温度有最大,最小和平均温度。实际部件的温度分布可能不一 ...
就是用你之前帖子上写的那个脚本文件?对这一块儿不太熟悉 panda8866 发表于 2017-3-31 10:01
楼主需要注意一点, 在ThermNet求解后给出的部件温度有最大,最小和平均温度。实际部件的温度分布可能不一 ...
'Clear the existing property field
Call getDocument.setSolverPropertyField("daicai", infoSolverPropertyFieldIdTemperature)
'Override the Temperature property on the component.
Set Mesh=getDocument().getSolution().getMesh(SolutionId, "daicai")
Set Field= getDocument.getSolution().getSystemField(Mesh, "500HZ-MeshAndField.xls")
'Set the Temperature data for the "daicai"
Call Field.getFieldData(ScalarData)
For i = 0 To ubound(scalarData)
ScalarData(i) = "500HZ-MeshAndField.xls"
Next
Call Field.setFieldData(ScalarData)
'call to override the temperature property on the component
Call getDocument.setSolverPropertyField(Field, infoSolverPropertyFieldIdTemperature)
我把帖子中的脚本修改了一下,但是运行的时候会报错,是哪个地方出问题了呢?
页:
[1]