自研软件进展| SFEM 复合材料壳有限元软件实现热力分析
关键词:热应力,热变形,复合材料,自研软件,有限元
近期,我们开发了复合材料壳单元热力分析模块,并集成到全自研的复合材料壳有限元软件(SFEM)中。
注意,这里的热力并非热力耦合。
一般讲热力耦合,指的是传热和结构分析都有。而如果仅仅知晓温差分布,则可以进行热变形和热应力的计算,无须进行传热分析,即所谓热力分析。
在大部分的结构设计场景中,这种热力分析比热力耦合分析可能更常用。因为一般情况下,只需要知道结构服役的环境温度,再扣除常温,就可以知道温差。用这个温差就可以简单评估结构热变形和热应力水平。
本文对SFEM相关进展进行介绍。
1. 热应力的来源与有限元处理
我们以前在学校学习有限元课程的时候,课本最后有一些简单的二维杆的有限元代码。
通过这些简单的代码,我们可以快速掌握结构有限元的基本算法思路:
1)构建网格、节点作为输入;
2)写单元刚度矩阵;
3)根据网格信息,进行整体刚度矩阵的组装;
4)将约束效应添加到整体刚度矩阵中;
6)根据节点载荷,写出结构节点载荷列阵;
7)刚度矩阵求逆后与载荷列阵相乘,得到位移列阵。

上述过程对于简单模型和问题来说,比较通用。但是一旦我们和商用软件结果对比的时候,进一步追问就会发现很多问题。
比如:应变怎么求?应力又如何求?当然这两个内容可以作为第7)步的后续,只是很多课本不提具体的方法了。
再追问,如果载荷变化的呢?这时候就需要构建分步、增量求解的框架。
继续追问,如果载荷掉落了呢?那么结构的变形能否恢复?很明显,按照上述流程,位移只会持续增加。

继续追问,如果材料失效了呢?载荷能否自行掉落?这个问题我们在SFEM V1版本中已经解决了。
回到和本文相关的问题,热或者讲温差,该怎么嵌入上述流程呢?温度并节点载荷,所以第6)步肯定放不进去。
因为,热应力来源于热变形,但纯热变形缺未必能产生热应力。对于各向同性材料,如果处于自由状态,温度分布均匀的情况下,自由的热变形不会产生热应力。
从物理上来说,“热胀冷缩”效应,或者说热变形效应是材料的固有特性。这个很好理解,但是放到有限元里面,就变成了我们先知晓了变形,这个变形甚至都不是位移,而是应变。

也就是说,热力问题的分析,要把上面的流程“倒着”来搞,但是也不是完全倒着搞。
通过局部单元的热应变反推单元节点的“力”,由此构建出第6)步的节点载荷列阵。
之所以这么处理,本质上因为热力是一种“内在力”,而我们一般接触的载荷是外力。因此,两者的处理天然就不同
热力的处理方法,也可以类似的“内在力”的通用处理方法,比如复合材料固化过程的固化收缩力。
所以,一路对上述7个步骤进行持续的追问,就是向着成熟有限元求解器的成长路径。
2. 界面交互的匹配
我们的SFEM V1是静力版本,本次新增了热力模块,需要兼容两者,同时考虑到温度常常和时间关联起来,有一定变化这个特点,还需要开发适应温度曲线的载荷输入以及初始温度的定义。

材料参数
复合材料本身的材料参数就多,为了方便使用,开发了用户可以扩展的材料数据库模块,数据库材料可以直接导入到材料定义部分。

材料参数数据库
分析步设置
通过分析步设置,可以对静力、热力求解类型进行区分,以便于求解器调用的时候,知道调用哪个。


初始状态设置
支持对初始温度状态进行定义,可以针对不同的单元集SET进行定义。


后面还将开发场分布定义功能。

温度载荷设置
针对不同的单元集SET进行温度定义。可以定义单个值,也可以进行温度曲线的定义,类似于ABAQUS的“谱”。

恒定温度定义

温度曲线定义
很多公司在软件交互设计的时,尤其是最开始开发的时候,非常看重界面交互设计,唯恐设计的不好,兼容性、可扩展性差,会导致后续软件升级起来困难。因此会花大力气,对照国外软件,设计一堆短期内软件根本不会涉及到的交互。
这当然无可厚非,但是对于通用有限元软件这种功能复杂、开发难度高的软件来说,开发周期持续10年以上。最初的设计,倒未必要面面俱到,架构上多考虑一下可扩展性即可。
3. 效果验证
通过与ABAQUS的对比验证软件精度。
考虑一个开孔板,孔直径6mm,宽度36mm,厚度2.5mm,长度250mm。

铺层共计4层,具体为:[0/90]s。

材料参数为:

工况:一端固定,初始温度20,输入温度曲线:


在ABAQUS中建立相同的模型,对0.5s结果(100℃),进行对比分析:
表层应力:

SFEM结果

ABAQUS结果
表层位移:

SFEM结果

ABAQUS结果
从上述结果可以看出,SFEM结果与ABAQUS的热变形、热应力结果完全吻合。
除了验证了求解器的精度,还验证了温度曲线定义后,温度历程与分析步自动插值匹配的准确性。










评论0