有限元科普:多物理场有限元入门(上)

本文主要写给从事CAD/CAE/EDA/CFD等相关的软件研发测试人员,也可以作为有限元入门文章,对于从事仿真分析的工程师也可以对软件实现细节有所了解。鉴于篇幅原因,文章分为上下篇。

attachments-2019-12-ksYkCI5n5de76da758406.jpg

胡克定律的定义是:弹簧在发生弹性形变时,弹簧的弹力F和弹簧的伸长量(或压缩量)x成正比。
广义胡克定律:在材料的线弹性范围内,固体的单向拉伸变形与所受的外力成正比。
胡克定律的定义可视为广义胡克定律的简化。

1. 刚体到非刚体

一根柔软的钢尺一端固定,一端悬空,悬空的一端会发生明显变形。但是高中物理只能告诉我们固定的一端受到向上的力以及力矩,无法告诉悬空一端的变形大小,这是因为其研究对象的属于刚体范畴,即研究的对象本身不会发生变形,而现实中绝大部分物体受力时自身会发生变形,工程力学中使用应力,应变,位移来度量对象的受力情况,而材料需要引入弹性模量和泊松比。有限元分析的几何对象是物体本身。

2. 一维到二维

弹簧是典型的一维单元,扩展到二维需要引入偏微分方程PDE。拉普拉斯方程和泊松方程是最简单的二维偏微分方程。这两个方程可以描述静电场,导热,二维波动,以及天体运动等。简单讲,PDE(Partial Differential Equation)是描述这个世界运行规律的一种方式。从量子原子微观运动,到宏观热,声音,电磁,以及天体万有引力规律,都有各自的方程来描述。声场对应赫姆霍兹方程,电磁波对应麦克斯韦方程,流体对应纳维斯托克方程,热传导对应泊松方程,量子力学对应薛定谔方程等等,而这个方程基本都是PDE。我们所学的各种自然定律规律,比如牛顿三定律,浮力定律等只不过是常微分方程的简化,而常微分方程则是PDE的简化。

有限元方法求解的对象是PDE,有限元方法的本质是将求解对象离散成小的单元,在每个小的单元上用基函数和形函数表征其坐标和物理量,使函数在其自由度所在的网格单元几何上满足偏微分方程的解(之所以是几何不是顶点,是因为自由度不一定在顶点)。

3. 有限中的“网格”

网格是个很广泛的称谓,为了避免歧义,FEM中的网格做如下规定:

  • 网格的英文名为Mesh,非Grid
    Grid 英文翻译也是网格,但是基本意思为格子,通常指结构化网格,即四四方方非常规整的网格。
  • 网格是用于有限元计算的输入数据
    网格对应于有限元的单元数据;线单元,面单元,实体单元都称之为网格(对,线单元的一条直线也是网格)
  • 几何离散成的三角形称之为“面片”,非网格
    大部分显示引擎底层都使用三角形来渲染对象,因此2维、3维几何都需要三角化(称之为“面片化”),比如一个长方体共有6个面,每个面需要离散成两个三角形,总共12个三角形。这12个三角形我们称之为12个“面片”,而非网格!一般情况下“面片”质量很差。“面片”有两个功能:一是用来做显示渲染数据;二是可以作为网格划分的输入数据,用来生成面网格。
  • 网格计算泛指“分布式计算”
    “网格计算”(Grid Computing)是分布式计算的一种,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理。这里的网格翻译也是Grid,和有限元计算无关!

4. 有限中的“单元”

有限元方法的输入基本对象是“单元”(element),即几何模型被离散之后形成的网格模型,通常根据单元的几何特点可以分为0维(点单元),1维(线单元), 2维(面单元)和3维(实体单元)

实体单元(3维单元)很容易理解,因为任何物体都是3维的,非实体单元通常是对模型的抽象和简化。这种抽象和简化基于一定的前提假设,能在不降低计算准确度的前提下大幅降低计算时间。比如常见的梁单元,可以将实体梁简化为线单元,大大减少计算量。

弹簧只能在一个方向上发生变形,是典型的1维单元;同理壳单元(shell)需要XY两个方向来定义,是2维单元;四面体,六面体是3维单元,也称为实体单元;对象可以看做质点的为0维单元,比如称之为“定楼神球"的调谐质量阻尼器。

单元的阶数:

  • 以三角形为例
  • 一次线性单元为3个顶点
  • 二次单元为6个点,包括3个顶点和3条边的中点
  • 三次单元有9个点,每条边上有2个点

为了方便,统一将线性单元称之为0阶单元,二次单元称之为1阶单元,以此类推。

5. 关于边界条件

有限元求解的对象是偏微分方程(Partial Differential Equation),理论上偏微分方程的通解有无数多个,但实际上确定的工况下模型只有唯一一个确定解。而决定最后唯一解的就是边界条件!
简单理解就是通解是一个带未知数的函数,而边界条件可以求解出这些未知数!未知数的个数和边界条件能确定的数值个数相同。
边界条件按照数据类型分为三类:

  • 只有确定数值的,比如确定的电流,压力,温度,位移等数值,称之为第一类边界条件,英文为Dirichlet
  • 用函数表示的,函数可以是用导数,积分表示的任意函数。比如随时间变化的荷载,电压;用导数表示的换热系数,称之为第二类边界条件,英文为Neumann
  • 第一类和第二类的混合,称之为第三类边界条件,英文为Robin

很多书将三类边界条件用中文表示,但翻译有偏差,比如Dirichlet,翻译有狄里克雷,狄里克莱,狄立克莱,狄力克莱,狄里赫利。
对于工程中使用的英文名称,建议统一用英文或者无歧义的中文(第N类边界条件)表示,不使用英译。

边界条件的设置基于对有限元模型的正确理解。三维电磁分析时,设置的理想吸收边界需要将求解域包围住;施加的Port激励根据类型设置在不同的几何上;结构中的位移约束和荷载不能同时施加在同一几何上;流体中的进口速度压力和出口速度压力边界要与计算使用的CFD模型类型匹配。

  • 分享于 2天前
  • 阅读 ( 44 )

[版权声明] :本文系网友分享,仅以非商业性的交流和科研为目的,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网( friends@stuch.cn )联系!我们将协调给予处理。阅读原文(请登录)..

0 条评论

请先 登录 后评论
猜猜我是谁
公众号 -官方账号

10
提问
5
回答
5
文章
注册推广