YinLiu-91 / dealii

The development repository for the deal.II finite element library.
https://www.dealii.org/
Other
0 stars 0 forks source link

DG是如何添加边界条件的 #10

Open YinLiu-91 opened 10 months ago

YinLiu-91 commented 10 months ago

如 #5 中例子中写的step-67

刘黎论文添加dg边界的本质

  1. In essence, we "pretend" a state on the outside of the domain in such a way that if that were reality, the solution of the PDE would satisfy the boundary conditions we want. 本质上,我们在定义域的外部"假装"一个状态,如果这个状态是真实的,那么偏微分方程的解将满足我们想要的边界条件。
  2. 如刘黎论文中截屏2023-12-03 10 23 46
  3. 就是说边界条件就是把边界条件值带入到数值通量的计算中即可,非常简单

    出流和入流边界的添加

  4. 添加方法如上面截图所示

无反射边界条件的添加

截屏2023-12-03 10 38 34
- 无反射相当于外界没有值进来,所以数值通量的 $U^{env}$ 部分为0,而计算区域内的值却能够自然出去(相当于不变,**但是这里不太理解**)
- 但是这种边界只吸收法相的量,不吸收切向的量,不好,所以要结合吸收层边界

PML边界的添加

  1. 见刘黎论文
  2. 与有限差分求解的方程一样,只不过现在要用DG方法离散方程,其他都相同
  3. pml区域只是求解的方程和计算域不同,其他相同

    固壁边界添加

截屏2023-12-03 11 23 10

具体推导过程如下(以欧拉方程而非线化欧拉方程为例): 通量为:

$$ \begin{matrix} \rho u_1 + \rho u_2 \ \rho u_1^2 + p + \rho u_1 u_2 \ \rho u_2 u_1 + \rho u_2^2 +p \ u_1(E+p) + u_2(E+p)
\end{matrix} \tag{1} $$

可以整理为

$$ \begin{matrix} \rho (u_1 + u_2 ) \ \rho u_1(u_1 + u_2) +p \ \rho u_2( u_1 + u_2) +p \ (u_1 + u_2)(E+p)
\end{matrix} \tag{2} $$

通量乘以法向量 $F\cdot n$ 为

$$ \begin{matrix} (\rho (u_1 + u_2 ))\cdot n \ (\rho u_1(u_1 + u_2) +p) \cdot n \ (\rho u_2( u_1 + u_2) +p) \cdot n \ ((u_1 + u_2)(E+p)) \cdot n \end{matrix} \tag{2} $$

而边界条件为 $F\cdot n$中 $(u_1+u_2)\cdot n=0$ , 将此条件代入上式中有:

$$ \begin{matrix} (\rho (u_1 + u_2 ))\cdot n =0 \ (\rho u_1(u_1 + u_2) +p) \cdot n = p\cdot n \ (\rho u_2( u_1 + u_2) +p) \cdot n =p\cdot n\ ((u_1 + u_2)(E+p)) \cdot n = 0 \end{matrix} \tag{2} $$

YinLiu-91 commented 10 months ago

step-67中 边界条件是如何添加的

固壁边界

截屏2023-12-03 11 52 59
  1. For wall boundaries, we need to impose a no-normal-flux condition on the momentum variable, whereas we use a Neumann condition for the density and energy with and . To achieve the no-normal flux condition, we set the exterior values to the interior values and subtract two times the velocity in wall-normal direction, i.e., in the direction of the normal vector.对于壁面边界,我们需要对动量变量施加非正规通量条件,而对于密度和能量,我们使用Neumann条件。为了达到法向通量为0的条件,我们将外部值设置为内部值,并在壁面法线方向(即法向量方向)减去两倍的速度。

  2. 这里是在处理密度与能量时认为不变,而速度认为切向与内部相等,而法向为0

    inflow边界

    截屏2023-12-03 12 12 15
  3. 这里认为边界的左右值都是给定的Dirichlet边界值,所以要给定如上图的w+值

  4. 理解就是:边界处的左右值应该连续的,并且是确定的,这样能够改定一个确定的Dirichlet边界

outflow边界

截屏2023-12-03 12 23 05
  1. 这里出流认为密度与速度和边界内一样,而能量项项需要给定