找回密码
 注册
Simdroid-非首页
查看: 450|回复: 17

[H. 有限元编程] “有限元是使一个连续的无限自由度问题变成离散的有限自由度问题”这句话如何理解??

[复制链接]
发表于 2013-10-20 16:41:06 | 显示全部楼层 |阅读模式 来自 湖北宜昌
希望能得到详细说明,谢谢!
发表于 2013-10-21 21:38:24 | 显示全部楼层 来自 北京
Simdroid开发平台
本帖最后由 tigerzjie 于 2013-10-21 21:45 编辑
伽罗瓦 发表于 2013-10-21 18:54
几点疑问:
1、单元内部(不含节点)的场函数应该是一个常数吧,即单元内部各点值相等?
2、如果我要提取 ...

1、对于位移型有限元,单元的场函数可以理解为位移函数(形函数)。由于求解结点位移需要对刚度方程求逆,至少需要形函数能保证使得刚度矩阵在约束刚体位移后不缺秩(即刚度方程的逆存在),需要形函数能保证单元能至少表现出刚体位移(结构有位移但无变形,约束完刚体位移后位移为零解<载荷为零,刚度矩阵的逆仍然存在>)和常应变(应变矩阵包含形函数的一阶导数),也即组成刚度矩阵中的形函数求导部分求导之后要至少不为零(即至少保证为非零常数),因而至少也得是线性形函数的插值才能满足此条件(线性插值求导为常数),此即线性单元、一次单元、C0单元(如此只能保证位移本身连续,位移值在域内线性变化,而位移的一阶导数<可理解为应变>在边界上不连续,而在域内为常数)。因而,位移场至少是线性的而不是常数的,而应变则为常数即常应变。当采用高阶次的单元,如二次单元,位移函数求导(应变)仍为线性函数,即位移将为二次变化,而应变将线性变化...更高阶次单元以此类推。从这个分析过程可以看出,对于位移场不可能会是常数的,至少为线性场(无外载荷零位移场除外),应变场可以是常数的(仅限于线性单元),应力可以用应变乘以本构矩阵表达,是同阶的,因而应力场也可以是常数的(也仅限于线性单元);
2、上述分析过程实际上已经可以回答你这个问题了(最后一句话)。对于位移型有限元,应变场是位移场的导数,而应力场与应变场只需乘以一个本构矩阵,因而应力场也可以理解为位移场的导数。如此,可以看出对于线性单元,应变场为常数应力场也将为常数,而当应变场为线性或高阶次时应力也将相应的为线性及高阶次,即单元里任意一点的应力不一定就是所在单元整个的应力。当应力不为常数时,由于位移型有限元中应力是位移的导数(结果越求导越粗糙),应力的精度相比位移结果精度要低一阶,这时单元中高斯积分点的应力精度将比单元中其他点的应力要高(此处涉及的相关概念、原理可参考有限元教材),一般通过单元内高斯点的应力来插值得到单元其他点的应力(应力磨平、平均,而不是仍按照由求得的位移->应变->应力的过程求解),但仍不表示这些点就代表了单元的应力。

上述分析只是针对位移型有限元而言的,如果采用混合变分原理推导的有限元,可能对应变、应力也进行形函数假设而独立插值,得到的结果结论将有所不同,但分析过程和方法是相似的。

有限元的基本概念可以多翻几次,也可以多结合几本教程相互参考,互相补充。一般各家写的书都或多或少带点自己的特点,相互参考可以加深理解。
回复 1 不支持 0

使用道具 举报

发表于 2013-10-20 21:49:07 | 显示全部楼层 来自 北京
本帖最后由 tigerzjie 于 2013-10-21 00:27 编辑

    微分方程、偏微分方程等物理控制方程要求所控制的物理场(如位移场、温度场)在域内任意点都要满足控制要求。如此任意点,可以理解为域内有无穷多个点,即为无限自由度,不可数连续统;
    上述求得的物理场是对控制方程的严格满足,但这种严格满足的物理场的解一般是难以获得,对于简单的域内形状、简单的边界条件有可能获得解析解,但稍微复杂的一点的求解域或边界条件基本上无法获得解析解(如复杂的结构形式、复杂的载荷和约束)。
    解析解无法求得,但并不是说问题就搁置,问题仍在那。转而寻求通过数值方法(应用数学、数值分析)求解获得数值解,即对初始微分方程的数值逼近,求得一个近似解来尽可能地逼近微分方程所要求的解析解。这种数值逼近最好的情况就是与解析解重合,但一般都会存在误差,而只要误差足够小,满足一定的精度,就认为足够好了,至少相对于一开始解析解根本无法求解要好得多了。
    而基于有限元思想的方法,就是这样一种来获取微分方程(不限于力学,如温度、电、磁)近似解且被广泛应用的方法。有限元即有限单元,其将求解域划分为一个个离散的单元。然后将原来所要求的每一点都必须满足微分方程转化为在每一个小单元上满足以及单元边界上满足(如果单元域内、边界上仍严格满足则与初始微分控制方程是无差别的),而一般对于每一个单元划分(包含单元结点、边、以及域内)可以人为地划分得很规则,如此,一个单元域内以及单元边界物理场可以通过结点来插值表示,最常用的是多项式插值(如果所采用的插值函数是完备的函数族,仍可能获得严格满足的精确解)。当采用的多项式是低阶的(如C0连续<本身连续>、C1连续<导数也连续>...)、结点变量是有限的(如物理场值<位移、C0转角、温度>、一阶导数值<C1转角、位移梯度、温度梯度>、二阶导数值...),从而整个域内的物理场可以用“有限个域内的单元”的“有限个结点”的“有限个结点变量”来表示,如此,原来需要任意点都满足物理控制方程的物理场现在只需要有限单元平均满足及所属的结点及结点变量满足即可(因为这种结点表示及插值处理,有限的插值函数项及有限的结点变量,使得只能近似问题本身的解析解,如果原问题的解恰好包含在所采用的插值函数族里,就可能获得精确解;域内的平均满足可以基于插值函数近似预先求得,即结点变量的系数<力学中的刚度矩阵>)。从无限的任意点到有限的结点及结点变量,即完成了使一个连续的无限自由度问题变成了离散的有限的自由度问题华华丽丽的转身。
       感觉已经比较详细了,个人理解,供参考一下~

