在之前系列中,我们中中形式进行了了离散简单示例问题中未知系数矩阵方程博客博客博客在comsol多物理学中中执行形式形式“”中的操作,comsolMultiphysics®软件软件软件方程方程方程,并并方程方程方程方程方程该能能能加入加入其他其他其他步骤步骤来来检查检查检查矩阵借助借助借助借助借助同一屏幕上按类。。
简单示例
请回想稳态无的一,其中,其中温度热示例热示例温度t是定义在区间1 \ le x \ le 5求解域中关于位置X的函数我们将边界(x = 1)设为诺伊曼条件,指定指定为为2,并并右边界(x = 5)设为狄氏,以便以便温度设为为。对弱进行进行离散化
1&-1&0&0&0&0 \\
-1&2&-1&0&0&0 \\
0&-1&2&-1&0&0 \\
0&0&-1&2&-1&0 \\
0&0&0&-1&1&1 \\
0&0&0&0&1&0
\ end {array}
\正确的)
\剩下(
\ begin {array} {c} a_1 \\ a_2 \\ a_3 \\ a_4 \\ a_5 \\ \ \ \ \ \ \ \ \ \ \ lambda_2 \ end end {array}
\正确的)
= \ left(
\ begin {array} {c} -2 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 9 \ end end {array}
\正确的)
其中A_1,A_2,\ CDOTS,A_5是节点(x = 1,2,\ cdots,5)处的知,,\ lambda_2是右(x = 5)处的热由于该该最应用于学问题问题,左侧问题问题问题问题问题刚度矩阵,右侧右侧矢量被称为载荷矢量。
查看刚度矩阵载荷矢量
“在comsol多物理学中中执行形式形式“ comsol Multiphysics中中执行的,因此的,因此本文文将不不再再重复。如希望希望查看查看查看查看刚度刚度矩阵和解1→其他→组装,如如::
务必将组装节点拖动到稳态求解器之上,在,在组装1节点的中,我们我们勾选兴趣前的框选。此外此外缩放比例设为无。求解,我们可以右击派生值,然后选择系统矩阵,如如::
在对应设定中,我们我们从从从矩阵的下拉列表中选择刚度矩阵,并在计算下图所所,我们示示示方程方程方程(1)6*6*矩阵。。。。
可以采用的步骤对方程(1)右侧的矢量进行计算。。
逐点约束
我们之前过有时不乘子乘子\ lambda_2,比如说为了资源如希望这样,可以操作,可以右击右击右击弱解型偏微分方程主节→更多→逐点约束,如下::
之后,在在的的约束表达式9-t。中中。完成,我们后后后相同的解解解
如仔细阵阵,我们我们我们我们发现6*6*6*6*矩阵矩阵左左左上上角角相匹配这并并不(1)(),只是只是一略微不同。接下来将此进行
另一求解矩阵方程方法方法
如“”在comsol多物理学中中执行形式形式”博客介绍,当当含乘子乘子\ lambda_2的弱贡献特征执行条件时,我们我们能求解整矩阵方程(1),从而从而系数系数A_1,A_2,\ CDOTS,A_5和乘子\ lambda_2。
另一,当当如上示的逐点约束特征执行条件时,我们我们希望在对拉格朗日乘子乘子\ lambda_2进行显式的下,求解求解的方程方程方程(1)。软件高效地将方程(1)分隔为这形式(见下方()
k&n_f \\
n&0 \ end {array} \ right)
\ left(\ begin {array} {c}
u \\
\ lambda \ end {array} \ right)
=
\ left(\ begin {array} {c}
l \\
m \ end {array} \ right)
其中刚度矩阵k5*5*矩阵,约束约束所所所,约束n是(0 \,0 \,0 \,0 \,1),约束力雅约束力雅矩阵矩阵N_F是(0 \,0 \,0 \,0 \,1)^t,解矢量你由系数A_1,A_2,\ CDOTS,A_5组成,单元单元\ lambda由拉格朗日乘子\ lambda_2形成,载荷载荷l为(-2 \,0 \,0 \,0 \,0)^t,单元约束矢量m是(9)。
下图显示了程(1)的::
当然在操作,指定,指定逐点约束特征后,软件软件会再方程(1)6*6*矩阵相反相反,它它相反组装组装k,n和N_F,与与相比占用更少计算。。
方程(2)可以写作个矩阵方程组构成系统:
其中,方程(3)的第一对热通量边界条件弱形式,第方程,第项项(4)包括由边界条件施加。。
方程系统两步。第一,求解步,求解方程方程方程(4)以得到边界相关的。二二,将步步步步步入方程(3),求解求解自由度。
得到的解矢量你随即作为步解线性::
(5)
第一项U_D是第一中求解的方程方程(4)的解矢量项从步中,形式获取,形式矩阵矩阵矩阵无效的和解矢量联合国的乘积。无效的矩阵中列由约束雅可比矩阵n中零的基向量构成得到得到
解矢量联合国是消去的矩阵方程的解
其中,,消去的刚度矩阵K_C及消去的载荷矢量L_C由以下得到
k_c&= nullf^t \,k \,null \\
l_c&= nullf^t \,(l-k \,u_d)
\ end {align}
矩阵nullf中的由生成可比矩阵转置N_F中的空间的组成。因此得到
消去的项表示从方程(6)中移除与条件的自由度。在示例中,消去中,消去的矩阵矩阵K_C的的为为4*4。
注意,上述上述不涉及乘子矢量矢量\ lambda。的确,这一中未求解拉格朗日乘子\ lambda_2的值一的优势是减少了所所需的计算资源在在在我们的的的简单简单简单简单示例示例示例中中中中中中中在在在。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。资源。
在comsol®应用中中所有矩阵矩阵矩阵
comsol多物理学支持我们计算查看提到所有和矢量这里只只重复重复查看刚度矩阵载荷矢量的操作我们快快发现发现发现发现发现发现发现大量时间点击模型开发器开发器中的每每个个个个系统系统系统矩阵节点节点和和每每个设定矢量,因此如果检查矩阵及,将矢量,将相当时。。
这就一很的场景场景场景,comsol应用App网络网络网络研讨会中学习学习学习)。您使用使用comsol多物理学的的功能所有所有所有所有所有所有(UI)封装,开发,开发
comsol应用程序的的的介绍介绍,您可以以下:comsolMultiphysics®5.0及app开发器开发器((观看部分)以及如何利用利用comsol Server™开发及仿真仿真仿真。
UI的的的方式方式方式,以便排列方式方式作为个更好更更简单简单的矩阵矩阵及矢量分析分析工具通过通过通过通过内“”按钮按钮能及计算所有矩阵和矢量。下图显示了了需要需要需要求解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全解全
我们看到n,,,,N_F和m为空,,K_C6*6*矩阵。相比之下,下图为种情况情况
结束语
借助示例,我们传热示例了用用求解求解通过离散弱得到的的矩阵矩阵矩阵方程方程方程方程的的的的两两种种种方式方式。。。我们我们发现开发开发开发开发开发开发开发开发通过通过通过通过通过通过通过通过的中,我们我们使用使用使用使用使用来来更复杂
comsoldesktop®环境ui元素环境环境环境环境的物理场仿真多用途计算,,comsol Server™许可证使我们向及全球全球地地的及客户部署部署部署。
我们希望comsol多物理学中中这些强大功能您实现效率效率提升。。
评论(6)
王肖
2016-03-13同学们好好
(-2,0,0,0,0,lamda_2)^t
刘刘
2016-03-15亲爱的肖,
lambda_2属于U和Lambda形成的向量。请参阅等式。(2)及其下方的图。
真挚地,
基恩
峰程
2016-04-07刘老师,,
(5)(6)6)那那的描述,如果描述描述这些矩阵可逆,那么
ku = l
但是这样得到结果不正确。不是说明当我们使用使用狄利狄利克雷边界边界,null等等等等等边界克雷克雷
刘刘
2016-04-08亲爱的峰,
我不确定您如何获得KU = L,这似乎与等式不一致。(3)。我在上一次答复中提到的参考可能会有所帮助。
真挚地,
基恩
Yi Zheng
2016-11-25刘老师,,
弱约束想想定义某个域内的的((利用利用利用利用利用利用利用模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型模型定义定义定义内内((没有输入变量,但是但是在利用利用利用在时时时表达式就就我我出现错误错误错误错误错误错误错误错误,想想错误想想想想想请教教教下下下下我我怎么怎么怎么和和和和为什么
Yuansheng Zheng
2016-11-29是的,您好
感谢您评论,模型相关问题问题,请您我们的
在线:https://www.dvdachetez.com/support
电子邮件:support@comsol.com
谢谢!
Yuansheng