Sie sind auf Seite 1von 15

Streamline Upwind Petrov Galerkin (SUPG)

Galerkin approximation of the Navier–Stokes equations may fail due to two reasons: In convection-
dominated flows, where layers appear in which the solution of velocity and its gradient varies rapidly,
Galerkin’s classical approach leads to numerical oscillations in these regions that can spread rapidly and
compromise the solution; use of inappropriate combinations of Shape functions to represent velocity
and pressure fields results in unstable patterns. The instabilities associated with Galerkin’s formulation
are usually avoided by adding stabilization terms.
The incompressible Navier–Stokes equations are used to model a number of important physical flow
phenomena. A standard reference for mixed finite element methods is the book by Brezzi and Fortin,
history of residual-based stabilization methods is found in Brezzi, Donea and Huerta’s book and Tez-
duyar’s SUPG/PSPG methods.

Unsteady incompressible Naiver


Stokes
Let Ω ∈ Rn be the spatial domain at time t ∈
[0, T ], where n is the number of space dimensions.
Let Γ denote the boundary of Ω. We consider
the following velocity and pressure formulation of
the Navier–Stokes equations governing unsteady
incompressible flows:

Momentum equation:

∂u
+ (u.O) u − Oδ = fˆ
∂t

Continuity equation:

O·u=0

For Newtonian fluids the stress tensor which reads:


 
δ = −P̂ I + ν Ou + (Ou)T

Essential and natural boundary conditions for


Momentum equation are:

δn̂ = ĥ in ΓN × (0, T )

u = g in ΓD × (0, T )

ΓN and ΓD are complementary subsets of the do-


main boundary Γ. Functions g and ĥ are given
and n is the unit outward normal vector of Γ. As
initial condition, a divergence-free velocity field
u0 (x) is specified over the domain Ωt at t = 0:

u (y, y, z, 0) = u0 in Ω × {0}

1
Weak form formulation
For 2D case, Ω ∈ R2 , Navier–Stokes equations
reads:
" #
∂ 2u
 2
∂ u ∂ 2u
  
∂u ∂u ∂u −∂ P̂
+ u +v − + 2v 2 − v + = fˆx (1,1)
∂t ∂x ∂y u ∂x ∂x ∂y 2 ∂xy u
u

" #
∂ 2v
 2
∂ u ∂ 2v
  
∂v ∂v ∂v −∂ P̂
+ u +v − + 2v 2 − v + = fˆy (2,1)
∂t ∂x ∂y v ∂y ∂y ∂xy ∂x2 v
v

∂u ∂v
+ =0 (3,1)
∂x ∂y

The spatial domain of equations 1,1, 2,2 and 3,2 is solved by the finite element method. A weighted
residual formulation of these equations is obtained by multiplying the velocity weighting function α,
then, integrating over the domain Ω and applying the divergence theorem.
Multiply by a test function.
" #
∂ 2u
 2
∂ u ∂ 2u
  
∂u ∂u ∂u −∂ P̂
α +α u +v −α + 2v 2 − vα + = αfˆx (1,2)
∂t ∂x ∂y u ∂x ∂x ∂y 2 ∂xy u
u
" #
∂ 2v ∂ 2u ∂ 2v
   
∂v ∂v ∂v −∂ P̂
α +α u +v −α + 2v 2 − vα + = αfˆy (2,2)
∂t ∂x ∂y v ∂y ∂y ∂xy ∂x2 v
v

∂u ∂v
β +β =0 (3,2)
∂x ∂y

Integrate over domain.


Z " #
∂ 2u
Z  2
∂ u ∂ 2v
Z   
−∂ P̂
Z Z
∂u ∂u ∂u
α dΩ + α u +v dΩ − α + 2v 2 dΩ − v α + dΩ = αfˆx dΩ
∂t ∂x ∂y u ∂x ∂x ∂y 2 ∂xy u
u
(1,3)
Z " #
∂ 2v
Z  2
∂ u ∂ 2v
Z   
−∂ P̂
Z Z
∂v ∂v ∂v
α dΩ + α u +v dΩ − α + 2v 2 dΩ − v α + dΩ = αfˆy dΩ
∂t ∂x ∂y v ∂y ∂y ∂xy ∂x2 v
v
(2,3)
Z Z
∂u ∂v
β dΩ + β dΩ = 0 (3,3)
∂x ∂y

