当前位置:文档之家› 完整word版ABAQUS中Fortran子程序调用方法—自己总结

完整word版ABAQUS中Fortran子程序调用方法—自己总结

完整word版ABAQUS中Fortran子程序调用方法—自己总结
完整word版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_name

ABAQUS会把用户的源程序编译成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,如果两者都没有,就会报错误信息。如果username包括扩展名for或obj,那么就根据各自的扩展名ABAQUS会自动选择进行操作。

2CAE中如何调用?Command下如何调用?

答:CAE中在creat job的job manager中的general中可以指定子程序;Command下用命令:abaqus j=jobname user=userfilename (无后缀);

3若有多个子程序同时存在,如何处理

答:将其写在一个文件中即可,然后用一个总的子程序调用(具体参见手册)++编写子程序?C,VC不是很熟,是否可以用VF我对4.

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中的命令应该是这样的:

abaqus job=a user=b

对于abaqus64pr11,command 中输入:

abq64pr11 job=a user=b就可以了。

当然首先你要用cd 命令进入输入文件所在的当前文件目录。

强烈建议使用command来操作。

子程序文件名后缀应为.for,而不是.f

ABAQUS/CAE处理有两个程序:①内核程序;②GUI (graphical user interface —图形用户界面)程序。

内核程序实际上就是它的脚本语言,它采用的是Python语言,同时扩展了Python 语言,额外提供了大约500个对象模型,对象模型之间的关系复杂。

GUI程序(图像用户界面程序)是一个方便用户输入或选择参数的图形用户接口。ABAQUS/CAE是采用IPC协议来完成内核程序和GUI程序的通信的。ABAQUS有限元程序通过集成Python语言向二次开发者提供了很多库函数,通过ABAQUS脚本接口(ABAQUS Scripting Interface),Python语言调用这些库函数来增强ABAQUS的交互式操作功能。它允许用户绕过ABAQUS/CAE的

GUI(graphical user interfaces)直接与内核交互,可以大大提高工作效率或完成ABAQUS/CAE没有提供的功能。但是因为它没有通过GUI,显的不那么直观,而且如想改变某些参数就不得不修改脚本程序,这些对一般用户来说就显的比较麻烦。因此,对ABAQUS二次开发一般应先开发出GUI后,让用户输入或选择有关参数后,然后生成ABAQUS的脚本语言来自动处理。ABAQUS的GUI是用ABAQUS GUI Toolkit来编写,它也是对FOX GUI Toolkit的拓展,它在编写程序时也是遵循Python语言的格式。

ABAQUS二次开发有如下几种途径:

①通过用户子程序可以开发新的模型,控制ABAQUS计算过程和计算结果;的许多缺省设置;ABAQUS通过环境初始化文件可以改变②.

③通过内核脚本可以实现前处理建模和后处理分析计算结果;

④通过GUI脚本可以创建新的图形用户界面和用户交互。

目前使用较多的是第1种方法和第3种方法。

仿真论坛上的帖子:

Abaqus中python的二次开发都是基于前后处理的(差不多就是和CAE进行交流的),要么直接利用Python生成自己需要的模型或者INP(前处理),要么就是利用Python从已有的*.odb中高效地读取自己想要的数据(后处理)。

ABAQUS的自适应网格不改变网格的拓扑结构(单元和连接的关系),它结合了纯拉格朗日分析(网格随材料移动)和欧拉分析(网格位置固定,材料在网格中流动),被称为“任意拉格朗日-欧拉分析(ALE)”。它通常比纯拉格朗日分析更高效、更精确和更稳定。

ABAQUS子程序

