Simufact.Welding 6.0 热源二次开发初步教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Simufact.Welding 6.0 热源二次开发初步教程
1 主要目的:开始随时间变化的焊接热源,如脉冲热源
2 基本要求:
1)脉冲热源频率:8Hz
2)脉宽30ms
3)其它略
3 软件安装
1)simufact.welding 6.0
2)VS2010
3)Intel Visual Fortran Composer XE 2013
3 基本步骤
3.1 软件设置
安装完之后需要配置path、Lib和include三个环境变量。
以下列出环境变量值作为参考(需要根据VS和fortran的安装位置不同进行相应的修改)。---注:以下部分为参考网上容,需要根据具体实际修改,如下面采用的是VS2012,XE2015,根据需要修改
Path:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools
C:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl
C:\Program Files (x86)\Intel\Composer XE 2015\bin\intel64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\bin
C:\Program Files (x86)\Intel\Trace Analyzer and Collector\9.0.1.035\bin
Lib:
C:\Program Files (x86)\Intel\Composer XE 2015\compiler\lib\intel64
C:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
INCLUDE:
C:\Program Files (x86)\Intel\Composer XE 2015\compiler\include
C:\Program Files (x86)\Intel\Composer XE 2015\mkl\include
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Includea
3.2 常规建立并设置simufact.welding工程
建立如下常规的simufact.welding工程
(常规建立过程省略)
图1 常规工程
主要坐标系为:沿X方向宽50mm,沿y方向板厚10mm,沿z方向长度50mm,焊接沿着z 负方向,焊接起始点坐标(50,10,-50)【单位mm】,建立对称的一半模型。
3.3 建立.f子函数
subroutine uweldflux(f,temflu,mibody,welddim,time)
c f(1) flux value (to be defined)
c f(2) derivative of flux with respect to temperature
c (to be defined; optional, this might improve the
c convergence behavior)
c
c temflu(1) estimate
d temperature
c temflu(2) previous volumetric flux
c temflu(3) temperature at beginning of increment
c temflu(4,5,6)integration point coordinates
c mibody(1) element number
c mibody(2) flux type
c mibody(3) integration point number
c mibody(4) flux index - not use
d if tabl
e input
c mibody(5) not used
c mibody(6) =1 : heat transfer
c =2 : joule
c =3 : bearing
c =4 : electrostatic
c =5 : magnetostatic
c =6 : acoustic
c mibody(7) internal element number
c mibody(8) layer number for heat transfer shells elements
c an
d volum
e flux
c mibody(9) Not used
c mibody(10) boundary condition number if table input
c time time
c
dimension mibody(*),temflu(*),welddim(*)
real*8 f
integer mibody
real*8 temflu,time,welddim