找回密码
 注册
查看: 3518|回复: 13

间断有限元的边界问题

[复制链接]
发表于 2012-10-13 20:14:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我用Nodal DG书里的程序编了一个二维的很简单的程序,方程是u_t+u_x=0,但是在边界处出现了一些问题。希望大神可以帮一下啦。从图中可以很清楚的看到在结果中,入口和出口都有很大的误差,而在内部没有。程序是matlab的。

tNDGM(u_t+u_x=0).zip

53.62 KB, 下载次数: 166

 楼主| 发表于 2012-10-13 20:37:39 | 显示全部楼层

回复 1# fei104011320 的帖子

忘了把图片发上去了...
12.JPG
发表于 2012-10-14 16:07:31 | 显示全部楼层
我写了一个一维的,也有同样的问题,能交流一下吗?
发表于 2012-10-14 16:10:50 | 显示全部楼层
我的是一维的Euler方程,捕捉激波的那个,也是边界的地方出现问题。你看的是《交点间断Galerkin方法:算法、分析和应用》这本书吗?能请教你一些问题吗?
 楼主| 发表于 2012-10-14 19:39:34 | 显示全部楼层
嗯,看得是《交点间断Galerkin方法:算法、分析和应用》。不过,我也是新手啊。如果有什么问题,大家一起拿出来交流下,说不定能学到更多东西。呵呵
发表于 2012-10-15 08:26:59 | 显示全部楼层
想请教一个问题:书里第五章里的EulerDriver1D.m中的
     MassMatrix=inv(V')/V;
         cx=ones(Np,1)*sum(MassMatrix*x,1);
这两行代码是什么意思啊?用cx代替x的用处是什么?
一直想不透这个问题,因为如果用cx,方程的边界就会发生改变,用x的话,解就会改变。
不知道你对这个怎么看?
 楼主| 发表于 2012-10-15 19:30:24 | 显示全部楼层

回复 6# hihiqianqian 的帖子

你的程序少除一个2,cx = ones(Np,1)*sum(MassMatrix*x,1)/2;
书上有些地方是错误的。你可以在那个作者的网站上找到正确的程序。附录里有网址。

我也用了cx和x分别运行程序,发现两者并没有大的不同啊。cx应该表示单元内x的平均值。比如[0,0.1]单元内,不管空间阶数多高,cx都是0.05。个人觉得用cx的原因是怕某个单元跨间断,导致单元内部某个变量值变化很大。从程序上来看的话,MassMatrix*x表示单元在基函数上的投影,sum/2类似一个积分求和命令。这是个人观点,说的不细,不过你可以把矩阵写开,自己好好看看。

[ 本帖最后由 fei104011320 于 2012-10-15 19:33 编辑 ]
发表于 2012-10-16 18:19:48 | 显示全部楼层
真是太精彩了!
谢谢啦!
发表于 2012-10-16 18:25:12 | 显示全部楼层
顺便弱弱的问一下:你是怎样学习间断有限元的?
发表于 2012-10-16 18:25:16 | 显示全部楼层
顺便弱弱的问一下:你是怎样学习间断有限元的?
 楼主| 发表于 2012-10-26 12:57:02 | 显示全部楼层

回复 10# hihiqianqian 的帖子

看书,编程,上网。也没有什么别的方法了。
发表于 2013-4-9 21:32:32 | 显示全部楼层

回复 11# fei104011320 的帖子

求助大虾。间断有限元边界怎么处理。比如已知部分边界值的那种情况,需要删除矩阵的对应行列吗?连续的需要删,间断的边界处理,是不是已经在边界积分项体现出来了
发表于 2013-4-12 11:18:51 | 显示全部楼层

回复 7# fei104011320 的帖子

我也在看这本书,想请教个问题:
我再改动一维Euler方程的基础上想解一维的NS方程,再加入边界条件和初始条件以及正弦激励后,得到的结果出现了很多冲击波且没有收敛迹象,出现这种现象可能会因为什么原因呢?
求大神指点~~
发表于 2022-12-15 10:34:39 | 显示全部楼层
想问下有没有间断算收敛阶的程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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