界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

curing-job

curing-job

【效率与协作】Submit Abaqus curing simulation jobs with UMAT subroutine via socket bridge. Invoke when user needs to create, submit, or monitor curing simulation jobs.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: "curing-job" description: "Submit Abaqus curing simulation jobs with UMAT subroutine via socket bridge. Invoke when user needs to create, submit, or monitor curing simulation jobs."

Curing Job Execution

Description

Submit Abaqus curing simulation jobs with UMAT subroutine via socket bridge. Invoke when user needs to create, submit, or monitor curing simulation jobs.

Content

Job Creation with UMAT

Create a job from an input file with the UMAT subroutine specified:

from abaqusConstants import *

job = mdb.JobFromInputFile(
    name='job_name',
    inputFileName=work_dir + '\\job_name.inp',
    userSubroutine=umat_path,
    numCpus=4,
    numDomains=4
)

Job Submission

Submit the job with consistencyChecking=OFF to avoid unicode TypeError issues:

mdb.jobs['job_name'].submit(consistencyChecking=OFF)

Important: You MUST use consistencyChecking=OFF when submitting. Without this parameter, Abaqus may raise a unicode TypeError during the consistency check phase.

Monitoring Job Status

Check the current status of a submitted job:

status = mdb.jobs['job_name'].status
# Possible values: RUNNING, COMPLETED, SUBMITTED, etc.

Common Pitfalls

Unicode Errors

  • Avoid using print() with % formatting in the Abaqus kernel
  • Use result = ... to return data instead of printing

String Key Issues

  • Use plain strings for job names, not unicode strings
  • Dictionary keys should be plain strings; unicode keys may fail

Multiple Jobs

  • Submit jobs sequentially, not in parallel
  • The first submit() call in a loop may submit all jobs if not handled carefully
  • Wait for each job to complete before submitting the next

Job Output Location

  • Scratch directory: C:\Temp
  • ODB file generated at: C:\Temp\job_name.odb

Post-Completion

After the job completes, copy the ODB file from the scratch directory to the work directory:

import shutil

shutil.copy(
    'C:\\Temp\\job_name.odb',
    work_dir + '\\job_name.odb'
)

Workflow Summary

  1. Create job from input file with UMAT subroutine path
  2. Submit with consistencyChecking=OFF
  3. Monitor job status until COMPLETED
  4. Copy ODB from C:\Temp to work directory
  5. Proceed to post-processing (ODB extraction, CSV export)
我的收藏