文件名称:Euler_DG_Quadrilateral_2D
介绍说明--下载内容均来自于网络,请自行研究使用
自己写了一个二维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
来提高计算精度)-Wrote a two-dimensional Euler equations with discontinuous finite element program
Last made a triangular element of the program, not curved edge unit is so easy to form a vortex in the cylinder behind the
Program to curved edge quadrilateral element vortices appear
Unit is the order of 8-node quadrilateral element node number is 15,263,748 which is the four corners of the points in turn
Is 1234 and then the side of the midpoint of the number 5678.
Time promote the use of Runge-Kutta method
Numerical flux of the overall situation of Lax-Friedrichs, flux
Still can not capture the shock wave did not do the reconstruction or artificial viscosity do it Zaifayici.
The program is not optimized for example, memory consumption is not optimized such as straight-edge boundary integral of the unit is still mining
Integral method to increase the amount of computation such as surface integral with a curved edge, the line integral using the Gauss-
The Legendr
上次发了一个三角形单元的程序 因为不是曲边单元 所以在圆柱后面容易形成涡
现在把程序改为曲边四边形单元了 没有涡出现
单元是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
来提高计算精度)-Wrote a two-dimensional Euler equations with discontinuous finite element program
Last made a triangular element of the program, not curved edge unit is so easy to form a vortex in the cylinder behind the
Program to curved edge quadrilateral element vortices appear
Unit is the order of 8-node quadrilateral element node number is 15,263,748 which is the four corners of the points in turn
Is 1234 and then the side of the midpoint of the number 5678.
Time promote the use of Runge-Kutta method
Numerical flux of the overall situation of Lax-Friedrichs, flux
Still can not capture the shock wave did not do the reconstruction or artificial viscosity do it Zaifayici.
The program is not optimized for example, memory consumption is not optimized such as straight-edge boundary integral of the unit is still mining
Integral method to increase the amount of computation such as surface integral with a curved edge, the line integral using the Gauss-
The Legendr
(系统自动生成,下载前可以参看下载内容)
下载文件列表
Euler_DG_Quadrilateral_2D\InterpolationMatrixN_NEG.cpp
.........................\InverseMatrixN.cpp
.........................\LengthNormal.cpp
.........................\MainFile_DGFEM_quadrilateral.cpp
.........................\MassMatrix.cpp
.........................\pre_RungeKutta.cpp
.........................\ProgramInitialization.cpp
.........................\Result.cpp
.........................\RungeKutta.cpp
.........................\SpectralRadius.cpp
.........................\TimeStepDeltaT.cpp
.........................\ZerosWeights_GaussLegendreLobattoCurve.cpp
.........................\ZerosWeights_GaussLegendreLobattoN.cpp
.........................\ZerosWeights_GaussLegendreLobattoNGLL.cpp
.........................\DGFEM_quadrilateral.h
.........................\2DWeights_GaussLegendreLobatto2.cpp
.........................\DifferentialMatrix2.cpp
.........................\DifferentialMatrix4eta.cpp
.........................\DifferentialMatrix4xi.cpp
.........................\DwDxy.cpp
.........................\dxydxieta.cpp
.........................\ElementInitialization.cpp
.........................\f_RungeKutta.cpp
.........................\fRight.cpp
.........................\Function.cpp
.........................\FunPoly.cpp
.........................\GridCorrect.cpp
.........................\GridData.cpp
.........................\InterpolationMatrix2.cpp
.........................\InterpolationMatrix4.cpp
.........................\Node_Coordinate.txt
.........................\Outside_Node.txt
.........................\Element_Node.txt
.........................\Inside_Node.txt
Euler_DG_Quadrilateral_2D
.........................\InverseMatrixN.cpp
.........................\LengthNormal.cpp
.........................\MainFile_DGFEM_quadrilateral.cpp
.........................\MassMatrix.cpp
.........................\pre_RungeKutta.cpp
.........................\ProgramInitialization.cpp
.........................\Result.cpp
.........................\RungeKutta.cpp
.........................\SpectralRadius.cpp
.........................\TimeStepDeltaT.cpp
.........................\ZerosWeights_GaussLegendreLobattoCurve.cpp
.........................\ZerosWeights_GaussLegendreLobattoN.cpp
.........................\ZerosWeights_GaussLegendreLobattoNGLL.cpp
.........................\DGFEM_quadrilateral.h
.........................\2DWeights_GaussLegendreLobatto2.cpp
.........................\DifferentialMatrix2.cpp
.........................\DifferentialMatrix4eta.cpp
.........................\DifferentialMatrix4xi.cpp
.........................\DwDxy.cpp
.........................\dxydxieta.cpp
.........................\ElementInitialization.cpp
.........................\f_RungeKutta.cpp
.........................\fRight.cpp
.........................\Function.cpp
.........................\FunPoly.cpp
.........................\GridCorrect.cpp
.........................\GridData.cpp
.........................\InterpolationMatrix2.cpp
.........................\InterpolationMatrix4.cpp
.........................\Node_Coordinate.txt
.........................\Outside_Node.txt
.........................\Element_Node.txt
.........................\Inside_Node.txt
Euler_DG_Quadrilateral_2D