Home 浅谈ABAQUS用户子程序 李青清华大学工程力学系 摘要本文首先概要介绍了ABAQUS的用户子程序和应用程序,然后从参数,功能两方面详细论述了DLOAD, UEXTERNALDB, URDFIL三个用户子程序和GETENVVAR,POSFIL,DBFILE三个应用程序,并详细介绍了ABAQUS的结果文件(.FIL)存储格式。 关键字ABAQUS,用户子程序,应用程序,结果文件 一、前言: ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBROUTINE)和应用程序接口(UTILITY ROUTINE)。ABAQUS 6.2.5一共有42个用户子程序接口,13个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了ABAQUS的功能。例如:如果荷载条件是时间的函数,这在ABAQUS/CAE 和INPUT 文件中是难以实现的,但在用户子程序DLOAD中就很容易实现。 二.在ABAQUS中使用用户子程序 ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法用户自己编写的代码。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。运行带有用户子程序的算例时有两种方法,一是在CAE中运行,在EDIT JOB菜单的GENERAL子菜单的USER SUBROUTINE FILE对话框中选择用户子程序所在的文件即可;另外是在ABABQUS COMMAND用运行,语法如下: ABAQUS JOB=[JOB] USER?[.FOR]?C 用户在编写用户子程序时,要注意以下几点: 1.用户子程序不能嵌套。即任何用户子程序都不能调用任何其他用户子程

abaqus安装说明

闲话不说,直接上链接 https://www.doczj.com/doc/4c11427737.html,/s/122MWa abaqus 6.13对操作系统的新要求: 自abaqus 6.13版本开始,将不再支持windows 的32位操作平台; 同时,也不再支持windows xp和 windows vista操作系统; 安装: 1. Run "Install Abagus Product & Licensing" 2. In SIMULIA FLEXnet License Server window select "Just install the license utilities" NOTE: If you already have SIMULIA FLEXnet License Server for ABAQUS 6.12-3 installed and running you can use it for 6.13-1 too 3. After finishing License Utilities setup copy files "ABAQUS.lic" and "ABAQUS.log" to (by default C:\SIMULIA\License\) 4. Configure and run SIMULIA FLEXnet License Server as service 4.1. Run lmtools.exe 4.2. On "Servise/License File" tab select "Configuration using Services" 4.3. On "Config Service" tab input the new Service Name (for example: SIMULIA FLEXnet License Server) 4.4. Browse to "lmgrd.exe", "ABAQUS.lic" and "ABAQUS.log" files 4. 5. Select "Use Service" and "Start Server at Power Up", click "Save Service" 4.6. On "Start/Stop/ReRead" tab click "Start Server" 4.7. Close lmtools do not pay attention warning the license file you have selected is not valid for this machine? continue 5. For ABAQUS "Installation type" window select "SIMULIA FLEXnet License Server" 6. In "License Server" window input for "License server1 (REQUIRED)" 27011@ there mast be the name of computer with SIMULIA FLEXnet License Server server installed 7. Continue and finish setup 8. Enjoy 简单翻译一下: 1.运行setup.exe,在安装服务器窗口选择 "Just install the license utilities",安装好后先不要点”安装产品“窗口的下一步,先配置 lmtools.exe; 2.复制文件 "ABAQUS.lic" and "ABAQUS.log"到安装目录(默认是 C:\SIMULIA\License\); 3.运行 lmtools.exe,在 "Configuration using Services"页选择三个文件"lmgrd.exe", "ABAQUS.lic" 和"ABAQUS.log",勾选 "Use Service" 和 "Start Server at Power Up", 点击 "Save Service"保存,切换至 "Start/Stop/ReRead"

ABAQUS中Fortran子程序调用方法

第一种方法: / 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

超详细Abaqus安装教程

超详细A b a q u s安装教 程 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

