Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决Abaqus Python脚本中的OdbError?_Python_Scripting_Abaqus_Numerical Analysis_Finite Element Analysis - Fatal编程技术网

如何解决Abaqus Python脚本中的OdbError?

如何解决Abaqus Python脚本中的OdbError?,python,scripting,abaqus,numerical-analysis,finite-element-analysis,Python,Scripting,Abaqus,Numerical Analysis,Finite Element Analysis,我正在Abaqus Python脚本中运行一个三维实体模型,该模型应该被分析200次,因为该模型已被安排在一个for循环中(对于范围(0199):)。有时,我收到以下错误,然后分析终止。我不明白原因 Odb_0=session.openOdb(name='Job-1'+'.odb') ODBERRORR:D:/abaqus/Model/Job-1.odb输出数据库的.lck文件表示分析输入文件处理器当前正在修改数据库。此时无法打开数据库 值得注意的是,所有变量包括“Odb_0”和。。。。在开始

我正在Abaqus Python脚本中运行一个三维实体模型,该模型应该被分析200次,因为该模型已被安排在一个for循环中(对于范围(0199):)。有时,我收到以下错误,然后分析终止。我不明白原因

Odb_0=session.openOdb(name='Job-1'+'.odb')
ODBERRORR:D:/abaqus/Model/Job-1.odb输出数据库的.lck文件表示分析输入文件处理器当前正在修改数据库。此时无法打开数据库


值得注意的是,所有变量包括“Odb_0”和。。。。在开始下一个循环之前,在循环的每个步骤结束时删除。我认为元素类型的更改不会帮助解决您的问题

消息和
.lck
文件表明数据库中存在访问死锁。输出文件丢失,无法更新
.odb
数据库

我不确定Abaqus使用什么数据库。我猜想输入流会在解决方案和输出处理开始之前扫描输入文件并将任何必要的记录写入数据库。

来自Abaqus

每当使用写访问权限打开输出数据库文件时,都会写入锁文件(job_name.lck),包括运行分析并将输出写入输出数据库文件时。锁定文件阻止您同时对来自多个源的输出数据库拥有写入权限。当输出数据库文件关闭或创建该文件的分析结束时,将自动删除该文件

删除以前的分析时,应确保与该模拟连接的所有进程都已终止。这样做有几种可能性:

  • 通过启动模拟可以让您更好地控制流程(例如,等待流程结束、编写特定日志等)
  • 以不同方式命名您的模拟(例如“作业1”、“作业2”等),并延迟删除旧模拟(例如,在“作业3”已启动时删除“作业1”)
  • 不太可取:

您是否一直在重新打开会话,是否可以发布更多代码?非常感谢您的通知。经过多次尝试和错误,我发现在一些随机生成输入值的迭代中,一些网格元素(Hex)没有明显的原因而失败。因此,在这种情况下,我决定使用Tet网格元素,尽管它可以为我们的分析引入一些近似值。这种方法解决了之前的问题,尽管在以后的几次迭代中才收到以下错误:“ViserError:没有使用提供的选项提取xy数据。”@Mohsen Abyani您可能没有加载ODB数据,或者在构建模型时没有定义/设置输出。例如,当我试图提取有关连接器的一些数据时,通常会得到VisError,但在预处理阶段未定义连接器输出。感谢您的通知。我认为每个模拟作业的命名不同(例如“作业1”、“作业2”等),并在每个步骤结束时删除每个作业有助于我解决问题。在这种情况下,您能接受答案吗?