COMSOL中的弱形式
- 格式:doc
- 大小:653.50 KB
- 文档页数:22
什么是弱形式?弱形式简介对于COMSOL Multiphysics 的各类物理场,软件都会在后台使用弱公式化来建立数学模型,我们也将它称为弱形式。
理解弱形式有助于我们洞察软件的内部工作原理,当模型所涉及的物理场在软件内没有对应的预置接口时,弱形式还可以帮助我们写出自己的方程。
本文将简要介绍弱形式,旨在为没接触过有限元分析和矢算、但对弱形式又有浓厚兴趣的用户提供一些物理及积分方面的基础知识。
一个简单示例现考虑一个无热源的一维稳态热传递案例。
我们主要关注区间内的温度,它是位置的函数。
简单起见,我们假设导热系数均匀。
那么x 轴正方向的热通量可由温度的梯度给出:(1)热通量(域内没有热源)的守恒可简单表示为:(2)以上就是需要求解的主要方程。
解将给出域内的温度分布。
该形式的方程可见于多个学科。
例如在静电学中,由电势替代,由电场替代;在弹性理论中,变成位移,变成应力。
在此,让我们先来了解为什么COMSOL Multiphysics 可以轻松求解多物理场耦合问题:不论涉及何种物理机制,它们都会被建模处理成方程;方程确定后,就可以被COMSOL 软件中的核心算法直接离散和求解。
一些读者可能会好奇我们为什么会选择这么一个过于简单的例子,甚至其解析解都可由非常简单的数学或物理量得到。
原因有两个:1.我们希望专注于弱形式的核心思想,不希望因复杂物理系统中的数学而分散注意力。
2.后续文章中,我们会拓展到涉及多个域的系统,以便阐述两个方程组在边界条件处的耦合。
如果现在就开始研究复杂的案例,那等到拓展案例时主题将会变得非常晦涩难懂。
弱公式化方程 (2) 包含了热通量的一次导数,或者是温度的二次导数,但在温度分布可能受限的实际情况下,这可能导致数值问题。
例如,当边界处的相邻材料具有不同导热系数时,温度的一次导数将不连续,进而使温度二阶不可导。
弱形式的核心思想是将微分方程变为积分方程,进而减轻数值算法的求导负担。
如希望将微分方程 (2) 变成积分方程,第一步是在的域上对其积分:以上方程表示整个域中的平均值为零。
有限元的弱形式PDE弱形式介绍GJ:看到一个介绍COMSOL解决物理问题弱形式的文档,感觉很牛啊,通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题,这绝对是物理研究的利器啊!而且貌似COMSOL是唯一可以直接使用弱形式来求解问题的软件。
为什么要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics都是先将方程式系统转为了弱形式,然后进行求解。
物理问题的三种描述方式1.偏微分方程2.能量最小化形式3.弱形式PDE问题常常具有最小能量问题的等效形式,这让人有一种直觉,那就是PDE方程都可以有相应的弱形式。
实际上这些PDE方程和能量最小值问题只是同一个物理方程的两种不同表达形式罢了,同样,弱形式(几乎)是同一个物理方程的第三个等效形式。
我们必须记住,这三种形式只是求解同一个问题的三种不同形式――用数学方法求解真实世界的物理现象。
根据不同的需求,这三种方式又有各自不同的优点。
三种不同形式的求解PDE形式在各种书籍中比较常见,而且一般都提供了PDE方程的解法。
能量法一般见于结构分析的文献中,采用弹性势能最小化形式求解问题是相当自然的一件事。
因为这方面的资料不是很多,加上属于COMSOL的高级应用,COMSOL中PDE的弱形式被神化了。
实际上,跳出来看这个问题,在COMSOL中书写弱形式是非常简单的事情。
就目前我的认知水平,仅仅是应用Gauss散度定理做分部积分,再做变量替换这么简单。
下面对这个问题简单展开讨论下,个人心得,如有推导错误,请指正。
推导基础:
做积分有:
由Gauss公式/散度定理:
得到:
因此:
以对流-扩散PDE方程为例
边界条件为Neumann边界:
推导弱形式,在PDE方程中乘一个试函数 v并进行积分:
COMSOL中,方程的0值习惯放在方程的左边。
COMSOL的实现:将梯度写成分量形式,v写成test(u)
Weak Expressions中输入:
-c*ux*test(ux) -c*uy*test(uy) -c*uz*test(uz)-(bx*ux+by*uy+bz*uz+a*u-f)*test(u)
边界上设定为P*test(u)
瞬态泊松型PDE方程:
边界条件u=0
COMSOL的实现:
Weak Expressions中输入:
-test(ux)*ux-test(uy)*uy+test(u)*f-da*test(u)*ut 边界上,设置约束u。
COMSOL置函数算符d(f,x) f对x方向的微分1.使用d算符来计算一个变量对另一个变量的导数,如:d(T,x)指变量T对x求导,而d(u^2,u)=2*u等;2.如果模型中含有任何独立变量,建模中使用d算符会使模型变为非线性;3.在解的后处理上使用d算符,可以使用一些预置的变量,如:uxx,d(ux,x),d(d(u,x),x)都是等效的;4. pd算符与d算符类似,但对独立变量不使用链式法则;5. d(E,TIME)求解表达式E的时间导数;6. dtang算符可以计算表达式在边界上的切向微分(d算符无法计算),在求解域上使用dtang等价于d,dtang只求解对坐标变量的微分,但需要注意的是并不是所有的量都有切向微分。
pd(f,x) f对x方向的微分pd和d的区别:d(u+x,x)=ux+1,d(u,t)=ut,u和x,t等有关pd(u+x,x)=1,pd(u,t)=0,u是独立的和x,t无关dtang(f,x) 边界上f对x的切向微分在边界上d(u,x)不能定义,但是可以使用dtang(u,x),dtang付出基本的微分法则,如乘积法则和链式法则,但是需要指出的是,dtang(x,x)不一定等于1。
test(expr) 试函数用于方程弱形式的算符,test(F(u,∇u))等价于:var(expr,fieldnam e1,fieldname2, ...) 变异算子用于弱形式,它和test算符功能相同,但是仅用于某些特定的场中;如var(F(u,∇u, v,∇v),a),变量u是a场的变量,而v不是。
试函数之只作用于变量u。
nojac(expr) 对Jacobian矩阵没有贡献将表达式排除在Jacobian计算外,这对那些对Jacobian贡献不大,但是计算消耗很大的变量是否有效;k-e 湍流模型就是利用 nojac算符来提高计算性能的例子。
up(expr) 上邻近估算表达式up,down,mean算符只能用在边界上,对于一个表达式或变量在边界处两边不连续,COMSOL通常显示边界的平均值,使用up,down可计算某个方向上的值。
COMSOL Multiphysics弱形式入门COMSOL Multiphysics弱形式入门(一)物理问题的描述方式有三种:1、偏微分方程2、能量最小化形式3、弱形式本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics 的弱形式用户界面来求解更多更复杂的问题。
COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能更进一步的理解有限元方法(FEM)以及了解COMSOL Multiphysics的实现方法。
本文假定读者没有太多的时间去研究数学细节,但是却想将弱形式快速的应用到实际工程中去。
另外,本文也会帮助理解COMSOL Multiphysics文档中常用的到一些术语和标注方法,相关理论可以参考Zienkiewicz[1],Hughes[2],以及Johnson [3]等。
为什么必须要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
掌握弱形式可以使你的水平超过一般的COMSOL Multiphysics用户,让你更容易去理解模型库中利用弱形式做的算例。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL Multiphysics中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics都是先将方程式系统转为了弱形式,然后进行求解。
COMSOL Multiphysics弱形式入门物理问题的描述方式有三种:1、偏微分方程2、能量最小化形式3、弱形式本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题。
COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能更进一步的理解有限元方法(FEM)以及了解COMSOL Multiphysics的实现方法。
本文假定读者没有太多的时间去研究数学细节,但是却想将弱形式快速的应用到实际工程中去。
另外,本文也会帮助理解COMSOL Multiphysics文档中常用的到一些术语和标注方法,相关理论可以参考Zienkiewicz[1],Hughes[2],以及Johnson [3]等。
为什么必须要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
掌握弱形式可以使你的水平超过一般的COMSOL Multiphysics用户,让你更容易去理解模型库中利用弱形式做的算例。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL Multiphysics中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics 都是先将方程式系统转为了弱形式,然后进行求解。
COMSOL Multiphysics弱形式入门物理问题的描述方式有三种:1、偏微分方程2、能量最小化形式3、弱形式本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题。
COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能更进一步的理解有限元方法(FEM)以及了解COMSOL Multiphysics的实现方法。
本文假定读者没有太多的时间去研究数学细节,但是却想将弱形式快速的应用到实际工程中去。
另外,本文也会帮助理解COMSOL Multiphysics文档中常用的到一些术语和标注方法,相关理论可以参考Zienkiewicz[1],Hughes[2],以及Johnson [3]等。
为什么必须要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
掌握弱形式可以使你的水平超过一般的COMSOL Multiphysics用户,让你更容易去理解模型库中利用弱形式做的算例。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL Multiphysics中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics 都是先将方程式系统转为了弱形式,然后进行求解。
COMSOL Multiphysics弱形式入门物理问题的描述方式有三种:1、偏微分方程2、能量最小化形式3、弱形式本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题。
COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能更进一步的理解有限元方法(FEM)以及了解COMSOL Multiphysics的实现方法。
本文假定读者没有太多的时间去研究数学细节,但是却想将弱形式快速的应用到实际工程中去。
另外,本文也会帮助理解COMSOL Multiphysics文档中常用的到一些术语和标注方法,相关理论可以参考Zienkiewicz[1],Hughes[2],以及Johnson [3]等。
为什么必须要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
掌握弱形式可以使你的水平超过一般的COMSOL Multiphysics用户,让你更容易去理解模型库中利用弱形式做的算例。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL Multiphysics中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics 都是先将方程式系统转为了弱形式,然后进行求解。
COMSOL内置函数算符d(f,x)f对x方向的微分1. 使用d算符来计算一个变量对另一个变量的导数,如:d(T,x)指变量T对x求导,而d(u^2,u)=2*u等;2. 如果模型中含有任何独立变量,建模中使用d算符会使模型变为非线性;3. 在解的后处理上使用d算符,可以使用一些预置的变量,如:uxx,d(ux,x),d(d(u,x),x)都是等效的;4. pd算符与d算符类似,但对独立变量不使用链式法则;5. d(E,TIME)求解表达式E的时间导数;6. dtang算符可以计算表达式在边界上的切向微分(d算符无法计算),在求解域上使用dtang等价于d,dtang只求解对坐标变量的微分,但需要注意的是并不是所有的量都有切向微分。
pd(f,x)f对x方向的微分pd和d的区别:d(u+x,x)=ux+1,d(u,t)=ut,u和x,t等有关pd(u+x,x)=1,pd(u,t)=0,u是独立的和x,t无关dtang(f,x)边界上f对x的切向微分在边界上d(u,x)不能定义,但是可以使用dtang(u,x),dtang付出基本的微分法则,如乘积法则和链式法则,但是需要指出的是,dtang(x,x)不一定等于1。
test(expr)试函数用于方程弱形式的算符,test(F(u,∇u))等价于:var(expr,fieldnam变异算子e1,fieldname2, ...)用于弱形式,它和test算符功能相同,但是仅用于某些特定的场中;如var(F(u,∇u, v,∇v),a),变量u是a场的变量,而v不是。
试函数之只作用于变量u。
nojac(expr)对Jacobian矩阵没有贡献将表达式排除在Jacobian计算外,这对那些对Jacobian贡献不大,但是计算消耗很大的变量是否有效;k-e 湍流模型就是利用nojac算符来提高计算性能的例子。
up(expr)上邻近估算表达式up,down,mean算符只能用在边界上,对于一个表达式或变量在边界处两边不连续,COMSOL通常显示边界的平均值,使用up,down可计算某个方向上的值。
femlab的自定义方程主要有三种形式:1、参数形式(coefficient form)2、普通形式(general form)3、弱解形式(weak form)其中参数形式和普通形式十分类似,参数形式主要解决线性问题,而普通形式可以解决线性和弱的线性问题。
而弱解形式主要用于解决非线性问题以及一些无法用前两者表达的线性问题。
弱解形式是功能最为强大的一种求解方法,前两者可以解决的问题都可以用弱解形式解决,只是要费一些脑筋。
既然是初级讲座就只讲前两者吧,因为弱解形式较为复杂,需要有有限元解法的一些基础知识,而且使用上需要用到分步积分法。
一、参数形式1、稳态问题稳态问题是指求解量不随时间变化。
对于静力学,求解量确实是与时间无关的静态量,例如位移、应力、应变等。
而对于动力学、波动力学、电磁学等问题,求解量不随时间变化只是指其幅值与时间无关。
femlab指定的参数形式的方程如下(图1):图1:其中第一个式子是求解域上的方程。
第二、三个式子是边界条件,分别为第三类边界条件和第一类边界条件,即罗宾边界和狄利克边界条件,两者只能选取一个。
注:罗宾边界条件在femlab里常常被成为(广义的)牛曼边界条件。
方程里各参量的意义,在不同的问题里分别有不同的物理意义,但由于内在数学形式的一致性,因此其意义也十分类似,现以连续介质力学即扩散力学为例进行说明。
c-扩散系数a-吸收系数f-源项α-保守通量对流系数β-对流系数γ-保守通量源项q-边界上的吸收系数g-边界上的源项这里需要注意的是源项f,对于弹性力学,对应于加在弹性体上的荷载。
对于许多的物理场(声场、电磁场、温度场)问题,对应于场源(声源、点电荷、热源)。
而其他系数大都用于定义材料和媒质的特性。
其中α、β可以是矢量,c可以是矩阵,用于表示各项异性的材料特性。
现在给出一个简单地判断问题是线性还是非线性的方法,若这些参量是求解变量u的函数,则问题是非线性的,反之为线性。
COMSOL Multiphysics弱形式入门物理问题的描述方式有三种:1、偏微分方程2、能量最小化形式3、弱形式本文希望通过比较浅显的方式来讲解弱形式,使用户更有信心通过COMSOL Multiphysics的弱形式用户界面来求解更多更复杂的问题。
COMSOL Multiphysics是唯一的直接使用弱形式来求解问题的软件,通过理解弱形式也能更进一步的理解有限元方法(FEM)以及了解COMSOL Multiphysics的实现方法。
本文假定读者没有太多的时间去研究数学细节,但是却想将弱形式快速的应用到实际工程中去。
另外,本文也会帮助理解COMSOL Multiphysics文档中常用的到一些术语和标注方法,相关理论可以参考Zienkiewicz[1],Hughes[2],以及Johnson [3]等。
为什么必须要理解PDE方程的弱形式?一般情况下,PDE方程都已经内置在COMSOL Multiphysics的各个模块当中,这种情况下,没有必要去了解PDE方程和及其相关的弱形式。
有时候可能问题是没有办法用COMSOL Multiphysics内置模块来求解的,这个时候可以使用经典PDE模版。
但是,有时候可能经典PDE模版也不包括要求解的问题,这个时候就只能使用弱形式了(虽然这种情况是极少数的)。
掌握弱形式可以使你的水平超过一般的COMSOL Multiphysics用户,让你更容易去理解模型库中利用弱形式做的算例。
另一个原因就是弱形式有时候描述问题比PDE方程紧凑的多。
还有,如果你是一个教授去教有限元分析方法,可以帮助学生们直接利用弱形式来更深入的了解有限元。
最后,你对有限元方法了解的越多,对于COMSOL Multiphysics中的一些求解器的高级设置就懂得更多。
一个重要的事实是:在所有的应用模式和PDE模式求解的时候,COMSOL Multiphysics 都是先将方程式系统转为了弱形式,然后进行求解。
PDE问题常常具有最小能量问题的等效形式,这让人有一种直觉,那就是PDE方程都可以有相应的弱形式。
实际上这些PDE方程和能量最小值问题只是同一个物理方程的两种不同表达形式罢了,同样,弱形式(几乎)是同一个物理方程的第三个等效形式。
这三种形式的区别虽然不大,但绝对是很关键的。
我们必须记住,这三种形式只是求解同一个问题的三种不同形式――用数学方法求解真实世界的物理现象。
根据不同的需求,这三种方式又有各自不同的优点。
PDE形式在各种书籍中比较常见,而且一般都提供了PDE方程的解法。
能量法一般见于结构分析的文献中,采用弹性势能最小化形式求解问题是相当自然的一件事。
当我们的研究范围超出了标准有限元应用领域,比如传热和结构,这个时候弱形式是不可避免的。
化工中的传质问题和流体中的N-S方程都是没有办法用最小能量原理表述出来的。
本文后面还有很多这样的例子。
PDE方程是带有偏微分算子的方程,而能量方程是以积分形式表达的。
积分形式的好处就是特别适合于有限元方法,而且不用担心积分变量的不连续,这在偏微分方程中比较普遍。
弱形式也是积分形式,拥有和积分形式同样的优点,但是他对积分变量的连续性要求更低,可以看作是能量最小化形式的更一般形式。
最重要的是,弱形式非常适合求解非线性的多物理场问题,这就是COMSOL Multiphysics的重点了。
小结:为了理解PDE方程的弱形式,我们必须跳开常规的偏微分形式,对于积分形式要好好研究。
由于最小于能原理对比弱形式来说好理解的多,所以我们将从线弹性开始学习,依次到热传导,电流传导等问题。
这几种物理问题都有相关的能量和功率可以进行最小化。
我们将只涉及到静态问题,重点是在结构分析和更特殊的线弹性分析。
弹性静力学PDE 及其弹性能量方程在静力结构分析问题中,我们需要求解的是Navier 方程σ-∇⋅=F其中σ是应力张量,F 是体力,比如重力等。
如果不习惯用张量的形式,你也可以将张量展开写成矩阵形式。
这个方程表示了力(或者等效力)的平衡,实际上是三个方程的合并形式——3D 中每个坐标方向有一个方程。
计算区域记为Ω,其边界记为Ω∂。
应力张量σ和应变张量ε之间的关系称为本构关系,线弹性本构一般遵循胡克HOOK 定律εσεc =其中εc 是弹性张量,这个关系式说明材料的行为实际上和弹簧差不多(前提是线弹性)。
最后,我们可以将应变矢量和位移的关系表述出来ε=∇u这里u 指的是位移矢量u =(u,v,w),其定义就是变形体上的材料点和未变形时候的位移差。
总结以上所有的方程,我们得到了一个二阶PDE 方程(Navier 方程), ()c -∇⋅∇=u F需要一个边界条件来求解,()n c ⋅∇=u P其中n 是表面Ω∂的法矢,P 是边界上的面力或牵引力。
后面会介绍更多边界条件。
这个PDE 方程的弱形式为,其中v=),,(z y x v v v 称为试函数。
注意,尽管Navier 方程是一个矢量表达式,但是上面的表达式是一个标量形式。
下面介绍如何去推导以及理解弱形式。
弹性势能在结构分析中,PDE 方程及其弱形式的表达式都不太常见,相反,能量最小化形式因为其直观的表达形式用的较多。
这类问题的能量积分形式对应于总势能的最小化,即对象中存储的弹性能。
总弹性能是一个标量,可以写成:弹性能表达式同样适用于非线性问题。
在这些表达式中,我们假设体力F 为零,并忽略了边界效应。
这些影响可以在以后引入。
积分的意义是每个体积微元的内能总和,其中应力张量单位是Pa ,微元体上的应变εd 没有单位,dV 单位是体积,因此积分出来的单位应该是N·m 。
如果问题是线弹性的,则可以显式的写为:利用下面的通用公式:用应变张量ε替换上式中的标量变量x ,弹性张量εc 替换上标量常量a 。
联立上面的式子得到:我们用c 代替εc 来配合COMSOL Multiphysics 手册中的标记方式。
再提醒一次,如果你不习惯用张量,可以将张量看成是一个3×3的矩阵,点乘是一种张量的运算符号,弹性张量εc 是一个4阶张量(看上去就像4维矩阵)。
更多的标记方法可以参考COMSOL Multiphysics 的Anisotropic Structural Analysis 中的Matrix Notation 。
弹性能积分形式下的单位说明:32][m N [c]无][m d Pascal =Ω===⎰Ω单位ε 最终给出总的积分单位是N·m ――能量。
E W 的表达式就是我们通常说的能量泛函,即位移矢量u (或实际上是u 的梯度)的泛函。
这种函数的函数,而不是坐标的函数,通常被称为泛函,比单元微积分和多元微积分更加抽象。
与积分类似,我们可以说E W 就是函数u 的泛函:这好比是一个2D 的变量x ,y 的二元函数:其中x =),(y x ,[]abA c d =,[]d b e =。
采用这样的类比是因为在后面我们会看到矩阵A 与有限元的刚度矩阵比较类似。
我们要说明一下函数和泛函的一些区别,古典分析中的函数概念是指两个数集之间所建立的一种对应关系,现代数学的发展却是要求建立两个任意集合之间的某种对应关系。
函数概念被赋予了更为一般的意义,通俗解释泛函指的就是“函数的函数”。
在这里定义域为Ω,泛函可以在整个定义域内进行微分积分等操作。
泛函的变量是函数,这个函数也是有容许空间的。
如果函数u 可以变化,可能会产生一些不符合物理规则的一些现象,例如结构的刚性位移等。
比如一个对u 的基本约束就是材料不能穿越本身。
在有限元分析中,泛函一般是某种能量积分,比如弹性能。
对于其他的物理场,可能是其他的能量积分,或者是一种等效于能量的标量也可以。
至于积分区域,一般由分析对象的CAD 几何区域所确定。
静态电流传导和能量的生成在静态导电问题中,PDE 方程由最基本的保守形式开始:0∇⋅=J其中J 是电流密度。
材料(或本构)模型采用欧姆Ohm 定律:r σ=B E其中E 是电场,r σ是电导率。
另外,已知:V =-∇E其中V 是静电势,综合以上式子得到()0r V σ-∇⋅∇=在COMSOL Multiphysics 中,这就是所谓的Conductive Media DC 方程。
电阻产生的热能稳态电流的能量问题是在电导体中的电阻热其中J 表示电流强度,E 代表电场强度,εσ是一个二阶电导张量(3×3)。
如果导体是金属,电导张量一般是一个对角矩阵,如果是晶体,情况就复杂多了。
尽量减少电阻产生的热量,也就是减少热损耗,是我们要研究的一个最小值问题。
如果问题是线性,则积分可以显式地写成:因为V =-∇E ,其中V 是电势,可以得到:将这个式子与结构力学中的式子进行对比,发现他们非常相似。
V 的梯度对应于位移梯度,电导率张量εσ对应于弹性张量c 。
在稳态电流和结构力学的计算过程中,张量形式都可以改写为矩阵形式。
传热PDE 方程和能量形式对于稳态传热问题,PDE 形式为:其中T 是温度,k 是热传导系数,Q 是空间分布的热源。
热能基于传热方程的典型泛函为:其中T 是温度,k 是热传导系数张量(3×3)。
泛函极小值泛函极值的概念借用了微积分中的不少方法。
本节首先会介绍函数微积分的求极值方法,接下来,我们会借用有限元中常用的术语和标注方法来推导我们熟悉的结果。
这个过程可以被看作是微积分方法的一种推广。
考虑一个多元微积分函数f,我们要求最小值:寻找x使得f(x) 最小化这里x是一个矢量,或者点的坐标。
通过微积分我们知道,这个时候首先必须求函数f的梯度。
将梯度的设置为0,我们可得到一个非线性方程组。
求解方程,我们可以得到一系列的坐标点x,如果在其中某点处的二阶导数(一般称为Hessian矩阵)为正(或者说有正的特征值),就说这点就是我们要求的极小点,就好像该点是整个函数的一个谷底一样。
利用Taylor展开的观点,假设已知一个最小值x,我们可以在上面施加一个小的扰动,由Taylor展开可得:这里H就是前面所说的Hessian矩阵。
现在我们用其他的方法来说明函数f在x最小。
首先,假设x是一个极值点,当添加了一个xδ后,f对于其一阶值不改变。
换句话说,如果我们在x上添加一个xδ来扰动f,其一阶Taylor级数应该为0。
这个条件应该对每个方向都是成立的,否则该点就不是极值点了。
如果上式第二项为0:对于任意小的xδ都成立,也就是:我们这里只是用一个稍微有点不同的方法得到了一个同样的结果。
但是,这只是给了我们一个极值点的信息,如果要确定其是最小极值点,必须保证第三项(二阶项)对于任意xδ都为正:只有当H的特征值都为正时,上式成立(参考线性代数)。
有可能会遇到二阶项也总为0,这个时候我们必须借助更高阶项来判断极值点。