• Non ci sono risultati.

DICACIM programme A.Y. 2019–20 Numerical Methods for Partial Differential Equations Lab 4 Numerical solution of Advection Diffusion Reaction problems Paola Gervasio

N/A
N/A
Protected

Academic year: 2021

Condividi "DICACIM programme A.Y. 2019–20 Numerical Methods for Partial Differential Equations Lab 4 Numerical solution of Advection Diffusion Reaction problems Paola Gervasio"

Copied!
12
0
0

Testo completo

(1)

.

DICACIM programme A.Y. 2019–20 Numerical Methods for Partial Differential

Equations

Lab 4

Numerical solution of Advection Diffusion Reaction problems

Paola Gervasio

DICATAM, Universit`a degli Studi di Brescia (Italy)

uniBS, May, 2020

(2)

Diffusione trasporto per d = 1

Scaricare il file FEM 1d ad.zip dalla pagina moodle del corso, contiene il file fem 1d adsolver.m.

h e l p f e m _ 1 d _ a d s o l v e r

f e m _ 1 d _ a d s o l v e r : s o l v e - mu u ’’ + bu ’+ s i g m a u = f in O m e g a w i t h D i r i c h l e t and / or N e u m a n n b o u n d a r y c o n d i t i o n s by e i t h e r P1 - fem or P2 - fem on a u n i f o r m g r i d.

[ nodes , uh ]= f e m _ 1 d _ a d s o l v e r ( geom , p r o b l e m _ d a t a , p , Ne )

[ nodes , uh ]= f e m _ 1 d _ a d s o l v e r ( geom , p r o b l e m _ d a t a , p , Ne , d e g r e e )

I n p u t : g e o m : s t r u c t wi t h f i e l d s : ... .

O u t p u t : n o d e s = c o l u m n a r r a y w i t h the n o d e s of the m e s h uh = c o l u m n a r r a y of the n u m e r i c a l s o l u t i o n

(3)

Problema 1

Approssimare la soluzione del problema

( −µu00+ bu0 = 0 in Ω = (0, 1) u(0) = 0, u(1) = 1.

(avendo posto µ = 0.02 e b = 1) con FEM-P1 e FEM-P2 e Ne = 10, 20, 30, 40, 80.

1 Calcolare il numero di P´eclet Pe =µbh2 e verificare che la soluzione numerica non presenta oscillazioni quando Pe < 1.

2 Sapendo che la soluzione esatta `e u(x ) = exb/µ− 1

eb/µ− 1

verificare che l’errore ku − uhkH1(Ω) converge linearmente per i P1 e quadraticamente per i P2 quando Pe < 1.

(4)

Problema 2

Approssimare la soluzione del problema

