ABAQUS中Fortran子程序调用方法
完整word版ABAQUS中Fortran子程序调用方法—自己总结
第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在Usersubroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。
第二种方法:1. 建立工作目录?崠2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或aba_param_sp.inc 拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4.将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。
以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for(.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。
ABAQUS用户子程序设置及错误代码解决1073741819方法
ABAQUS用户子程序设置及错误代码解决1073741819方法1.我的测试CPU Intel i5-4590 haswell架构支持指令集AVX /高級矢量擴展AVX2 /高級矢量擴展2.0测试1测试环境ABAQUS 6.14-3ABAQUS 2016Windows10 ,version_1511_updated_feb_2016_x64_dvd_8380088Intel® Visual Fortran Composer XE 2013 SP1 for Windows* Update 1Microsoft visual studio2013结果最容易出现错误,rename the file mkl_avx2.dll to this: mkl_avx2.dll.11.0.0.1无效。
某次运行usdfld代码(1,简单),我的计算机(A)运行有错误,显示1073741819错误。
但是在另外一台电脑(B)运行则没有错误,该电脑软件环境一样,但CPU为i7-2600k,sandy bridge架构。
测试2测试环境ABAQUS 6.14-3Windows7 sp1Intel® Visual Fortran Composer XE 2013 SP1 for Windows* Update 1Microsoft visual studio2013运行usdfld代码(1,简单),计算机(A)和(B)运行均不显示1073741819错误。
运行稍微复杂的usdfld代码(2),计算机(A)和(B)运行均显示1073741819错误。
测试3测试环境ABAQUS 6.14-3Windows7 sp1Intel® Visual Fortran Composer XE 2011 Update 5Microsoft visual studio2010运行usdfld代码(1)和(2),计算机(A)运行不显示1073741819错误。
Abaqus关于用户子程序(simwe)
Abaqus关于用户子程序(simwe)序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。
当用户编写FORTRAN子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。
2.当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:一是设备号的选择是有限制的,只能取15-18和大于100的设备号,其余的都已被ABAQUS占用。
二是用户需提供外部文件的绝对路径而不是相对路径。
3.ABAQUS 应用程序必须由用户子程序调用。
当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。
有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。
二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。
有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。
当ABAQUS调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。
下面就选出几个常用的用户子程序和应用程序进行详细解释:一.SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)参数:1. F为用户定义的是每个积分点所作用的荷载的大小;2.KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值;3. TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值;4. NOEL,NPT为积分点所在单元的编号和积分点的编号;5. COORDS为当前积分点的坐标;6.除F外,所有参数的值都是ABAQUS传到用户子程序中的。
abaqus和Fortran程序关联
问题解决了,首先装上VISUAL STUDIO 2005和intel visual fortran在安装ABAQUS6.8,关键点始设置环境变量,我的机子不能自动更新,手动的。
详见有关帖子说明:本方法适用于abaqus 6.8.1的安装,并可通过用户子程序验证方法中均假设软件安装在C:盘,虚拟光驱盘符为X:。
1 安装Visual Studio Pro 2005 (如Abaqus6.8.1要与其他有限元软件协同分析,Visual Studio Pro 2005需要安装SP1补丁)2 安装Intel.Fortran.Pro.v9.1.034(安装时需勾选“自动更新环境变量”)3 设置电脑环境变量:3.1 用户变量INCLUDE = %IFORT_COMPILER101%\IA32\Include; E:\Program Files\Microsoft Visual Studio 8\VC\include; E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\IncludeLIB = %IFORT_COMPILER101%\IA32\Lib; E:\Program Files\Microsoft Visual Studio 8\VC\lib; E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib; E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib3.2 系统变量LM_LICENSE_FILE = 27003@this_host(this_host改为本机计算名)INCLUDE = %IFORT_COMPILER101%\IA32\Include;E:\Program Files\Microsoft Visual Studio 8\VC\include;E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include LIB = %IFORT_COMPILER101%\IA32\Lib;E:\Program Files\Microsoft Visual Studio 8\VC\LIB;E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\LibIFORT_COMPILER101 = C:\Program Files\Intel\Compiler\Fortran\10.1.014LINK_F90 = sstatd.lib sstats.lib smathd.lib smaths.lib sf90mp.libPATH = %IFORT_COMPILER101%\IA32\Bin;E:\ABAQUS\Commands;E:\Program Files\Microsoft Visual Studio 8\Common7\IDE;E:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;E:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;E:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;E:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\bin3.3 重启电脑4. 运行X:\win86_32\vcredist_x86-2.exe5. 虚拟光驱载入Abaqus镜像安装文件,用记事本等文本编辑软件打开X:\SHooTERS\abaqus68_SummerEdition.dat,this_host改为本机计算名,另存为license.dat6. 运行X:\setup.exe,安装帮助文档html document7. 安装licenseX:\win86_32\license\Windows\Disk1\InstData\VM\install.exe安装程序询问license的安装方式,选择“just install the licenseing utilities”需要处请填上27003@hostname8. 配置license8.1 安装完license后将第4步中保存的license.dat文件复制到C:\SIMULIA\License\8.2 在开始,程序菜单中运行license utilities, 并设置:进入config service选项卡service name 中输入abaqus flexlm license server (名字可以随意输入)Path to the lmgrd.exe file:C:\SIMULIA\License\lmgrd.exePath to the license file:C:\SIMULIA\License\license.datPath to the debug log file:abaqus.log(abaqus.log文件可以自己新建)勾选:Use Services和Start Server at Power Up,并点击Save service进入Start/Stop/Reread选项卡:点击start license,此时状态栏左下角出现start service successful(表示配置成果)8.3 配置完成,退出license utilities9. 安装productX:\win86_32\product\Windows\Disk1\InstData\VM\install.exe安装程序询问时选择product,需要处请填上27003@hostname10. 安装结束。
abaqus使用子程序出现路径上找不到ifort.exe解决方法
...PASS
Continuing...
3)从官方SOSS上得知:
“
Intel 从Visual Fortran Version 11 开始改变了ifortsvars.bat文件的运行方式,需要添加一个参数来运行临时环境变量的设置。
Windows 32:需要加上 'ia32' 这个参数
例如:"C:\Program Files\Intel\Compiler\11.0\072\fortran\Bin\ifortvars.bat" ia32
若以上链接失效,或下载其他版本,直接进入官方下载页面下载:
/en-us/articles/intel-visual-fortran-compiler-professional-edition-for-windows-evaluation/
官方下载后好像会把30天试用的license发到邮箱里,如何解决“试用”问题,相信大家都是聪明人,可以自行解决,在此就不方便多说了。
4:Intel Visual Fortran 最新版官方下载地址::(均含32位和64位,默认安装为都安装,不需要可去掉64位选项)
Intel Visual Fortran 9.1.039 专业版 /irc_nas/872/W_FC_C_9.1.039.exe?lang=zh-cn
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
然后验证就不会自动退出了。
8:如果还有关于"CATIA"的项通不过,请找到你的ABAQUS安装文件,在win86_32目录下点击安装vcredist_x86-2.exe,(64位系统在win86_64目录下,安装vcredist_x64.exe 和vcredist_x86-2.exe )这个是Microsoft Visual C++ 2005 SP1运行库文件,用来支持一些模型导入的功能,安装后再验证即可通过。
abaqus调用子程序的方法
Abaqus运行子程序方法试了好几种调用子程序的方法最后总算找到了最简单的了,非常感谢仿真论坛上的网友的分享:首先需要装Microsoft Visual Studio(简写mvs),再装Intel Visual Fortran(IVF)。
通常的组合是Abaqus v6.10.1可使用:MVS2008+IVF10.1 MVS2008+IVF11.1 这二种组合最好都使用英文版的。
照着附录1 方法装一般没什么问题。
但是一般都是先装abaqus后才想到去装MVS以及IVF的。
很多时候都把MVS 以及IVF装好以后才想到去验证的,而且MVS很多都是中文的,MVS不仅装的慢卸载残留也很多好麻烦。
搞了好久都验证不了,看了附录二的方法下面2个网友的回复后豁然开朗,一切都是那么简单。
附录二的方法的主要作用可能就是将VC++和Fortran的环境变量一并启动了,参考过以前版上的安装教程,通过在ABAQUS 的快捷方式中添加命令,亦能够达到同样效果,同样也是不能通过verification,但是可以运行子程序,通过在ABAQUS CAE的快捷方式的目标中,添加"D:\Program Files (x86)\Intel\Compiler\Fortran\10.1.034\em64t\bin\ifortvars.bat" && (跟附录1中的修改快捷方式的目标一样)达到了同样的效果(摘自ppengine,tcboywjr网友的回复)。
只需在搜索栏中搜索ifortvars.bat,再把路径添加上去照上面的形式修改便可。
本人用的是win7系统装的是abaqus6.10.mvs2008(中文版)IVF11,abaqus好早就装了,装MVS2008之前装了mvs2010,发现2010不好装ivf,然后又卸了装mvs2008中文,验证时出现附录Ⅰ的情况,就C++项通不过还以为装C++2010就好了,又重装了一下mvs2010的C++(囧),发现还是用不了,校园网速太慢又不想下mvs2008(英文版),最后在附录2的方法下面发现了两位网友的分享非常感谢。
ABAQUS调用FORTRAN程序
第一种方法:1. 建立工作目录/ ]"2. 将ABAQUS安装目录\6.4-pr11\site下的aba_param_dp.inc 或aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4. 将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。
第二种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file 中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。
以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe 等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc 等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。
ABAQUS中Fortran子程序调用方法—自己总结
第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for 或.f)。
第二种方法:1. 建立工作目录2. 将Abaqus安装目录\\site下的或拷贝到工作目录,并改名为;3. 将编译的fortran程序拷贝到工作目录;4. 将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。
以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库和动态库,还有其它一些临时文件,而它的主程序(如和等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\LocalSettings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1 子程序格式(程序后缀是.f; .f90; .for;.obj)答:我试过,.for格是应该是不可以的,至少和版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在文件没有找到的情况下,才会去搜索,如果两者都没有,就会报错误信息。
如果username包括扩展名for或obj,那么就根据各自的扩展名ABAQUS会自动选择进行操作。
ABAQUS中Fortran子程序调用方法—自己总结
第一种方法: 在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择您要调用的子程序文件(后缀为、for或、f)。
第二种方法:1、建立工作目录2、将Abaqus安装目录\6、4-pr11\site下的aba_param_dp、inc 或aba_param_sp、inc拷贝到工作目录,并改名为aba_param、inc;3、将编译的fortran程序拷贝到工作目录;4、将、obj文件拷贝到工作目录;5、建立好输入文件、inp;6、运行abaqus job=inp_name user=fortran name即可。
以下就是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU、lib与动态库standardU、dll,还有其它一些临时文件,而它的主程序(如standard、exe与explicit、exe等)则没有任何改变,由此瞧来ABAQUS就是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\Local Settings\Temp\中才能找到,这也就是6楼所说的藏了一些工作吧,大家不妨试一下。
1子程序格式(程序后缀就是、f; 、f90; 、for;、obj??)答:我试过,、for格就是应该就是不可以的,至少6、2与6、3版本应该就是不行,其她的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名就是、for(、f,、f90应该都不行的,手册上也有讲过),只有在username、for文件没有找到的情况下,才会去搜索username、obj,如果两者都没有,就会报错误信息。
abaqus6.13+vs2012+Intel Fortran 2013 (abaqus6.13中Fortran编译器的配置)
abaqus6.13+vs2012+IntelFortran2013 (abaqus6.13中Fortran编译器的配置)目前Abaqus的最新版本已经是 6.13-1,Intel Fortran编译器的最新版本也已经到了IntelParallel Studio XE 2013 Fortran Compiler, visual studio的版本也有2012了。
想要在Abaqus里用子程序,必须安装Intel Visual Fortran,而安装Intel Visual Fortran前需要安装Microsoft Visual Studio,做好相关设置后通过Abaqus Verification测试子程序以及其他Abaqus功能是否能正常使用。
一、ABAQUS 与Intel Fortran及Visual Studio的兼容性介绍:大家知道ABAUQS如果需要用User Subroutine必须有Intel Fortran,而Intel Fortran又必须在Visual Studio的环境下运行。
三者之间存在的两两兼容问题,必须引起注意。
目前用的比较多的配搭:Abaqus 6.9+VS2005+Intel Fortran 9.1/10.0/10.1Abaqus 6.10/6.11/6.12+VS2008+Intel Fortran 10.1Abaqus 6.13+VS2012+Intel Fortran XE2013(我所使用的)二、ABAQUS 、Intel Fortran、Visual Studio的安装顺序及安装方法:(1)、安装顺序:step1、安装visual studio(VS)(必须在Intel Fortran XE2013安装之前):一般而言安装VS没有任何难度,需要注意的一点是对于64位系统需要安装64位支持,而在有些版本中该模块是默认安装中没有选中的。
为了避免漏装可以在安装时选择完全安装(complete)。
abaqus6.13+vs2012+Intel_Fortran_2013_(abaqus6.13中Fortran编译器的配置安装修改版)
abaqus6.13+vs2012+IntelFortran2013 (abaqus6.13中Fortran编译器的配置)目前Abaqus的最新版本已经是 6.13-1,Intel Fortran编译器的最新版本也已经到了IntelParallel Studio XE 2013 Fortran Compiler, visual studio的版本也有2012了。
想要在Abaqus里用子程序,必须安装Intel Visual Fortran,而安装Intel Visual Fortran前需要安装Microsoft Visual Studio,做好相关设置后通过Abaqus Verification测试子程序以及其他Abaqus功能是否能正常使用。
一、ABAQUS 与Intel Fortran及Visual Studio的兼容性介绍:大家知道ABAUQS如果需要用User Subroutine必须有Intel Fortran,而Intel Fortran又必须在Visual Studio的环境下运行。
三者之间存在的两两兼容问题,必须引起注意。
目前用的比较多的配搭:Abaqus 6.9+VS2005+Intel Fortran 9.1/10.0/10.1Abaqus 6.10/6.11/6.12+VS2008+Intel Fortran 10.1Abaqus 6.13+VS2012+Intel Fortran XE2013(我所使用的)二、ABAQUS 、Intel Fortran、Visual Studio的安装顺序及安装方法:(1)、安装顺序:step1、安装visual studio(VS)(必须在Intel Fortran XE2013安装之前):一般而言安装VS没有任何难度,需要注意的一点是对于64位系统需要安装64位支持,而在有些版本中该模块是默认安装中没有选中的。
为了避免漏装可以在安装时选择完全安装(complete)。
abaqus调用子程序的方法
Abaqus运行子程序方法试了好几种调用子程序的方法最后总算找到了最简单的了,非常感谢仿真论坛上的网友的分享:首先需要装Microsoft Visual Studio(简写mvs),再装Intel Visual Fortran(IVF)。
通常的组合是Abaqus 可使用:MVS2008+ MVS2008+ 这二种组合最好都使用英文版的。
照着附录1 方法装一般没什么问题。
但是一般都是先装abaqus后才想到去装MVS以及IVF的。
很多时候都把MVS 以及 IVF装好以后才想到去验证的,而且MVS很多都是中文的,MVS不仅装的慢卸载残留也很多好麻烦。
搞了好久都验证不了,看了附录二的方法下面2个网友的回复后豁然开朗,一切都是那么简单。
附录二的方法的主要作用可能就是将VC++和Fortran的环境变量一并启动了,参考过以前版上的安装教程,通过在ABAQUS的快捷方式中添加命令,亦能够达到同样效果,同样也是不能通过verification,但是可以运行子程序,通过在ABAQUS CAE的快捷方式的目标中,添加"D:\Program Files (x86)\Intel\Compiler\Fortran\" && (跟附录1中的修改快捷方式的目标一样)达到了同样的效果(摘自ppengine,tcboywjr网友的回复)。
只需在搜索栏中搜索,再把路径添加上去照上面的形式修改便可。
本人用的是win7系统装的是(中文版)IVF11,abaqus好早就装了,装MVS2008之前装了mvs2010,发现2010不好装ivf,然后又卸了装mvs2008中文,验证时出现附录Ⅰ的情况,就C++项通不过还以为装C++2010就好了,又重装了一下mvs2010的C++(囧),发现还是用不了,校园网速太慢又不想下mvs2008(英文版),最后在附录2的方法下面发现了两位网友的分享非常感谢。
附录二的方法也试过好像运算完了会出错误,不知道什么原因。
Abaqus子程序安装及调用
Abaqus子程序安装与调用软件要求:1 Microsoft Visual Studio 20052 Intel Visual Fortran Complier 9.13 Abaqus 6.7及以上版本下面先介绍以上三个软件如何单独(即只安装其中某个软件)安装:Microsoft Visual Studio 2005 安装:建议采用默认路径,全部安装。
若是磁盘空间有限,可以只选必选模块VC++和 Framework SDK V2.0Intel Visual Fortran Complier 9.1安装:建议采用默认路径,全部安装。
Abaqus 6.X安装:1 将DVD2载入虚拟光驱进行安装2 在我的电脑-点击右键-属性-高级-环境变量中,创建系统变量,名为LM_LICENSE_FILE,并且令其值等于27003@127.0.0.1 (127.0.0.1指向你的电脑,这样就无需去查计算机名字,而且不用担心计算机名字是汉字,软件无法识别的问题)3 将DVD1载入虚拟光驱,安装License Services,其中选择Justinstall the licensing utilities。
装好License Services后,会提示时候安装Production,这是先别急着安装和退出安装向导界面。
4 右键打开虚拟光驱,复制Crack目录下的****.dat文件到已经装好的License,这个文件就是License文件。
用记事本打开该文件,第一行是“SERVER <this_host> ID=20111111 27011”,将“<this_host>”改为127.0.0.1,并将27011改为27003,以保证与LM_LICENSE_FILE的值一致,然后保存修改并关闭该文件。
5 运行License目录下的lmtools.exe,如下图操作:运行后切换到Config Services选项卡点击上图中第一个Browse,选择License目录下的lmgrd.exe点击上图中第二个Browse,选择License目录下已编辑过的***.dat 点击Save Service保存修改,再切换到Start/Stop/Reread选项卡如下图所示,点击Start Server按钮启动服务。
ABAQUS与FORTRAN 问题小结
ABAQUS与FORTRAN论坛问题小结Q:索了一下论坛发现以前的问题都是不同类型的子程序,如UEL, UMA T...这样把它们放在一个.for文件里不会有误会,但是如果都是UEL的话,该怎么识别呢?A:subroutine Umat()IF (CMNAME(1:4) .EQ. 'MAT1') THENCALLUMAT_MAT1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THENCALLUMAT_MAT2(argument_list)END IF上面是区分不同umat的方法,区分uel应该类似吧Q:行abaqus的时候出现这样的提示"Problem during compilation - df.exe not found in PA TH."请问这是什么原因.A: 就是说找不到用于编译的df.exe文件(好像是Fortran的编译运行文件),在Windows控制面板的“系统”里,打开高级属性,将系统的PA TH添加上Fortran的路径,最好也一并把INCLUDE和LIB也都添加上对应的FORTRAN的路径。
Q: 如何在ABAQUS中调用用户子程序UMATA:abaqus job=*** user=*.for or *.objA: 装好fortran编译器的前提下,有两种方式:1、命令行:abaqus job=*.inp user=*.for或abaqus job=*.inp user=*.obj (可以由*.f90编译后得到)2、菜单格式:先运行CAE,在general设置中可以指定Umat用户子程序A: job=jobname user=yourfortran.for(其它类型子程序)A:如果是本构的二次开发:*material, userQ: abaqus job=job-name user={source-file | object-file}source-file和object-file各是什么?A: fortran的源文件(.for)或者目标文件(.o)在command下面输入以上命令行就可以正常运行. 用户子程序再调用别的fortran程序时,要加入abaqus 子程序中的include'ABA_PARAM.INC'。
ABAQUS中Fortran子程序调用方法-自己总结
第一种方法:在Job模块里,创建工作,在Edit Job对话框中选择General选项卡,在User subroutine file中点击Select按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。
第二种方法:1. 建立工作目录2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc 或 aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;3. 将编译的fortran程序拷贝到工作目录;4. 将.obj文件拷贝到工作目录;5. 建立好输入文件.inp;6. 运行abaqus job=inp_name user=fortran name即可。
以下是网上摘录的资料,供参考:用户进行二次开发时,要在命令行窗口执行下面的命令:abaqus job=job_name user=sub_nameABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe 等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
这些生成的临时文件要到文件夹C:\Documents and Settings\Administrator\LocalSettings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1 子程序格式(程序后缀是.f; .f90; .for;.obj??)答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqus j=jobname user=username时,默认的用户子程序后缀名是.for (.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。
abaqus调用子程序的方法
Abaqus运行子程序方法试了好几种调用子程序的方法最后总算找到了最简单的了,非常感谢仿真论坛上的网友的分享:首先需要装Microsoft Visual Studio(简写mvs),再装Intel Visual Fortran(IVF)。
通常的组合是Abaqus v6.10.1可使用:MVS2008+IVF10.1 MVS2008+IVF11.1 这二种组合最好都使用英文版的。
照着附录1 方法装一般没什么问题。
但是一般都是先装abaqus后才想到去装MVS以及IVF的。
很多时候都把MVS 以及IVF装好以后才想到去验证的,而且MVS很多都是中文的,MVS不仅装的慢卸载残留也很多好麻烦。
搞了好久都验证不了,看了附录二的方法下面2个网友的回复后豁然开朗,一切都是那么简单。
附录二的方法的主要作用可能就是将VC++和Fortran的环境变量一并启动了,参考过以前版上的安装教程,通过在ABAQUS 的快捷方式中添加命令,亦能够达到同样效果,同样也是不能通过verification,但是可以运行子程序,通过在ABAQUS CAE的快捷方式的目标中,添加"D:\Program Files (x86)\Intel\Compiler\Fortran\10.1.034\em64t\bin\ifortvars.bat" && (跟附录1中的修改快捷方式的目标一样)达到了同样的效果(摘自ppengine,tcboywjr网友的回复)。
只需在搜索栏中搜索ifortvars.bat,再把路径添加上去照上面的形式修改便可。
本人用的是win7系统装的是abaqus6.10.mvs2008(中文版)IVF11,abaqus好早就装了,装MVS2008之前装了mvs2010,发现2010不好装ivf,然后又卸了装mvs2008中文,验证时出现附录Ⅰ的情况,就C++项通不过还以为装C++2010就好了,又重装了一下mvs2010的C++(囧),发现还是用不了,校园网速太慢又不想下mvs2008(英文版),最后在附录2的方法下面发现了两位网友的分享非常感谢。
ABAQUS与FORTRAN
ABAQUS与FORTRAN论坛问题小结Q:索了一下论坛发现以前的问题都是不同类型的子程序,如UEL, UMAT...这样把它们放在一个.for文件里不会有误会,但是如果都是UEL的话,该怎么识别呢?A:subroutine Umat()IF (CMNAME(1:4) .EQ. 'MAT1') THENCALL UMAT_MAT1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THENCALL UMAT_MAT2(argument_list)END IF上面是区分不同umat的方法,区分uel应该类似吧Q:行abaqus的时候出现这样的提示"Problem during compilation - df.exe not found in PATH."请问这是什么原因.A: 就是说找不到用于编译的df.exe文件(好像是Fortran的编译运行文件),在Windows控制面板的“系统”里,打开高级属性,将系统的PATH添加上Fortran的路径,最好也一并把INCLUDE和LIB也都添加上对应的FORTRAN的路径。
Q: 如何在ABAQUS中调用用户子程序UMATA:abaqus job=*** user=*.for or *.objA: 装好fortran编译器的前提下,有两种方式:1、命令行:abaqus job=*.inp user=*.for或abaqus job=*.inp user=*.obj (可以由*.f90编译后得到)2、菜单格式:先运行CAE,在general设置中可以指定Umat用户子程序A: job=jobname user=yourfortran.for(其它类型子程序)A:如果是本构的二次开发:*material, userQ: abaqus job=job-name user={source-file | object-file}source-file和object-file各是什么?A: fortran的源文件(.for)或者目标文件(.o)在command下面输入以上命令行就可以正常运行. 用户子程序再调用别的fortran程序时,要加入abaqus 子程序中的include 'A BA_PARAM.INC'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一种方法:
/ o/ J5 @6 U/ ^- o$ 1. 建立工作目录/ ]"
2. 将Abaqus安装目录\6.4-pr11\site下的aba_param_dp.inc或aba_param_sp.inc拷贝到工作目录,并改名为aba_param.inc;
# ~/ |0 I0 E6 {, @4 X3 q: W3. 将编译的fortran程序拷贝到工作目录;
4. 将.obj文件拷贝到工作目录;
5. 建立好输入文件.inp;
6. 运行abaqusjob=inp_name user=fortran name即可。
第二种方法:
在Job模块里,创建工作,在EditJob对话框中选择General选项卡,在Usersubroutine file中点击Select 按钮,从弹出对话框中选择你要调用的子程序文件(后缀为.for或.f)。
, D8 i7 d/r c6 @" |
以下是网上摘录的资料,供参考:. |$ t/ }$W7 Y6 m4 h6 D6 j
用户进行二次开发时,要在命令行窗口执行下面的命令:
4 O. R+ ^,@( ? abaqus job=job_name user=sub_name
ABAQUS会把用户的源程序编译成obj文件,然后临时生成一个静态库standardU.lib和动态库standardU.dll,还有其它一些临时文件,而它的主程序(如standard.exe和explicit.exe等)则没有任何改变,由此看来ABAQUS是通过加载上述2个库文件来实现对用户程序的连接,而一旦运行结束则删除所有的临时文件。
这种运行机制与ANSYS、LS-DYNA、marc等都不同。
: j6 g' R-o( {0 [* N2 J3 X这些生成的临时文件要到文件夹C:\Documentsand Settings\Administrator\Local Settings\Temp\中才能找到,这也是6楼所说的藏了一些工作吧,大家不妨试一下。
1子程序格式(程序后缀是.f; .f90; .for;.obj??)
答:我试过,.for格是应该是不可以的,至少6.2和6.3版本应该是不行,其他的没用过,没有发言权。
在Abaqus中,运行abaqusj=jobname user=username时,默认的用户子程序后缀名是.for(.f,.f90应该都不行的,手册上也有讲过),只有在username.for文件没有找到的情况下,才会去搜索username.obj,如果两者都没有,就会报错误信息。
如果username包括扩展名for或obj,那么就根据各自的扩展名ABAQUS会自动选择进行操作。
2CAE中如何调用?Command下如何调用?
答:CAE中在creat job的jobmanager中的general中可以指定子程序;
Command下用命令:abaqus j=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++程序编译为obj文件,没试过。
在你的工作目录下应该已经存在ufield.obj和uvarm.obj这两个文件(这两个文件应该是你分别单独调试ufield.FOR和uvarm.FOR时自动编译生成的,你可以将他们删掉试试看),但是由于你的FOR文件中已经有了UV ARM 和UFIELD这两个subroutine,显然会造成重复定义,请查实。
用户子程序的使用
假设你的输入文件为:a.inp b.for
那么在ABAQUS Command 中的命令应该是这样的:
abaqusjob=a user=b
对于abaqus64pr11,command中输入:
abq64pr11job=a user=b就可以了。
当然首先你要用cd 命令进入输入文件所在的当前文件目录。
强烈建议使用command来操作。
子程序文件名后缀应为.for,而不是.f
ABAQUS/CAE处理有两个程序:①内核程序;②GUI (graphical user interface—图形用户界面)程序。
内核程序实际上就是它的脚本语言,它采用的是Python语言,同时扩展了Python语言,额外提供了大约500个对象模型,对象模型之间的关系复杂。
GUI程序(图像用户界面程序)是一个方便用户输入或选择参数的图形用户接口。
ABAQUS/CAE是采用IPC协议来完成内核程序和GUI程序的通信的。
ABAQUS有限元程序通过集成Python语言向二次开发者提供了很多库函数,通过ABAQUS脚本接口(ABAQUSScripting Interface),Python语言调用这些库函数来增强ABAQUS的交互式操作功能。
它允许用户绕过ABAQUS/CAE的GUI(graphicaluser interfaces)直接与内核交互,可以大大提高工作效率或完成ABAQUS/CAE没有提供的功能。
但是因为它没有通过GUI,显的不那么直观,而且如想改变某些参数就不得不修改脚本程序,这些对一般用户来说就显的比较麻烦。
因此,对ABAQUS二次开发一般应先开发出GUI后,让用户输入或选择有关参数后,然后生成ABAQUS的脚本语言来自动处理。
ABAQUS的GUI 是用ABAQUSGUI Toolkit来编写,它也是对FOXGUI Toolkit的拓展,它在编写程序时也是遵循Python 语言的格式。
ABAQUS二次开发有如下几种途径:
①通过用户子程序可以开发新的模型,控制ABAQUS计算过程和计算结果;
②通过环境初始化文件可以改变ABAQUS的许多缺省设置;
③通过内核脚本可以实现前处理建模和后处理分析计算结果;
④通过GUI脚本可以创建新的图形用户界面和用户交互。
目前使用较多的是第1种方法和第3种方法。
仿真论坛上的帖子:
Abaqus中python的二次开发都是基于前后处理的(差不多就是和CAE进行交流的),要么直接利用Python 生成自己需要的模型或者INP(前处理),要么就是利用Python从已有的*.odb中高效地读取自己想要的数据(后处理)。
ABAQUS的自适应网格不改变网格的拓扑结构(单元和连接的关系),它结合了纯拉格朗日分析(网格随材料移动)和欧拉分析(网格位置固定,材料在网格中流动),被称为“任意拉格朗日-欧拉分析(ALE)”。
它通常比纯拉格朗日分析更高效、更精确和更稳定。
abaqus中子程序很多,常见的有材料本构子程序umat,常变量子程序USDFLD
,用户单元子程序uel,蠕变creep等。
就umat开发来说,首先需要在纸面上推导清楚所要开发本构模型的积分和迭代求解格式,然后进行程序实现,最后进行调试。
建议先从简单的线弹性开始,慢慢有弹性到塑性到更高级的模型。
这个过程中,用fortran实现是最简单的一环,理清思路是最为重要的。
本构模型积分算法的基本思路是假定某时刻t (即第n增量步)的所有变量值已经给出,并给定了时间步长增量和总应变增量(为弹性应变增量与非弹性应变增量之和),在此基础上通过数学算法寻求满足离散本构方程的精确应力解。
就弹塑性模型来说,普遍做法主要有4步,即弹性预测、状态判断、塑性修正、塑性迭代平衡后进行应力、应变等变量更新,核心方法是Newton-Raphson法求解非线性方程组。
我也安装了上述三个软件,用来搞abaqus焊接模拟的,你要结合起来的话,建立一个文件,起名字为cae.bat,将鼠标放在它上面。
点击右键,选择编辑。
会出现一个空白文本。
之后要做是的:在里面这样写:
call "C:\Program Files\Microsoft Visual Studio 8\VC\bin \vcvars32.bat"
call "C:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifortvars.bat"
call D:\SIMULIA2\Commands\abq691.bat cae || pause
这个是dos下面的命令,它的目的在于告诉你启动cae的时候链接ifortvars.bat,大家请注意,上面的路径是我电脑中ifortvars.bat和abaqus691.cae的路径,大家在使用时需要修改一下这个路径。
然后点击cae.bat
就可以运行abaqus,并可以使用子程序了。
(在别处学的,共享之,希望能帮助你!。