fortran 调用 abaqus
matlab和python都可以方便的调用abaqus,为算法优化带来了极大的便利。我在优化过程中需要用到Fortran调用abaqus,更准确的说是在abaqus的子程序中调用abaqus,目前遇到的一个问题是log中会有一个warning,暂不清楚会有什么影响,下面开始写如何做到的。
我的warning:*Warning: it took 18 seconds to delete C:\Users\Bidong\AppData\Local\Temp\Bidong_Job-4_13268
1.Fortran调用abaqus代码:
program XXX
use dflib
implicit none
logical(4) cmdout
cmdout=system('abaqus job=Job9_A2M inp=D:\abaqus\software\temp\Job9_A2M.inp')
end program XXX
这段代码可以运行指定文件夹的inp,最后的结果文件在F文件项目所在的文件夹中。
2.在abaqus job1的子程序中运行新的job2,将上述代码写成一个子程序,用call的形式调用。生成的job2结果文件会在job1运行结束后在内存中释放,job2的结果可以在job2的程序或子程序中进行提取。
3.在遇到已经存在的任务时,abaqus会询问是否覆盖先前的 job,如果不想被询问直接覆盖先前的任务,可以在上述命令结尾加上 ask=off
点赞 评论 收藏 1