( −µu00+ bu0 = 0 in Ω = (0, 1) u(0) = 0, u(1) = 1.

(avendo posto µ = 0.02 e b = 1) con FEM-P1 e FEM-P2 ed il metodo della diffusione artificiale (cio`e sostituendo µ con µh= µ(1 + Pe)) per Ne = 10, 20, 30, 40, 80.

1 Verificare che non si hanno oscillazioni per ogni valore di h considerato, anche quando Pe > 1.

2 Sapendo che la soluzione esatta `e u(x ) = exb/µ− 1

eb/µ− 1

verificare che l’errore ku − uhkH1(Ω) converge linearmente sia per i P1 che per i P2.

(5)

Diffusione trasporto reazione per d = 2

Scaricare il file FEM 2d ad.zip dalla pagina moodle del corso, contiene il file fem 2d ad.m.

> > h e l p f e m _ 2 d _ a d

f e m _ 2 d _ a d C o m p u t e s m a t r i c e s and rhs f o r GaLS - FEM - P1 a p p r o x i m a t i o n of

- mu D e l t a u + b . n a b l a u + s i g m a u = f in O m e g a (2 D d o m a i n ) u = g_D D i r i c h l e t c o n d i t i o n s on the b o u n d a r y

G a L S = G a l e r k i n - Least - S q u a r e s s t a b i l i z a t i o n [ FEM ]= f e m _ 2 d _ a d ( model , p r o b l e m _ d a t a , p a r a m e t e r s )

I n p u t : ...

p a r a m e t e r s = s t r u c t w i t h f i e l d s

. d e g r e e = d e g r e e of e x a c t n e s s of q u a d r a t u r e f o r m u l a s ( d e f a u l t v a l u e =4) p o s s i b l e v a l u e s : 1 , 3 , 4 , 10 . d e l t a = c o e f f i c i e n t f o r the s t a b i l i z a t i o n

( d e f a u l t v a l u e =1)

(6)

O u t p u t :

FEM = s t r u c t w i t h f i e l d s :

. Kc : % matrix A0, (i,j) non−dirichlet

. Fc : % rhs f0, (i) non−dirichlet

. B : % matrix to remap u0 in u

. ud : % ud = discrete lifting Rgd^h of gD

. M : % mass matrix

(7)

Un passo indietro

Consideriamo il problema

( Lu = −µ∆u + b · ∇u + σu = f in Ω

u = gD on ∂Ω

con µ > 0 costante, b costante, σ ≥ 0 costante.

La forma debole `e: determinare u = u0+ RgD, dove:

u0∈ H01(Ω) : a(u0, v ) = F (v ) ∀v ∈ H01(Ω) con

a(u, v ) = Z

µ∇u · ∇v + Z

b · ∇uv + Z

σuv , F (v ) = Z

fv e RgD ∈ H1(Ω) `e il lifting di gD, cio`e t.c. RgD = gD su ∂Ω.

(8)

Definiamo lo spazio FEM-P1:

Xh= {v ∈ C0(Ω) : v |Tk ∈ P1, ∀Tk ∈ Th}

e la base Lagrangiana β = {ϕi}Ni =1h (incluse le funzioni associate ai nodi Dirichlet).

I = {1, 2, . . . , Nh}, ID = {i ∈ I : xi ∈ ∂ΩD}, I0 = I \ ID. La soluzione discreta `e

uh=

Nh

X

j=1

ujϕj = X

j∈I0

ujϕj

| {z }

u0h

+ X

j∈ID

uj

| {z }

RgDh

con (lifting discreto) RgDh(xi) =

( gD(xi) se xi ∈ ∂ΩD 0 altrimenti.

(9)

Poniamo

A matrice di elementi Aij = a(ϕj, ϕi) per i , j ∈ I, A0 la sottomatrice di A con i , j ∈ I0,

AD la sottomatrice di A con i ∈ I0 e j ∈ ID, f vettore di elementi fi = F (ϕi) per i ∈ I, f0 il sottovettore di f con i ∈ I0,

gD vettore dei valori gD(xi) con i ∈ ID, u0 = [uj]j∈I0, dof non-Dirichlet,

uD = [uj]j∈ID, dof Dirichlet.

e la formulazione algebrica del problema in forma debole Galerkin `e:

"

A0 AD

0 I

# "

u0

uD

#

=

"

f0

gD

# ← i ∈ I0 nodi non-Dirichlet

← i ∈ ID nodi Dirichlet

(10)

Cio`e:

uD = gD, A0u0+ ADuD = f0 e quindi

A0u0 = f0− ADgD. Infine ricostruiamo

u =

"

u0 0

# +

"

0 uD

#

FEM.Kc contiene la matrice A0 FEM.Fc contiene il vettore f0− ADgD FEM.B contiene una matrice B t.c. Bu0 =

"

u0 0

#

FEM.ud contiene il vettore

"

0 uD

#

Per calcolare u:

u0 = FEM . Kc \ FEM . Fc ; % risolvo FEM.Kc u0 = FEM.Fc

(11)

Galerkin Least Squares GaLS stabilization

La formulazione GaLS `e: determinare uh∈ Vh:

a(uh, vh) +X

k

Z

Tk

Luh τk Lvh= F (vh) +X

k

Z

Tk

f τk Lvh ∀vh∈ Vh con τk = δ|b|hk parametro di stabilizzazione, δ > 0.

1 Poich´e Lu = f , (u `e la soluzione esatta) si ha X

k

Z

Tk

Lu τk Lvh=X

k

Z

Tk

f τk Lvh ∀vh∈ Vh, questo metodo `e fortemente consistente, la soluzione esatta soddisfa l’equazione discreta senza errori.

2 Per ogni vh∈ Xh (sono P1), poich´e µ `e costante, succede che

−∇ · (µ∇vh) = 0, quindi Z

Tk

Luh τk Lvh= Z

Tk

(b · ∇uh+ σuhk(b · ∇vh+ σvh).

3 Se δ = 0, GaLS si riduce a Galerkin classico.

(12)

Problema 3

Approssimare la soluzione del problema

( −µ∆u + b · ∇u + σu = f in Ω = (0, 1)2

u = gD on ∂Ω

avendo fissato µ = 10−3, b = [1, 1]T, σ = 0, f = 1, gD = 0.

1 Fissare δ = 0, corrispondente a Galerkin classico e calcolare la soluzione numerica con h = 1/20 e h = 1/80.

2 Fissare δ = 1 e calcolare la soluzione numerica con h = 1/20 e h = 1/80.

3 Ripetere il lavoro con µ = 10−5.

Riferimenti

Documenti correlati

We implement a second-order exponential integrator for semidiscretized advection- diffusion-reaction equations, obtained by coupling exponential-like Euler and Mid- point

6 Higher Order Multi-step Iterative Method for Computing the Numerical Solution of Systems of Nonlinear Equations: Application to Nonlinear PDEs and ODEs 82 6.1

Furthermore, we think that it could be useful also for appli- cations to a-posteriori error analysis, a field which is well developed for conforming approximations but much less

When A has a unique null eigenvalue, while the others are either all positive or all negative, then the PDE is named parabolic.. The heat equation is a linear 2nd-order

Elliptic problems: strong and weak forms Elements of functional analysis..

DICATAM, Universit` a degli Studi di Brescia (Italy). uniBS,

DICATAM, Universit` a degli Studi di

DICATAM, Universit` a degli Studi di Brescia (Italy).. 11 Paola Gervasio - DICATAM