Abaqus2017 安装教程 将安装镜像加载至虚拟光驱 以管理员身份运行J:\1下的,保持默认点击下一步。 首先安装的是拓展产品文档,点击“下一步”,选择安装目标,并点击“下一步” 选择文档需要包含的部件,并点击“下一步” 提示程序安装信息足够,点击“安装” 提示SIMULIA 2017文档安装成功,点击“关闭”。 接着会自动弹出Abaqus Simulation Services,修改安装目标地址,并点击“下一步” 选择您需要的部件,并点击“下一步” 检测安装信息足够,点击“安装”, 提示安装成功够点击“关闭” 接来下会自动安装Abaqus Simulation Services CAA API,点击“下一步”, 选择您需要的安装的部件,点击下一步 安装完成后“关闭” 接下来是自动安装 Abaqus CAE 找到安装包里的_SolidSQUAD_文件夹,将里面的License文件复制到Abaqus安装目录里的SIMULIA文件夹里。然后打开License文件夹,改.lic许可证文件的计算机名,同时再新建一个.log日志文件。 粘贴到D:\SIMULIA 下 在License下新建一个文本文档,重命名为 用记事本打开 使用计算机名替换this_host 保存后退出。 以管理员方式打开,点击Config Services,按如下配置 点击Save Service。切换到Start/Stop/Reread选项卡,点击Stop Server,再点击Start Server。下面提示Server Start Successful则配置成功。关闭窗口。 回到Abaqus CAE的安装界面。 在License Server 1 中输入27011@DESKTOP-Q8CNNLR 注:DESKTOP- Q8CNNLR 是计算机的用户名。点击下一步。 点击下一步 修改目录,点击下一步 设置工作空间路径,建议选择较大的硬盘分区。点击“下一步” 信息确认无误开始安装。 点击Continue 提示Abaqus CAE安装完成,点击关闭。 下面是Tosca 2017的安装。根据需求选择安装。 根据需求选择接口 若安装按ANSA可选择路径,没有则直接下一步。 若没有安装Fluent ,取消勾选FLUENT 剩下步骤类似上面。最后点击安装。 最后是 Isight 2017的安装。步骤后之前相同,一直点下一步记忆可以了

ABAQUS用户子程序

当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS 调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 (子程序中很重要的就是要知道由abaqus提供的那些参量的意义,如下) 首先介绍几个子程序: 一.SUBROUTINE DLOAD(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传到用户子程序中的。 功能: 1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。 2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。 例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, 1 JLTYP,SNAME) INCLUDE 'ABA_PARAM.INC' C DIMENSION TIME(2),COORDS(3) CHARACTER*80 SNAME PARAMETER (PLOAD=100.E4) IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小 P=PLOAD ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小 P=COORDS(1)*PLOAD !施加在积分点的荷载P是坐标的函数 ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小 P=COORDS(1)**2*PLOAD ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小 P=COORDS(1)**3*PLOAD ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小 P=COORDS(1)**4*PLOAD END IF RETURN END UMAT 子程序具有强大的功能,使用UMAT 子程序: (1) 可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩

abaqus UAMP用户子程序

