ABAQUS2016子程序关联(绝对原创)
分享ABAQUS子程序编程经验

分享子程序编程经验miracle17178最近我一直在编写路面的移动载荷,移动载荷包括DLOAD(移动竖向荷载)和UTRACLOAD(移动水平力),编程过程中遇到的问题比较多,总结总结,给后边编类似程序的同志们一点捷径。
问题:1.开始时用VDLOAD编写子程序,完成了竖直力的移动加载,可是对应的水平力没办法加,原因是:VDLOAD是在显示求解explicit中调用的,而水平力UTRACLOAD是在隐士求解implicit中调用的,同一STEP无法实现两者同时加载,只好改用DLOAD,之后同时加载,完成。
2.两个子程序同时加载时会出现问题,单个施加一个子程序,都可以顺利通过,但是将两个子程序粘贴到一个新的.for文件中却会出现Problemduringlinking - Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from release to release, so user subroutines used with a previous version of Abaqus may need to be adjusted. 查了simwe里面相关的帖子,试了很多方法,都不行,最后,我先运行DLOAD,之后再把UTRACLOAD 的程序直接粘贴到DLOAD中而不是将两个程序粘贴到新文件中,再去调试,结果通过了,而且结果正确,所以,我总结为:出现连接错误时,不一定都是子程序验证不通过,或是变量定义冲突等原因。
不知道大家还有没有别的看法。
3.我编写的移动荷载模拟汽车一列四个轮子(就是大型货车四排轮子)通过一个10m模型,大部分人编写的时候一开始就将四个轮子的后轮挨着模型边缘,再让四个轮载区域同时移动,等前面的轮子区域挨着路面边缘时,停止,这样有一个缺点,就是模型的长至少是两个车长,这还要看你关注的是哪个区域的受力情况,我编写的时候是靠TIME(2)*V-L(TIME(2)*V代表前边轮的移动距离,L是后轮前沿距前轮前沿的距离)保证时间和加载区域的协调统一,这样我的模型只是一个车长,只要将STEP中Time period设置成两个车长通过的时间就行了,这样前轮先上路面,随着TIME(2)的增加,后轮在前轮移动L后也上了路面,等到前轮出了模型,后轮还会随着时间的增加继续加载,直到两个车长的通过时间结束,所以这样下来,模型小了,单元也少了,节省资源节省时间。
abaqus及子程序安装方法

***防火墙英文存放位置及安装路径,系统组件……第一部分Abaqus的安装问题(不含子程序)1)用虚拟光驱加载DVD2,安装Document,直接运行根目录下的setup.exe即可,安装过程比较简单。
(完成1后不要急着安装啊!因为你需要做一些事情来使得你的电脑可以破解abaqus。
做什么呢!需要做两项,分别是:1.1.设置一个环境变量,变量名为:LM_LICENSE_FILE;变量值为:27011@127.0.0.1。
这个时候有人会问,这是咋回事啊!因该是27011@自己的电脑名称。
我要告诉你这个127.0.0.1就是指你的电脑。
所以不用再写你的电脑名字了,要是万一你的电脑名字是汉语的,那么还不好使呢!这个步骤的目的在于在你的电脑里面建立了一个解码系统,可以明目张胆地使用abaqus。
1.2.修改abaqus安装盘中SHooTERS文件夹中的abaqus69.dat,打开它,将“this_host”修改为127.0.0.1。
保存。
)根据个人安装经验,上述方法有时可能会失效,自己调整如下。
因为我下载的版本的license文件第一行为:SERVER THIS_host ID=20111111 27011 而不是SERVER THIS_host ID=20111111 27003第4步:变量名LM_LICENSE_FILE,值为hostname (hostname为你的计算机名字)第8步:27003@hostname 更改为27011@hostname (hostname为你的计算机名字)2)设置环境变量:鼠标右键点击桌面“我的电脑”图标,通过路径“属性->高级->环境变量”,然后在系统变量栏新建一个环境变量,变量名LM_LICENSE_FILE,值为27011@hostname。
(以前版本的为27003等现为27011,hostname为你的计算机名)3)用虚拟光驱加载DVD1,先安装License,运行X:\win86_32\license\Windows\Disk1\InstData\VM\install.exe。
完整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安装及子程序验证详解

