|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
自己写了一个二维Euler方程的间断有限元程序
上次发了一个三角形单元的程序 因为不是曲边单元 所以在圆柱后面容易形成涡
现在把程序改为曲边四边形单元了 没有涡出现
单元是8节点四边形单元 节点编号顺序是 1 5 2 6 3 7 4 8 也就是四个角点依次是1 2 3 4 然后是边的中点编号 5 6 7 8.
时间推进采用 Runge-Kutta 方法
数值通量采用全局Lax-Friedrichs通量
仍然不能捕捉激波 因为没有做重构或者加人工粘性 等这个做出来了 再发一次。
程序没有进行优化 比如说内存的消耗没有优化 比如直边单元的边界积分仍然采用了曲边的积分方法 增加了计算量 比如面积分、线积分都是采用的是Gauss-Legendre-Lobatto积分 积分精度会比一般的Gauss-Legendre积分精度低一阶 等等问题。 二维的 纯属交流性质 就没有考虑这些问题 ^_^
如果物面全部是直边 那么只要改变一个参数N 就可以获得不同的计算精度 且具有谱精度 因为单元的节点是Gauss-Legendre-Lobatto积分点。 其实就是谱元法 (物面是曲边的情况我不清楚是不是也可以通过提高基函数的阶数 也就是增加N 来提高计算精度)
欢迎交流! |
|