浅谈ABAQUS用户子程序

浅谈ABAQUS用户子程序

ID:46649846

大小:92.28 KB

页数:8页

时间:2019-11-26

浅谈ABAQUS用户子程序_第1页
浅谈ABAQUS用户子程序_第2页
浅谈ABAQUS用户子程序_第3页
浅谈ABAQUS用户子程序_第4页
浅谈ABAQUS用户子程序_第5页
资源描述:

《浅谈ABAQUS用户子程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Home浅谈ABAQUS用户子程序李青清华大学工程力学系摘要本文首先概要介绍了ABAQUS的用户子程序和应用程序,然后从参数,功能两方面详细论述了DLOAD,UEXTERNALDB,URDFIL三个用户子程序和GETENVVAR,POSFIL,DBFILE三个应用程序,并详细介绍了ABAQUS的结果文件(.FIL)存储格式。关键字ABAQUS,用户子程序,应用程序,结果文件一、前言:ABAQUS为用户提供了强大而又灵活的用户子程序接口(USERSUBROUTINE)和应用程序接口(UTILITYROUTINE)。ABAQUS6.2.5一共有42个用户子程序接口,13个应用程序接口,用户

2、可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数据交换等等。这些用户子程序接口使用户解决一些问题时有很大的灵活性,同时大大的扩充了ABAQUS的功能。例如:如果荷载条件是时间的函数,这在ABAQUS/CAE和INPUT文件中是难以实现的,但在用户子程序DLOAD中就很容易实现。二.在ABAQUS中使用用户子程序ABAQUS的用户子程序是根据ABAQUS提供的相应接口,按照FORTRAN语法用户自己编写的代码。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.FOR为扩展名的文件中。运行带有用户子程序的算例时有两种方法,一是在CAE

3、中运行,在EDITJOB菜单的GENERAL子菜单的USERSUBROUTINEFILE对话框中选择用户子程序所在的文件即可;另外是在ABABQUSCOMMAND用运行,语法如下:ABAQUSJOB=[JOB]USER=[.FOR]。用户在编写用户子程序时,要注意以下几点:1.用户子程序不能嵌套。即任何用户子程序都不能调用任何其他用户子程Home序,但可以调用用户自己编写的FORTRAN子程序和ABAQUS应用程序。当用户编写FORTRAN子程序时,建议子程序名以K开头,以免和ABAQUS内部程序冲突。2.当用户在用户子程序中利用OPEN打开外部文件时,要注意以下两点:一是设备号的选择

4、是有限制的,只能取15-18和大于100的设备号,其余的都已被ABAQUS占用。二是用户需提供外部文件的绝对路径而不是相对路径。3.ABAQUS应用程序必须由用户子程序调用。当用到某个用户子程序时,用户所关心的主要有两方面:一是ABAQUS提供的用户子程序的接口参数。有些参数是ABAQUS传到用户子程序中的,例如SUBROUTINEDLOAD中的KSTEP,KINC,COORDS;有些是需要用户自己定义的,例如F。二是ABAQUS何时调用该用户子程序,对于不同的用户子程序ABAQUS调用的时间是不同的。有些是在每个STEP的开始,有的是STEP结尾,有的是在每个INCREMENT的开始

5、等等。当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.TI

6、ME(1),TIME(2)为当前STEPTIME和INCREMENTTIME的值;4.NOEL,NPT为积分点所在单元的编号和积分点的编号;5.COORDS为当前积分点的坐标;6.除F外,所有参数的值都是ABAQUS传到用户子程序中的。功能:1.荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。Home2.用户可以从其他程序的结果文件中进行相关操作来定义积分点F的大小。例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。SUBROUTINEDLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,

7、1JLTYP,SNAME)CINCLUDE'ABA_PARAM.INC'CDIMENSIONTIME(2),COORDS(3)CHARACTER*80SNAMEPARAMETER(PLOAD=100.E4)CIF(KSTEP.EQ.1)THEN!当STEP=1时的荷载大小P=PLOADELSEIF(KSTEP.EQ.2)THEN!当STEP=2时的荷载大小P=COORDS(1)*PLOAD!施加在积分点的荷载P是坐标的函数ELSEIF(KSTE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。