评分

1

查看全部评分

回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2013-10-21 18:42:43 | 显示全部楼层 来自 湖北宜昌
解释的华丽丽滴好啊,多谢大神了
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-21 18:54:40 | 显示全部楼层 来自 湖北宜昌
本帖最后由 伽罗瓦 于 2013-10-21 18:58 编辑
tigerzjie 发表于 2013-10-20 21:49
微分方程、偏微分方程等物理控制方程要求所控制的物理场(如位移场、温度场)在域内任意点都要满足控制 ...

几点疑问:
1、单元内部(不含节点)的场函数应该是一个常数吧,即单元内部各点值相等?
2、如果我要提取实体上任意一点(x,y)的应力,这个点就很有可能不是单元节点,而落在单元内部,那么这个点的应力是否就是它所在单元的应力呢?
以上两个问题是一致的。。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-21 22:23:15 | 显示全部楼层 来自 湖北宜昌
tigerzjie 发表于 2013-10-21 21:38
1、对于位移型有限元,单元的场函数可以理解为位移函数(形函数)。由于求解结点位移需要对刚度方程求逆, ...

关于多物理场耦合的问题。以电磁场—温度场为例:
电磁场计算得到的焦耳热再加载到温度场内,这属于多个场之间的数据传递,我们知道,如果两个场的网格剖分一致的话,命令流ldread就可以实现数据传递,重点是,很多情况下两个场的网格剖分是不一致的,要实现数据传递,就涉及到从电磁场提取数据(热流密度),来实现等参变换和高斯积分。
问题:ansys中对于高斯积分有专门的函数吗?如果没有,如何将高斯积分点坐标所对应的笛卡尔坐标系下的点的数据提取出来,这时高斯积分所映射下的坐标就很可能不是单元节点,如何提取热流密度,具体的命令流是什么呢??
最近在做这个,头都大了,多谢大神这样有耐性的讲解了!!
回复 不支持

使用道具 举报

发表于 2013-10-22 00:32:46 | 显示全部楼层 来自 清华大学
伽罗瓦 发表于 2013-10-21 22:23
关于多物理场耦合的问题。以电磁场—温度场为例:
电磁场计算得到的焦耳热再加载到温度场内,这属于多个 ...

我不做多场,也很少用ansys算题~ 去ansys相应版看看吧~
回复 不支持

使用道具 举报

发表于 2013-10-22 03:49:26 来自手机 | 显示全部楼层 来自 法国
有限元里面,有限个节点的位移通过插值函数决定了整个位移场
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-22 08:17:10 | 显示全部楼层 来自 湖北宜昌
本帖最后由 伽罗瓦 于 2013-10-22 08:19 编辑
volcanozhang 发表于 2013-10-22 03:49
有限元里面,有限个节点的位移通过插值函数决定了整个位移场

请问:ansys里有没有高斯积分的函数呢
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-22 08:18:35 | 显示全部楼层 来自 湖北宜昌
tigerzjie 发表于 2013-10-22 00:32
我不做多场,也很少用ansys算题~ 去ansys相应版看看吧~

好的,非常感谢了
回复 不支持

使用道具 举报

发表于 2013-10-22 08:59:59 | 显示全部楼层 来自 江苏南京
伽罗瓦 发表于 2013-10-21 22:23
关于多物理场耦合的问题。以电磁场—温度场为例:
电磁场计算得到的焦耳热再加载到温度场内,这属于多个 ...

