首页/文章/ 详情

同轴线求电容,初探泊松方程的二维非结构化有限元

4月前浏览1084

简述

对于物理背景,考虑同轴芯线的横截面模型:

其中C1表示良导体芯线,C2表示介质层,求解这个模型的电容在电学中是一个非常经典的模型。
具体实现方法就是通过求解C2区域的电势分布,得出在芯线与介质层的分界面的电荷总量与电压分布,进而通过电容的定义式求取电容。

因此,需要求解电容,就得求解泊松方程在研究区域2的分布。

求解上述问题的数值方法有很多,这里主打介绍有限元的数值方法。
使用有限元求解上述微分方程的时候,我们发现用之前介绍的二维结构化有限元的四边形规则网格难以剖分出合适的网格,因此非规则网格的使用就势在必行。
本文介绍二维非结构化有限元中最常用的网格单元:三角形网格。
三角形网格因为其结构特征可以模拟任意形状模型,同样因为非结构化原因,网格获取不再如四边形一样很好生成,通常都需要使用开源或者软件生成三角形网格,后期会介绍几款作者常用的三角形网格的生成方法。
本文主要介绍有限元的非结构化网格的实现整个流程,并最终实现电容的求解,用以判断计算正确性。

1.边值问题  

不难发现,这和文章:最简单的二维结构化有限元问题:求解拉普拉斯方程 的边值问题公式基本上一致,只是多了右端项,并且该问题的研究区域是圆环C2。电容的理论公式为:  

已知R1= 1e-4;R2=5e-4,相对介电常数为1,将这些参数带入上述公式,得到:  

2.有限元推导  

有限元推导过程也与文章最简单的二维结构化有限元问题:求解拉普拉斯方程几乎,最终得到的有限元方程为:

离散后得到:

将研究区域离散成三角形网格(具体使用工具后期文章再做介绍),得到:

3.三角形基函数推导  

使用面积坐标推导三角形的插值函数,如下图,假设三角形内任意一点P:  

满足三角形总面积S=S1+S2+S3,因此,通过面积坐标,得到形函数L可以表示为:

不难发现,当p点落在1点的时候,S1=S,S2=S3=0得到L1=1,L2,L3=0,插值得到p点的解就等于1号点的解;其他两个点具有同样的性质。
进一步推导,已知三个点坐标,三角形面积公式可以表示为:  

因此,形函数可以表示为:  

通过上述公式,就可以计算出每个形函数的系数a、b、c。从而确定形函数的具体表达式,对于单元内任意点P(xp,yp),则可以带入其中计算出具体的插值系数,带入的插值公式中就可以得到P的解。
这也是有限元的最直观理解,用简单的关系表示每个三角形内的关系,即基函数,然后通过节点之间的联系把所有三角形联系在一起,求解整个区域上的最优解,从而实现有限元求解。
所以有限元组装成的矩阵一般都是稀疏矩阵,因为每个节点仅与之相连的节点有关,不相连的节点无关,体现在稀疏矩阵中就是相邻节点上存在数值,不相邻节点为零。
进一步推导,可以发现同样需要对基函数求导,根据公式不难得出导数结果:

4.单元系数矩阵

写成矩阵形式为:  

详细介绍右端项推导,假设在内边界上放置总电荷量为1的电荷,那么边上的电荷密度就等于:

不难看出,在内边界R1上是属于线积分,所以基函数L也会降维到一维,因此使用一维的积分方法(查阅一维积分表,具体参考最简单的一维有限元问题:求解cos函数分布),获得积分结果:

5.系数矩阵组装

组装过程与文章最简单的二维结构化有限元问题:求解拉普拉斯方程一致。通过全局坐标节点与单元坐标节点的映射关系,将局部系数矩阵组装到全局系数矩阵的对应位置。
这里对右端项系数向量的加载方法做介绍。假设l1,l2两条边属于内边界,首先知道两条边的局部编号映射到全局编号。

原始的右端项系数矩阵为零,因此将上述两条棱边加入内边界条件:

在完成内边界条件的加载后,最后再加入外边界的第一类边界条件,该边界条件的加载方法就和以前介绍的第一类边界条件的加载方式一致,乘大数法。

6.计算结果

二维电势的分布结果:

根据电容的定义式,我们知道了在内边界的电荷总量为1库伦(这是添加的边界条件),因此只需要知道该模型内外边界的电压差就能求电容。外边界的电势为0,内边界的电势可以通过上述有限元结果获取,假设为U1,则内外电压就等于:

本例子中,获取到内边界的电压U1=-2.8929e10,根据电容公式得到公式
理论解与解析解基本已知,具体如下,可以说明计算整个求解过程是可靠的。

7.总结

a.非结构有限元实现过程中,对求解区域的非结构化网格离散是一个关键问题,笔者常用的是matlab、comsol、q2d、以及一些二维网格剖分开源代码来实现这步骤,其中对于简单测试用matlab中的pdetool工具就可以实现。

