23.01.2014 Views

Hybrid Discontinuous Galerkin methods for incompressible flow ...

Hybrid Discontinuous Galerkin methods for incompressible flow ...

Hybrid Discontinuous Galerkin methods for incompressible flow ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Hybrid</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> <strong>methods</strong> <strong>for</strong><br />

<strong>incompressible</strong> <strong>flow</strong> problems<br />

Christoph Lehrenfeld, Joachim Schöberl<br />

MathCCES<br />

Computational<br />

Mathematics<br />

in Engineering<br />

DG Workshop Linz, May 31 - June 1, 2010


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


<strong>Hybrid</strong> DG <strong>for</strong> scalar convection<br />

diffusion equations<br />

−∆u + div(bu) = f


Discretization space<br />

Trial functions are:<br />

◮ discontinuous<br />

◮ piecewise polynomials<br />

(on each facet and element)<br />

with appropriate <strong>for</strong>mulations we get<br />

◮ more unknowns but less matrix entries<br />

◮ implementation fits into standard<br />

element-based assembling<br />

◮ structure allows condensation of element<br />

unknowns


HDG <strong>for</strong>mulation <strong>for</strong> −∆u<br />

Symmetric Interior Penalty Formulation (τ h ∼ h ):<br />

p 2<br />

B DG (u, v) = ∑ ∫<br />

∇u∇v dx<br />

T T<br />

+ ∑ { ∫ { ∂u<br />

} ∫ { ∂v<br />

} ∫<br />

}<br />

− [[v]] ds − [[u]] ds + τ h [[u]][[v]] ds<br />

E E ∂n<br />

E ∂n<br />

E<br />

<strong>Hybrid</strong> Symmetric Interior Penalty Formulation (τ h ∼ h ):<br />

p 2<br />

B ( (u,u F ),(v,v F ) ) = ∑ { ∫<br />

∇u ∇v dx<br />

T T<br />

∫<br />

∫<br />

∂u<br />

−<br />

∂T ∂n (v − v ∂v<br />

F ) ds −<br />

∂T ∂n (u − u F ) ds<br />

∫<br />

}<br />

+ τ h (u − u F )(v − v F ) ds<br />

∂T<br />

This and other hybridizations of CG, mixed and DG <strong>methods</strong> were discussed in<br />

[Cockburn+Gopalakrishnan+Lazarov,’08]


HDG <strong>for</strong>mulation <strong>for</strong> −∆u<br />

Symmetric Interior Penalty Formulation (τ h ∼ h ):<br />

p 2<br />

B DG (u, v) = ∑ ∫<br />

∇u∇v dx<br />

T T<br />

+ ∑ { ∫ { ∂u<br />

} ∫ { ∂v<br />

} ∫<br />

}<br />

− [[v]] ds − [[u]] ds + τ h [[u]][[v]] ds<br />

E E ∂n<br />

E ∂n<br />

E<br />

<strong>Hybrid</strong> Symmetric Interior Penalty Formulation (τ h ∼ h ):<br />

p 2<br />

B ( (u,u F ),(v,v F ) ) = ∑ { ∫<br />

∇u ∇v dx<br />

T T<br />

∫<br />

∫<br />

∂u<br />

−<br />

∂T ∂n (v − v ∂v<br />

F ) ds −<br />

∂T ∂n (u − u F ) ds<br />

∫<br />

}<br />

+ τ h (u − u F )(v − v F ) ds<br />

∂T<br />

This and other hybridizations of CG, mixed and DG <strong>methods</strong> were discussed in<br />

[Cockburn+Gopalakrishnan+Lazarov,’08]


HDG <strong>for</strong>mulation <strong>for</strong> div(bu) = f (div(b) = 0)<br />

After partial integration on each element we get<br />

∫<br />

div(bu) v dx = ∑ { ∫<br />

∫<br />

− bu ∇v dx +<br />

Ω<br />

T<br />

T<br />

Upwind DG −→ <strong>Hybrid</strong>ized Upwind DG:<br />

∂T<br />

}<br />

b n u ? v ds<br />

u UDG =<br />

