如何更改 Abaqus 求解器可执行文件名

How to change Abaqus solver executable file name

我想比较两个并行的 运行A​​baqus 模拟与用 Fortran 编码的 umat。似乎我能够 select 与每个 运行 关联的正确 standard.exe,但不会总是这么幸运。这促使我询问是否有办法调用 abaqus 作业并将 standard.exe 的名称更改为 standard1.exe 之类的名称以区分 运行。我检查了 abaqus 帮助,但似乎没有通过命令行的选项。

在 Abaqus 中 jobs/analyses 提交还有很大的改进空间...

总之,有空可以看看我的GitHub repo。我试图在提交作业时填补 Abaqus 中缺少的内容。如果您有任何问题,请告诉我。

或者您可以使用此代码来识别您所从事的工作的正确进程标识符 (pid) 运行。然后您可以终止与此 ID 关联的进程。

import psutil
processesList = psutil.pids()
jobname=''
print('\n\nStart')
for proc in processesList:
    try:
        p = psutil.Process(proc)
        if (p.name()=='standard.exe' or p.name()=='explicit.exe' or p.name()=='pre.exe' or p.name()=='explicit_dp.exe'):
            i=0
            jobCpus='1'
            jobGpus='0'
            sameJob = False
            print('\nPID:         %s'%proc)
            for line in p.cmdline():
                if line == '-job':
                    if jobname==p.cmdline()[i+1]:
                        sameJob = True
                    else:
                        sameJob=False
                    jobname=p.cmdline()[i+1]
                    print('Job Name:    %s'%jobname)
                elif line == '-indir':
                    jobdir=p.cmdline()[i+1]
                    print('Job Dir:     %s'%jobdir)
                elif line == '-cpus':
                    jobCpus=p.cmdline()[i+1]
                    print('Cpus number: %s'%jobCpus)
                elif line == '-gpus':
                    jobGpus=p.cmdline()[i+1]
                    print('Gpus number: %s'%jobGpus)
                i+=1
    except:
        pass
print('\nEnd\n\n')

为了杀死一个进程,你可以使用这个命令:

import os, signal
os.kill(int(pid), signal.SIGTERM)