Skip to content

Draft: Streamline upwinding A-V,A (SUPG)

Description

Artificial diffusion does not take advantage of the known direction of motion. More recent techniques, such as streamline diffusion (SD) and streamline upwind Petrov Galerkin (SUPG) consider this phenomenon.\ A vector form of streamline upwinding is proposed and applied in a formulation using a magnetic vector potential and an electric scalar potential. The formulation is implemented using edge elements for the vector potential. To deduce a vector form of the streamline upwinding Galerkin finite-element equation, the governing equation is tested by a modified vector weight function

\widetilde{\mathbf{A'}} = \mathbf{A'} - \tau \gamma \mathbf{v}\times (\nabla \times \mathbf{A'}),

it introduces upwinding only along velocity direction (By reducing the weights in the transverse direction to velocity).

\int_{\Omega_{\mathbf{v}}}(\nabla \times{\nu \nabla \times{\mathbf{A}}} + \gamma \nabla{V} {\color{purple}- \gamma(\mathbf{v} \times (\nabla \times{\mathbf{A}}))})\cdot {\color{cyan}\widetilde{\mathbf{A}^{'}}} = 0

After brief mathematical manipulation, the upwind terms look like

-\int_{\Omega_{\mathbf{v}}}( \gamma \nabla{V} {\color{purple}- \gamma(\mathbf{v} \times (\nabla \times{\mathbf{A}}))}) \cdot {\color{cyan}(\tau \gamma \mathbf{v}\times (\nabla \times \mathbf{A'}))},

Now, the only remaining task is to select the parameter \tau. For each element a stabilization factor is chosen which depends on the geometry of the element, its material properties and velocity

    \begin{equation*}
        \tau_e = \frac{h_e}{2 \gamma |\mathbf{v}|} (\coth(\frac{\text{Pe}}{2}) + \frac{2}{\text{Pe}}),
    \end{equation*}

where Pe and h are, respectively, the element Peclet number and element size along velocity direction.

    \begin{align*}
        \text{Pe} = \frac{\gamma |\mathbf{v}| h_e}{\nu}\\
        h_e = \frac{2}{\Sigma_n |\frac{\mathbf{v}}{|\mathbf{v}|} \cdot \nabla{w_n}|},
    \end{align*}

where n is each node of the element and w_n is the Galerkin weight function for the node n (weight function of electric scalar potential).

( Summarise the changes introduced in this merge request ) Testsuite merge request: ( no Testsuite changes | paste a link to the Testsuite merge request )

Check before assigning to a maintainer for review

  • The history is clean
  • New Code is well-documented and understandable
  • There is a test case (in case of new functionality)
  • Every commit passes the pipeline

Maintainer checks before merge

  • Review is approved, and all comments are resolved
  • Check for Testsuite changes, if yes check
    • Testsuite merge request merges fast-forward
    • Testsuite-submodule SHA of every CFS commit references a commit in Testsuite Merge Request
    • Testsuite-submodule SHA of last CFS commit points to HEAD of corresponding Testsuite branch
  • Pipeline passes for every commit
    • all tests of the stage test pass
    • tests in the stage test_extra run
    • new tests are actually running (e.g. check if they appear on CDash)

Merge request reports