Abaqus安装及子程序验证详解System Requirements for Abaqus6.9ProductsSystem Requirements for Abaqus6.10ProductsSystem Requirements for Abaqus6.11Products更多信息请查阅网址:/support/sup_systems_info.htmlAbaqus v6.10.1可使用:MVS2008+IVF10.1MVS2008+IVF11.1这二种组合@FG\XL#VAbaqus v6.9.1可使用:MVS2005+IVF9.1MVS2005+IVF10.1MVS2008+IVF10.1这三种组合需要说明的是,msv2010不兼容IVF11.1,MVS2008+IVF10.1是比较好的选择。
1、首先,安装之前一定要看看Abaqus的要求,具体的程序安装说明网上都有,10.0后的安装智能化了许多,本人在这里只说明需要注意的地方。
2、Abaqus6.9安装除了需要vs c++和intel fortran外还需要安装PlatformSDK到“Microsoft Visual Studio8(msv8.0)安装目录”\vc下,因为在“Microsoft Visual Studio 8安装目录”\VC\bin\amd64\vcvarsamd64.bat(64位系统)和“Microsoft Visual Studio8安装目录”\Common7\Tools\vsvars32.bat(32位系统)文件中已经设置了VC和PlatformSDK环境变量。
3、Abaqus6.10已经不需要专门安装PlatformSDK。
在mvs9.0安装目录中的vcvarsamd64.bat和vsvars32.bat文件关于环境变量的设置与msv8.0有很大的不同。
4、关于系统变量的相关设置。
本人不赞同手动修改系统变量,觉得程序自己设置比较好,所以这种方法不需要手动修改相关系统变量。
Abaqus2016版本关联子程序教程

Abaqus关联子程序2020.10.3开始看了很多安装的资料,10.4号上午找了很久的资源,下午开始安装,严格按照视频当中的操作进行的安装,但是一直失败,因为abaqus关联子程序是有版本要求的,其中会用到visual studio和Intel visual fortran两个软件,对于abaqus、visual studio和Intel visual fortran的版本都有要求不是你想用哪个就能用哪个的,因为我一直用的abaqus2016,在网上搜到的是使用visual studio2012+Intel visual fortran2013或者visual studio2013+Intel visual fortran2013这个搭配是可以的。
开始尝试了很多次,都不能成功关联,10.5我将电脑恢复了出厂设置,按照先安装visual studio2013,然后Intel visual fortran2013最后abaqus2016的顺序成功关联,所以最好是用没有安装过abaqus的电脑来关联,如果不行就恢复出厂设置试试。
接下来简单记录。
一、怎么看是否关联成功1.打开cae2.在黑框框里会显示3.打开abaqus检查程序会自己检查。
4.如果关联成功,程序检查完以后会出现一个文档,里面的选项都是PASS就是关联成功,最后一项如果是错误没事的二、安装visual studio2013我只用FORTRAN所以这里只选择用于C++的基础类就好跑完就好了三、安装Intel visual Fortran2013这里改变路径也可以的,之后直接点击Extract这里可以改变路径之后就会安装完成四、安装abaqus2016过于麻烦自己搜吧,百度安装abaqus2016教程就有五、关联子程序原理就是打开abaqus之前先打开这两个软件。
几行代码加到abaqus上面的一个文件。
1.先找到abaqus的那个文件2.我的安装路径是3.你们自己设置的路径自己找找不到直接搜索名字就行,之后右键编辑。
配置abaqus子程序的方法