2
Divergence theorem in stress tensor and internal source.
Z Z Z
w (x) · Oσ (x) dΩ = − Ow (x) · σ (x) Ω + w (x) · σ (x) dΓ

Z Z   Z   Z   Z
∂u ∂u ∂u ∂α ∂u ∂α ∂u ∂v
α dΩ + α u +v dΩ + −P̂ + 2v dΩ + v + dΩ = αfˆx dΩ
∂t ∂x ∂y u ∂x ∂x u ∂y ∂y ∂x u
Z
+ αtxθ dΓ (1,4)

Z Z   Z   Z   Z
∂v ∂v ∂v ∂α ∂v ∂α ∂u ∂v
α dΩ + α u +v dΩ + −P̂ + 2v dΩ + v + dΩ = αfˆy dΩ
∂t ∂x ∂y v ∂y ∂y v ∂x ∂y ∂x v
Z
+ αtyθ dΓ (2,4)
Z Z
∂u ∂v
β dΩ + β dΩ = 0 (3,4)
∂x ∂y

Where
3

Z Z   Z  
∂u ∂u ∂v
αtxθ dΓ = − α −P̂ + 2v dΓ − v α + dΓ
∂x u ∂y ∂y u

Z Z   Z  
∂v ∂u ∂v
αtyθ dΓ = − α −P̂ + 2v dΓ − v α + dΓ
∂y v ∂y ∂y v

The use of integration by parts has relaxed the requirements of differentiation by shifting some derivatives from the pressure field and stress tensor
to the interpolation functions. After this process we have obtained the continuous weak formulation:
Z Z   Z Z Z Z
∂u ∂u ∂u ∂α ∂α ∂u ∂α ∂u ∂α ∂v
α dΩ + α u +v dΩ − P̂ dΩ + v 2 + dΩ + v dΩ = αfˆx dΩ
∂t ∂x ∂y u ∂x ∂x ∂x ∂y ∂y ∂y ∂x
Z
+ αtxθ dΓ
(1,5)
Z Z   Z Z Z Z
∂v ∂v ∂v ∂α ∂α ∂v ∂α ∂v ∂α ∂u
α dΩ + α u +v dΩ − P̂ dΩ + v +2 +v dΩ = αfˆy dΩ
∂t ∂x ∂y v ∂y ∂x ∂x ∂y ∂y ∂x ∂y
Z
+ αtyθ dΓ
(2,5)
Z Z
∂u ∂v
β dΩ + β dΩ = 0 (4,5)
∂x ∂y
4
Streamline Upwind Galerkin Petrov (SUPG)

When expressing the Momentum equation in the convection-diffusion form, Galerkin finite element
method, by using the weighting functions, is unable to give stable solution if the flow is convection
dominated. In this case, the nodal approximation suffers from spurious oscillations, unless an intelli-
gent technique is adopted to discretize the computational domain. Among all the options to balance the
false numerical oscillations, Brooks and Hughes used a modified weighting function along the streamline
to obtain a weighted residual formulation; this method is called Streamline Upwind Galerkin Petrov
(SUPG).

n Z
Z
α (Lu − f ) dΩ+
X
τ Ladv (α) (Lu − f ) dΩ
e=1

(Lu − f ) residual of the Momentum equation.

Ladv (α) convection term apply to α.

α test function.

τ stabilization parameter.

Stabilization terms:
For 2D case the stabilization terms reads:
 
∂α ∂α
Ladv (α) = u +v
∂x ∂y u

" #
∂ 2u
 2
∂ u ∂ 2v
  
∂u ∂u ∂u −∂ P̂
(Lu − f ) = + u +v − + 2v 2 − v + − fˆx
∂t ∂x ∂y u ∂x ∂x ∂y 2 ∂xy u
u

 
∂α ∂α
Ladv (α) = u +v
∂x ∂y v