{<br />

unb if b n ≤ 0<br />

u if b n > 0<br />

=⇒ u HUDG =<br />

{<br />

uF if b n ≤ 0<br />

u if b n > 0


HDG <strong>for</strong>mulation <strong>for</strong> div(bu) = f (div(b) = 0)<br />

After partial integration on each element we get<br />

∫<br />

div(bu) v dx = ∑ { ∫<br />

∫<br />

− bu ∇v dx +<br />

Ω<br />

T<br />

T<br />

Upwind DG −→ <strong>Hybrid</strong>ized Upwind DG:<br />

∂T<br />

}<br />

b n u ? v ds<br />

u UDG =<br />

{<br />

unb if b n ≤ 0<br />

u if b n > 0<br />

=⇒ u HUDG =<br />

{<br />

uF if b n ≤ 0<br />

u if b n > 0<br />

+ ∑ T<br />

∫<br />

∂T out<br />

b n (u F − u)v F ds<br />

This gives us an appropriate bilinear<strong>for</strong>m C ( (u, u F ), (v, v F ) ) <strong>for</strong> the<br />

convective term. Already used in [Egger+Schöberl, ’09]


HDG <strong>for</strong>mulation <strong>for</strong> div(bu) = f (div(b) = 0)<br />

After partial integration on each element we get<br />

∫<br />

div(bu) v dx = ∑ { ∫<br />

∫<br />

− bu ∇v dx +<br />

Ω<br />

T<br />

T<br />

Upwind DG −→ <strong>Hybrid</strong>ized Upwind DG:<br />

∂T<br />

}<br />

b n u ? v ds<br />

u UDG =<br />

{<br />

unb if b n ≤ 0<br />

u if b n > 0<br />

=⇒ u HUDG =<br />

{<br />

uF if b n ≤ 0<br />

u if b n > 0<br />

+ ∑ T<br />

∫<br />

∂T out<br />

b n (u F − u)v F ds<br />

This gives us an appropriate bilinear<strong>for</strong>m C ( (u, u F ), (v, v F ) ) <strong>for</strong> the<br />

convective term. Already used in [Egger+Schöberl, ’09]


HDG <strong>for</strong>mulation <strong>for</strong> −∆u + div(bu) = f (div(b) = 0)<br />

Now we can add the introduced bilinear<strong>for</strong>ms together and easily get a<br />

<strong>for</strong>mulation <strong>for</strong> the convection diffusion problem:<br />

A ( (u, u F ), (v, v F ) ) := B ( (u, u F ), (v, v F ) ) + C ( (u, u F ), (v, v F ) ) = (f , v)


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


<strong>Hybrid</strong> DG <strong>for</strong> <strong>incompressible</strong><br />

Navier Stokes Equations<br />

div(−ν∇u + u ⊗ u + pI ) = f<br />

div u = 0<br />

+ b.c.


(steady) <strong>incompressible</strong> Navier Stokes Equations<br />

variational <strong>for</strong>mulation:<br />

B(u, v) + C(u; u, v) + D(p, v) + D(q, u) = f (v)<br />

where B is a suitable bilinear<strong>for</strong>m <strong>for</strong> the viscous term, D is the<br />

bilinear<strong>for</strong>m <strong>for</strong> the incompressibility-constraint and the pressure term<br />

and C is the convective Trilinear<strong>for</strong>m.<br />

tasks:<br />

◮ Find an appropriate discretization space<br />

◮ Find appropriate bilinear<strong>for</strong>ms<br />

◮ Find an iterative procedure to solve the nonlinearity (⇒ Oseen its.)


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


H(div)-con<strong>for</strong>ming elements <strong>for</strong> Navier Stokes<br />

[Cockburn, Kanschat, Schötzau, 2005]:<br />

DG<br />

+<br />

inc. Navier-Stokes<br />

+<br />

local conservation<br />

+<br />

energy-stability<br />

=⇒<br />

need exactly<br />

divergence-free<br />

convective velocity<br />

<strong>for</strong> C(u; u, v)


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


H(div)-con<strong>for</strong>ming elements <strong>for</strong> Navier Stokes<br />

Trial and test functions:<br />

◮ normal-cont., tangential-discont.<br />

velocity element functions,<br />

piecewise polynomial<br />

(degree k)<br />

u, v<br />

◮ facet velocity functions <strong>for</strong> the<br />

tangential component only,<br />

piecewise polynomial<br />

(degree k)<br />

u t F , v t F<br />

◮ discont. element pressure functions,<br />

piecewise polynomial<br />

(degree k − 1)<br />

p, q


<strong>Hybrid</strong> DG Navier Stokes bilinear<strong>for</strong>ms<br />

Viscosity:<br />

B ( (u, u F ), (v, v F ) ) =<br />

Convection:<br />

−<br />

∑ T<br />

∫<br />

∂T<br />

C ( w; (u, u F ), (v, v F ) ) = ∑ T<br />

pressure / incompressibility constraint:<br />

D ( (u, u F ), q ) = ∑ ∫<br />

T<br />

{ ∫<br />

∫<br />

ν ∇u : ∇v dx − ν ∇u · n (v t − vF t ) ds<br />

T<br />

∂T<br />

∫<br />

}<br />

ν ∇v · n (u t − uF t ) ds + ντ h (u t − uF t ) · (v t − vF t ) ds<br />

∂T<br />

{ ∫<br />

∫<br />

∫<br />

}<br />

− u⊗w : ∇v dx+ w nu up v ds+ w n(uF t −u t )vF t ds<br />

T<br />

∂T<br />

∂T out<br />

T<br />

div(u)q dx<br />

⇒ weak incompressibility (+ H(div)-con<strong>for</strong>mity) ⇒ exactly divergence-free solutions


Contents<br />

◮ The <strong>methods</strong>:<br />

Cockburn, Lazarov,<br />

Gopalakrishnan, 2008<br />

Egger, Schöberl, 2009<br />

HDG<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Scalar<br />

convection<br />

diffusion<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(IPDG)<br />

(UDG) (IPDG)<br />

(UDG)<br />

Cockburn, Kanschat,<br />

Schötzau, 2005<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(HIPDG)<br />

(HUDG) (HIPDG)<br />

(HUDG)<br />

<strong>incompressible</strong><br />

Navier<br />

Stokes<br />

Equations<br />

H(div)-conf.<br />

H(div)-conf.<br />

DG<br />

DG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(IPDG)<br />

(IPDG)<br />

(UDG)<br />

(UDG)<br />

H(div)-conf.<br />

H(div)-conf.<br />

HDG<br />

HDG<br />

<strong>for</strong><br />

<strong>for</strong><br />

NSE<br />

NSE<br />

(exactly<br />

(exactly<br />

divfree)<br />

divfree)<br />

(HIPDG)<br />

(HIPDG)<br />

(HUDG)<br />

(HUDG)<br />

Schöberl,<br />

Zaglmayr, 2005<br />

Reduced<br />

Reduced<br />

'high order<br />

'high order<br />

divfree'<br />

divfree'<br />

basis<br />

basis<br />

◮ Software, Examples, Conclusion


Reduced basis H(div)-con<strong>for</strong>ming Finite Elements<br />

We use the construction of high order finite elements of<br />

[Schöberl+Zaglmayr, ’05, Thesis Zaglmayr ’06]:<br />

It is founded on the de Rham complex<br />

H 1 ∇ −→ H(curl)<br />

curl<br />

−→ H(div)<br />

div<br />

−→ L 2<br />

⋃ ⋃ ⋃ ⋃<br />

W h<br />

∇<br />

curl<br />

div<br />

−→ Vh −→ S h −→<br />

Q h<br />

1 + 3 + a a + 3 + 3 + b b + 3 + 1 + c c + 1<br />

Leading to a natural separation of the space (<strong>for</strong> higher order)<br />

W hp = W L1 + span{ϕ W h.o.}<br />

V hp = V N0 + span{∇ϕ W h.o.} + span{ϕ V h.o.}<br />

S hp = S RT 0<br />

+ span{curl ϕ V h.o.} + span{ϕ S h.o.}<br />

Q hp = Q P0 + span{div ϕ S h.o.}


Reduced basis H(div)-con<strong>for</strong>ming Finite Elements<br />

We use the construction of high order finite elements of<br />

[Schöberl+Zaglmayr, ’05, Thesis Zaglmayr ’06]:<br />

It is founded on the de Rham complex<br />

H 1 ∇ −→ H(curl)<br />

curl<br />

−→ H(div)<br />

div<br />

−→ L 2<br />

⋃ ⋃ ⋃ ⋃<br />

W h<br />

∇<br />

curl<br />

div<br />

−→ Vh −→ S h −→<br />

Q h<br />

1 + 3 + a a + 3 + 3 + b b + 3 + 1 + c c + 1<br />

Leading to a natural separation of the space (<strong>for</strong> higher order)<br />

W hp = W L1 + span{ϕ W h.o.}<br />

V hp = V N0 + span{∇ϕ W h.o.} + span{ϕ V h.o.}<br />

S hp = S RT 0<br />

+ span{curl ϕ V h.o.} + span{ϕ S h.o.}<br />

Q hp = Q P0 + span{div ϕ S h.o.}


Reduced basis H(div)-con<strong>for</strong>ming Finite Elements<br />

We use the construction of high order finite elements of<br />

[Schöberl+Zaglmayr, ’05, Thesis Zaglmayr ’06]:<br />

It is founded on the de Rham complex<br />

H 1 ∇ −→ H(curl)<br />

curl<br />

−→ H(div)<br />

div<br />

−→ L 2<br />

⋃ ⋃ ⋃ ⋃<br />

W h<br />

∇<br />

curl<br />

div<br />

−→ Vh −→ S h −→<br />

Q h<br />

1 + 3 + a a + 3 + 3 + b b + 3 + 1 + c c + 1<br />

Leading to a natural separation of the space (<strong>for</strong> higher order)<br />

W hp = W L1 + span{ϕ W h.o.}<br />

V hp = V N0 + span{∇ϕ W h.o.} + span{ϕ V h.o.}<br />

S hp = S RT 0<br />

+ span{curl ϕ V h.o.} + span{ϕ S h.o.}<br />

Q hp = Q P0 + span{div ϕ S h.o.}


Reduced basis H(div)-con<strong>for</strong>ming Finite Elements<br />

We use the construction of high order finite elements of<br />

[Schöberl+Zaglmayr, ’05, Thesis Zaglmayr ’06]:<br />

It is founded on the de Rham complex<br />

H 1 ∇ −→ H(curl)<br />

curl<br />

−→ H(div)<br />

div<br />

−→ L 2<br />

⋃ ⋃ ⋃ ⋃<br />

W h<br />

∇<br />

curl<br />

div<br />

−→ Vh −→ S h −→<br />

Q h<br />

1 + 3 + a a + 3 + 3 + b b + 3 + 1 + c c + 1<br />

Leading to a natural separation of the space (<strong>for</strong> higher order)<br />

W hp = W L1 + span{ϕ W h.o.}<br />

V hp = V N0 + span{∇ϕ W h.o.} + span{ϕ V h.o.}<br />

S hp<br />

∗<br />

= S RT 0<br />

+ span{curl ϕ V h.o.}<br />

Q hp = Q P0 + span{div ϕ S h.o.}


space separation in 2D<br />

div(Σ k h ) =⊕ T<br />

RT 0 DOF<br />

higher order edge<br />

DOF<br />

higher order div.-free<br />

DOF<br />

higher order DOF with nonz. div<br />

RT 0 shape fncs. curl of H 1 -edge fncs. curl of H 1 -el. fncs. remainder<br />

P 0 (T ) ⊕ {0} ⊕ {0} ⊕ ⊕ T<br />

[P k−1 ∩ P 0⊥ ](T )<br />

1<br />

#DOF = 3 + 3k + 2 k(k − 1) + 1<br />

2 k(k + 1) − 1<br />

discrete functions have only piecewise constant divergence<br />

⇒ only piecewise constant pressure necessary <strong>for</strong> exact incompressibility


Summary of ingredients and properties<br />

So, we have presented a new Finite Element Method <strong>for</strong> Navier Stokes,<br />

with<br />

◮ H(div)-con<strong>for</strong>ming Finite Elements<br />

◮ <strong>Hybrid</strong> <strong>Discontinuous</strong> <strong>Galerkin</strong> Method <strong>for</strong> viscous terms<br />

◮ Upwind flux (in HDG-sence) <strong>for</strong> the convection term<br />

leading to solutions, which are<br />

◮ locally conservative<br />

◮ energy-stable ( d dt ‖u‖2 L 2<br />

≤ C ν ‖f ‖2 L 2<br />

)<br />

◮ exactly <strong>incompressible</strong><br />

◮ static condensation<br />

◮ standard finite element assembly is possible<br />

◮ less matrix entries than <strong>for</strong> std. DG approaches<br />

◮ reduced basis possible


Software, Examples and<br />

Conclusion


Software<br />

Netgen<br />

◮ Downloads: http://source<strong>for</strong>ge.net/projects/netgen-mesher/<br />

◮ Help & Instructions: http://netgen-mesher.wiki.source<strong>for</strong>ge.net<br />

NGSolve (including the presented scalar HDG <strong>methods</strong>)<br />

◮ Downloads: http://source<strong>for</strong>ge.net/projects/ngsolve/<br />

◮ Help & Instructions: http://source<strong>for</strong>ge.net/apps/mediawiki/ngsolve<br />

NGS<strong>flow</strong> (including the presented <strong>methods</strong>)<br />

◮ Downloads: http://source<strong>for</strong>ge.net/projects/ngs<strong>flow</strong>/<br />

◮ Help & Instructions: http://source<strong>for</strong>ge.net/apps/mediawiki/ngs<strong>flow</strong><br />

NGS<strong>flow</strong> is the <strong>flow</strong> solver add-on to NGSolve.<br />

It includes:<br />

◮ The presented Navier Stokes Solver<br />

◮ A package solving <strong>for</strong> heat (density) driven <strong>flow</strong>


Examples<br />

2D Driven Cavity (u top = 0.25, ν = 10 −3 )


Examples<br />

2D laminar <strong>flow</strong> around a disk (Re=100):<br />

3D laminar <strong>flow</strong> around a cylinder (Re=100):


Heat driven <strong>flow</strong><br />

changes in density are small:<br />

◮ incompressibility model is still acceptable<br />

◮ changes in density just cause some buoyancy <strong>for</strong>ces<br />

Boussinesq-Approximation:<br />

Incompressible Navier Stokes Equations are just modified at the <strong>for</strong>ce<br />

term:<br />

f = g → (1 − β(T − T 0 ))g β : heat expansion coefficient<br />

Convection-Diffusion-Equation <strong>for</strong> the temperature<br />

∂T<br />

∂t + div(−λ∇T + u · T ) = q<br />

◮ Discretization of Convection Diffusion Equation with HDG method<br />

◮ Weak coupling of unsteady Navier Stokes Equation and unsteady<br />

Convection Diffusion Equation<br />

◮ Higher Order (p ∈ 1, .., 5) in time with IMEX schemes


Examples<br />

Benard-Rayleigh example:<br />

Top temperature: constant 20 ◦ C<br />

Bottom temperature: constant 20.5 ◦ C<br />

Initial mesh and initial condition (p = 5):


Conclusion and ongoing work<br />

Conclusion:<br />

efficient <strong>methods</strong> <strong>for</strong><br />

◮ scalar convection diffusion equations<br />

◮ Navier Stokes Equations<br />

using<br />

◮ <strong>Hybrid</strong> DG<br />

◮ H(div)-con<strong>for</strong>ming Finite Elements<br />

◮ reduced basis<br />

related/future work:<br />

◮ heat driven <strong>flow</strong> (Boussinesq Equations)<br />

◮ time integration (IMEX schemes, ...)<br />

◮ 3D Solvers (Preconditioners, ...)


Thank you <strong>for</strong> your attention!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!