我一般做热应力分析的哈,对电磁场不懂,但是像楼主说的这个情况我觉得可能不一定很难,因为只要把你需要的电磁场结果(某些特定位置的热流密度)提取出来,然后作为边界条件加载到热场中就可以了(热计算中热流大多是用边界条件体现的)。具体的操作Ansys里面应该肯定有吧,不过对Ansys不熟,所以不知道怎么做。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-22 09:49:43 | 显示全部楼层 来自 湖北宜昌
colinmi 发表于 2013-10-22 08:59
我一般做热应力分析的哈,对电磁场不懂,但是像楼主说的这个情况我觉得可能不一定很难,因为只要把你需要 ...

就是因为对ansys不熟悉啊,光有编程思想,却无从下手啊,要是MATLAB早就完工了。。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-22 10:05:48 | 显示全部楼层 来自 湖北宜昌
伽罗瓦 发表于 2013-10-21 22:23
关于多物理场耦合的问题。以电磁场—温度场为例:
电磁场计算得到的焦耳热再加载到温度场内,这属于多个 ...

下面这个图显示了每个单元所对应的的电流密度,这个值是个常数,而非变量,这是否就意味着单元内所有点的值都一样呢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2013-10-23 10:36:20 | 显示全部楼层 来自 江苏南京
伽罗瓦 发表于 2013-10-22 10:05
下面这个图显示了每个单元所对应的的电流密度,这个值是个常数,而非变量,这是否就意味着单元内所有点的 ...

单元内所有点都是这个数?既然楼主有编程基础,为什么会对这个不理解呢?单元内怎么可能是一个数值呢?如果是一个数值,那节点的电流密度怎么确定?1、2号单元的连接节点是按照1的值还是2的值?至于ansys里面的显示,因为我也不太懂,楼主可以看看Manual,相信里面应该有输出文件格式规范。我的理解,可能是单元中心点的值?或者其他什么值,而且电流密度似乎和热场关系不那么大,可有热流密度的输出啊?
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-23 10:46:21 | 显示全部楼层 来自 湖北宜昌
colinmi 发表于 2013-10-23 10:36
单元内所有点都是这个数?既然楼主有编程基础,为什么会对这个不理解呢?单元内怎么可能是一个数值呢?如 ...

有了电流密度,热流密度很好得到啊p=J^2*R
回复 不支持

使用道具 举报

发表于 2013-10-23 10:55:10 | 显示全部楼层 来自 江苏南京
伽罗瓦 发表于 2013-10-23 10:46
有了电流密度,热流密度很好得到啊p=J^2*R

额,好吧,你这么想也行吧,但是我觉得这样恐怕不一定对,据我想呢,电流密度是矢量。热流密度只是一个有两个方向的伪矢量,未必这么简单。而且你那个R怎么确定啊?这应该是电流经过面的电阻,不认为很好做。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-10-23 12:02:54 | 显示全部楼层 来自 湖北宜昌
colinmi 发表于 2013-10-23 10:55
额,好吧,你这么想也行吧,但是我觉得这样恐怕不一定对,据我想呢,电流密度是矢量。热流密度只是一个有 ...

R是导体的电阻率
回复 不支持

使用道具 举报

发表于 2014-9-26 23:21:02 | 显示全部楼层 来自 湖北武汉
本帖最后由 whutgb 于 2014-9-26 23:27 编辑

思路的转化是这样的,我举一个简单的例子你就明白了,本来是一个泛函的极小值问题,比如 int(f(x),0,1),int代表对函数f(x)在区间【0,1】取积分,当f(x)取不同的函数是,就对应不同的定积分值。这个问题按照标准的变分分析会转化为一个微分方程问题,但是这样不容易求解,我换个思路,取定基函数 1, x和x^2,然后另f(x)取近似解a+b*x+c*x^2,  int(f(x),0,1)就变成了关于(a,b,c)的三元函数了,原问题就变成了三元函数的极小值问题了,令这个表达式对于a,b,c的偏导数为0就可以解决。此时问题的自由度为3,是在三维空间中寻求一个函数的极值。当基函数的个数不断增加时(1,x,x^2,x^3,,,,,,,,x^n),依照泰勒公式,近似解a+b*x+c*x^2+d*x^3+.......Kn*X^n可以逼近很复杂的函数,问题的自由度(a,b,c,d.....Kn)也越来越多,但是仍然为有限个,只有n趋于无穷大时,泰勒公式a+b*x+c*x^2+d*x^3+.......Kn*X^n 才能逼近任意复杂的函数,所以问题的自由度是无穷的。

在有限元中,int(f(x),0,1)这个表达式被替换为能量密度在求解域的积分,也即系统的总势能,实际上只是表达式复杂了点,本质没有变,而a,b,c变成了节点处的位移(u1,u2,.....un),基函数(1,x,x^2,....x……(n-1))变为单元的插值函数(N1(x,y,z),N2(x,y,z),......Nn(x,y,z)),它只和单元类型,节点位置有关,和节点位移无关。最小势能问题转化为对于有限个节点的位移的多元函数极值问题。系统的自由度个数也就是节点位移的个数。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-21 07:51 , Processed in 0.056186 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表