3.7.1 Abaqus 用户子程序
Abaqus用户子程序(user’ssubroutine)是指为扩展Abaqus的功能,程序预留的接口,用户可以通过用户子程序对相应的载荷条件、边界条件、材料特性、接触条件等进行自定义设置,编写自定义程序。Abaqus给用户提供了功能强大、使用方便的二次开发工具和接口,使用户可以方便地进行自定义分析,满足特定工程问题的需要。Abaqus6.11中有40多个子程序接口,本书不再一一详述,下面介绍焊接过程模拟中可能会用到的子程序。
(1) Abaqus/Standard 中的子程序1)CREEP:定义和时间相关的、黏塑性的行为(蠕变和膨胀)。
(2) DFLUX:在热传递和质量扩散分析中,定义非均匀的分布流量。
(3) DISP:自定义边界位移条件。
(4) DLOAD:指定力学非均匀分布载荷。
(5) FILM:在热传递分析中指定非均匀的膜散热系数和相应的热沉温度
(6) FRIC:定义接触面摩擦行为。
(7) GAPCON:在完全耦合温度-变形分析或者纯热传递分析中,定义接触面或节点间的导热系数。
(8) GAPELECTR:在耦合热电分析中,定义表面间的电导率。
(9) HARDINI:定义初始等效塑性应变和初始背应力张量。
(10) HETVAL:在热传递分析中定义内部热生成。
(11) MPC:定义多点约束。
(12) ORIENT:为定义局部材料方向、运动耦合约束的局部方向及惯性释放的局部刚体方向提供定位。
(13) SDVINI:定义与初始求解相关的状态变量。
(14) SIGINI:定义初始应力场。
(15) UEL:自定义单元。
(16) UEXPAN:自定义材料热膨胀系数。
(17) UFIELD:指定预定义的场变量。
(18) UHARD:在各向同性塑性模型或组合硬化模型中,定义屈服面尺寸和硬化系数。
(19) UINTER:为接触面定义表面相互作用
(20) UMAT:自定义材料的力学行为。
(21) UMATHT:自定义材料的热行为。
(22) UMESHMOTION:在自适应的网格划分中,指定网格运动约束
(23) URDFIL:读取结果文件。
(24) UTEMP:自定义温度。
(25) UVARM:输出单元变量。
(2)Abaqus/Explicit 中的子程序
1)VDLOAD:定义非均布力学载荷。
2)VFRIC:对接触面定义摩擦行为。
3)VUINTER:在接触面之间定义相互作用。
4)VUMAT:自定义材料的力学行为。
3.7.2 用户子程序的编写
Abaqus的用户子程序是用户应用FORTRAN语言编写的程序。在一个算例中,用户可以用到多个用户子程序,但必须把它们放在一个以.for(或.f)为扩展名的文件中。
Abaqus 中用户子程序的格式及参数表都是规定好的,不可以随意更改,一般其标准格式如下:
SUBROUTINE<子程序名>(参数列表)
用户在应用 FORTRAN 语言编写子程序时需要注意以下几点:
1)FORTRAN 语言中不区分大小写。
2)FORTRAN 语言中子程序正文应从第7列开始编写,而第1~5列是标号区,第6列是续行标志区。
3)以“c”或“C”字母开头的行是注释行。
4)空格不参加编译。
5)FORTRAN 语言中的I~N 规则:一般在未做特殊声明时,以字母1、J、K、L、M、N 开头的变量为整型变量,以其他字母开头的变量为实型变量。
6)由 Abaqus 提供的用户子程序不能嵌套,即任何用户子程序都不能调用其他用户子程序,但可以调用用户自己编写的 FORTRAN 子程序和 Abaqus 应用程序。
下面以焊接数值模拟时常用的 DFLUX 子程序为例,介绍子程序编写的格式规范及各参数含义。
DFLUX 子程序为自定义流密度,可应用其对焊接热源模型进行定义。其子程序接口格式如下(其他子程序接口格式可参照Abaqus User Subroutines ReferenceManual):
用户需要做的就是在程序区给出流密度定义式。在定义过程中可以应用子程序参数列表中的参数。在子程序的众多参数中,有些是必须由用户给出定义式的,而有些则是由主程序在调用子程序时传入而无须用户定义的。
DFLUX 子程序中需要定义如下参数。
1)FLUX(1):自定义流量密度,用户必须给出定义式。
2)FLUX(2):热流密度随温度或物质浓度的变化率,可以不给出定义。
调用时传入如下参数。
1)KSTEP、KINC:Abaqus 计算过程中当前的STEP和INCREMENT值,此数值为整数。
2)TIME(1)、TIME(2):当前分析步的时间(steptime)和当前增量步的时间(increment time)。
3)NOEL、NPT:积分点所在单元的编号和积分点的编号,
4)COORDS:当前积分点的坐标,是一个由3个元素组成的数组,COORDS(1)、COORDS(2)、COORDS(3)分别为积分点的x轴坐标、y轴坐标和z轴坐标。
5)JTYP:体热流/面热流标号,在面热流作用时取0,在体热流作用时取1。
6)TEMP:积分点当前温度
7)PRESS:积分点当前压力值。
8)SNAME:作用面的名称。
3.7.3 用户子程序的执行
运行带有用户子程序的作业有两种方法:一种方法是在 Abaqus/CAE中运行,在Module 下拉列表中选择Job选项,在菜单栏中选择 Job→Edit Job 命令,打开 Edit Job 对话框,在 General(一般)任务页面的 User subroutine fle 列表框中选择用户子程序所在的文件,然后提交计算。另一种方法是在 Ababqus 命令行中运行,语法如下:
abaqus job =<.inp job文件名>user=<.for子程序文件名>interactive
(内容、图片来源:《焊接过程数值模拟》一书,侵删)
版权与免责声明:
凡未注明作者、来源的内容均为转载稿,如出现版权问题,请及时联系我们处理。我们对页面中展示内容的真实性、准确性和合法性均不承担任何法律责任。如内容信息对您产生影响,请及时联系我们修改或删除。
2025-05-16
[ABAQUS] 专为复合材料设计的有限元分析软件有哪些?Abaqus的优势
2025-05-16
2025-05-16
2025-05-16
2025-05-15
2025-05-15
[ABAQUS] Abaqus中模拟座椅背挤压后不同厚度区域的导热系数变化
2025-05-15
[行业资讯] 上课啦!达索系统 SIMULIA Abaqus Pytho
2025-05-14
[有限元知识] PowerFlow某轿车激光雷达气动噪声优化
2025-05-14
2025-05-14
2023-08-24
2023-08-29
[ABAQUS] ABAQUS如何建模?ABAQUS有限元分析教程
2023-07-07
[ABAQUS] 有限元分析软件abaqus单位在哪设置?【操作教程】
2023-09-05
[ABAQUS] ABAQUS软件中Interaction功能模块中的绑定接
2023-07-19
[ABAQUS] abaqus里面s11、s12和u1、u2是什么意思?s和
2023-08-30
[ABAQUS] Abaqus单位对应关系及参数介绍-Abaqus软件
2023-11-20
[ABAQUS] Abaqus怎么撤回上一步操作?Abauqs教程
2024-05-01
[ABAQUS] ABAQUS软件教程|场变量输出历史变量输出
2023-07-18
[ABAQUS] 如何准确的评估真实行驶工况条件下的空气动力学性能
2020-11-19
2025-05-16
[行业资讯] 上课啦!达索系统 SIMULIA Abaqus Pytho
2025-05-14
[有限元知识] PowerFlow某轿车激光雷达气动噪声优化
2025-05-14
2025-05-14
2025-05-13
2025-05-13
[有限元知识] Isight对汽车顶盖复合材料前横梁铺层多目标优化设计
2025-05-07
[有限元知识] 多体动力学Isight对某车型正面碰撞结构多目标轻量化优化
2025-05-07
[有限元知识] Isight案例分析:基于RSM与RBF的车身多目标
2025-05-07
[有限元知识] 基于Adams-Isight的刚柔耦合汽车前盖四连杆铰链多
2025-04-29
地址: 广州市天河区天河北路663号广东省机械研究所8栋9层 电话:020-38921052 传真:020-38921345 邮箱:thinks@think-s.com
Copyright © 2010-2023 广州思茂信息科技有限公司 All Rights Reserved. 粤ICP备11003060号-2