首页 理论教育基于ABAQUS的有限元子程序编译链接

基于ABAQUS的有限元子程序编译链接

【摘要】:当一个含有用户子程序的模型被提交给ABAQUS分析时,正确的编译和链接命令应该被自动执行。对于不同的运行平台,ABAQUS正确的编译和链接命令默认存储在环境文件中,这个文件位于abaqus_dir/site目录下,这里的abaqus_dir是ABAQUS的安装目录。如果想将子程序提供给他人使用,但不希望他人看到子程序的源代码,在这种情况下,可将子程序的源码编译成obj文件提供给他人。这个目标文件可以运行子程序,但不会显示源代码。

当一个含有用户子程序的模型被提交给ABAQUS分析时,正确的编译和链接命令应该被自动执行。对于不同的运行平台,ABAQUS正确的编译和链接命令默认存储在环境文件(abaqus_v6.env)中,这个文件位于abaqus_dir/site目录下,这里的abaqus_dir是ABAQUS的安装目录。例如,在Windows release的平台环境中,下面的编译和链接命令被定义和存储在abaqus_v6.env文件中(路径:abaqus_dir/site/abaqus_v6.env):

说明:如果遇到编译错误或链接错误,请检查ABAQUS环境文件中的编译命令和链接命令(路径:abaqus_dir/site/abaqus_v6.env)。

如果想将子程序提供给他人使用,但不希望他人看到子程序的源代码,在这种情况下,可将子程序的源码编译成obj文件提供给他人。在帮助文档里,关于编译的cmd命令如下:

根据上面的命令进行编译,就可以生成obj文件。例如,在当前目录下(如C:\Temp)编译一个源码为Fortran的文件,可以在cmd窗口中写成以下形式:

编译成功后,会输出以下提示语句:(www.chuimin.cn)

这时,可以发现在当前目录下生成了目标文件umat.obj。这个目标文件可以运行子程序,但不会显示源代码。

如果需要在当前目录下编译C++语言的源码文件,那么可以使用下面的命令:

编译成功后,可以发现在当前目录下生成的目标文件umat_cpp.obj。