Abaqus error code 3

刚才遇到一个新鲜的 Abaqus 错误:The executable explicit.exe aborted with system error code 3。所用 Abaqus 版本为 6.13-1。这个错误出现的原因似乎很多,在我遇到这个例子中是因为单元过度变形(distorted excessively)的数目太多。

本来是一个采用 vumat 进行 explicit 模拟的高速冲击破坏模型。处于测试目的将 vumat 中材料破坏后的刚度退化速度提高到很大,比如基体和分层破坏后的相应模量给降低到了 0.1 倍。运行时就出现了这个错误。伴随的还有出现在 .dat 文件中的单元过度变形错误,

The elements contained in element set ErrElemExcessDistortion-Step1 have distorted excessively.

Print-out suppressed for subsequent distorted elements

There are a total of 16532 excessively distorted elements

The executable explicit.exe aborted with system error code 3. Please check the .dat, .msg, and .sta files for error messages if the files exist. If there are no error messages and you cannot resolve the problem, please run the command "abaqus job=support information=support" to report and save your system information. Use the same command to run Abaqus that you used when the problem occurred. Please contact your local Abaqus support office and send them the input file, the file support.log which you just created, the executable name, and the error code.

既然我已经知道是因为刚度退化过快造成的单元过度变形,我就想试试看增加 mesh 密度以降低 element 尺寸有什么结果。然后将破坏区的 mesh 密度提高了,大约相当于将 element 单元尺寸降低到原来的 1/16。结果是,运行一下就遇到了单元过度变形错误,这次过度变形的单元数目变成了 80550 个。按单元体积换算的话,似乎比之前的范围变小了。



Today, I found another problem that caused this same code 3 error.

The problem is regard to job option. In Job Manager, selecting a job and then clicking Edit will open the job option dialog. In the Parallelization tab, the job can be set to “Use  multiple process”. If this is ticked on a desktop computer on which the Abaqus is set to run in default mode, the job will exit with code 3 error when it requires double float precision to work.

Basically, normal task only need single precision to deal with the calculation. In this case, Abaqus can work well with assigned number of threads. But other works need double precision. In this case, Abaqus will need further configuation to work at certain assigned number of threads, or just work without assigning to “Use multiple processors”.

I am not expert on this. The former mentioned is just my observation in my circumstances. Please feel free to leave your comments.


Another possible reason is using OPEN and WRITE methods in VUMAT to output values of some variables for examing.

I used following code to do this,

      IF ((i.eq.1).and.(stepTime.lt.1e-6)) THEN
         write(15,*) nblock, 
     &               w1, w2, w3, w4, w5, w6
      END IF

Then a code 3 error happened. This may also have something to do with former reason supposed on 2015.05.11.©



您的电子邮箱地址不会被公开。 必填项已用 * 标注

您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>