焊接知识根本质上只有两大方面:传热和冶金。
传热其实是比较简单的,本质上就是根据实际的边界条件求解以下的微分方程:
这就是焊接温度场模拟软件的最基本原理,如果忘记了传热学的内容,你可能有必要再回顾一下。
高等数学的课程告诉我们,这个微分方程的求解是很难的。解析解在大多数的情况下都不存在。因此只能通过数值解的方法。有很多SYSWELD的入门者对这一点的把握不是很好,总觉得这个软件是个暗箱一样的存在,非常神秘、难以探究。但是实际上,翻开任意一本诸如《微分方程的数值解法》的教科书,都能得到该方程的解法,SYSWELD实际上就是做了求解方程的事儿。作为工程人员我们可能并不需要知道怎样去编写程序完成上述方程的解,但是知道其基本原理对于你正确使用软件是有极大帮助的。
因此本文的主要目的就是将自己对SYSWELD等软件(ANSYS、ABAQUS也大致相同)的理解写下来。我也是一个初学者,迄今为止我只用到了SYSWELD中的温度场模拟功能(因此下文全部以热模拟计算为例),有一些同行经常问一些问题,我发现这些问题实际上具有通性,回想起当时我自己入门的时候那种痛苦,我很不希望看到身边的人在学习软件时也同样痛苦不堪。所以我把自己的体会和经验写在这里,仅供入门者参考。我想我也是入门者,入门者与入门者交流的障碍应该是很小的。
1. 如何学习SYSWELD
1.1 首先你得清楚SYSWELD的基本原理
前文提到过,温度场的模拟实际上是使用数值方法求解传热微分方程。
如果你对这个说法没有一点概念,你就需要检索一些教程,不需要你精通,仅求扫盲即可。推荐的书目是《微分方程的数值解法》,百度之。
根据这个原理,如果编写一款焊接热模拟的软件,那么它需要几个部分:
P1:定义求解范围的功能
传热微分方称是一个数学模型,求解它自然是在坐标系中(通常是三维)。你会问那么被焊接的工件难道要转化为坐标系吗?是的,一点没错。这就是你在求解之前需要画出工件三维图的原因。你的作图过程实际上就是在定义微分方程的求解边界。
P2:离散化功能
画出三维图后要做的工作就是将工件离散化为点阵。为什么要离散化呢?如果你知道了微分方程的数值解法,这个问题不需要解答。离散化就是所谓的划分网络过程,就是将你画出的三维图使用点阵来替代。这一步很重要,在数学领域网络的划分应该可以作为一个专业方向了吧,我猜。在何种情况下网络应该如何划分,直接决定了求结过程的收敛速度甚至是否收敛。这些知识你都可以在《微分方程的数值解法》里找到。
P3:求解器模块
求解有很多算法,研究算法的人也很牛逼。我们这个世界的主梁其实就是这些牛逼人物构成的。据我所知,世界上的求解器也就是有限的那么多种。求解器的功能就是使用循环迭代等方法求解上述的方程。同样的,这也是数学知识,不再赘述。
P4:后处理模块
当你求解出了每一个点的数值,比如温度场每一个点在0-2000s之内的数值(矩阵),那么你需要一种方式把它显示出来。动画或者动画的截屏是个不错的选择。或者你仅仅只需要某一个点的某个参数(比如温度)随时间的变化,你也可以做出来。你同样需要知道的是,这其实也是一个很简单的过程。以SYSWELD为例,它的数据是这样被存储的:
这是16.0909s时,所有node(节点)的温度数据。如果我要查看9999号节点的温度曲线该怎么办呢?那就把每一个时间(在这个例子中0-2000s被划分为了85个时间点)9999号节点的温度都读出来,然后以时间为横坐标、温度为纵坐标,就能作图了。
可是问题是,即是你将计算结果存储为txt格式,它也有几百M甚至几个G的大小,你无法打开它,或者这种格式你不能直接使用。此时就需要你有一些编程知识,C语言、VB、VBA都能从TXT中读取数据。如果你没有好好学习一门语言,现在开始还来得及。
1.2现在你得知道ESI是怎么实现上述过程的
SYSWELD这个软件里包含了完整的画图、网络划分(离散化)、求解、后处理这四个部分。在百度文库上以SYSWELD为关键词你就能搜索到教程。不过就我个人而言,我是很不喜欢SYSWELD的画图、网络和后处理这三个功能的。因为设计的不友好,连个撤销键都没有,而且菜单那么多,找到一个菜单有时要点选7-8步,太恶心了。所以我选择使用另外的方法。
实际上作为初学者你仅需要知道对于解微分方程来说,所有的软件几乎都是一样的,充其量界面和算法不同,使用的文件格式几乎都一样。因此你可以使用任意一款三维建模软件画图,比如CAD、SolidWorks、UG、ProE等等,然后再用任意一款网络划分软件进行网络划分,像什么hypermesh之类的。然后导入SYSWELD计算,算完了之后再使用任意一款比较好的后处理软进行后处理。
实际上当你对这些软件的名称、功能了然于胸,你就对这些所谓的软件和对应的公司,甚至这一产业以什么为基础划分的,就清楚了。这个时候你就不会被复杂的表象迷惑了。
你可以选择上述的方法做,不过呢,我不是这么做的。其实ESI除了SYSWELD还有另外一套软件,叫做VISUAL Environment(ESI我觉得是一个非常伟大的公司,它的产品简直太多了,伟大在于几乎每个软件都是行业的标杆)。它里面有两款软件:Visual Mesh和Visual Viewer,从名字上就可以看出它们分别是干啥的。
Visual Mesh可以用来画图、划分网络,Visual Viewer可以查看结果。因此我采取的办法是:
在Visual Mesh可以用来画图、划分网络>>导入SYSWELD计算>>在Visual Viewer中查看结果。
很多人问关于学习SYSWELD的简单方法,我在此提供一种最扎实、最可靠、最不需要外界帮助的方法:百度文库里有一份《SYSWELD中文教程T型.》,这份教程就是按照上述流程编写的(最后的后处理不是,不过那不重要),如果你耐心将这个教程做10遍,做的过程中想着本中提到的求解微分方程的解法,以及ESI是怎么通过菜单实现的,那么所有问题都能解决,而且能触类旁通。
2.求解过程的每一步在软件中的实现
2.1 画图和Mesh
想一想解微分方程的最重要一步:离散化。可是问题是,你画出的工件在软件中是以点、线、面的形式存在的。如果是你,是应该如何设置这个离散化过程呢?
Visual Mesh把这个过程设置成了几个菜单:Curve(线)、Surface(面)、Volume(体)、Node(节点)、1D、2D、3D,其中Node是我们最终想得到的对象(节点),而1D、2D、3D是将点线面离散化的菜单,用于将你画出的线面之类的离散为节点(Node)。我们最终工件都是由Node点阵构成的,你画的线和由之构成的面、体等都不能存在,解方程时用不着它们。你不用关心软件后台是怎么做到这一点的,你只需要关心操作步骤,遵循《SYSWELD中文教程T型.》(以下简称“T教程”)做就行了,如果你明了知道自己正在进行的一步在求解中占有何等地位,那最好不过。
其实我最喜欢这个软件的地方在于它非常直观,想一想焊接过程抽象出来包括了哪些?
F 首先是工件实体,我们通过离散化得到Node点阵来表现出实体。
F 第二是热源移动路径,在Visual Mesh中,它首先是以Curve被画出来,然后通过1D将之划分为Node点阵。
F 热源参考线,其实最开始我对这根参考线相当困惑,完全不知道它是干嘛用的。其实它的作用是确定热源的作用方向。规则是这样的:
焊接线和参考线都是被离散过的线,它们都是Node的集合。每个Node有一一对应的关系,比如上图假设热源移动到了焊接线的第50个Node,此时热源作用方向这样确定:
以热源移动方向为y轴,以焊接线的第50个Node指向参考线的第50个Node的假想线为x轴,然后以右手定则确定z轴,此时z轴的负方向就是热源的作用方向。
所以说参考线是不可以随意设置的,随意设置带来的后果可能是热源在工件表面移动,然而火苗可能对着空气了。
F 工件边界
通常工件会与环境交换热量,绝大部分都是通过表面散发出去的。所以你要告诉SYSWELD在哪些表面发生了什么,因此在Visual Mesh中你就要把这些表面提取出来。在《T教程》中给出了提取表面的做法。你不需要困惑于那些多选项的菜单,那只是程序功能的选择,把注意力集中于你要做的事情上:提取表面。你可能要提取很多表面,比如底部是和地面接触的,属于接触传热;其它是与空气接触的,属于对流和辐射传热。你要把它们都区分清楚。
F 夹具
夹具的数学表达就是让某些node不能随X、或者Y、或者Z移动。这很简单,不需要详细说明。
2.1.1 保存成果和其它说明
到现在为止,你得到了一个Node的集合。你需要明白的是即使做到如此程度,你也仅仅完成了解微分方程的第一步:前处理。就是所谓的建模和划分网络。在这个成果中,焊接过程的所有要素都被转化成了可以在求解过程中能够被识别的网络。不用关心软件是怎么识别它的,你只需要知道大概的原理,然后照着软件操作的方法就行了,否则我们就失去了使用软件简化工作的初衷:你需要从头到尾开发一个算法或者说软件。
Visual Mesh可以将你的成果转化为SYSWELD可以识别的格式:.ASC文件。有些时候SYSWELD会提示找不到文件,你需要将文件重新命名:**_DATA**.ASC其中DATA前面是下斜杠,DATA后面是数字。下斜杠前面是你自己的名称。
你必须按照《T教程》的步骤反复体会上述过程,把软件的操作流程和这些原理结合起来,你还需要额外知道很多关于数学方面的知识。不要给自己找借口,因为只需要你达到扫盲的程度就够了。
2.1.2 导入SYSWELD运算
SYSWeld的焊接求解模块在这里:
其它几个选项是其它的模块,这里你也能发现SYSWELD的核心其实就是个求解器,其它领域的只要能够创建微分方程,它都能做。如果你需要用到其它功能,自己可以慢慢研究,原理相同。
仍然以从最基本原理出发的角度解说SYSWELD求解的过程:
2.1.1.1 微分方程物性参数的导入
Material DB是材料数据库的意思,这里面存储了材料的热物性参数、热力学数据、相变参数等等。以导热系数为例,在传热微分方称中,导热系数其实是一个函数λ(T),表示导热系数随温度是变化的,那么在Material DB中就提供了这样一个二维的数组,就是温度和导热系数之间的关系。微分方程求解的时候,它就会被带入运算。
材料数据库到底里面包含了哪些内容呢?在Material DB中有个Create按钮,点一下:
你会发现里面有那么多参数,不要被搞得头晕,实际上它们都是微分方程的参数项。我承认这些参数需要比价深的材料学知识才能完全搞懂,特别诸如相变方面的参数,你需要在一些材料数据库里才能找到,世界上有很多开放的材料数据库,可以百度一下。如果SYSWELD里提供的材料没有你需要的,这时你就要自己创建了,我觉得创建材料库的工作有些难度。如果我是ESI,会将开发数据库作为一项盈利的业务。
导入自带的材料库见《T教程》,不赘述了。
2.1.1.1 微分方程热源项的导入
Function DB是热源数据库,它用于导入微分方程的热源项。这就要提到“热源校核”,最开始接触到这个名字真是让人摸不到头脑。后来明白其实就是热源创建的意思。
我们知道数学过程只会识别函数,那么热源怎么转化为一个数学函数呢?在《焊接热过程与熔池形态(武传松)》这本书中详述了原理,大家可以先扫盲。SYSWELD做了这样一个事儿:它允许你修改热源模型的参数值,然后在材料上观察得到的熔池形状是否与实际相近,如果相近就说明你创建的热源是合理的,此时把你创建的热源保存成数据库中的一员,再在SYSWELD求解时调用。
具体热源校核(创建)过程见《T教程》,也不赘述了。
当然,你也可以自己编写热源,使用的语言是Fortran,也不赘述。
2.1.1.2 工件网络的导入
MESH按钮是导入你在Visual Mesh中创建的工件,它会把你得到的工件模型导入进来,同时导入的还有焊接线、参考线、夹持、换热面等等。
2.1.1.3 具体参数
当你导入了数据库和网络之后,就能定义求解过程的详细参数了,每个参数的翻译如下:
其实这很容易理解,这都是方程参数设置的菜单化。如果让你编写求结过程,它无非也就是这么几个步骤。
在《T教程》中,每一步都教你如何去做了,但是有几个原理需要知道一下:
F 关于材料库
这个welding.mat文件就存储在 你的安装路径\sysweld2010\ressources\fichiers_externes文件夹下面,你可以使用文本工具打开它,如下:
我经常使用的S355J2G3材料就在里面,后文还可以找到详细的参数。所以你看到SYSWELD的机制其实很简单的,这个文件实际上是一个程序段,其中存储了在计算过程中变量的值,引用这个文件后你就告诉了程序应该怎样选择参数。另外,修改这个文件也能快速创建材料库。
F 关于热交换
这个CONVETIVE AND RADIAIVE LOSSES翻译过来就是对流和辐射换热,我们在第一步的 FUCTION DB中导入的bdfct.fct中就有:
进一步在这个文件中找到它:
这是Fortran语言程序段。其实就是传热基本公式,觉得它不准可以直接改。
F 关于求解参数
右上方的那个Postprocessing点了之后软件会提醒你求解文件大之类的,但是不点它你是得不到温度变化率的(dT/dt)。
下面的Phase proportion是相变计算,这是定义初始相用的。比如:
从左到右依次是:铁素体—贝氏体--………(后面的几个忘记了,可以查帮助文档)
关于相变和晶粒长大的计算原理在TOOLBOX里有详细的解释:
其实都是一些理论经验公式。
1. 后处理
后处理在Visual Viewer中进行,Visual Viewer识别FDB格式的数据库(计算结果)。
具体可以按F1查看帮助文档,不予赘述。
1. 关于计算结果的导出和处理
在SYSWELD的后处理功能中,有将结果存为文件的方法:
这里我将结果存在了D:\SYSWELD\DEEP\www.txt中,它很大:
有532M,普通软件根本打不开或者很慢,它的数据结构是这样的:
我曾经写了一段小程序计算每一个Node的t8/5,如果你有相关的需要,那么你还要有一定的编程知识。
1. 善用TOOLBOX
ToolBox就是打开ESI系列软件的最好的钥匙,唯一的缺点就是全英文,阅读上有些障碍。
很多人问关于材料库开发的事情,其实它就存在ToolBox中:
里面还有那个创建数据库用的excel文档(使用VBA实现的)。
其它的诸如算法、软件计算的假设、近似处理的方法、操作顺序、实例等等,里面一应俱全。所有你想知道的这里都有,ToolBox是一个超级帮助文档,你甚至可以利用它介绍的计算原理完善自己的知识体系,提高理论水平。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删