FEM之多物理场求解器(2)---C++开发热-结构耦合求解器(详细)
2017-01-15 by:CAE仿真在线 来源:互联网
在FEM之多物理场求解器(1)---C++开发热-结构耦合求解器一文中介绍了分别利用 3D热求解器和结构求解器求解三维稳态热结构耦合问题,本文介绍热求解器开发的更多细节。虽然热和结构有限元理论已经很完善,而且单元矩阵和算法公式也已经推导出来,但要开发出能和商业软件相同的求解器还是有很多工作要做。工欲善其事必先利其器,列出需要做的基础准备工作:
1. 与Ansys
做benchmark:
1.1.
需要解析Ansys有限元模型,开发Ansys2Fas.exe 以解析 *.cdb文件;
1.2.
求解的结果要与Ansys比较,需要导出Ansys计算结果;
1.3.
原始的结果数据通常都经过处理,所以需要设计统一的结果文件格;
1.4.
开发后处理器用于查看结果;
1.5. 精度性能比较程序;
2.
为了将求解器产品化,需要开发前处理器,仅这一项又是不少的工作:
2.1.
在前处理器中要能把有限元模型导出为*.cdb格式。
2.2.Ansys除了简单的单元类型还有许多扩展的单元类型,前处理器中需要支持。
2.3.
为了验证Ansys的准确性,能导出第三方软件格式,比如Abaqus,Nastran
3.
在求解器设计之初需要考虑到单元类型,边界条件,荷载等扩展需求,定义好接口。
热求解器
1. 支持功能:
2. 理论:
稳态热的偏微分方程相对来说简单,在求解开发中有些要注意的问题:
2.1.
对于热分析,线性四面体单元通常就能产生较高精度的解,但对于很多结构,线性四面体的刚度过大,需要使用二阶四面体单元。在两者耦合计算时就存在单元兼容的问题,虽然可以温度采用线性单元,结构采用二阶单元,精度上会有影响。
2.2.
当存在多种材料时,材料接触部分要保持连续,即几何需要使用非二维流体,网格划分也要支持此种类型。对前处理器提出了更高的要求。Nastran要求不同材料接触部分网格要保持连续,观察过Ansys的接触部分网格可以不连续,姑且不讨论这样对不对,如果Ansys支持这样的网格,起码在接触部分求解器需要做额外处理。
2.3. 公式
四面体和六面体都使用常规单元即可。矩阵推导过程与弹性力学完全,而且因为一个节点只有一个自由度,比经典弹性力学的刚度矩阵要简单。热传导的最后计算公式为:
K*t+C*T'=P;
该公式中K为热传导刚度矩阵,t为温度分布,C为储热刚度矩阵,T'为对时间导数,P为温度荷载
当P为0时,变为自由温度分布;
当T'为0时,变为稳态方程;
当P,T'都为0时候,就是最简单的稳态温度分布;
3. Benchmark:
以下四个case基本上覆盖了稳态热求解器功能。
3.1. Case1: 线性四面体,第一类边界条件,两种材料;
3.2.Case2:
二阶四面体,第一类边界条件,两种材料;
3.3.Case3: 一阶四面体,第二类边界条件,两种材料;
3.4.Case4: 二阶四面体,第一,二类边界条件,三种材料;
3.5. Case5.
二阶四面体,复杂几何;
4. 实现:
第一个case详细讲一下分析实现过程,后面的case都类似。
4.1
Case1:上下两个接触的长方体,材料不同,上部长方体上表面温度100度,热导率20;下部长方体下表面温度0度,热导率4000,采用线性四面体单元,求温度场分布。
4.1.1.几何:
Ansys的
WorkBench中进行前处理:
将工程导入到传统的Ansys,将模型导出为*.cdb文件。在HyperMesh中打开*.cdb文件可以观察到有限元模型实际上分成了5部分:
如上图,本来只有2个模型,但是多出4个模型,用来处理接触部分的模型。这也证明了前面的猜想,Ansys支持接触模型不连续的网格,但是在接触部分做了特殊处理。
4.1.2.Ansys的计算结果:
4.1.3.一般来讲,复杂几何的六面体网格比较难划分,市面上提供六面体网格引擎的不多。对三维实体热单元,Ansys中提供了二阶的四面体单元SOLID70。由于Ansys对网格的接触单元做了特殊处理,为了简化模型,在自己开发的前处理器中将两个长方体做为非二维流体处理,划分二阶四面体,Mesh结果如下:
FasThermal计算结果
计算结果与Ansys一致,显示不平滑原因一是计算存在少许误差,二是颜色插值造成。
4.1.4. 精度比较
结果的数值比较用Matlab很容易实现,Matlab中读入两者的节点温度数据,排序,利用画图函数和corr2即可得到两者的比较。
4.2. Case5,复杂的几何
为了体现工程应用价值,Case5选用复杂的几何。设置,在两端边界分别设置固定温度0度,200度,中间连接一个面设置温度400度。几何:
该几何最大的特点是曲线曲面较多,所以对前处理要求比较高。
边界设置:
Ansys计算结果:
FasThermal计算结果:
颜色区别是插值引起的,后处理器插值可以分的再细一些。
综上所述,开发商业求解器其实是个系统工程,不是用代码实现公式,算两个case就行的,而很多想把开源求解器修修改改就直接拿来商用更是不可取,基础工作不可少。
参考:
热应力有限单元法分析 孔祥谦
热应力理论分析及应用 中国电力出版社
有限单元法 王勖成
有限元分析及应用 曾攀
Ansys13.0热力学有限元分析从入门到精通
开放分享:优质有限元技术文章,助你自学成才
相关标签搜索:FEM之多物理场求解器(2)---C++开发热-结构耦合求解器(详细) Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训
编辑