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)
-