第一种:不同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]