安装VS+IVF+ABAQUS第一步:::找到IVF初始化文件及其绝对路径(X:\是所在盘符,x是IVF版本相关的数字)IVF 10.x都是X:\...\Intel\Compiler\10.x\xxx\bin\ifortvars.batIVF 11.x32位系统是X:\...\Intel\Compiler\11.x\xxx\bin\ia32\ifortvars_ia32.batintel64位系统是X:\...\Intel\Compiler\11.x\xxx\bin\intel64\ifortvars_intel64.bat(注意64位是分intel64位和AMD64位,根据机器情况选择软件版本,Abaqus 也是如此,我只用过所以也只讨论intel64)再找到已安装的Abaqus所在文件夹下的Commands文件夹中的abq6XXX.bat文件,右键编辑打开它,在@echo off下插入下面这行命令(以32位系统IVF11.x为例)@call "X:\...\Intel\Compiler\11.x\xxx\bin\ia32\ifortvars_ia32.bat"保存关闭abq6XXX.bat文件。
第二步::在开始菜单的Abaqus文件夹中找到Abaqus Verification快捷方式,点击它进行验证。
我的配置:VS2013+IVF2013 SP1 update3+ABAQUS 6.14.1将aba6141.bat 文件中改为:@echo offcall "C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin\ifortvars.bat" intel64 vs2013"G:\SIMULIA\Abaqus\6.14-1\code\bin\abq6141.exe" %*THANKS !!!致力为企业和个人提供合同协议,策划案计划书,学习课件等等打造全网一站式需求欢迎您的下载,资料仅供参考。
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子程序

