zoukankan      html  css  js  c++  java
  • 体积与边精确积分DGM方法

    Triangular DGM

    1. Basis functions

    decomposing the domain (Omega) into (N_e) conforming
    non-overlapping triangular elements (Omega_e).

    [egin{equation} Omega = igcup_{e = 1}^{N_e} Omega_e end{equation}]

    nonsingular mapping (x = Psi(mathbf{xi})) which defines a transformation from the physical Cartesian coordinate system to the local reference coordinate system defined on the reference triangle.

    local elementwise solution (mathbf{q}) by an N th order polynomial in (mathbf{xi}) as

    [egin{equation} mathbf{q}_N (mathbf{xi}) = sum_{i = 1}^{M_N} psi_i (mathbf{xi}) mathbf{q}_N (mathbf{xi}_i) end{equation}]

    where (mathbf{xi}_i) represents (M = frac{1}{2} ( N + 1)( N + 2)) interpolation points and (psi_i (mathbf{xi})) are the associatedmultivariate Lagrange polynomials.

    an explicit formula for the Lagrange basis —— reference to an easily constructed orthonormal PKD polynomial basis and the generalized Vandermonde matrix.

    通过正交多项式和Vandermonde构造参考单元上Lagrange基函数。

    2. Integration

    2.1. Area integrals

    (int_{Omega_e} f(x) g(x) dx = sum_{i = 1}^{M_C} omega_i^e left| J^e(mathbf{xi}_i) ight| f(mathbf{xi}_i) g(mathbf{xi}_i))

    where (M_C) is a function of (C) which represents the order of the cubature approximation.

    2.2. Boundary integrals

    (int_{Gamma_e} f(x) g(x) dx = sum_{i = 0}^{Q} omega_i^s left| J^s(mathbf{xi}_i) ight| f(mathbf{xi}_i) g(mathbf{xi}_i))

    where (Q) represents the order of the quadrature approximation. Using the Gauss quadrature, we
    can use (Q = N) to achieve order (2N) accuracy.

    3. Tangent and normal vectors of the element edges

    4. Semi-discrete equations

    5. Matrix form of the semi-discrete equations

    5.1. Elimination of the mass matrix

    将方程左乘质量矩阵的逆并除以雅克比系数,可得

    [egin{equation} frac{partial mathbf{q}^e_i}{partial t} + left( hat{D}_{ij}^{xi} xi_x^e + hat{D}_{ij}^{eta} eta_x^e ight) mathbf{f}_j^e + left( hat{D}_{ij}^{xi} xi_y^e + hat{D}_{ij}^{eta} eta_y^e ight) mathbf{g}_j^e - S_i^e = frac{left| J^s ight|}{left| J^e ight|} hat{M}_{ij}^s left[ n_x^s left( mathbf{f}^e - mathbf{f}^* ight)_j + n_y^s left( mathbf{g}^e - mathbf{g}^* ight)_j ight] end{equation}]

    where the matrices are defined as

    [egin{equation} egin{array}{lll} hat{D}_{ij}^{xi} = M_{ik}^{-1} D_{kj}^{xi}, & hat{D}_{ij}^{eta} = M_{ik}^{-1} D_{kj}^{eta}, & hat{M}_{ij}^{s} = M_{ik}^{-1} M_{kj}^{xi}, end{array} end{equation}]

    where

    [egin{equation} egin{array}{ll} M_{ij} = sum_{k = 1}^{M_C} omega_k psi_{ik} phi_{jk}, & M_{ij}^s = sum_{k = 1}^{M_Q} omega_k psi_{ik} phi_{jk} cr D_{ij}^{xi} = sum_{k = 1}^{M_C} omega_k psi_{ik} frac{partial phi_{jk}}{partial xi}, & D_{ij}^{eta} = sum_{k = 1}^{M_C} omega_k psi_{ik} frac{partial phi_{jk}}{partial eta} end{array} end{equation}]

    (M_C) and (M_Q) denote the number of cubature (two dimensional) and quadrature (one dimensional) integration points required to achieve order 2N accuracy, and (psi_{ik}) represents the function (psi) at the (i=1, cdots,M_N) interpolation points evaluated at the integration point k.

    Since the mass matrix is constant (i.e. not a function of x) then, using Equations above, we can move the mass matrix inside the summations which are the discrete representations of the continuous integrals. This then gives

    [egin{equation} egin{array}{ll} hat{M}_{ij}^{s} = sum_{k = 1}^{M_Q} omega_k hat{psi}_{ik} psi_{jk}, & hat{D}_{ij}^{xi} = sum_{k = 1}^{M_C} omega_k hat{psi}_{ik} frac{partial psi_{jk}}{partial xi}, & hat{D}_{ij}^{eta} = sum_{k = 1}^{M_C} omega_k hat{psi}_{ik} frac{partial psi_{jk}}{partial eta} end{array} end{equation}]

    where

    [egin{equation} hat{psi}_i = M_{ik}^{-1} psi_k end{equation}]


    根据

    (D_{ij}^{xi} = sum_{k = 1}^{M_C} omega_k psi_{ik} frac{partial psi_{jk}}{partial xi})

    我们可以将 (D_{ij}^{xi}) 写为如下矩阵相乘形式

    [egin{equation} D_{ij}^{xi} = egin{bmatrix} omega_1 psi_{11}, omega_2 psi_{12}, cdots, omega_{M_C} psi_{1{M_C}} end{bmatrix} egin{bmatrix} frac{partial psi_{11}}{partial xi} cr frac{partial psi_{12}}{partial xi} cr cdots cr frac{partial psi_{1{M_C}}}{partial xi} end{bmatrix} end{equation}]

    因此

    [D^{xi} = egin{bmatrix} omega_1 psi_{11}, omega_2 psi_{12}, cdots, omega_{M_C} psi_{1{M_C}} cr omega_1 psi_{21}, omega_2 psi_{22}, cdots, omega_{M_C} psi_{2{M_C}} cr cdots cr omega_1 psi_{{M_C}1}, omega_2 psi_{{M_C}2}, cdots, omega_{M_C} psi_{{M_C}{M_C}} cr end{bmatrix} egin{bmatrix} frac{partial psi_{11}}{partial xi}, & frac{partial psi_{21}}{partial xi}, & cdots & frac{partial psi_{{M_C}1}}{partial xi} cr frac{partial psi_{12}}{partial xi}, & frac{partial psi_{22}}{partial xi}, & cdots & frac{partial psi_{{M_C}2}}{partial xi} cr cdots cr frac{partial psi_{1{M_C}}}{partial xi}, & frac{partial psi_{2{M_C}}}{partial xi}, & cdots & frac{partial psi_{{M_C}{M_C}}}{partial xi} end{bmatrix}]

    因此

    [hat{D}^{xi} = M^{-1} egin{bmatrix} omega_1 psi_{11}, omega_2 psi_{12}, cdots, omega_{M_C} psi_{1{M_C}} cr omega_1 psi_{21}, omega_2 psi_{22}, cdots, omega_{M_C} psi_{2{M_C}} cr cdots cr omega_1 psi_{{M_C}1}, omega_2 psi_{{M_C}2}, cdots, omega_{M_C} psi_{{M_C}{M_C}} cr end{bmatrix} egin{bmatrix} frac{partial psi_{11}}{partial xi}, & frac{partial psi_{21}}{partial xi}, & cdots & frac{partial psi_{{M_C}1}}{partial xi} cr frac{partial psi_{12}}{partial xi}, & frac{partial psi_{22}}{partial xi}, & cdots & frac{partial psi_{{M_C}2}}{partial xi} cr cdots cr frac{partial psi_{1{M_C}}}{partial xi}, & frac{partial psi_{2{M_C}}}{partial xi}, & cdots & frac{partial psi_{{M_C}{M_C}}}{partial xi} end{bmatrix}]


    Reference:

    [1]: GIRALDO F X, WARBURTON T. A high-order triangular discontinuous Galerkin oceanic shallow water model[J]. International Journal for Numerical Methods in Fluids, 2008, 56: 899–925.

  • 相关阅读:
    webpack高级概念code splitting 和 splitChunks (系列五)
    webpack高级概念Develoment 和 Production 不同环境的配置 (系列四)
    webpack高级概念Tree Shaking (树摇)(系列三)
    HarmonyOS三方件开发指南(16)-VideoCache 视频缓存
    鸿蒙开源第三方组件——uCrop_ohos图片裁剪组件
    Hi3516如何连接Wifi(三)
    【鸿蒙学院】鸿蒙IDE迎来重大更新,新特性足以让你尖叫
    《鸿蒙系统物联网模组——Neptune 三天全攻略》课件、代码
    预览器和编辑器双重发力,DevEco Studio 2.1 Beta 3强势来袭
    强大的鸿蒙开发环境 —— DevEco Studio 2.1 Beta3发布
  • 原文地址:https://www.cnblogs.com/li12242/p/5463221.html
Copyright © 2011-2022 走看看