许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  使用Python批量提交Abaqus任务:超简单方法!

使用Python批量提交Abaqus任务:超简单方法!

阅读数 2079
点赞 75
article_banner

第一种:不同inp文件放置在同一文件夹下 

(1)  无子程序的任务

例如:需要计算的三个任务( Job-1.inp、Job-2.inp、Job-3.inp)存放在"D:\\test"。

则批量提交任务的的Python代码为:

#导入abaqus内置模块
from abaqus import *
from abaqusConstants import *
from caeModules import *
import os
#Inp存放的文件夹,根据实际情况修改
Inp_File = "D:\\test"
#Inp文件名,根据实际情况修改
JobNameSet=['Job-1','Job-2','Job-3']
#计算所需的cpu个数,根据实际情况修改
CpuNumber = 4
##################################
os.chdir(Inp_File)
for i in range(len(JobNameSet)):
    JobName = JobNameSet[i]
    mdb.JobFromInputFile(name=JobName,
        inputFileName=Inp_File+'\\'+JobName,
        type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None,
        memory=90, memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
        explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE,
        scratch='', resultsFormat=ODB, numThreadsPerMpiProcess=1,
        multiprocessingMode=DEFAULT,
        numCpus=CpuNumber, numDomains=CpuNumber, numGPUs=0)
    mdb.jobs[JobName].submit(consistencyChecking=OFF)
    mdb.jobs[JobName].waitForCompletion()
    del mdb.jobs[JobName]

(2)  有子程序的任务

例如:需要计算的三个任务( Job-1.inp、Job-2.inp、Job-3.inp)及三个任务分别对应的子程序(Job-1-umat.for、Job-2-umat.for、Job-2-umat.for)存放在"D:\\test"。

则批量提交任务的的Python代码为:

#导入abaqus内置模块
from abaqus import *
from abaqusConstants import *
from caeModules import *
import os
#Inp存放的文件夹,根据实际情况修改
Inp_File = "D:\\test"
#Inp文件名,根据实际情况修改
JobNameSet=['Job-1','Job-2','Job-3']
#子程序文件名,根据实际情况修改
UserSubroutineSet=['Job-1-umat.for','Job-2-umat.for','Job-3-umat.for']
#计算所需的cpu个数,根据实际情况修改
CpuNumber = 4
##################################
os.chdir(Inp_File)
for i in range(len(JobNameSet)):
    JobName = JobNameSet[i]
    UserSubroutineName = UserSubroutineSet[i]
    mdb.JobFromInputFile(name=JobName,
        inputFileName=Inp_File+'\\'+JobName,
        type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None,
        memory=90, memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
        explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE,
        userSubroutine=UserSubroutineName,
        scratch='', resultsFormat=ODB, numThreadsPerMpiProcess=1,
        multiprocessingMode=DEFAULT,
        numCpus=CpuNumber, numDomains=CpuNumber, numGPUs=0)
    mdb.jobs[JobName].submit(consistencyChecking=OFF)
    mdb.jobs[JobName].waitForCompletion()
    del mdb.jobs[JobName]

第二种:不同inp文件位放置在不同文件夹下

(1)  无子程序的任务

例如:需要计算的三个任务( Job-1.inp、Job-2.inp、Job-3.inp)分别存放在三个文件夹(D:\\test1、D:\\test2、D:\\test3)中。

则批量提交任务的的Python代码为:

#导入abaqus内置模块
from abaqus import *
from abaqusConstants import *
from caeModules import *
import os
#Inp存放的文件夹,根据实际情况修改
Inp_File_Set = ['D:\\test1','D:\\test2','D:\\test3']
#Inp文件名,根据实际情况修改
JobNameSet=['Job-1','Job-2','Job-3']
#计算所需的cpu个数,根据实际情况修改
CpuNumber = 4
##################################
for i in range(len(JobNameSet)):
    Inp_File = Inp_File_Set[i]
    os.chdir(Inp_File)
    JobName = JobNameSet[i]
    mdb.JobFromInputFile(name=JobName,
        inputFileName=Inp_File+'\\'+JobName,
        type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None,
        memory=90, memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
        explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE,
        scratch='', resultsFormat=ODB, numThreadsPerMpiProcess=1,
        multiprocessingMode=DEFAULT,
        numCpus=CpuNumber, numDomains=CpuNumber, numGPUs=0)
    mdb.jobs[JobName].submit(consistencyChecking=OFF)
    mdb.jobs[JobName].waitForCompletion()
    del mdb.jobs[JobName]

(2)  有子程序的任务

例如:需要计算的三个任务( Job-1.inp、Job-2.inp、Job-3.inp)及三个任务分别对应的子程序(Job-1-umat.for、Job-2-umat.for、Job-2-umat.for)分别存放在三个文件夹(D:\\test1、D:\\test2、D:\\test3)中。

则批量提交任务的的Python代码为:

#导入abaqus内置模块
from abaqus import *
from abaqusConstants import *
from caeModules import *
import os
#Inp存放的文件夹,根据实际情况修改
Inp_File_Set = ['D:\\test1','D:\\test2','D:\\test3']
#Inp文件名,根据实际情况修改
JobNameSet=['Job-1','Job-2','Job-3']
#子程序文件名,根据实际情况修改
UserSubroutineSet=['Job-1-umat.for','Job-2-umat.for','Job-3-umat.for']
#计算所需的cpu个数,根据实际情况修改
CpuNumber = 4
##################################
for i in range(len(JobNameSet)):
    Inp_File = Inp_File_Set[i]
    os.chdir(Inp_File)
    JobName = JobNameSet[i]
    UserSubroutineName = UserSubroutineSet[i]
    mdb.JobFromInputFile(name=JobName,
        inputFileName=Inp_File+'\\'+JobName,
        type=ANALYSIS, atTime=None, waitMinutes=0, waitHours=0, queue=None,
        memory=90, memoryUnits=PERCENTAGE, getMemoryFromAnalysis=True,
        explicitPrecision=SINGLE, nodalOutputPrecision=SINGLE,
        userSubroutine=UserSubroutineName,
        scratch='', resultsFormat=ODB, numThreadsPerMpiProcess=1,
        multiprocessingMode=DEFAULT,
        numCpus=CpuNumber, numDomains=CpuNumber, numGPUs=0)
    mdb.jobs[JobName].submit(consistencyChecking=OFF)
    mdb.jobs[JobName].waitForCompletion()
    del mdb.jobs[JobName]


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks ,Hyperworks, Protel,CAXA,OpenWorks LandMark,MATLAB,Enovia,Winchill,TeamCenter,MathCAD,Ansys, Abaqus,ls-dyna, Fluent, MSC,Bentley,License,UG,ug,catia,Dassault Systèmes,AutoDesk,Altair,autocad,PTC,SolidWorks,Ansys,Siemens PLM Software,Paradigm,Mathworks,Borland,AVEVA,ESRI,hP,Solibri,Progman,Leica,Cadence,IBM,SIMULIA,Citrix,Sybase,Schlumberger,MSC Products...

相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空