高斯赋值-第1部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
/clear;nostart
/filname;1。11thermal_analysis
/title;3D_weld_thermal_analysis
/units;si !定义国际制单位
/prep7
!**************************************************
!定义焊接尺寸及焊接参数
!**************************************************
!******************************************构件尺寸
len=100e…3 !长0。1m
wid=50e…3 !宽0。05m
thic=6e…3 !厚0。006m
!b=0。002 !根部预留(m)
!h=0 !钝边(m)
wweld=15e…3 !焊接热影响区宽度
lnum=10 !沿焊缝长度方向划分份数
!******************************************焊接参数
I=200 !焊接电流(A)
U=30 !焊接电压(V)
v=0。5/60 !焊接速度(m/s)
arf=60 !坡口角度(°)
pi=3。1415926 !pi为圆周率
eta=0。7 !焊接热效率;手工电弧焊0。7;埋弧焊0。8
K=1。2e4 !热流集中程度系数(/m^2) ?
them0=25 !环境温度及母材初始温度;取室温25℃
!**********************************************定义高斯表面移动热源参数
!GAUSS热源模型qr=qmax*exp(…k*r*r) !(单位W/m2)
!假设热源中心坐标为(a;b;c);a=0;b=每个焊缝的最高点的坐标y;c=v*dt
!每个焊缝上表面任一点的坐标为(x;y;z) ;x》0; y》0; z》0
!r^2=x^2+(y…b)^2+(z…c)^2,每个焊缝上表面任一点距热源中心距离
qmax=0。24*k*eta*I*u/pi !加热斑点中心热流(W/m2)
percent=0。99
radius=abs(sqrt(1/k*log(1/(1…percent)))) !有效热半径,单位为m
!**********************************************************************
!定义单元类型及材料属性
!**********************************************************************
et;1;solid70 !计算单元类型
!nothing !定义实常数
mptemp;1;0;100;200;300;400;500 !定义材料属性温度范围
mptemp;;1200;1250;1350;1400;1450;1500
mptemp;;1505;1705;1905;2105;2305;2500
mpdata;dens;1;1;7820;7800;7800;7800;7800;7800 !定义材料密度(kg/m3)
mpdata;dens;1;;7800;7800;7800;7800;7800;7800
mpdata;dens;1;;7800;7800;7800;7800;7800;7800
mpdata;kxx;1;1;52;50。7;48。6;46。1;42。3;38。9 !热传导系数(W/(m*K))
mpdata;kxx;1;;30;30;30;30;30;30
mpdata;kxx;1;;30;30;30;30;30;30
mpdata;c;1;1;450;469;481;508。5;536;569 !考虑相变潜热的比热容(J/kg*K)
mpdata;c;1;;700;2172;5116;6589;8061;9533
mpdata;c;1;;9533;7757;5982;4206;2431;700
!****************************************************************
!建立有限元计算模型
!****************************************************************
*afun;deg !如果涉及到角度,将使用“度”(系统默认是弧度)
K;1;0;0;0
K;2;wweld;0;0
K;3;wid;0;0
K;4;wid;thic;0
K;5;thic*tan(arf/2)+wweld;thic;0
K;6;thic*tan(arf/2);thic;0
K;7;0;0;len
A;1;3;4;6
A;1;2;5;6
cyl4;0;0;thic/cos(arf/2);arf;0;90
cyl4;0;0;thic/cos(arf/2)*sqrt(2)/2;arf;0;90
L;1;7 !形成拖拉路径L14
Vdrag;all;;;;;;14 !沿线拖拉面
Vptn;all !分割体
Vglue;all !粘贴体?
Nummrg;all
!*************************************************************
!划分网格
!*************************************************************
aadd;24;32 !面相加,以便生成映射网格
lccat;40;49
lccat;42;52
!*************************************沿焊缝z方向划分,均为2mm
lsel;s;line;;17;21;2
lsel;a;line;;24;26;2
lsel;a;line;;35;36
lsel;a;line;;14;30;16
lesize;all;2e…3
!***************************************沿厚度y方向划分1…1。5mm
lsel;s;line;;6;25;19
lsel;a;line;;2;18;16
lesize;all;;;6
lsel;s;line;;41;43;2
lsel;a;line;;50;53;3
lesize;all;1。5e…3
!***********************************************沿x方向划分1mm
lsel;s;line;;45;47;2 !母材
lsel;a;line;;44;46;2
lesize;all;;;18;0。8
lsel;s;line;;7;27;20 !母材
lesize;all;;;12;0。7
lsel;a;line;;5;23;18
lesize;all;;;12;10/7
lsel;s;line;;11;34;23 !焊缝
lsel;a;line;;48;51;3
lesize;all;;;4
!****************************************划分体,生成六面体单元
alls
mshkey;1 !映射网格
mshape;0;3d !六面体形状
vsel;all
vatt;;;1
aslv;s
aatt;;;1
type;1 !单元类型为1
vmesh;all
!*******************************************存档备份有限元模型
alls
save;'1。11thermal_analysis_meshed';'db'
finish
!=
!重新载入有限元模型进行加载求解
!=
/solu
/view;;…3;2;…5 !调整窗口视角
!***********************************************************************
! 杀 死 焊 缝 区 单 元
!***********************************************************************
v1=5 !焊缝1所在的体
v2=7 !焊缝2所在的体
a1=18 !焊缝1的上表面
a2=31 !焊缝2的上表面
esel;s;type;;1 !选取1类单元
*get;nemax;elem;;num;max !得到所有1类单元号码的最大值
*get;nemin;elem;;num;min
!********************************************分段杀死第2道焊缝
vsel;s;;;v2
eslv
ekill;all
esel;s;live
eplot
!***************************************************************
!边界条件(暂时没有考虑对流)
!***************************************************************
nsel;s;loc;x;0 !在x=0处施加对称边界条件
dsym;symm;x
!*****************************************************************
!设置非线性求解选项
!*****************************************************************
alls
antype;trans !瞬态分析
trnopt;full !瞬态分析选项,完全分析
nropt;full;;on !定义完全牛顿拉普森方法,激活自适应下降(默认)
pred;on !打开预测校正
timint;on !时间积分设置
tintp;0。005;;;1;0。5;0。2 !定义瞬态综合参数
tref;25 !参考温度25摄氏度
!***************************************************************
!设置载荷步参数
!***************************************************************
t=0 !求解时间初始值
dt0=1e…6 !建立初始条件的小时间段
dt1=0。5 !起始加热点对应的时间
tinc=len/(lnum*v) !载荷步时间间隔;T =len/v;tinc =T/lnum
!tsub=0。2 !求解温度场时子步时间
!***************************************************************
!稳态分析确定初始温度场
!***************************************************************
!初始条件
time;dt0 !loadstep=1;time=dt0
timint;off !时间积分选项,关闭(稳态分析)
kbc;1 !阶越加载
!nsubst;1 !子步为1步
esel;s;type;;1 !选择类型1的单元节点
nsle;s
ic;all;temp;25 !初始状态,温度25摄氏度
alls
outres;all;all
solve
save;'1。11thermal_analysis_initial_temp';'db'
!查看初始温度场,应该全为25摄氏度
!***************************************************************
!按顺序模拟温度场,以第一道为例
!***************************************************************
!**************************************************第1道焊缝填充
esel;s;type;;1 !在第一类单元中加热流载荷
esel;r;live
eplot
*do;im;0;lnum;1
!****************************选择有效半径内节点为当前节点
vsel;s;;;v1 !选择焊缝1上表面单元
eslv;r
nsle
asel;s;;;a1
nsla;r;1
esln;r;0
!热源加载; 将各段后点(0…lnum)为热源中心;先加载后删除热源
!即先消除上段所加高斯热源;并将上段的温度值作为下段的初始值
!*******************************************包括起始加热点
c=V*tinc*im !热源位置
b=thic/cos(arf/2)*sqrt(2)/2
tm=dt1+im*tinc
time;tm
antype;4;rest
timint;on
autots;on
kbc;1
deltim;0。01;0。01;0。2 !时间步长
!***********************************以下为施加热流密度载荷
*do;i;nemin;nemax;1
*if;esel(i);eq;1;then !如果该单元在上面的集合里,则
xsy=centrx(i) !读取该单元的中心坐标
ysy=centry(i)
zsy=centrz(i)
rr=abs(sqrt(xsy*xsy+(ysy…b)*(ysy…b)+(zsy…c)*(zsy…c))) !该单元中心距离热源中心
*if;rr;le;radius;then !该单元中心在加热半径范围内
qr=qmax*exp(…k*rr*rr) !该单元中心处的热流大小
sfe;i;nmface(i);hflux;;qr !在每个单元所指定的面上施加热源载荷
*endif
*endif
*enddo
allsel !全选求解
outres;all;all
solve
esel;s;type;;1
esel;r;live
vsel;s;;;v1 !选择焊缝1上表面单元
eslv;r
nsle
asel;s;;;a1
nsla;r;1
esln;r;0
!!!!!!!!!!!!!!输入先暂时停止一下
!插入〃/post1plnsol;temp/psf;hflux;;1;1;on/replot〃的内容进行查看
!问题:热流载荷的分布和温度场的分布不一致(该完全一致才对),有点偏移?
!若要继续,读入〃finish/solu〃
*do;i;1;6
sfedele;all;i;hflux !删除每个单元六个面上的热载荷
*enddo
*enddo
alls
esel;s;live
eplot !查看温度场
save;'1。11thermal_analysis_alive1';'db'
!=
!生成节点温度分布云图动画文件的程序段
!=
/post1
/seg;dele !允许图形数据存储到局部终端存储器
/dscale;1;1。0 !显示位移时,设置放大系数
avprin;0;0 !规定主项量和总向量如何被计算
avres;1 !规定当powergraphies可用时,结果数据如何被平均
/seg;multi;1。11temp…10;0。2 !存动画;分节存储后来的显示;动画名字;每个画面间延迟系数
esel;s;live
!*************************************************读取初始稳态温度场结果
set;;;1;;dt0 !从结果文件读;载荷步;子步;比例因子实部;比例因子虚部;时间
plnsol;temp
!*****************************************读取第1道焊缝过程中的温度场结果
*do;im;0;lnum;1
tm=dt1+im*tinc
set;;;1;;tm
plnsol;temp
*enddo