欢迎来到天天文库
浏览记录
ID:8800966
大小:41.50 KB
页数:3页
时间:2018-04-08
《abaqus中fortran子程序调用方法—自己总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第一种方法:在Job模块里,创建工作,在EditJob对话框中选择General选项卡,在Usersubroutinefile中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。第二种方法:/o/J5@6U/^-o$1.建立工作目录/]"2.将Abaqus安装目录6.4-pr11site下的aba_param_dp.inc或aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;#~/
2、0I0E6{,@4X3q:W3.将编译的fortran程序拷贝到工作目录;4.将.obj文件
3、拷贝到工作目录;5.建立好输入文件.inp;6.运行abaqusjob=inp_nameuser=fortranname即可。,D8i7d/r c6@"
4、以下是网上摘录的资料,供参考:.
5、$t/}$W7Y6m4h6D6j用户进行二次开发时,要在命令行窗口执行下面的命令:4O.R+^,@(? abaqusjob=job_nameuser=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe
6、和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。这种运行机制与ANSYS、LS-DYNA、marc等都不同。:j6g'R-o({0[*N2J3X这些生成的临时文件要到文件夹C:DocumentsandSettingsAdministratorLocalSettingsTemp中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。1 子程序格式(程序后缀是.f;.f90;.for;.obj??)答:我试过,.for格是应该是不可以
7、的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。在Abaqus中,运行abaqusj=jobnameuser=username时,默认的用户子程序后缀名是.for(.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。如果username包括扩展名for或obj,那么就根据各自的扩展名ABAQUS会自动选择进行操作。2 CAE中如何调用?Command下如何调用?答:CAE中在creatjob的jobmanager中的
8、general中可以指定子程序;Command下用命令:abaqusj=jobnameuser=userfilename(无后缀);3 若有多个子程序同时存在,如何处理答:将其写在一个文件中即可,然后用一个总的子程序调用(具体参见手册)4 我对VF不是很熟,是否可以用VC,C++编写子程序?A:若要在vf中调试,那么应该根据需要把SITE文件夹中的ABA_PARAM_DP.INC(双精度)或ABA_PARAM_SP.INC(单精度)拷到相应的位置,并改名为ABA_PARAM.INC即可。据说6.4的将可以,6.3的你可以尝试着将VC,C++程序
9、编译为obj文件,没试过。在你的工作目录下应该已经存在ufield.obj和uvarm.obj这两个文件(这两个文件应该是你分别单独调试ufield.FOR和uvarm.FOR时自动编译生成的,你可以将他们删掉试试看),但是由于你的FOR文件中已经有了UVARM和UFIELD这两个subroutine,显然会造成重复定义,请查实。用户子程序的使用假设你的输入文件为:a.inpb.for那么在ABAQUSCommand中的命令应该是这样的:abaqusjob=auser=b对于abaqus64pr11,command中输入:abq64pr11jo
10、b=auser=b就可以了。当然首先你要用cd命令进入输入文件所在的当前文件目录。强烈建议使用command来操作。子程序文件名后缀应为.for,而不是.fABAQUS/CAE处理有两个程序:①内核程序;②GUI(graphicaluserinterface—图形用户界面)程序。内核程序实际上就是它的脚本语言,它采用的是Python语言,同时扩展了Python语言,额外提供了大约500个对象模型,对象模型之间的关系复杂。GUI程序(图像用户界面程序)是一个方便用户输入或选择参数的图形用户接口。ABAQUS/CAE是采用IPC协议来完成内核程序和
11、GUI程序的通信的。ABAQUS有限元程序通过集成Python语言向二次开发者提供了很多库函数,通过ABAQUS脚本接口(ABAQUSScriptin
此文档下载收益归作者所有