我需要 odb 中的节点应力。我知道我可以简单地在可视化模块中生成一个查询,因此可以获得平均节点应力(我认为它不会在分析后执行,我不能在 odb 中这样做,因为没有节点压力信息)。我还可以编辑输入文件并在元素输出中使用 Position = NODES,然后通过调用输入文件作为源来运行分析。它使用节点数据生成应力,然后每个节点都有对应于每个元素的多个应力值。我还对脚本中的这些值进行了平均,就像在可视化模块中所做的那样。但是现在我需要为多个模拟自动化这个脚本,我唯一卡住的地方是为下一次迭代请求节点输出。我不知道写在输入文件中的 Position = NODES 的等效 python 命令是什么。我不能一直调用相同的输入文件,因为下一次模拟的节点位置与早期模型不同。关于我该如何去做的任何想法?
问问题
2528 次
1 回答
0
这是一个为关键字编辑器编写脚本的示例。诀窍是您需要搜索现有关键字并在其之前或之后插入新文本。
model.keywordBlock.synchVersions()
def GetBlockPosition(model,blockPrefix):
pos = 0
for block in model.keywordBlock.sieBlocks:
if string.lower(block[0:len(blockPrefix)])==string.lower(blockPrefix):return pos
pos=pos+1
return -1
model.keywordBlock.insert(GetBlockPosition(model,'*Restart')-1, """
*EL FILE,POSITION=AVERAGED AT NODES
S
""")
这是创建/提交作业之前的最后一件事。
于 2016-02-23T21:15:56.170 回答