b.非结构有限元与结构化有限元的区别在于基本单元网格的不同,非结构网格的优势在于可以匹配复杂形状的模型;相对于其网格剖分难度更大。
c.对于有限元实现过程而言,单元不同,基函数也就不同,组装矩阵的结果也都不一样,但是整体上有限元的流程是和二维结构化、一维有限元一致的。
d.有限元的实现最终还是要服务于物理仿真,因此了解物理问题特性,得到合适的边值问题,从而才能合理运用有限元进行仿真实现。  

来源:实践有限元
ComsolMATLAB理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-12-06
最近编辑:4月前
实践有限元
硕士 签名征集中
获赞 0粉丝 6文章 60课程 0
点赞
收藏
作者推荐

高阶插值基函数与叠层基函数细节对比

简述高阶插值型有限元和叠层型有限元的区别到底在哪些地方,细节点到底有什么,这里把一维2阶有限元的两种基函数的有限元求解过程拿来一一对比,分析两者的相同点与不同点,更有助于理解二者的基函数原理。边值问题首先给出对用于对比的边值问题,依旧沿用最简单的cos分布的边值问题:该问题的解析解为:2.有限元离散方程的推导(无区别)详细推导参考:最简单的一维有限元问题:求解cos函数分布3.基函数与单元系数矩阵(有区别)针对一维线段的拉格朗日插值多项式,任意高阶的基函数都是在其基础上组合叠加而成。(1)二阶插值基函数该基函数对网格单元对应关系,满足插值关系:对应的单元系数矩阵为:(2)叠层基函数该基函数与网格对应关系:仅N1,N2满足一定关系,N3不对应具体网格点的数值解。单元系数矩阵为:对比上述两者基函数本身区别,两者根据L1,L2得到的组合方式完全不同,插值基函数每个部分与网格点均能对应,叠层基函数仅1阶部分与网格点对应,高阶部分不对应任何网格点。因此,基函数的完全不同,导致的单元系数矩阵肯定也完全不同。4.网格未知数(自由度)分布(有区别)(1)插值基函数(2)叠层基函数从网格可以明显看出,插值基函数N3对应的是节点3,落在网格中心点;而叠层基函数N3对应的叫做线单元1,表示网格单元位置,并不落在具体的某个点上。而且根据基函数N1,N2,N3的排序差别,对应的全局节点编号也存在顺序上的差别,不过未知点(自由度)个数是一致的,都是7个未知数。5.全局系数矩阵由于单元系数矩阵完全不一致,以及全局未知数编号存在顺序上差异,所以全局系数矩阵组装的结果也完全不同,具体的系数矩阵参考:叠层基函数参考:一维高阶叠层有限元实现插值基函数参考:一维高阶插值基函数有限元实现不过,在该边值问题上,二者的边界条件上设置几乎都是一致的,第一类边界条件都是在起始点乘以大数加以实现;第二类边界条件则是在网格终点添加对应的点系数矩阵。该现象与具体边值问题相关,不同的边界条件,以及二维、三维问题,在处理边界条件还是可能有很大差别。6.计算结果对比在获得最终的系数矩阵K和右端项B后,根据X=K\B就可以获得求解结果:这里具体对比了3个均匀网格下叠层基函数和插值基函数的未知数求解结果:从X的求解结果可以看出,二者的在1~4节点的结果一致,5~7位置的结果不一致。这也再次说明了插值基函数在高阶部分与叠层基函数存在着本质上的区别。我们通过上述的结果,插值获得网格单元中心点的数值结果。根据拉格朗日基本插值关系,对于中心点,L1,L2的计算结果为:(1)插值基函数的插值过程可见,插值基函数三个单元的中心点的数值解就依次分别为X求解结果的5、6、7号节点的数值解,这与第3部分分析的插值基函数性质是一致的。(2)叠层基函数的插值过程:依次,带入X求解结果,得到三个中心点的数值结果:可见,叠层基函数的中心点数值解不是自由度X中5~7号的结果,5~7号的结果扮演的是提高插值精度的角色。这里再次明确的看出两种基函数的区别,下面是两者插值结果的精度对比:可见,虽然两者形函数不同,求解的X结果也不一致,但是通过各自的插值最终得到的结果是一致的。并且两者同为二阶基函数,计算精度也几乎是一致的。正所谓殊途同归。7.总结(1)通过对简单模型计算结果的详细分析,从结果上更加清晰了叠层基函数与插值基函数的不同点。(2)虽然基函数不同,但是二者在相同阶数下计算结果的精度是一致的;(3)二者本质区别在于:插值基函数的高阶部分就是网格点上的数值解;叠层基函数的高阶部分不表示网格上具体点,表示的是线单元,高阶数值结果表示对应线单元的高阶精度修正量。来源:实践有限元

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