1.1.37 UMATHTUser subroutine to define a material's thermalbehavior.Product: Abaqus/StandardWarning: The use of this subroutine generally requires considerable expertise. You are cautioned that the implementation of any realistic thermal model requires significant development and testing. Initial testing on models with few elements under a variety of boundary conditions is strongly recommended.References●“User-defined thermal material behavior,”Section 23.8.2 of the Abaqus Analysis User's Manual● *USER MATERIAL●“Freezing of a square solid: the two-dimensional Stefan problem,”Section 1.6.2 of the Abaqus Benchmarks Manual●“UMATHT,”Section 4.1.22 of the Abaqus Verification ManualOverviewUser subroutine UMATHT:● can be used to define the thermal constitutive behavior of the material as well as internal heat generation during heat transfer processes;● will be called at all material calculation points of elements for which the material definition includes a user-defined thermal material behavior;● can be used with the procedures discussed in “Heat transfer analysis procedures: overview,”Section 6.5.1 of the Abaqus Analysis User's Manual;● can use solution-dependent state Variables;● must define the internal energy per unit mass and its variation with respect to temperature and to spatial gradients of temperature;● must define the heat flux vector and its variation with respect to temperature and to gradients of temperature;● must update the solution-dependent state Variables to their values at the end of the increment;● can be used in conjunction with user subroutine USDFLD to redefine any field Variables before they are passed in; and● is described further in “User-defined thermal material behavior,”Section 23.8.2 of the Abaqus Analysis User's Manual.Use of subroutine UMATHT with coupled temperature-displacement elementsUser subroutine UMATHT should be used only with reduced-integration or modified coupled temperature-displacement elements if the mechanical and thermal fields are not coupled through plastic dissipation. No such restriction exists with fully integrated coupled temperature-displacement elements.User subroutine interfaceSUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,1 STATEV,TEMP,DTEMP,DTEMDX,time,Dtime,PREDEF,DPRED,2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),2 time(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)user coding to define U,DUDT,DUDG,FLUX,DFDT,DFDG,and possibly update STATEV, PNEWDTRETURNENDVariables to be definedUInternal thermal energy per unit mass, U, at the end of increment. This variable is passed in as the value at the start of the increment and must be updated to its value at the end of the increment.DUDTVariation of internal thermal energy per unit mass with respect to temperature,, evaluated at the end of the increment.DUDG(NTGRD)Variation of internal thermal energy per unit mass with respect to the spatial gradients of temperature,, at the end of the increment. The size of this array depends on the value of NTGRD as defined below. This term is typically zero in classical heat transfer analysis.FLUX(NTGRD)Heat flux vector,, at the end of the increment. This variable is passed in with the values at the beginning of the increment and must be updated to the values at the end of the increment.DFDT(NTGRD)Variation of the heat flux vector with respect to temperature,, evaluated at the end of the increment.DFDG(NTGRD,NTGRD)Variation of the heat flux vector with respect to the spatial gradients of temperature,, at the end of the increment. The size of this array depends on the value of NTGRD as defined below.Variables that can be updatedSTATEV(NSTATV)An array containing the solution-dependent state Variables.In an uncoupled heat transfer analysis STATEV is passedinto UMATHT with the values of these Variables at the beginning of the increment. However, any changes in STATEV made in usersubroutine USDFLD will be included in the values passed into UMATHT, since USDFLD is called before UMATHT. In addition, if UMATHT is being used in a fully coupled temperature-displacement analysis and user subroutine CREEP, user subroutine UEXPAN, user subroutine UMAT, or user subroutine UTRS is used to define the mechanical behavior of the material, those routines are called before this routine; therefore, any updating of STATEV done in CREEP, UEXPAN, UMAT, or UTRS will be included in the values passed into UMATHT.In all cases STATEV should be passed back from UMATHT as the values of the state Variables at the end of the current increment.PNEWDTratio of suggested new time increment to the time increment being used (DTIME, see below). This variable allows you to provide input to the automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen).PNEWDT is set to a large value before each call to UMATHT.If PNEWDT is redefined to be less than 1.0, Abaqus/Standard must abandon the time increment and attempt it again with a smaller time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT ×DTIME, wherethe PNEWDT used is the minimum value for all calls to user subroutines that allow redefinition of PNEWDT for this iteration.If PNEWDT is given a value that is greater than 1.0 for all calls to user subroutines for this iteration and the increment converges in this iteration, Abaqus/Standard may increase the time increment. The suggested new time increment provided to the automatic time integration algorithms is PNEWDT ×DTIME, where the PNEWDT used is the minimum value for all calls to user subroutines for this iteration.If automatic time incrementation is not selected in the analysis procedure, values of PNEWDT that are greater than 1.0 will be ignored and values of PNEWDT that are less than 1.0 will cause the job to terminate.Variables passed in for informationTEMPTemperature at the start of the increment.DTEMPIncrement of temperature.DTEMDX(NTGRD)Current values of the spatial gradients of temperature,TIME(1)Value of step time at the beginning of the current increment.time(2)Value of total time at the beginning of the current increment.DTIMETime increment.PREDEFarray of interpolated values of predefined field Variables at this point at the start of the increment, based on the values read in at the nodes.DPREDarray of increments of predefined field Variables.CMNAMEUser-defined material name, left justified.NTGRDnumber of spatial gradients of temperature.NSTATVnumber of solution-dependent state variables associated with this material type (defined as described in “Allocating space” in “Usersubroutines: overview,”Section 15.1.1 of the Abaqus Analysis User's Manual).PROPS(NPROPS)User-specified array of material constants associated with this user material.NPROPSUser-defined number of material constants associated with this user material.COORDSAn array containing the coordinates of this point. These are the current coordinates in a fully coupled temperature-displacement analysis if geometric nonlinearity is accounted for during the step(see “Procedures: overview,”Section 6.1.1 of the Abaqus Analysis User's Manual); otherwise, the array contains the original coordinates of the point.NOEL :Element number.NPT :Integration point number.LAYER :Layer number (for composite shells and layered solids).KSPT: Section point number within the current layer.KSTEP: Step number.KINC: Increment number.Example: Using more than one user-defined thermal material modelTo use more than one user-defined thermal material model, the variable CMNAME can be tested for different material names inside user subroutine UMATHT, as illustrated below:IF (CMNAME(1:4) .EQ. 'MAT1') THENCALL UMATHT_MAT1(argument_list)ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THENCALL UMATHT_MAT2(argument_list)END IFUMATHT_MAT1 and UMATHT_MAT2 are the actual user material subroutines containing the constitutive material models for each material MAT1 and MAT2, respectively. Subroutine UMATHT merely acts as a directory here. The argument list can be the same as that used in subroutine UMATHT.Example: Uncoupled heat transferAs a simple example of the coding of user subroutine UMATHT, consider uncoupled heat transfer analysis in a material. The equationsfor this case are developed here, and the corresponding UMATHT is given. This problem can also be solved by specifying thermal conductivity, specific heat, density, and internal heat generation directly.First, the equations for an uncoupled heat transfer analysis are outlined.The basic energy balance iswhere V is the volume of solid material with surface area S,is the density of the material,is the material time rate of the internal thermal energy, q is the heat flux per unit area of the body flowing into the body, and r is the heat supplied externally into the body per unit volume.A heat flux vectoris defined such thatwhereis the unit outward normal to the surface S. Introducing the above relation into the energy balance equation and using the divergence theorem, the following relation is obtained:The corresponding weak form is given bywhereis the temperature gradient andis an arbitrary variational field satisfying the essential boundary conditions.Introducing the backward difference integration algorithm:the weak form of the energy balance equation becomesThis nonlinear system is solved using Newton's method.In the above equations the thermal constitutive behavior of the material is given byAndwhereare state Variables.The Jacobian for Newton's method is given by (after dropping the subscriptson U)The thermal constitutive behavior for this example is now defined. We assume a constant specific heat for the material. The heat conduction in the material is assumed to be governed by Fourier's law.The internal thermal energy per unit mass is defined aswithwhere c is the specific heat of the material andFourier's law for heat conduction is given aswhereis the thermal conductivity matrix andis position, so thatandThe assumption of conductivity without any temperature dependence implies thatNo state variables are needed for this material, so the allocation of space for them is not necessary.A thermal user material definition can be used to read in the two constants for our simple case, namely the specific heat, c, and the coefficient of thermal conductivity, k, so thatSUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,1 STATEV,TEMP,DTEMP,DTEMDX,time,DTIME,PREDEF,DPRED,2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMEDIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3) CCOND = PROPS(1)SPECHT = PROPS(2)CDUDT = SPECHTDU = DUDT*DTEMPU = U+DUCDO I=1, NTGRDFLUX(I) = –COND*DTEMDX(I)DFDG(I,I) = –CONDEND DOCRETURNEND1.1.13 HETVALUser subroutine to provide internal heat generation in heat transfer analysis.Product: Abaqus/StandardReferences●“Uncoupled heat transfer analysis,”Section 6.5.2 of the Abaqus Analysis User's Manual●“Fully coupled thermal-stress analysis,”Section 6.5.4 of the Abaqus Analysis User's Manual● *HEAT GENERATION●“HETVAL,”Section 4.1.9 of the Abaqus Verification Manual OverviewUser subroutine HETVAL:● can be used to define a heat flux due to internal heatgeneration in a material, for example, as might be associated with phase changes occurring during the solution;● allows for the dependence of internal heat generation on state Variables (such as the fraction of material transformed) that themselves evolve with the solution and are stored as solution-dependent state variables;● will be called at all material calculation points for which the material definition contains volumetric heat generation during heat transfer, coupled temperature-displacement, or coupled thermal-electrical analysis procedures;● can be useful if it is necessary to include a kinetic theory fora phase change associated with latent heat release (for example, in the prediction of crystallization in a polymer casting process);● can be used in conjunction with user subroutine USDFLD if itis desired to redefine any field Variables before they are passed in; and● cannot be used with user subroutine UMATHT.User subroutine interfaceSUBROUTINE HETVAL(CMNAME,TEMP,time,DTIME,STATEV,FLUX,1 PREDEF,DPRED)CINCLUDE 'ABA_PARAM.INC'CCHARACTER*80 CMNAMECDIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),1 DPRED(*)user coding to define FLUX and update STATEVRETURNENDVariables to be definedFLUX(1)Heat flux, r (thermal energy per time per volume: JT–1L–3), at this material calculation point.。