Overview User subroutine UAMP: ?allows you to define the current value of an amplitude definition as a function of time; ?can be used to model control engineering aspects of your system when sensors are used (sensor values are from the beginning of the increment); ?can use a predefined number of state variables in their definition; and ?can optionally compute the derivatives and integrals of the amplitude function. Explicit solution dependence The solution dependence introduced in this user subroutine is explicit: all data passed in the subroutine for information or to be updated are values at the beginning of that increment. User subroutine interface SUBROUTINE UAMP( * ampName, time, ampValueOld, dt, nProps, props, nSvars, * svars, lFlagsInfo, * nSensor, sensorValues, sensorNames, jSensorLookUpTable, * AmpValueNew, * lFlagsDefine, * AmpDerivative, AmpSecDerivative, AmpIncIntegral, * AmpDoubleIntegral) C INCLUDE 'ABA_PARAM.INC' C time indices parameter (iStepTime = 1, * iTotalTime = 2, * nTime = 2) C flags passed in for information parameter (iInitialization = 1, * iRegularInc = 2, * iCuts = 3

abaqus简单umat子程序

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED, 2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) include 'aba_param.inc' CHARACTER*8 CMNAME DIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS), 1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS), 2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3), 3 DFGRD0(3,3),DFGRD1(3,3) C UMAT FOR ISOTROPIC ELASTICITY C CANNOT BE USE D FOR PLAN E STRESS C ---------------------------------------------------------------- C PROPS(1) - E C PROPS(2) - NU C ---------------------------------------------------------------- C IF (NDI.NE.3) THEN WRITE (*,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS' CALL XIT ENDIF open(400,file='D:\test.txt') C ELASTIC PROPERTIES EMOD=PROPS(1) ENU=PROPS(2) EBULK3=EMOD/(1-2*ENU) EG2=EMOD/(1+ENU) EG=EG2/2 EG3=3*EG ELAM=(EBULK3-EG2)/3 write(400,*) 'temp=',temp C ELASTIC STIFFNESS C DO K1=1, NDI DO K2=1, NDI DDSDDE(K2, K1)=ELAM END DO DDSDDE(K1, K1)=EG2+ELAM

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,值为27011@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。安装过程中可能需要输入你的计算机名,一般上一步环境变量设置好了就不用输入了,安装时选择“just install the licenseing utilities”。注意:如果你的计算机上还装有abaqus 的其他版本,6.10版本的license可能会与低版本的发生冲突,导致无法安装第7步的product,所以需要把其他版本的license停掉,这样就可以了;我是讲6.8完全卸载之后再安装的6.10。 (中间选择Abaqus web server,很快安装好后,最后得画面会出现一个URL,例如http:// hostname:2080/v6.9/。需要拷贝一下,或者抄写下来。)

ABAQUS子程序UMAT里弹塑本构的实现

前言 有限元法是工程中广泛使用的一种数值计算方法。它是力学、计算方法和计算机技术相结合的产物。在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。 ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。比方说,一个复合材料就不能用传统的线性分析软件包进行分析。任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。 这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。 非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。新一代波音 787客机将全部采用复合材料。只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果。分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。 瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。线性分析在这种情况下是不适用的。以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。所以,ABAQUS可以在一个软件完成线性和非线性分析。 ABAQUS给用户提供了强大二次开发接口,尤其是在材料本构方面,给用户开发符合实际工程的材料本构模型提供了强大帮助,本文将针对其用户材料子程序展开研究,总结常用材料模型的开发方法。

abaqus子程序安装方法

ABAQUS6.9 用户子程序全部通过的安装方法 ABAQUS6.9子程序全部通过的安装方法 “Abaqus6.9”+ “Microsoft Visual C++ 2005 Express” + “Intel Fortran10.1”! 参考许多前人经验和帖子,整理出本文,共分三部分介绍: 第一部分:不使用子程序的用户按此即可完成ABAQUS安装; 第二部分:需使用子程序的用户,先按第一部分安装,再按第二部分安装; 最后一部分结合自己的实践谈几点注意的事项。 第一部分Abaqus6.9的安装步骤 1、建议安装顺序为:先DVD2, 再DVD1中的lisence. (因为安装DVD1 product 时,需要一个安装好html document的地址)。 2、先安装DVD2, (要输入计算机名hostname),最后得画面会出现一个URL,需要记下来。(我的是http://xumeng861:2080/v6.9) 3、鼠标右键点击桌面“我的电脑”图标,通过路径“属性->高级->环境变量”(环境变量分为用户变量和系统变量两种),然后在系统变量栏新建一个系统变量,变量名 LM_LICENSE_FILE,值为27003@hostname (例如:27003@xumeng861)。 4、再打开DVD1,安装license,在安装DVD1的时候,会选择安装license还是product. 第一步先选择license,(对于常用的win 7系统,打开安装文件的文件夹,假设虚拟光盘为F盘,则F:\ABAQUS6.9\win86_32\license\Windows\Disk1\InstData\VM\install..exe, 应用兼容模式运行--- 即右击install.exe—属性--兼容性—勾选“以兼容模式运行这个程序”—选择windows XP (service Pack 3)。)在安装好之后,进行license设置。 5、打开DVD1,然后打开SHOOTERS文件夹,将abaqus69.dat文件用记事本打开,"this_host" 替换为计算机名,改好的文件另存为硬盘C:\SIMULIA\License\license.dat(把abaqus69.dat改为license.dat似乎也影响到子程序通过) 6、在开始-程序菜单中运行Abaqus licensing/Licensing utilities, 并设置: 进入config service选项卡- Service name 中输入Flexlm Service 1(名字可以随意输入) - Path to the lmgrd.exe file:C:\SIMULIA\License\lmgrd.exe; - Path to the license file:C:\SIMULIA\License\license.dat (注:步骤5中建立好的文件)

配置abaqus子程序的方法

安装VS+IVF+ABAQUS 第一步:::找到IVF初始化文件及其绝对路径(X:\是所在盘符,x是IVF版本相关的数字) IVF 10.x都是X:\...\Intel\Compiler\10.x\xxx\bin\ifortvars.bat IVF 11.x32位系 统是X:\...\Intel\Compiler\11.x\xxx\bin\ia32\ifortvars_ia32.bat intel64位系统 是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 off call "C:\Program Files (x86)\Intel\Composer XE 2013 SP1\bin\ifortvars.bat" intel64 vs2013 "G:\SIMULIA\Abaqus\6.14-1\code\bin\abq6141.exe" %*

ABAQUS安装及汉化方法

统:Windows 7(32位系统)ABAQUS版本:6.9.3(DVD1为安装文件2.4G,DVD2为帮助文件1.8G)准备工作:1.由于安装文件为DVD格式,可下载并安装软件daemon_tools (DTLite4356-0091),直接打开DVD1,2 2.将License.dat用记事本打开,this_host改为本机系统:Windows 7(32位系统) 准备工作: 1.由于安装文件为DVD格式,可下载并安装软件daemon_tools (DTLite4356-0091),直接打开DVD1,2 2.将License.dat用记事本打开,this_host改为本机计算名(计算机属性,在“计算机名称、域或工作组设置”一栏找到“计算机全名”),27007不用改动 3.安装Microsoft Visual C++支持: 运行DVD1\win86_32\ 注:64位的机器请运行F:\ABAQUS6.9\win86_64文件夹下相应程序。 如果Microsoft Visual C++没有提前安装的话后边License会给以提示。 安装流程: 第一步:安装License 运行DVD1\ setup.exe \ (重要步骤)【右击install.exe—属性--兼容性—勾选“以兼容模式运行这个程序”—选择windows XP (service Pack 3)】。 选择License,一路Next直到出现需要输入HOSTNAME时,输入计算机全名,若已自动输入则Next,接着选择授权文件的安装类型,此处选择Just install the licensing utilities。 然后当有选择安装路径时自己选择想要的安装路径,然后Next直至完成。 安装完后将准备工作共的License.dat文件复制到安装盘(假定为C盘)C:\SIMULIA\License 目录。运行license utilities, 在config service中,service name: abaqus flexlm license server; 在“Path to the lmgrd.exe file”一栏中,选择指向“C:\SIMULIA\License\lmgrd.exe”在“Path to the license file”一栏中,选择指向“C:\SIMULIA\License\ABAQUS68_SUMMEREDITION.DA T”(第一步更改后的dat文件)在“Path to the debug log file”一栏中,选择指向“abaqus.log”(abaqus.log文件可以自己创建)Save service, 再start license。注意左下角出现start service successful. 第二步:安装product 兼容模式运行\ABAQUS6.9\win86_32\product\Windows\Disk1\InstData\VM\install.exe也可以在第一步的基础上选择product。 在需要输入Lisence server 1(REQUIRED)时,输入(27007@hostname),Server 2和Server 3可以不输入。 Next直至安装完成。 启动Abaqus CAE,先后看到命令提示符窗口和图形界面窗口,至此安装成功。 第三步:安装帮助文档 运行DVD2\ setup.exe \根据提示操作,在提示输入hostname/IP address时输入完整的计算机名称 然后当有选择安装路径时自己选择想要的安装路径,然后Next直至完成。 安装时license是关键,计算机名也很重要。 原文作者:houniao(转帖请注明作者)

Abaqus材料用户子程序UMAT基础知识与手册例子完整解释

1、为何需要使用用户材料子程序(User-Defined Material, UMAT )? 很简单,当ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。 UMAT 子程序具有强大的功能,使用UMAT 子程序: (1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。 (2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。 (3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。 (4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。 2、需要哪些基础知识? 先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话: Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。当然,最基本的一些概念和知识还是要具备的,比如: 应力(stress),应变(strain )及其分量; volumetric part 和deviatoric part ;模量(modul us )、泊松比(Poisson’s ratio)、拉梅常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。 3、UMAT 的基本任务? 我们知道,有限元计算(增量方法)的基本问题是: 已知第n 步的结果(应力,应变等)n σ,n ε,然后给出一个应变增量1+n d ε,计算新的应力1+n σ。UMAT 要完成这一计算,并要计算Jacobian 矩阵DDSDDE(I,J) =εσΔ?Δ?/。σΔ是应力增量矩阵(张量或许更合适),εΔ是应变增量矩阵。DDSDDE(I,J) 定义了第J 个应变分量的微小变化对

ABAQUS用户子程序

ABAQUS用户子程序 转自https://www.doczj.com/doc/4c11427737.html, 当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINE DLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始等等。当ABAQUS调用用户子程序是,都会把当前的STEP和INCREMENT利用用户子程序的两个实参KSTEP和KINC传给用户子程序,用户可编个小程序把它们输出到外部文件中,这样对ABAQUS何时调用该用户子程序就会有更深的了解。 (子程序中很重要的就是要知道由abaqus提供的那些参量的意义,如下) 首先介绍几个子程序: 一.SUBROUTINE DLOAD(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传到用户子程序中的。 功能: 1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。 2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。 例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, 1 JLTYP,SNAME) INCLUDE 'ABA_PARAM.INC' C DIMENSION TIME(2),COORDS(3) CHARACTER80 SNAME PARAMETER (PLOAD=100.E4) IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小 P=PLOAD ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小 P=COORDS(1)PLOAD !施加在积分点的荷载P是坐标的函数 ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小 P=COORDS(1)2PLOAD ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小 P=COORDS(1)3PLOAD ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小 P=COORDS(1)4PLOAD

ABAQUS用户子程序

ABAQUS用户子程序 ABAQUS/Standard subroutines: 1.CREEP: Define time-dependent, viscoplastic behavior (creep and swelling). 定义和时间相关的、粘塑性的运动(蠕变和膨胀) 2. DFLOW: Define nonuniform pore fluid velocity in a consolidation analysis. 在压实分析中,定义非均匀孔隙流速度 3. DFLUX: Define nonuniform distributed flux in a heat transfer or mass diffusion analysis. 在热传递和质量扩散分析中,定义非均匀的分布流量 4. DISP: Specify prescribed boundary conditions. 指定规定的边界条件 5. DLOAD: Specify nonuniform distributed loads. 指定非均匀的分布荷载 6. FILM: Define nonuniform film coefficient and associated sink temperatures for heat transfer analysis. 对热传递分析指定非均匀的膜层散热系数和联合的散热器温度 7. FLOW: Define nonuniform seepage coefficient and associated sink pore pressure for consolidation analysis. 对压实分析定义非均匀的渗流系数和渗入孔隙压力 8. FRIC: Define frictional behavior for contact surfaces. 对接触面定义摩擦 9. GAPCON: Define conductance between contact surfaces or nodes in a fully coupled temperature-displacement analysis or pure heat transfer analysis. 在一个完全耦合的温度—置换分析或者是纯热传递分析中,定义接触面或节点间的导热系数。 10. GAPELECTR: Define electrical conductance between surfaces in a coupled thermal-electrical analysis. 在耦合热电分析中,定义表面间的导电系数 11. HARDINI: Define initial equivalent plastic strain and initial backstress tensor. 定义初始等效应变和初始反应力张量 12. HETVAL: Provide internal heat generation in heat transfer analysis. 在热传递分析中提供初始热 13. MPC: Define multi-point constraints. 定义多点约束 14. ORIENT: Provide an orientation for defining local material directions or local directions for kinematic coupling constraints or local rigid body directions for inertia relief. 为定义局部材料方向提供定位;运动学耦合约束的局部方向;惯性释放的局部刚体方向。 15. RSURFU: Define a rigid surface. 定义一个刚性面 16. SDVINI: Define initial solution-dependent state variable fields. 定义初始和结果相关的变量场 17. SIGINI: Define an initial stress field.

相关主题
文本预览
相关文档 最新文档