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

[A. 数学/物理基础] 求高人指导一个偏微分方程组的解法,急

[复制链接]
发表于 2010-9-21 14:18:43 | 显示全部楼层 |阅读模式 来自 上海
有方程组如下:

其中,u和v是变量,k为常数。

请问如何求解这一个偏微分方程组?

谢谢!
 楼主| 发表于 2010-9-21 15:48:46 | 显示全部楼层 来自 上海
Simdroid开发平台
顶一下。。。
回复 不支持

使用道具 举报

发表于 2010-9-21 17:11:11 | 显示全部楼层 来自 江苏南通
还得有初始条件和边界条件吧
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-21 18:33:28 | 显示全部楼层 来自 上海
我主要是想问下解这类方程的大致思路。初始条件和边界条件不妨定为

初始条件:u(x,0)=0; v(x,0)=1.0

边界条件:x=0, u=1.0; x=1.0, du/dx=0.0
                x=0, dv/dx=0.0; x=1.0, dv/dx=0.0
回复 不支持

使用道具 举报

发表于 2010-9-21 22:21:10 | 显示全部楼层 来自 美国
有方程组如下:

其中,u和v是变量,k为常数。

请问如何求解这一个偏微分方程组?

谢谢!
panzichao 发表于 2010-9-21 14:18


This is a nonlinear equation. The good thing is it is one dimensional problem. I suggest you solve the linear problem first. Then tackle the nonlinear later. If you are good at coding, the linear problem would take about two weeks at most.

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2010-9-22 01:55:47 | 显示全部楼层 来自 美国
I thought it is 2d
回复 不支持

使用道具 举报

发表于 2010-9-22 02:08:02 | 显示全部楼层 来自 美国
crank-nickson time solver + newton nonlinear solver
回复 不支持

使用道具 举报

发表于 2010-9-22 02:56:55 | 显示全部楼层 来自 美国
I thought it is 2d
caoer 发表于 2010-9-22 01:55


Why is it 2D? I can clearly see it is 1D problem based on the initial and boundary conditions given by him.
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-22 10:15:00 | 显示全部楼层 来自 上海
For the initial condition and boundary condition mentioned above, it is obviously a one-dimension problem. However, in my research work, two-dimension problem will be also discussed.
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-22 10:20:32 | 显示全部楼层 来自 上海
This is a nonlinear equation. The good thing is it is one dimensional problem. I suggest you solve the linear problem first. Then tackle the nonlinear later. If you are good at coding, the linear  ...
tonnyw 发表于 2010-9-21 22:21


您是指:先取u和v的初始值,带入方程中,这样c向量就是常数向量了,方程变成了抛物线型,解出u和v后,在带进去算,直到前后两次的向量范数小于某个值为止。
不知我的理解是否正确。
回复 不支持

使用道具 举报

发表于 2010-9-22 10:31:07 | 显示全部楼层 来自 美国
obviously, it is coupled Fick's second law. The independent variables u and v are the some kinda densities, any dimention is possible
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-22 10:32:33 | 显示全部楼层 来自 上海
看了tonnyw的回复,顿时豁然开朗。不知能否按如下方法解答:
先取v的初始值,带到第一个方程,解出u;
然后带到第二个方程,解出v;
再带到第一个方程,解出u,如此反复,直到前后两次u和v的差值向量范数小于某个值为止。

tonnyw提到的方法是将u和v的变量合并,整体计算。这样的话,在稀疏矩阵格式方面还要做额外的处理。不知道上面的这种方法是否可行?
回复 不支持

使用道具 举报

发表于 2010-9-22 16:54:32 | 显示全部楼层 来自 美国
看了tonnyw的回复,顿时豁然开朗。不知能否按如下方法解答:
先取v的初始值,带到第一个方程,解出u;
然后带到第二个方程,解出v;
再带到第一个方程,解出u,如此反复,直到前后两次u和v的差值向量范数小于某个 ...
panzichao 发表于 2010-9-22 10:32

No. That's not what I mean. First, assume the [c] matrix is not a function of (u, v), you can put
       | k1       0  |
[c] =|            k2|

You can get the finite element solution for this, which will make sure that your temporal discretization and spatial discretization is okay.

Then you make [c] matrix the function of (u,v) to sort out the iteration solver.

What I suggest is that you tackle this problem step by step.
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-23 11:04:30 | 显示全部楼层 来自 上海
tonnyw兄的话我基本看懂了,这里我想再问一个问题。对于如下所示的抛物线型方程:
当r的值很大的时候(假设r>0),发现数值解出现振荡,用我自己编的程序(有限元法)以及Matlab的pdepe程序,都有这个现象,下图是用matlab的pdepe求解的结果:

当然,如果增加网格密度,能够取消这种振荡,但是代价太大了。另外,在我处理的实际问题中,r达到1.0E5的情况是非常多的。所以我想问下,有没有改进的数值方法(最好是针对有限元的,因为我其他的程序全是有限元)能够在不增加网格密度的情况下,得到稳定的解。如果一两句话说不清楚,能否推荐一些文章或者书籍,小弟在这里先谢谢了!
回复 不支持

使用道具 举报

发表于 2010-9-23 11:41:08 | 显示全部楼层 来自 美国
tonnyw兄的话我基本看懂了,这里我想再问一个问题。对于如下所示的抛物线型方程:
当r的值很大的时候(假设r>0),发现数值解出现振荡,用 ...
panzichao 发表于 2010-9-23 11:04

The graph is too small and I cannot see it clearly.

How many integration points do you use to get the mass and stiffness matrices?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-23 12:06:49 | 显示全部楼层 来自 上海
我用的是最常用的四边形单元,2X2的高斯积分点。Matlab的那个程序不知道是什么算法。
我在求解对流扩散问题时(方程形式是椭圆型方程),也碰到过类似的情况,就是当Peclet数过大的时候,会振荡。当时参考了有限差分法中的迎风格式,用了一个叫SUPG(Streamline Upwind Petrov-Galerkin Method)的改进算法,把问题解决了。不知道现在这个抛物线型方程有没有类似的改进算法。被此问题困扰多日了。。。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-23 15:16:05 | 显示全部楼层 来自 上海
顶下,期待高人的解答!
回复 不支持

使用道具 举报

发表于 2010-9-23 20:25:04 | 显示全部楼层 来自 美国
http://dspace.mit.edu/bitstream/handle/1721.1/37735/31369143.pdf?sequence=1


Try this link.


The attached paper might be useful. If you find the references therein are helpful, let me know.


This is an interesting problem. As the Peclet number goes higher, the elliptic operator loses its ellipticity, which can cause spurious spatial oscillation.

我用的是最常用的四边形单元,2X2的高斯积分点。Matlab的那个程序不知道是什么算法。
我在求解对流扩散问题时(方程形式是椭圆型方程),也碰到过类似的情况,就是当Peclet数过大的时候,会振荡。当时参考了有限差分 ...
panzichao 发表于 2010-9-23 12:06

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-24 12:54:31 | 显示全部楼层 来自 上海
顶顶顶顶!
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-25 13:34:19 | 显示全部楼层 来自 上海
椭圆型方程当Peclet数过大时的振荡问题,我已经解决了。但是关于抛物线型方程的振荡问题仍没有好的办法。请高人帮帮我,被这个问题困扰很久了。。。
回复 不支持

使用道具 举报

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

本版积分规则

Simapps系列直播

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

GMT+8, 2024-9-25 19:23 , Processed in 0.050300 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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