如何在ABAQUS Python脚本中请求节点压力输出

时间:2016-02-23 08:50:59

标签: python scripting abaqus stress

我需要odb中的节点压力。我知道我可以简单地在可视化模块中生成一个查询,因此可以获得平均节点压力(我不认为它将在分析后执行,并且我不能在odb中执行,因为没有节点压力信息)。我也可以编辑输入文件并在元素输出中使用Position = NODES,然后通过调用输入文件作为源来运行分析。它使用节点数据生成应力,然后每个节点都有多个与每个元素对应的应力值。我还在脚本中将这些值平均化为可视化模块中的值。 但是现在我需要自动化这个脚本以进行多次模拟,而我唯一困难的地方就是请求下一次迭代的节点输出。我不知道什么是与输入文件中写入的Position = NODES等效的python命令。我无法继续调用相同的输入文件,因为我的节点位置对于下一次模拟与早期模型不同。 有关如何去做的任何想法?

1 个答案:

答案 0 :(得分: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
""")

在创建/提交作业之前,这是最后一件事。