Abaqus FETCH job xpl_user.inp WARNING: The Abaqus installation is incomplete,敲下去就弹这个,文件名明明没打错。fetch这个命令用起来简单,但前提是安装的时候选了sample文件,不然什么文件名都取不出来。
abaqus fetch job=文件名,就这么一个参数,job=后面跟要取的文件名。不写扩展名的时候,所有同名的文件全提出来,比如abaqus fetch job=c8,c8.inp和c8.f一起到当前目录。加了扩展名就只取那一个,abaqus fetch job=c2.inp只拿c2.inp。通配符能用,星号匹配任意字符,问号匹配单个字符,方括号匹配指定字符集。取子程序文件写abaqus fetch job=std_user或者abaqus fetch job=umatmst3,示例输入文件和对应的.for文件会一起下来。
取出来的文件放在当前工作目录下,命令行在哪个路径敲的fetch,文件就落到哪。D:\temp\fetch_test\,abaqus fetch job=std_user,D:\temp\fetch_test\std_user.inp,D:\temp\fetch_test\std_user.for。

有一次新同事的机器上装完ABAQUS,想拿std_user.inp来验证子程序环境,敲了abaqus fetch job=std_user.inp,报了一串错,文件没出来。那天下午他来找我,工位旁边的窗户没关,外面在修路,冲击钻的声音一阵一阵的。报错内容是WARNING: The Abaqus installation is incomplete: Example and input files have not been installed,下面跟着Abaqus Error: Unable to locate file std_user.inp。第一反应是文件名敲错了,又试了std_user、std_user.f,全一样。怀疑是安装目录权限问题,以管理员身份重开命令行,还是不行。翻了一下安装日志,发现安装的时候sample文件那个组件没有勾选,安装器默认只装了求解器和CAE,示例文件包是独立的一个选项。控制面板里改了ABAQUS的安装,把sample components加进去,补装完之后再fetch,文件出来了。前后花了快四十分钟,真正fetch的时间不到一秒。
fetch和GETOUTFILE这类utility routine是两个层面的东西,别搞混。fetch是命令行工具,从安装包里往外提文件。GETOUTFILE是在子程序内部调用的,用来获取当前job的输出目录名,接口是character*256 OUTDIR和CALL GETOUTDIR(OUTDIR, LENOUTDIR)。子程序里要读外部文件,路径最好用GETOUTDIR拼出来,别硬编码绝对路径,换机器就崩。
验证子程序环境最省事的办法就是用fetch取std_user.inp和std_user.for,然后abaqus job=std_user user=std_user.for,跑完看log最后一行是不是COMPLETED。std_user.for里开头有一段注释,网上有人说是oneAPI的bug,不去掉注释跑不起来,实际测下来不去掉也能跑,只是输出少一些中间变量。fetch的路径配置里,如果当前目录已经有同名文件,fetch不会提示直接覆盖,取之前确认一下别把改过的inp覆盖了。D:\temp\fetch_test\std_user.log,Abaqus JOB std_user COMPLETED。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删