以编程方式回答 abaqus 覆盖提示

问题描述 投票:0回答:3

当我跑步时

call abaqus job=some_name interactive 

可能会发生两件事:

  1. 如果是我第一次运行该作业,则不会进行任何查询。

  2. 但是,如果该职位存在,我会收到以下消息:

     Old job exist. Overwrite? (y/n): 
    

我希望我的脚本始终响应

 y

我已经尝试过了

 /Q and echo n|call 

没有运气。

batch-file abaqus
3个回答
9
投票

在作业执行命令末尾添加

ask_delete=OFF

abaqus job=some_name interactive ask_delete=OFF

2
投票

对于 abaqus,您真正应该做的不是构建批处理文件,而是构建一个导入并运行代码的 python 执行脚本。

Python API 的文档位于 abaqus 脚本手册中,但代码如下所示:

# yourscript.py
for filepath in list of filepaths:
  mdb.JobFromInputFile(name='filename', inputFileName='filepath',)
  mdb.jobs['filename'].submit()
  mdb.waitForCompletion()

然后用命令提交

>>> abaqus python yourscript.py

这将覆盖您已有的内容。如果你真的想变得更奇特,你可以使用 python 打开工作目录中与你的运行相关的

*.dat
*.msg
文件,然后查看最后一行文本,看看现有文件是否对应于成功的运行或者也不是。

这也为您打开了 Python 的世界,让您可以做更多的事情,而不仅仅是提交文件。


-1
投票

在批处理文件中,在启动程序之前删除旧作业。

© www.soinside.com 2019 - 2024. All rights reserved.