" #
∂ 2v
 2
∂ u ∂ 2v
  
∂v ∂v ∂v −∂ P̂
(Lu − f ) = + u +v − + 2v 2 − v + − fˆy
∂t ∂x ∂y v ∂y ∂y ∂xy ∂x2 v
v

5
Adding these terms to the momentum equations 1,5 and 2,5, we generate the following system of
continuous equations:

System of continuous equations:


Eq. (1, 6)

Z Z
∂u
+ α dΩ+ + αfˆx dΩ+
∂t
Z   Z
∂u ∂u
+ α u +v dΩ+ + αtθx dΓ+
∂x ∂y u
Z n
∂α X
− P̂ dΩ+ + {. . .
∂x
e=1
Z
∂α ∂u ∂α ∂u Z  
+v 2 + dΩ+ ∂α ∂α
∂x ∂x ∂y ∂y + τ u +v fˆx dΩ
∂x ∂y u
Z
∂α ∂v
+v dΩ+
∂y ∂x
n
X
+ {. . .
e=1
Z  
∂α
∂u ∂α
+ τ u +v
dΩ+
∂x
u ∂t ∂y
Z    
∂α ∂α ∂u ∂u
+ τ u +v u +v dΩ+
∂x ∂y u ∂x ∂y u
Z  
∂α ∂α ∂ P̂
− τ u +v dΩ+
∂x ∂y u ∂x
  2
∂ u ∂ 2u
Z  
∂α ∂α
−v τ u +v 2 + dΩ+
∂x ∂y u ∂x2 ∂y 2

∂α ∂ 2 v
Z  
∂α
+ τ u +v dΩ+
∂x ∂y u ∂xy
= ...

6
Eq. (2, 6)
Z
Z + αfˆy dΩ+
∂v
+ α dΩ+
∂t Z
Z   + αtθy dΓ
∂v ∂v
+ α u +v dΩ+
∂x ∂y v nR h i o
+
Pn
τ u ∂α + v ∂α ˆy dΩ
f
e=1 ∂x ∂y
Z v
∂α
− P̂ dΩ+
∂y
Z
∂α ∂v ∂α ∂v
+v +2 dΩ+
∂x ∂x ∂y ∂y
Z
∂α ∂u
+v dΩ+
∂x ∂y
n
X
+ {. . .
e=1
Z  
∂α ∂α ∂v
+ τ u +v dΩ+
∂x ∂y v ∂t
Z    
∂α ∂α ∂v ∂v
+ τ u +v u +v dΩ+
∂x ∂y v ∂x ∂y v
Z  
∂α ∂α ∂ P̂
− τ u +v dΩ+
∂x ∂y v ∂y
  2
∂ 2v
Z  
∂α ∂α ∂ v
+v τ u +v + 2 2 dΩ+
∂x ∂y v ∂x2 ∂y v
Z    2 
∂α ∂α ∂ v
+v τ u +v dΩ+
∂x ∂y v ∂xy v
= ···

7
Eq. (3, 6)
Z Z
∂u ∂v
β dΩ + β dΩ = 0
∂x ∂y

Space discretization.

X X X X X
u= N (xi ) ui ; v = N (xi ) vi ; α = N (xi ) α; P̂ = M (xi ) α; β = M (xi ) β

System of discrete equations:


Eq. (1, 7)
Z
Z Z + N T αfˆx dΩ+
∂·
+ N T αN T udΩ+
∂t Z
Z + N T αtθx dΓ+
N T α N T uNxT u + N T vNyT u u dΩ+
 
+
n
X
Z + {. . .
− NxT αM T P̂ dΩ+ e=1
Z
τ N T uNxT α + N T vNyT α u fˆz dΩ+
 
Z +
2NxT αNxT u + NyT αNyT u dΩ+
 
+v
Z
+v NyT αNxT vdΩ+

n
X
+ {. . .
e=1
Z
∂·
τ N T uNxT α + N T vNyT α u N T udΩ+
 
+
∂t
Z
+ τ N T uNxT α + N T vNyT α u N T uNxT u + N T vNyT u u
   

dΩ+
Z
τ N T uNxT α + N T vNyT α u MxT P̂ dΩ+
 

Z
τ N T uNxT α + N T vNyT α u 2Nxx
   T T

−v u + Nyy u dΩ+
Z
τ N T uNxT α + N T vNyT α u Nxy
T
 
+ vdΩ+

= ···

8
Sorting this out just a bit

Z Z Z
∂·
+ T
N N dΩu+ + N fˆx dΩ+
∂t
Z Z
N tθx dΓ+
 T
N uN NxT + N T vN NyT u dΩu+

+ +

n
Z

X
Nx M dΩP̂ + + {. . .
e=1
Z
τ N T uNxT + N T vNyT u fˆz dΩ+
R  
2Nx NxT + Ny NyT dΩu+ +
 
+v
Z
+v Ny NxT dΩv+

n
X
+ {. . .
e=1
Z
∂·
τ N T uNxT + N T vNyT u N dΩu+
 
+
∂t
Z
+ τ N T uNxT + N T vNyT u N T uNx + N T vNy u dΩu+
   

Z
τ N T uNxT + N T vNyT u Mx dΩP̂ +
 

Z
τ N T uNxT + N T vNyT u [2Nxx + Nyy ] dΩu+
 
−v
Z
τ N T uNxT + N T vNyT u Nxy dΩv+
 
+

= ···

9
Eq. (2, 7)

Z Z Z
∂·
+ T T
N αN vdΩ+ + N T αfˆdΩ+
∂t
Z
N T α N T uNxT v + N T vNyT v v dΩ+
 
+
Z
+ N T αtθy dΓ+
Z
− NyT αM T P̂ dΩ+
n
X
Z + {. . .
e=1
 T
Nx αNxT v + 2NyT αNyT v dΩ+

+v
τ N T uNxT α + N T vNyT α v fˆy dΩ+
R  
+
Z
+v NxT αNyT udΩ+

n
X
+ {. . .
e=1
Z
∂·
τ N T uNxT α + N T vNyT α v N T vdΩ+
 
+
∂t
Z
+ τ N T uNxT α + N T vNyT α v N T uNxT v + N T vNyT v v
   

dΩ+
Z
τ N T uNxT α + N T vNyT α v MyT P̂ dΩ+
 

Z
τ N T uNxT α + N T vNyT α v Nxx
   T T

+v v + 2Nyy v v dΩ+
Z
τ N T uNxT α + N T vNyT α v Nxy
  T
+v udΩ+

10
Sorting this out just a bit

Z Z Z
∂·
+ T
N N dΩv+ + N fˆy dΩ+
∂t
Z Z
N tθy dΓ+
 T
N uN NxT + N T vN NyT v vdΩ+

+ +

n
Z
− Ny M T dΩP̂ +
X
+ {. . .
e=1
Z
NxT NxT v + 2NyT NyT dΩv+
  Z
+v
τ N T uNx + N T vNy v fˆy dΩ+
 
+
Z
+v NxT NyT dΩu+

n
X
+ {. . .
e=1
Z
∂·
τ N T uNx + N T vNy v N dΩv+
 
+
∂t
Z
+ τ N T uNx + N T vNy v N T uNxT + N T vNyT v dΩv+
   

Z
τ N T uNx + N T vNy v My dΩP̂ +
 

Z
τ N T uNx + N T vNy v Nxx
   T T

+v + 2Nyy v
dΩv+
Z
τ N T uNx + N T vNy v Nxy dΩu+
 
+v

= ···

Eq. (4, 7)

Z Z
T
+ M βNxT udΩ+ + Nx M T dΩu+
Z Z
T
+ M βNyT vdΩ+ + Ny M T dΩv+

=0 =0

11
discretization:

un+1 − un
= θF un+1 , tn+1 + (1 − θ) F (un , tn )

∆t
Eq. (1, 8)
Z Z
1 + N fˆx dΩ+
+ N N T dΩun+1 +
∆t
Z Z
+ N tθx dΓ+
 T
N uN NxT + N T vN NyT u dΩun+1 +


Z
Z 1
−θ Nx M dΩP̂ n+1
+ + N N T udΩ+
∆t
Z Z
N N T uNxT u + N T vNyT u u dΩ+
 
2Nx NxT + Ny NyT dΩun+1 + − (1 − θ)
 
+vθ
Z Z
+vθ Ny NxT dΩv n+1 + + (1 − θ) Nx M T P̂ dΩ+
Z
n
2Nx NxT u + Ny NyT u dΩ+
 
X −v (1 − θ)
+ {. . .
e=1 Z
1
Z −v (1 − θ) Ny NxT vdΩ+
τ N T uNxT + N T vNyT u dΩun+1 +
 
+
∆t
Xn
Z
+ {. . .
+θ τ N uNxT + N T vNyT u N T uNx + N T vNy u
 T   
e=1

dΩun+1 + 1  T
τ N uNx + N T vNy u N T udΩ+

+
Z ∆t
τ N T uNxT + N T vNyT u Mx dΩP̂ n+1 +
 
−θ Z
− (1 − θ) τ N T uNx + N T vNy u N T uNxT u + N T vNyT u
  
Z
τ N T uNxT + N T vNyT u [2Nxx + Nyy ] dΩun+1 +
 
+vθ dΩ
Z
τ N T uNx + N T vNy u MxT P̂ dΩ+
 
+ (1 − θ)
Z
τ N T uNxT + N T vNyT u Nxy dΩv n+1 +
 

Z
= ··· τ N T uNx + N T vNy u 2Nxx
   T T

−v (1 − θ) u + Nyy u dΩ+
Z
τ N T uNx + N T vNy u Nxy
T
 
− (1 − θ) vdΩ+

τ N T uNx + N T vNy u fˆx dΩ+


R  
+ (1 − θ)

12
Eq. (2, 8)

Z Z
1
+ T
N N dΩv n+1
+ + N fˆy dΩ+
∆t
Z
+ N tθy dΓ+
Z
N T uN NxT + N T vN NyT dΩv n+1 +
 
+θ v
Z
1
+ N N T vdΩ+
∆t
Z
−θ Ny M T dΩP̂ n+1 + Z
N N T uNxT v + N T vNyT v v dΩ+
 
− (1 − θ)
Z
 T T
Nx Nx v + 2NyT NyT dΩv n+1 +

+vθ Z
+ (1 − θ) Ny M T P̂ dΩ+
Z Z
+vθ NxT NyT dΩun+1 + −v (1 − θ)

Ny NxT v + 2Ny NyT v dΩ+


Z
n
X −v (1 − θ) Nx NyT udΩ+
+ {. . .
e=1
n
X
+ {. . .
Z
1
τ N T uNx + N T vNy v dΩv n+1 +
 
+ e=1
∆t
 + 1 τ N T uN + N T vN  N T vdΩ+
Z
 T T
  T T T T
+θ τ N uNx + N vNy v N uNx + N vNy v x y v
∆t
dΩv n+1 +
Z
− (1 − θ) τ N T uNx + N T vNy v N T uNxT v + N T vNyT v
   
Z
−θ τ N T uNx + N T vNy v My dΩP̂ n+1 +
 
dΩ
Z
 T T
MyT P̂ dΩ+

+ (1 − θ) τ N uN + N vN
Z
x y v
+vθ τ N uNx + N T vNy v Nxx
 T   T T
 n+1
+ 2Nyy v
dΩv +
Z
 T T
  T T

−v (1 − θ) τ N uN + N vN N v + 2Nyy v dΩ+
v
Z
x y v xx
+vθ τ N uNx + N T vNy v Nxy dΩun+1 +
 T 
Z
−v (1 − θ) τ N T uNx + N T vNy v Nxy
  T
= ··· udΩ+
Z
τ N T uNx + N T vNy v fˆy dΩ+
 
+

Eq. (3, 8)

= ···
Z
+θ Nx M T dΩun+1 +
Z Z
+θ Ny M T dΩv n+1 + − (1 − θ) M NxT udΩ+
Z
− (1 − θ) M NyT vdΩ+

13
Matrix form.
The system of discrete equations can be expressed as matrices of the type E · u = f . Where E are the terms of the system of equations containing
the interpolation functions, u is the vector of sought quantities and f is the vector of known quantities in the last time. The system of discrete
equations can be expressed as matrices of the type E · u = f . Where E are the terms of the system of equations containing the interpolation
functions, u is the vector of sought quantities and f is the vector of known quantities in the last time.
Z Z Z
1
T + N N T dΩ + D +θ [Ny NxT ]dΩ + C’ − θ [NX M dΩ +
∆t
Z n
X n
X
A +θ [N T uN NxT + N T vN NyT ]dΩ + + {. . . + {. . .
Z e=1 Z e=1 Z
D + νθ [2Nx NxT + Ny NyT ]dΩ + D − νθ τ [N T
uNxT +N T
vNyT ] Nyx dΩ} C’ − νθ τ [N T uNxT + N T vNyT ] M x dΩ}
n
X
+ {. . .
e=1 Z
1
T + τ [N T uNxT + N T vNyT ] N dΩ +
∆t
Z
A + τ [N T uNxT + N T vNyT ] [N T uNxT + N T vNyT ]dΩ +
Z
D +θ τ [N T uNxT + N T vNyT ] [N T uNxT + N T vNyT ]dΩ +
14

Z
D − νθ τ [N T uNxT + N T vNyT ] [2Nx NxT + Ny NyT ]dΩ}
Z Z Z
1
D’ + θ [Nx NyT dΩ + T + T
N N dΩ + C’ − θ [Ny M dΩ +
∆t
n
X Z n
X
+ {. . . A +θ [N T uN NxT + N T vN NyT ]dΩ + + {. . .
e=1 Z Z e=1 Z
T
D’ − νθ τ [N uNxT +N T
vNyT ] Nyx dΩ} D + νθ [Nx NxT + 2Ny NyT ]dΩ + C’ − νθ τ [N T uNxT + N T vNyT ] M y dΩ}
n
X
+ {. . .
e=1 Z
1
T + τ [N T uNxT + N T vNyT ] N dΩ +
∆t
Z
A + τ [N T uNxT + N T vNyT ] [N T uNxT + N T vNyT ]dΩ +
Z
D +θ τ [N T uNxT + N T vNyT ] [N T uNxT + N T vNyT ]dΩ +
Z
D − νθ τ [N T uNxT + N T vNyT ] [Nx NxT + 2Ny NyT ]dΩ}
Z Z
C +θ [Nx M T dΩ + C + θ [Ny M T dΩ +
T Time Matrix; A Convection Matrix; D Diffusion Matrix; C Continuity Matrix.
As seen from the color code in the matrix above, a simpler version of the E matrix can be written
according to the physical
i h imeaning iof the termsh that
i compose the terms of the system hof equations
T + A + D C 0 · u = f1 . Where u is the vector of sought values and f1 is the
h h i
C 0 p f2 p f2
vector of known values. This system of equations has been implemented in EduFEM according to the
attached flow chart.

Driven flow cavity problem (2D)


We begin to numerically solve the classi-
cal lid-driven flow problem. This test has
been widely used as a benchmark for nu-
merical methods. The problem descrip-
tion, boundary conditions and the correspond-
ing meshes are shown bellow. Length of
the cavity is L = 1, characteristic veloc-
ity of the cavity moving wall AB is u =
1 and v = 0, the velocity of other walls
BC, CD and DA is u = v = 0 and
the pressure reference point where p = 0
is D point. The total computational time
is 10s. Below are shown the results from
the unstable flow test case code in EduFEM
with Re=750,000 without the stabilization
terms (on the left) and the result imple-
menting the SUPG stabilization terms (on the
right).
Figure 1: conditions of driven cavity flow.

Figure 2: Re = 750,000 without SUPG Figure 3: Re = 750,000 with SUPG

15

Das könnte Ihnen auch gefallen