加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Abaqus模拟焊接—基于Fortran的热源子程序

(2016-03-30 21:46:11)
标签:

abaqus

fortran

焊接热源

用户子程序

移动热源

分类: Abaqus技术及二次开发

Abaqus模拟焊接—基于Fortran的热源子程序

1 概述

Abaqus的二次开发一般用Python,而Abaqus中应用到的子程序(包括材料和载荷等)用Fortran编写。Abaqus的子程序接口比较多,在模拟焊接时对热源的描述只能采用子程序的方式进行加载。

2 热源

焊接时的热源其实是比较复杂的,但是为了便于计算,比较常用的做法是将热源采用高斯函数的形式进行描述。其形式如下,分别是直角坐标系下和极坐标系下。

Abaqus模拟焊接—基于Fortran的热源子程序

这个方程的坐标值是基于热源中心的坐标,热源形式如图1所示:

Abaqus模拟焊接—基于Fortran的热源子程序

1 热源分布

3 建模

1Part

建立一个矩形平板如图2

Abaqus模拟焊接—基于Fortran的热源子程序

2 Part

2Property

定义材料属性,热导率(Conductuvity),密度(Density),弹性模量(Elastic),膨胀系数(Expansion)、塑性参数(Plastic)、比热容(Specific Heat)。

Abaqus模拟焊接—基于Fortran的热源子程序

3 Property

 

3Assembly

建立组件。

4Step

焊接模拟如果只求温度场,那么就建立Heat Transfer载荷步,如果需要热应力,那么就需要建立耦合分析步,Couple temp-displacement 。定义两个载荷步分别是焊接过程和冷却过程,同时打开大变形。

Abaqus模拟焊接—基于Fortran的热源子程序

4 Step

根据需要设置Fieldoutput输出场数据和历史输出数据History Output.

5Interaction

平板的所有表面与外界存在对流传热,需要定义对流传热属性,对流传热系数Film condition,定义的时候还需要指定外界的温度。

Abaqus模拟焊接—基于Fortran的热源子程序

5 Interaction

6Load

焊接热源属于体热源,需要定义Body heat flux,热源只作用于第一个载荷步,体热源的作用对象是所有的体,不单单是焊接那一部分。定义热源时选择用户自定义(User-defined),由子程序加载。

Abaqus模拟焊接—基于Fortran的热源子程序

6 Heat flux

然后施加约束。

再然后通过Predefined Field Manager管理器定义初始温度。

Abaqus模拟焊接—基于Fortran的热源子程序

7 Predefined Field

7Mesh

单元类型同样根据载荷步选择,热结构耦合单元对应的 Coupled Temperature-Displacement类型。

Abaqus模拟焊接—基于Fortran的热源子程序

8 MeshElement Type-Coupled Temperature-Displacement

8Job

创建Job,并且指定需要加载的用户子程序。

Abaqus模拟焊接—基于Fortran的热源子程序

9 Jobsubroutine

9Submit

生成Input File,求解运算。

4 用户子程序

热源采用Fortran编写,主要格式如下:

SUBROUTINEDFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,

     1                 TEMP,PRESS,SNAME)

      INCLUDE 'ABA_PARAM.INC'

      parameter(one=1.d0,three=3.d0)

      DIMENSION COORDS(3),FLUX(2),TIME(2)

      CHARACTER*80 SNAME

      RETURN

中间为过程

中间为过程

中间为过程

      end subroutine DFLUX

!JSTEP,JINC为当前传到用户子程序的STEPINCREMENT值;

!TIME1)、TIME(2)为当前STEP TIME INCREMENTTIME的值;

!NOELNPT为积分点所在单元的编号和积分点的编号;

!CORRDS为当前积分点的坐标;

!FLUX外其他都是Abaqus传到用户子程序中的

通过速度、时间和坐标等即可编写具体的热源移动程序。





0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有