Sei sulla pagina 1di 79

Il metodo Level-Set per problemi

di fluidi bifase

Camilla Cattivelli
Luca Fenini
Indice

i
Parte I

Risoluzione di problemi di
fluidodinamica
1 Le equazioni di Navier-Stokes
Per arrivare a poter parlare di fluidi a superficie libera è ovvio che una trattazione esaustiva
debba partire dallo studio dei fluidi in generale. Nel nostro caso noi ci concentreremo su
fluidi Newtoniani incomprimibili a densità costante, il cui moto è notoriamente governato
dalle equazioni di Navier-Stokes. Queste equazioni si ricavano dai principi del bilancio
della quantità di moto e della conservazione della massa (equazione di continuità) agenti
su qualsiasi volume infinitesimo e assumono la forma di:

 ∂u + (u· ∇)u − ν∆u + ∇p = f x ∈ Ω, t > 0
∂t (1.1)
divu = 0 x ∈ Ω, t > 0

dove u rappresenta il vettore velocità del fluido, ρ la sua densità, p il rapporto fra pressione
e densità, µ la viscosità dinamica, ν = µρ la viscosità cinematica, f una generica forzante
esterna, e infine Ω un dominio contenuto in Rd con d=2,3.

1.1 Fisica delle equazioni


Come abbiamo già accennato la prima equazione è un bilanciamento della quantità di moto:
questa varia nel tempo a causa della variazione della velocità stessa ma anche per effetti
convettivi e diffusivi (secondo e terzo termine). Osserviamo inoltre che la prima equazione
scritta è in realtà un’equazione vettoriale e perciò, quando noi andremo a risolvere un
problema in dimensione d, dovremo ricavere d + 1 incognite (d componenti della velocità
più la pressione) da altrettante equazioni rappresentate da (??).
Per quanto riguarda la seconda equazione è interessante soffermarci sul fatto che la vera
equazione di continuità sarebbe
∂ρ
+ div(ρu) = 0 (1.2)
∂t
che sviluppando il termine della divergenza diventa
∂ρ
+ ρ divu + u· ∇ρ = 0. (1.3)
∂t
La (??) tuttavia non è equivalente alla condizione di incomprimibilità

div(u) = 0 (1.4)

in quanto da quest’ultima non si riesce a risalire all’equazione di continuità. La (??) infatti


annulla solo il secondo termine della (??). Osserviamo però che i due termini restanti sono
quelli che formano la derivata totale nel tempo
Dρ(x, t) ∂ρ ∂x ∂ρ ∂ρ
= + · = + u· ∇ρ. (1.5)
Dt ∂t ∂t ∂x ∂t
In generale quindi l’equazione di continuità corrisponde alla duplice richiesta dell’incom-
primibilità del fluido unita all’annullamento della derivata totale temporale della densità.

2
Nella nostra trattazione assumeremo sempre inoltre che il fluido sia caratterizzato anche
da densità costante in spazio e tempo: questa ipotesi aggiuntiva ci permette di dare per
scontato l’annullamento della derivata totale della densità e quindi per noi la solenoidalità
del campo u sarà equivalente all’equazione di continuità.
Torniamo ora ad occuparci della (??) e evidenziamo come per poter affermare di avere
un problema ben posto sia necessario fornire anche condizioni iniziali

u(x,0) = u0 (x) ∀x ∈ Ω, (1.6)

e al contorno ∀t > 0

u(x, t) = ϕ(x, t) ∀x ∈ ΓD
(1.7)
 ν ∂u − pn (x, t) = ψ(x, t)
 
∀x ∈ ΓN
∂n
con u0 , φ e ψ funzioni vettoriali assegnate, n versore normale uscente rispetto alla frontiera
◦ ◦
del dominio ∂Ω, ΓD e ΓN sottoinsiemi aperti di ∂Ω tali che ΓD ∪ ΓN = ∂Ω e ΓD ∩ ΓN = ∅.
L’esistenza e l’unicità della soluzione in senso classico sono tuttavia due concetti che non
dipendono solo dalla buona positura data dalle condizioni iniziali e al bordo. Limitando
l’analisi ai casi 2D e 3D, infatti si può dimostrare che il problema sopra presentato ammette
un’unica soluzione nel senso classico solo nel caso bidimensionale. In 3 dimensioni invece si
vengono a formare fenomeni che generano singolarità nella soluzione e quindi non si riesce
a dimostrare l’unicità della soluzione per tempi non piccoli.

1.2 Formulazione debole


Procediamo formalmente per ora per cercare di ottenere una formulazione debole del pro-
blema (??) e moltiplichiamo la prima equazione per una generica funzione test v ∈ V con
V opportuno spazio da definire. Per ogni istante temporale t > 0, integrando sul dominio
Ω otteniamo
Z Z Z Z Z
∂u
· v dΩ − ν∆u· v dΩ + [(u· ∇)u]· v dΩ + ∇p· v dΩ = f · v dΩ
Ω ∂t Ω Ω Ω Ω

da cui, scaricando le derivate sulla v usando la formula di Green nel secondo e quarto
termine, otteniamo la formulazione debole per l’equazione di bilancio della quantità di
moto
Z Z Z
∂u
· v dΩ + ν∇u· ∇v dΩ + [(u· ∇)u]· v dΩ +
Ω ∂t
Z Ω
Z Z Ω (1.8)
∂u 
− p divv dΩ = f · v dΩ + ν − pn · v dγ ∀v ∈ V.
Ω Ω ∂Ω ∂n
A questo punto procediamo a cercare la forma debole dell’equazione di continuità e que-
sta volta scegliamo una funzione test q scalare in uno spazio Q ancora da specificare.
Integrando su Ω otteniamo
Z
q divu dΩ = 0 ∀q ∈ Q. (1.9)

3
Come scegliamo ora gli spazi V e Q in cui cercare rispettivamente la velocità e la pres-
sione?
Iniziamo conRlo spazio in cui cerchiamo la velocità e come sempre, per soddisfare la richie-
sta di avere Ω ∇u· ∇v dΩ finito, scegliamo quel sottospazio delle funzioni H 1 (Ω) che si
annullano sul bordo di Dirchlet e cioè

V = {v ∈ [H 1 (Ω)]d : v|ΓD = 0} = : [HΓ1D (Ω)]d .

Questo è uno spazio di Hilbert con la norma H1 (Ω) , dove H1 (Ω) = [H 1 (Ω)]d e la norma
è definita come
Xd 1
2
kvkH1 (Ω) = kvk k2H 1 (Ω) .
k=1

Inoltre grazie alla disuguaglianza di Poincarè possiamo affermare che la norma k · kH1 (Ω)
è equivalente alla seminorma | · |H1 (Ω) .
Ugualmente per avere ben definito l’integrale della (??) scegliamo q (e quindi anche la
pressione p) in uno spazio di funzioni

Q = L2 (Ω).

Osserviamo tuttavia che nella richiesta dello spazio in cui cerchiamo la pressione è richiesta
un’ulteriore condizione. Infatti nelle equazioni di Navier-Stokes la pressione compare sem-
pre sotto il simbolo di gradiente e quindi, nel caso di condizioni al bordo solo di Dirichlet,
NON avremo l’unicità della pressione. Se infatti p è soluzione delle equazioni allora anche
p̄ = p + c sarà ugualmente soluzione in quanto ∇p = ∇p̄. Per ovviare a questo problema
una possibile soluzione utile dal punto di vista numerico è quello di assegnare il valore della
pressione in un punto qualsiasi del dominio in modo da determinare la pressione in modo
univoco: chiedo quindi
p(x0 ) = p0 . (1.10)
Dal punto di vista analitico però nasce il problema che p è una funzione scelta in L2 (Ω) e
quindi non ha senso definirla puntualmente in x0 ∈ Ω.
Dal punto di vista analitico è quindi più corretto chiedere una condizione non puntuale ma
integrale e quindi la scelta che in genere si fa è quella di chiedere p come l’unica pressione
a media nulla ossia Z
p dΩ = 0. (1.11)

Assecondando questa richiesta introduciamo un nuovo spazio


Z
L20 (Ω) := {p ∈ L2 (Ω) : p dΩ = 0},

e scegliamo Q = L20 (Ω).


Nel caso in cui invece ci sia un pezzo di bordo sul cui è definita una condizione di Nuemann
(o mista) non ci sono a priori problemi per l’unicità della pressione in quanto la pressione

4
compare non sotto gradiente in questa condizione. Pertanto avremo che l’insieme Q in cui
cerchiamo la pressione è:

Q = L2 (Ω) se ΓN =
/ ∅,
Q = L20 (Ω) se ΓN = ∅.

Osservazione 1.1. Nel caso di condizioni solo di Dirichlet dobbiamo anche chiedere che sia
soddisfatta la condizione di compatibilità su ϕ:
Z Z Z Z
0= divu dΩ = u· n dγ − u· ∇1 dΩ = ϕ· n dγ. (1.12)
Ω ∂Ω Ω ∂Ω

Ora che abbiamo trovato gli spazi adeguati in cui cercare le soluzioni controlliamo che
questi spazi siano sufficienti affinchè tutti gli integrali della (??) siano ben definiti :
Z
∂u
1. Il termine · v dΩ può essere interpretato come dualità su V in modo da

Ω ∂t
ottenere
| hu̇, viV 0 ,V | ≤ ku̇kV 0 kvkV = ku̇kV 0 kvkH1 (Ω) . (1.13)
Questo termine è finito se e solo se u̇ ∈ V 0 .

2. Grazie a Cauchy-Schwarz abbiamo


Z
(1.14)

ν
∇u· ∇v dΩ ≤ |u|H1 (Ω) |v|H1 (Ω)

3. Come prima abbiamo


Z
(1.15)

p divv dΩ ≤ |pkL2 (Ω) kdivvkL2 (Ω) ,

ma
Z Xd Z X d 
∂vk 2 ∂vk 2
kdivvk2L2 (Ω)
= dΩ ≤ c dΩ =
Ω k=1 ∂xk Ω k=1 ∂xk
Z 
∂v1 2  ∂v2 2  ∂v 2
d
=c + + ··· + dΩ = c|v|2H1 (Ω) .
Ω ∂x1 ∂x 2 ∂xd

Abbiamo quindi sostituendo in (??)


Z
(1.16)

p divv dΩ ≤ c|pkL2 (Ω) |v|H 1 (Ω) .

4. Un ragionamento diverso vale per il termine non lineare convettivo in cui bisogna
usare la disuguaglianza di Holder a più fattori per ottenere
Z
(1.17)

[(u· ∇)u]· v dΩ ≤ k∇ukL2 (Ω) kukL4 (Ω) kvkL4 (Ω) ,

5
e da qui sfruttare le immersioni di Sobolev che ci dicono che se d = 2 allora
H1 (Ω) ,→ Lp (Ω) con p ∈ [2, ∞), e se d ≥ 3 allora H1 (Ω) ,→ Lp (Ω) con p ∈ [2, n−2
2n
).
Lavorando noi in 2 o 3 dimensioni avremo quindi che H (Ω) ,→ L (Ω) e quindi
1 4

k · kL4 (Ω) ≤ ck · kH1 (Ω) ,

da cui ritornando a (??) abbiamo


Z
[(u· ∇)u]· v dΩ ≤ c2 |u|H1 (Ω) |v|H1 (Ω) . (1.18)


5. Per quanto riguarda i termini a secondo membro basterà chiedere f ∈ L2 (Ω), mentre
per l’integrale di bordo, ricordando la scelta di V che fa annullare le funzioni su ΓD
e le condizioni al bordo (??), si ottiene
Z Z
∂u
(ν − pn)· v dγ = ψ· v dγ ∀v ∈ V. (1.19)
∂Ω ∂n ΓN

Osserviamo ora che per avere la (??) minore di infinito serve u̇ ∈ V 0 e questo deve
valere ∀t > 0. La velocità la cercheremo quindi tale che u(x, t) ∈ L2 (R+ ; V ) con u̇(x, t) ∈
L2 (R+ ; V 0 ). Dalla teoria sappiamo inoltre che queste due condizioni ci regalano u(x, t) ∈
C(R+ ; L2 (Ω)) e questo ci permette di dare un senso alle condizioni al bordo che sono
definite puntualmente.
La formulazione debole del nostro problema in definitiva è:
cerco u(x, t) ∈ L2 (R+ ; V ) con u̇(x, t) ∈ L2 (R+ ; V 0 ), p ∈ L2 (R+ ; Q) tale che:
Z Z Z
∂u
· v dΩ + ν∇u· ∇v dΩ + [(u· ∇)u]· v dΩ +


∂t




 Ω Z Ω Z Ω Z

− p divv dΩ = f · v dΩ + ψ· v dγ ∀t > 0, ∀v ∈ V (1.20)

 Ω Ω ΓN

 Z

q divu dΩ = 0 ∀t > 0, ∀q ∈ Q.



6
2 Il problema di Stokes
Introduciamo ora il problema di Stokes che è un tipo particolare di problema di punto-sella.
La parte teorica verrà analizzata nel caso del problema di Stokes generalizzato che assume
la seguente forma
in Ω

αu − ν∆u + ∇p = f

divu = 0 in Ω (2.1)
su ∂Ω,

u=0

con α ≥ 0 e f ∈ [L2 (Ω)]d .


Dal punto di vista fisico questo sistema è una semplificazione delle equazioni di Navier-
Stokes ricavate in precedenza (fluido incomprimibile con viscosità costante) nel caso in
cui il numero di Reynolds è molto basso (abbiamo già visto infatti come in questo caso il
termine di trasporto risulti trascurabile). Tuttavia ci si imbatte in una formulazione simile
anche quando si discretizza in tempo con metodi impliciti le equazioni di Navier-Stokes
stesse.

2.1 Formulazione debole, di Galerkin e stime


d
Mantenendo gli spazi V = H01 (Ω) e Q = L20 (Ω) già definiti nella trattazione delle


equazioni di Navier-Stokes possiamo ricavare la seguente formulazione debole


Cerco u ∈ V e p ∈ Q tale che:
Z Z Z
 (αu· v + ν∇u· ∇v) dΩ −
 p divv dΩ = f · v dΩ ∀v ∈ V
ZΩ Ω Ω (2.2)
 q divu dΩ = 0
 ∀q ∈ Q.

Definiamo quindi le forme bilineari a : V × V → R e b : V × Q → R nel seguente modo
Z
a(u, v) = (αu· v + ν∇u· ∇v) dΩ, (2.3)

Z
b(u, q) = − q divu dΩ. (2.4)

Con queste definizioni possiamo riscrivere la (??) come


trovare (u, p) ∈ V × Q tali che
(
a(u, v) + b(v, p) = (f , v) ∀v ∈ V,
(2.5)
b(u, q) = 0 ∀q ∈ Q.

Osserviamo che le formulazione presentata è quella che si ottiene con condizioni di Dirichlet
omogenee; in caso contrario avremmo a termine noto due generici funzionali F (v) e G(q)
rispettivamente nella prima e nella seconda equazione, in cui saranno contenuti i dati
relativi al dato al bordo di Neumann (se presente) e al rilevamento del dato di Dirichlet.
A questo punto, al fine di ricavare l’esistenza e unicità della soluzione di(??), sfruttiamo

7
la natura del problema di Stokes che lo fa assomigliare a un problema di punto-sella. Per
la precisione vale il teorema che non dimostreremo che afferma che:
Teorema 2.1. La coppia (u, p) è soluzione di (??) se e solo se rappresenta un punto-sella
per il funzionale lagrangiano (in cui la pressione svolge il ruolo di moltiplicatore)
1
L(v, q) = a(v, v) + b(v, q) − (f , v),
2
e cioè
L(u, p) = min max L(v, q).
v∈V q∈Q

Ricordiamo inoltre che come già mostrato per le equazioni di Navier-Stokes si può
studiare il problema nella sola variabile u e ricavare poi a posteriori la pressione, in quanto
ci sono teoremi che ci possono garantire l’unicità della pressione p ∈ Q.
L’approssimazione alla Galerkin in sottospazi Vh ⊂ V e Qh ⊂ Q finito dimensionali del
problema (??) risulta immediata:
Cerco uh ∈ Vh e ph ∈ Qh tale che:
(
a(uh , vh ) + b(vh , ph ) = (f , vh ) ∀vh ∈ Vh ,
(2.6)
b(uh , qh ) = 0 ∀qh ∈ Qh .
Per la buona posizione di questo problema ci si appoggia al seguente teorema:
Teorema 2.2. Sia a una forma bilineare continua di costante γ e coerciva su Vh∗ definito
come
Vh,div = {vh ∈ Vh : b(vh , qh ) = 0 ∀qh ∈ Qh },
con costante di coercività α.
Sia b una forma bilineare continua di costante δ e che soddisfi la condizione: ∃ β eventual-
mente indipendente da h tale che

∀qh ∈ Qh ∃vh ∈ Vh : b(vh , qh ) ≥ βkvh kH1 (Ω) kqh kL2 (Ω) . (2.7)

Allora esiste una e una sola soluzione di (??).


Detto V’ lo spazio duale di V , valgono inoltre le stime a priori:
1
kuh kV ≤ kf kV 0
α
1 γ
kph kQ ≤ 1+ kf kV 0 .
β α
Detta (u, p) la coppia soluzione del problema (??), valgono le stime di convergenza:

ku − uh kV ≤ c1 inf ku − vh kV + c2 inf kp − qh kQ
vh ∈Vh qh ∈Qh

kp − ph kQ ≤ c3 inf ku − vh kV + c4 inf kp − qh kQ
vh ∈Vh qh ∈Qh

8
con
   
δ  γ γ γ δ δγ
c1 = 1 + 1+ c2 = c3 = c1 c4 = 1+ + .
β α α β β αβ

La condizione (??) viene detta condizione inf-sup in quanto equivale a chiedere

b(vh , qh )
inf sup ≥ β. (2.8)
qh ∈Qh ,qh =0
/ / kvh kV kqh kQ
vh ∈Vh ,vh =0

Questo vale perchè la richiesta della (??) di valere per ogni qh implica che questa debba
valere anche per l’inf su Qh , mentre l’esistenza di un singolo v̄h ∈ Vh implica che il valore
generato da questo singolo v̄h sia di sicuro un valore di b(v̄h , qh ) minore di quello che si
genera valutando b sul sup su Vh .

2.2 Formulazione algebrica


Il passo successivo alla formulazione di Galerkin è quello di scegliere una base adatta per
gli spazi finito-dimensionali che abbiamo introdotto e formulare quindi il problema come
sistema lineare.
Scegliamo le seguenti funzioni

{ϕj ∈ Vh }N
j=1 {φk ∈ Qh }M
k=1

come base rispettivamente per gli spazi Vh e Qh , con N = dim(Vh ) e M = dim(Qh ). Una
volta che abbiamo definito le basi possiamo scrivere qualsiasi funzione come combinazione
lineare delle funzioni di base: nel nostro caso avremo
N
X
uh (x) = uj ϕj (2.9)
j=1
M
X
ph (x) = p k φk . (2.10)
k=1

Scegliendo come funzioni test tutte le funzioni di base degli spazi Vh e Qh , e sostituendole
nella (??) otteniamo il sistema lineare
(
AU + BT P = F
(2.11)
BU = 0

con A ∈ RN ×N , B ∈ RM ×N tali che

A = [aij ] = a(ϕj , ϕi ) B = [bhk ] = b(ϕk , φh ),

e U ∈ RN e P ∈ RM vettori incogniti, F ∈ RN vettore dei termini noti tale che

Fi = (f , ϕi ).

9
Il sistema può essere riscritto attraverso l’utilizzo della matrice a blocchi S ∈ R(N +M )×(N +M )

A BT
     
U F
S= : S = (2.12)
B 0 P 0

Ovviamente il sistema appena scritto ammette una e una sola soluzione se e solo se la
matrice S è a rango pieno, e cioè se non è singolare. Questa proprietà vedremo che dipende
solo dalla matrice B in quanto A è una matrice simmetrica definita positiva e non crea
quindi problemi. Per la precisione si può mostrare che la richiesta necessaria su B discende
dalla condizione inf-sup. Risolvendo formalmente il sistema (??) dalla prima equazione
possiamo ricavare
U = A−1 (F − BT P),
che sostituita nella seconda equazione permette di ricavare un’espressione per la pressione,
ossia
P = (BA−1 BT )−1 BA−1 F. (2.13)
Osserviamo che il vettore BA−1 BT , detto complemento di Schur, risulta in genere mal
condizionato: nella risoluzione numerica si deve pertanto precondizionare il sistema con
opportuni precondizionatori dei quali tuttavia non parleremo in modo approfondito.
Il nostro obiettivo è quello di mostrare l’esistenza e unictà della soluzione del sistema
(??): dalla (??) deduciamo che è necessario che il complemento di Schur sia invertibile.
La matrice A grazie alla sua definizione attraverso la forma bilineare a è non singolare e
definita positiva, e quindi possiamo affermare che il complemento di Schur è non singolare
se e solo se il nulceo di BT è costituito dal solo vettore nullo.
Negare la condizione inf-sup discreta (??) equivale a chiedere che

∃ qh∗ ∈ Qh t.c v(vh , qh ) = 0 ∀vh ∈ Vh ,

che in forma algebrica diventa

∃ P∗ ∈ RM , P∗ =
/ 0 t.c VT BT P∗ = 0 ∀V ∈ RN . (2.14)

Dovendo valere per ogni possibile vettore V ∈ RN , la (??) implica che BT P∗ = 0 e cioè
che esiste un vettore P∗ non nullo nel nucleo di BT . Possiamo dunque afferma che

vale la condizione inf -sup ⇔ kerBT = {0}.

Ritornando alla nostra equazione ricavata formalmente, possiamo quindi dire che se vale
la condizione inf-sup allora si ha un complemento di Schur non singolare e quindi la (??)
è sensata dal punto di vista matematico e ci permette di ricavare un unico vettore della
pressione.

2.3 Stabilizzazione dei modi spuri di pressione


Abbiamo appena visto che chiedere che sia soddisfatta la condizione inf-sup implica l’esi-
stenza e unicità della soluzione del problema di Stokes; nel caso in cui questa non venga

10
soddisfatta si creano invece dei problemi riguardanti l’unicità della pressione. Introducia-
mo dunque i cosiddetti modi spuri di pressione,ossia funzioni che non vengono colte dalla
forma bilineare b (nel caso del problema di Stokes queste funzioni sono pressioni che vengo-
no anche dette pressioni parassite). Questi modi spuri compaiono nella soluzione numerica
in quanto, detto p˜h un modo spurio, questo soddisfa l’equazione

b(vh , p˜h ) = 0 ∀vh ∈ Vh . (2.15)

Se dunque ph è una soluzione del problema di Stokes, allora anche la pressione ph + p˜h sarà
tale da soddisfare il vincolo di incomprimibilità e risulterà quindi anch’essa una soluzione.
Per evitare questo problema si possono utilizzare 2 approcci:
• scegliere coppie di spazi di elementi finiti Vh e Qh che soddisfino la condizione inf-sup;

• stabilizzare il problema a posteriori.


Il primo tipo di approccio ha un forte vincolo che discende dalla condizione inf-sup che
sta nel fatto che i gradi di libertà di una triangolazione associati allo spazio Vh (uguali al
numero dei nodi moltiplicati per la dimensione d del problema) devono essere maggiori o
uguali al numero di gradi di libertà associati allo spazio Qh indipendentemente dalla forma
del dominio e dalla triangolazione che si sceglie. Questa condizione in generale si traduce
nel chiedere

Vh = Xhk = {vh ∈ C 0 (Ω) : vh |K ∈ Pk ∀K ∈ Th },


Qh = Xhk−1 con k ≥ 1,

con Th che indica la tassellazione del dominio e K un suo elemento.


Si sceglie in genere per Vh uno spazio di polinomi di grado maggiore rispetto a quello per
Qh perchè si dimsotra che se si scegliesse lo stesso spazio allora non verrebbe soddisfatta
la LBB. Scegliendo quindi per Vh uno spazio polinomiale di grado maggiore aumentano
i suoi gradi di libertà generando cosi una coppia di spazi stabili: una coppia stabile sarà
quindi quella formata dagli spazi P2 /P1 .

La scelta di spazi polinomiali di ordini diversi risulta però in genere più complicata
e laboriosa nella programmazione numerica; si sono quindi cercate soluzioni a partire da
spazi polinomiali dello stesso ordine che tuttavia aumentino il numero di gradi di libertà
associati a Vh . Le scelte più comuni che creano una coppia di spazi stabili sono P1 b/P1 e
P1 -isoP2 /P1 , dove P1 b è lo spazio formato dalle funzioni a bolla (che aggiungono un nodo
in più nel centro dell’elemento), e lo spazio P1 -isoP2 è uno spazio P1 su una mesh Th/2
generata unendo i punti medi di ogni lato degli elementi di Th , creando cosi una mesh
più fine. Cosa si intende parlando della mesh Th/2 lo si intuisce dalla figura ?? (c) in cui
a partire dall’elemento generico di diametro h si creano 4 elementi di diametro h/2 che
compongono di fatto la nuova tassellazione Th/2 . Le funzioni di base per questa nuova
triangolazione vengono scelte come polinomi di grado 1 su ogni elementino di diametro
h/2; infine il nome isoP2 si riferisce al fatto che i gradi di libertà che entrano in gioco sono
gli stessi che si hanno con una scelta degli spazi P2 /P1 .

11
(a) (b) (c)

Figura 2.1: La figura (a) mostra i gradi di libertà (• per la velocità e  per la pressione)
associati alla scelta degli spazi P1 /P1 e genera una coppia instabile, la (b)e la (c) sono
invece coppie stabili e le figure rappresentano i gradi di libertà associati rispettivamente
alla scelta degli spazi P1 b/P1 e P1 -isoP2 /P1 .

Il secondo tipo di approccio che si può utilizzare per evitare di generare modi spuri di
pressione è quello di introdurre un termine in più nella formulazione debole che garantisca
l’unicità della soluzione di Galerkin preservandone tuttavia la convergenza. Non solo:
vogliamo anche che il termine introdotto garantisca un ordine di convergenza legato al
grado polinomiale scelto per gli spazi funzionali. Se per esempio si sceglie di usare la
coppia instabile Pk /Pk vogliamo che il problema stabilizzato converga con ordine O(hk ).
Volendo inserire un termine per stabilizzare i modi spuri legati alla pressione, quello che
viene spontaneo fare è inserire un termine di stabilizzazione S(· , · ) : Q × Q: il problema
stabilizzato sarà quindi
(
a(uh , vh ) + b(vh , ph ) = F (vh ) ∀vh ∈ Vh
(2.16)
b(uh , qh ) − S(ph , qh ) = 0 ∀qh ∈ Qh .

Sottraendo la seconda equazione dalla prima si ottiene

a(uh , vh ) + b(vh , ph ) − b(uh , qh ) + S(ph , qh ) = F (vh ),

da cui scegliendo opportunamente vh = uh e qh = ph si ha

a(uh , uh ) + S(ph , ph ) = F (uh ). (2.17)

Si può quindi ottenere la stima di stabilità

νk∇uh k2L2 (Ω) + S(ph , ph ) ≤ ckf kL2 (Ω) k∇uh kL2 (Ω) . (2.18)

Nel caso in cui si possa avere S simmetrica definita positiva, allora avremmo dei controlli
sia per la norma di uh che per la pressione ph . In questo modo si garantirebbe l’unicità
della pressione senza dover richiedere che valga la condizione inf-sup discreta. Tuttavia
questa richiesta può essere indebolita e vale il seguente teorema:

Teorema 2.3. Affinchè il problema (??) ammetta un’unica soluzione che converga con
ordine O(hk ) in spazi a elementi finiti Pk /Pk deve valere che:

12
1. S(· , · ) sia una forma bilineare continua;

2. valga la condizione inf-sup generalizzata: ∃βh > 0 tale che

b(vh , qh )
sup + S(qh , qh ) ≥ βh kqh kL2 (Ω) ∀qh ∈ Qh ; (2.19)
vh ∈Vh k∇v h kL2 (Ω)
vh =0
/

3. S(ph , qh ) → 0 se h → 0;

4. S(ph , qh ) → 0 con la stessa velocità di convergenza di kp − ph kL2 (Ω) .


h→0

Osserviamo che la richiesta 2 è una richiesta più debole e quindi meno stringente
rispetto alla richiesta che S sia definita positiva.
Una stabilizzazione che rispetta tutte le quattro ipotesi del teorema ?? è quella che
viene detta interior penalty ed è dovuta a Hansbo-Burman, che scelsero
X Z
S(ph , qh ) = δ h2k J∇ph KJ∇qh K dσ, (2.20)
ei ei

dove ei sono i lati interni e JuK rappresenta il salto di u attraverso un lato e cioè

JuK = ulef t − uright .

Osserviamo che se la pressione è sufficientemente regolare da essere continua, i salti attra-


verso i lati interni saranno nulli: nel momento in cui p ∈ H 2 (Ω), e quindi per le immersioni
di Sobolev p ∈ C 0 (Ω), allora il termine di stabilizzazione sarà identicamente nullo.
Un’altra stabilizzazione utilizzata è quella dovuta a Brezzi-Pitkaranta che tuttavia non
ha un ordine di convergenza ottimale, ossia per ogni scelta degli spazi polinomiali è di
ordine O(h) (risulta ottimale soltanto per la coppia P1 /P1 ). Il termine di stabilizzazione
aggiunto in questo caso è
X Z
S(ph , qh ) = δ 2
hk ∇ph · ∇qh dΩ. (2.21)
k∈τh K

13
3 Il problema di Navier-Stokes stazionario
Aggiungiamo ora al problema di Stokes il termine convettivo non lineare (u· ∇) u e ot-
teniamo cosi il problema di Navier-Stokes stazionario (non compare ancora il termine
evolutivo) (
−ν∆u + (u· ∇) u + ∇p = f in Ω
(3.1)
divu = 0 in Ω.

3.1 Esistenza e unicità della soluzione continua


Come per tutti i problemi la prima cosa da fare è quella di scriverne la formulazione debole.
Il problema (??) diventa quindi:
cerco(u, p) ∈ V × Q tale che u|ΓD = g :
(
a(u, v) + c(u, u, v) + b(v, p) = (f , v) ∀v ∈ V
(3.2)
b(u, q) = 0 ∀q ∈ Q,

con V e Q che rimangono gli stessi spazi discussi per Stokes ossia V = [H 1 (Ω)]d (oppure
1
V0 = [H0,ΓD
(Ω)]d se si risolve rispetto a (u − Rg) e Q = L2 (Ω) (o Q = L20 (Ω) se ΓN = ∅).
Nella (??) compare una nuova forma c(· , · , · ) che è una forma trilineare definita come
Z
c(w, u, v) = (w· ∇) u · v dΩ. (3.3)

Prima di studiare la stabilità della formulazione debole (e quindi l’esistenza della soluzione
del problema di Navier-Stokes stazionario) soffermiamoci su qualche proprietà fondamen-
tale della forma trilineare c. Per prima cosa usando la disugualianza di Holder a 3 pezzi,
e le immersioni di Sobolev (H 1 (Ω) ,→ L2 (Ω)) possiamo ricavare la continuità , ossia

c(w, u, v) ≤ k∇wkL2 (Ω) kukL4 (Ω) kvkL4 (Ω) ≤ c2s k∇wkL2 (Ω) k∇ukL2 (Ω) k∇vkL2 (Ω) . (3.4)

dove cs è la costante di Sobolev tale per cui k · kL4 (Ω) ≤ cs k∇ · kL2 (Ω) .
Un’altra proprietà importante della forma c è l’emisimmetricità rispetto agli ultimi due
argomenti; in relazione a questa cosa si può inoltre definire un’altra forma trilineare c̃
legata alla c tale che
Z
1
c̃(w, u, v) = c(w, u, v) + divw u· v dΩ. (3.5)
2 Ω
L’emisimmetricità delle due forme appena descritte vale solo in determinate condizioni;
per la precisione vale il seguente lemma

Lemma 3.1. La forma trilineare (??) è emisimmetrica se ΓD ≡ ∂Ω, g = 0 e il vincolo


divu = 0 è imposto in forma forte. La forma trilineare (??) è invece emisimmetrica anche
se il vincolo di incomprimibilità viene imposto in forma debole (sempre con condizioni
Full-Dirichlet omogenee).

14
Dimostrazione. Sviluppiamo per prima cosa la forma trilineare c e otteniamo che
Z Z X

c(w, u, v) = (w· ∇)u· v dΩ = (wj · )ui · vi dΩ,
Ω Ω ∂xj
i,j

da cui integrando per parti nelle ipotesi di Full-Dirichlet omogeneo, si ha


Z X Z X Z X
∂wj vi ∂wj ∂vi
c(w, u, v) = − ui dΩ = − vi ui dΩ − wj ui dΩ =
Ω i,j ∂x j Ω i,j ∂xj Ω i,j ∂xj
Z Z Z (3.6)
= − divw v· u dΩ − (w· ∇)v· u dΩ = − divw v· u dΩ − c(w, v, u)
Ω Ω Ω

Se la condizione di incomprimibilità viene imposta in forma forte, allora il penultimo


termine scompare e si ottiene la prima affermazione del lemma.
Se invece viene imposta in forma debole il termine non scompare; si analizza quindi la
forma c̃ tale che
Z Z Z
1
c̃(w, u, v) = − divw v· u dΩ − (w· ∇)v· u dΩ + divw v· u dΩ =
2 Ω
Ω Z Ω Z (3.7)
1
= − (w· ∇)v· u dΩ − divw v· u dΩ = −c̃(w, v, u).
Ω 2 Ω

Ci concentriamo sullo studio della stabilità della soluzione della (??) e scegliendo w, v =
u e q = p otteniamo

a(u, u) + c(u, u, u) + b(u, p) − b(u, p) = (f , u),

e cioè
νk∇uk2L2 (Ω) + c(u, u, u) ≤ kF kH−1 (Ω) k∇ukL2 (Ω) , (3.8)

dove kF kH−1 (Ω) è la norma nello spazio duale di [H1 (Ω)]d e F rappresenta il funzionale
associato al dato f .
Nei casi indicati nel lemma ?? il termine corrispondente alla forma trilineare c (o c̃ se
aggiungo il termine correttivo) è nullo grazie alla proprietà di emisimmetria e, applicando
Young, si ottiene cosi la stima di stabilità

1
k∇ukL2 (Ω) ≤ kF kH−1 (Ω) . (3.9)
ν
Tuttavia abbiamo dimostrato la stabilità sfruttando la proprietà di emisimmetria della
forma trilineare che abbiamo visto valere nel caso di dati al bordo Full-Dirichlet omogenei.
Ovviamente se la validità della stima di stabilità fosse limitata a questo caso di condizioni
al bordo, sarebbe una stima con poca validità; notiamo però che la stima (??) si può
ricavare dalla (??) anche nel caso in cui la forma trilineare è semplicemente non negativa.

15
Possiamo usare questo fatto per mostrare la stabilità anche nel caso di bordo di Neumann:
alla (??) in questo caso si aggiunge un termine di bordo tale che
Z Z Z
c(w, u, v) = − divw v· u dΩ − (w· ∇)v· u dΩ + (w· n)(u· v) dσ.
Ω Ω ΓN

Imponendo la condizione di incomprimibilità in forma forte per comodità (vale lo stesso


risultato anche con c̃), il primo termine ha divw = 0 e quindi scompare. Quando inoltre
scegliamo v, w = u otteniamo
Z
c(u, u, u) = −c(u, u, u) + (u· n)(u· u) dσ,
ΓN

da cui Z
1
c(u, u, u) = (u· n)(u· u) dσ. (3.10)
2 ΓN
La stima di stabilità in questo caso diventa
Z
1
νk∇uk2L2 (Ω) + (u· n)(u· u) dσ ≤ kF kH−1 (Ω) k∇ukL2 (Ω) . (3.11)
2 ΓN

Se il termine aggiuntivo dell’integrale sul bordo di Neumann fosse sempre positivo, allora
si riuscirebbe a ottenere di nuovo la (??). Sotto intergrale tuttavia u· u è sempre positivo
(se u =/ 0) e quindi, affinchè l’integrale si sempre positivo, basta chiedere che il flusso del
campo di velocità sia sempre uscente, ossia

u· n ≥ 0 su ΓN . (3.12)

u=(1,0)

u=f ΓN

u=(1,0)
Figura 3.1: Dominio per lo studio del flusso intorno a un cilindro; è un esempio in cui le
condizioni di Neumann sono imposte solo dove il flusso è uscente.

Ancora una volta però abbiamo una stima che è limitante perchè nella realtà spesso è
necessario imporre condizioni di Neumann con flussi entranti nel dominio. Esiste quindi

16
un’altra analisi che è la più generale possibile che parte dalla scrittura delle equazioni di
Navier-Stokes in forma rotazionale ossia:
 
−ν∆u − u × (∇ × u) + ∇ p + 1 u2 = f

in Ω
2 (3.13)
divu = 0 in Ω,

dove ∇ × u rappresenta il rotore del campo di velocità u, e la somma pT = p + 12 u2 viene


chiamata pressione totale.
In questo caso la forma trilineare assume la forma di
Z Z
c̄(w, u, v) = − u × rotw· v dΩ + v × rotw· u dΩ, (3.14)
Ω Ω

ed è sempre una forma emisimmetrica che ci permette quindi di ottenere la (??) per ogni
problema con qualsiasi tipo di condizioni al bordo.

Abbiamo quindi mostrato la stabilità per la velocità ; non dimentichiamoci che però la
soluzione è la coppia velocità - pressione. Per la pressione si ottiene facilmente una stima
di stabilità sfruttando la condizione inf-sup tale che ∀q ∈ Q∃β > 0 che soddisfa:

1 b(v, p)
kpkL2 (Ω) ≤ sup inf ,
β p∈Q v∈V kvkH1 (Ω)

da cui usando l’equazione del problema e le proprietà di continuità otteniamo

1 F (v) − a(u, v) − c(u, u, v)


kpkL2 (Ω) ≤ ≤
β kvkH1 (Ω)
kF kH−1 (Ω) ν c2
≤ + k∇vkL2 (Ω) + s k∇ukL2 (Ω) k∇vkL2 (Ω) ∀v ∈ V.
β β β

Sfruttando la (??) si ottiene infine la stima di stabilità per la pressione. Possiamo dunque
affermare che
c2s
 
1
kpkL2 (Ω) ≤ 2
2kF kH−1 (Ω) + kF kH−1 (Ω) . (3.15)
β ν
Osservazione 3.1. Ricordiamo che l’analisi è stata svolta sempre sotto le ipotesi di a forma
bilineare continua e coerciva, b bilineare continua e che soddisfa la condizione inf-sup.
Per quanto riguarda l’unicità della soluzione, il problema di Navier-Stokes stazionario
presenta delle problematiche relative al fatto che nella realtà ,già a partire da numeri di
Reynolds bassi, si perde l’unicità della soluzione e si creano più soluzioni stabili. Vedremo
nel dettaglio nel capitolo ?? che verrà in genere richiesta una condizione sui dati che ci
assicuri che
c2s
kF kH−1 (Ω) < 1. (3.16)
ν2

17
3.2 Stabilità e convergenza della soluzione discreta
In analogia con quanto fatto nel paragrafo precedente definiamo la formulazione di Galerkin
del problema di Navier-Stokes stazionario come:
cerco(uh , ph ) ∈ Vh × Qh tale che uh |ΓD = g :
(
a(uh , vh ) + c(uh , uh , vh ) + b(vh , ph ) = (f , vh ) ∀vh ∈ Vh
(3.17)
b(uh , qh ) = 0 ∀qh ∈ Qh ,

Tutte le considerazione fatte per la stabilità della soluzione del problema (??) valgono allo
stesso modo per la coppia (uh , ph ) soluzione discreta del problema di Galerkin appena
formulato, con la accortezza che la condizione inf-sup non viene ereditata ma come sempre
va richiesta la LBB che è l’analogo nei sottospazi discreti utilizzati. Vale quindi che
1
k∇ukL2 (Ω) ≤ kF kH−1 (Ω) . (3.18)
ν
Per la convergenza vale il seguente teorema:
Teorema 3.1. La soluzione del problema (??) converge alla soluzione di (??) se vale
2c2s
kF kH−1 (Ω) < 1 (3.19)
ν2
e valgono le stime

k∇(u − uh )kL2 (Ω) ≤ C1 inf k∇(u − vh )kL2 (Ω) + C2 inf kp − πh kL2 (Ω) . (3.20)
vh ∈Vh πh ∈Qh

kp − ph kL2 (Ω) ≤ C3 inf k∇(u − vh )kL2 (Ω) + C4 inf kp − πh kL2 (Ω) . (3.21)
vh ∈Vh πh ∈Qh

con C1 ,C2 ,C3 e C4 indipendenti da h.


Dimostrazione. Iniziamo col dimostrare le stime con un generico vettore wh ∈ Vh,div che
ricordiamo essere Vh,div = {vh ∈ Vh : b(vh , qh ) = 0 ∀qh ∈ Qh } e poi ne estenderemo la
validità a tutto Vh .
Valutiamo la forma bilineare a nel vettore uh − wh con vh = uh − wh :

a(uh − wh , uh − wh ) = νk∇(uh − wh )k2L2 (Ω) . (3.22)

Aggiungendo e togliendo la quantità a(u, uh − wh ) si ottiene

a(uh − wh , uh − wh ) = a(uh − u, uh − wh ) + a(u − wh , uh − wh ).

Il secondo termine a secondo membro, per la continuità di a sarà

a(u − wh , uh − wh ) ≤ νk∇(u − wh )kL2 (Ω) k∇(uh − wh )kL2 (Ω) . (3.23)

Il primo termine invece si può riscrivere come

a(uh − u, uh − wh ) = F (uh − wh ) − c(uh , uh , uh − wh ) − b(uh − wh , ph )+


−F (uh − wh ) + c(u, u, uh − wh ) + b(uh − wh , p),

18
da cui aggiungendo e togliendo b(uh − wh , πh ) con πh ∈ Qh si ottiene

a(uh − u, uh − wh ) = c(u, u, uh − wh ) + c(uh , uh , uh − wh )+


−b(uh − wh , ph − πh ) + b(uh − wh , p − πh ).

Il penultimo termine è tuttavia nullo in quanto ph − πh ∈ Qh e sia uh che wh ∈ Vh,div .


Aggiungiamo e togliamo ancora un termine pari a c(uh , u, uh − wh ) avendo quindi

a(uh − u, uh − wh ) = c(u − uh , u, uh − wh ) + c(uh , uh − u, uh − wh ) + b(uh − wh , p − πh ).



Per la continuità di b (di costante δ = d) l’ultimo termine diventa

b(uh − wh , p − πh ) ≤ dk∇vh kL2 (Ω) kp − πh kL2 (Ω) . (3.24)

Sfruttando ora la continuità di c, la stima di stabilità (??) e le (??), (??) e (??) si ottiene

k∇(uh − w)kL2 (Ω) ≤ k∇(u − wh )kL2 (Ω) +



d 2c2
+ kp − πh kL2 (Ω) + 2s kF kH−1 (Ω) k∇(u − uh )kL2 (Ω) ∀wh ∈ Vh,div , ∀πh ∈ Qh .
ν ν
Sfruttando ora la (??) e la disuguaglianza triangolare possiamo ottenere la stima

2c2s
 
d
1 + 2 kF kH−1 (Ω) k∇(u − uh )kL2 (Ω) ≤ inf 2k∇(u − wh )kL2 (Ω) + inf kp − πh kL2 (Ω) .
ν w h ∈V h,div π h ∈Qh ν

(3.25)

Passare ora alla stima non dipendente da wh ∈ Vh,div è semplice: basta riusare la disugua-
glianza triangolare con

k∇(u − wh )kL2 (Ω) ≤ k∇(u − vh )kL2 (Ω) + k∇(vh − wh )kL2 (Ω) ∀vh ∈ Vh ,

e poi per la LBB

b(vh − wh , qh )
k∇(u − wh )kL2 (Ω) ≤ k∇(u − vh )kL2 (Ω) + kqh kL2 (Ω) .
βh

Ma siccome wh ∈ Qh avremo b(wh , qh ) = 0 e quindi rimane solo

b(vh , qh )
k∇(u − wh )kL2 (Ω) ≤ k∇(u − vh )kL2 (Ω) + kqh kL2 (Ω) ,
βh

da cui usando la continuità di b si ottiene la stima di convergenza (??).


Per ottenere una stima di convergenza per la pressione si deve come sempre ricorrere
alla condizione LBB per cui si ha

βh k∇vh kL2 (Ω) kph − πh kL2 (Ω) ≤ b(vh , ph − πh ) =


(3.26)
= F (vh ) − a(uh , vh ) − c(uh , uh , vh ) − b(vh , ph ).

19
Aggiungendo e togliendo a(u, vh ) si ottiene

b(vh , ph − πh ) = F (vh ) − a(uh − u, vh ) − c(uh , uh , vh ) − b(vh , πh ) − a(u, vh ) =


= F (vh ) − a(uh − u, vh ) − c(uh , uh , vh ) − b(vh , πh ) − F (vh ) + c(u, u, vh ) + b(vh , p) =
= b(vh , p − πh ) + a(u − uh , vh ) + c(u, u, vh ) − c(uh , uh , vh ).

I primi due termini sono a posto grazie alle continuità delle rispettive forme bilineari,
mentre per gli ultimi due termini, sommando e sottraendo c(u, uh , v) si ottiene

c(u, u, vh ) − c(uh , uh , vh ) = c(u, u − uh , vh ) + c(u − uh , uh , vh ) ≤


c2s
≤2 kF kH−1 (Ω) k∇(u − uh )kL2 (Ω) .
ν2
Si giunge infine alla (??) grazie all’uso di un’ultima disuguaglianza triangolare.

3.3 Discretizzazione del termine non-lineare


Abbiamo visto come cambiano le formulazioni inserendo un termine non lineare nelle equa-
zioni di Navier-Stokes, con il rispettivo inserimento della forma trilineare c. Affrontiamo
ora il problema di come trattare questo termine dal punto di vista numerico.
Il primo modo per risolvere il problema (??) è quello che cerca la soluzione (u, p) come
punto fisso della mappa soluzione associata al problema di Oseen
(
−ν∆u + (w· ∇) u + ∇p = f in Ω
(3.27)
divu = 0 in Ω.

Come si nota in questo problema la non linearità viene eliminata sostituendo il campo di
velocità u con un nuovo campo di velocità w; definiamo ora Φ la mappa che associa ad
ogni vettore w ∈ V la soluzione u(w) del problema di Oseen, ossia

Φ(w) = u ∀w ∈ V. (3.28)

L’obiettivo è quello di dimostrare che la mappa Φ ammette un unico punto fisso che
soddisferà la relazione Φ(w) = u e sarà pertanto soluzione di Navier-Stokes. Affinchè il
punto fisso sia unico è necessario che Φ sia una contrazione ossia è necessario che esista un
ρ ∈ (0,1) tale che

kΦ(w1 ) − Φ(w2 )kV 0 ≤ ρkw1 − w2 kV ∀w1 , w2 ∈ V. (3.29)

Consideriamo quindi due vettori w1 e w2 : la differenza delle rispettive soluzioni del(??)


soddisfa il problema
(
−ν∆(u1 − u2 ) + (w1 · ∇) u1 − (w2 · ∇) u2 + ∇(p1 − p2 ) = 0 in Ω
(3.30)
div(u1 − u2 ) = 0 in Ω.

20
Passiamo alla forma debole scegliendo le funzioni test in modo opportuno e aggiungendo
e togliendo il termine Ω (w1 · ∇) u2 · (u1 − u2 ) dΩ otteniamo
R

Z Z
2 2
νk∇(u1 − u2 )kL2 (Ω) + (w1 · ∇) |u1 − u2 | dΩ + ((w1 − w2 ) · ∇) u2 · (u1 − u2 ) dΩ = 0.
Ω Ω

Il secondo termine si annulla per l’emisimmetricità della forma trilineare c e quindi rimane

νk∇(u1 −u2 )k2L2 (Ω) ≤ |c(w1 −w2 , u2 , u1 −u2 )| ≤ c2s kw1 −w2 kH1 (Ω) ku2 kH1 (Ω) ku1 −u1 kH1 (Ω) ,

da cui ricordandosi della stima di stabilità (??) si ottiene

c2s
k∇(u1 − u2 )kL2 (Ω) ≤ kF kH−1 (Ω) kw1 − w2 kH1 (Ω) . (3.31)
ν2
La mappa Φ è pertanto una contrazione solo se

c2s
ρ= kF kH−1 (Ω) < 1, (3.32)
ν2
e pertanto il problema di Navier-Stokes stazionario, come già anticipato dalla (??), am-
mette un’unica soluzione solo se vale la (??).
Dal punto di vista numerico questo metodo è facile da implementare in quanto l’idea è
quella di eliminare la non linearità usando al generico passo k + 1 il campo convettivo al
passo precedente uk che è noto. Per ogni istante temporale quindi si risolve il problema
(
a(uk+1 k k+1 k+1
h , vh ) + c(uh , uh , vh ) + b(vh , ph ) = F
k+1 (v )
h ∀vh ∈ Vh
k+1
(3.33)
b(uh , qh ) = 0 ∀qh ∈ Qh .

Introducendo di nuovo le matrici


Z Z
A = [aij ] = ∇ϕj : ϕi dΩ B = [bhk ] = divϕk , φh dΩ,
Ω Ω

e la nuova matrice Z
k
N(U ) = [ni,j ] = (uk · ∇)ϕj · ϕi dΩ, (3.34)

possiamo definire un sistema lineare, la cui matrice varia a ogni iterazione (perchè N
dipende da Uk , tale che

A + N(Uk ) BT Uk+1
    
F
= (3.35)
B 0 Pk+1 0

Osservazione 3.2. La matrice A+N(Uk ) non è simmetrica.


Enunciamo infine un teorema di convergenza per i metodi numerici di punto fisso:
Teorema 3.2. I metodi di punto fisso convergono con velocità lineare ossia

kuk+1 − ukH1 (Ω) ≤ ρkuk − ukH1 (Ω) (3.36)

21
Dimostrazione. Si ricava facilmente dalla (??) usando w1 = uk e w2 = u, e usando le
proprietà di Φ per cui u1 = uk+1 e u2 = u.

Per ottenere ordini di convergenza quadratici si ricorre spesso all’utilizzo del secondo
modo nominato a inizio paragrafo che è il metodo di Newton. Applicato alle funzioni
scalari è noto che il metodo cerca il punto fisso della funzione f (x) basandosi sulla relazione
ricorsiva
f (xk )
xk+1 = xk − 0 k . (3.37)
f (x )
Quando lo si estende al caso di funzioni vettoriali il termine f 0 (xk ) acquista il significato
dello Jacobiano associato alla funzione vettoriale f (xk ), ossia

∂f1 ∂f1
 
...
 ∂x1 ∂xn 
 . .. .. 
 ..
Jf (xk ) =  . . . (3.38)

 ∂fn ∂fn 
...
∂x1 ∂xn

Il sitema di equazione ricorsive si potrà pertanto scrivere come

Jf (xk )· δx = −f (xk ). (3.39)

Si nota però che


Jf (xk )· δx = ∇f |xk · δx,
ossia il primo membro della (??) può essere interpretato come la derivata direzionale di f
lungo la direzione δx.
Nel nostro caso avremo a che fare non con una funzione vettoriale, ma con un’equazione
che può essere scritta attraverso gli operatori vettoriali
   
−ν∆u + (u· ∇)u + ∇p f
L(u, p) := = =: F. (3.40)
divu 0

La soluzione di questo sistema sarà punto fisso per l’operatore


 
−ν∆u + (u· ∇)u + ∇p − f
F =L−F= . (3.41)
divu

In analogia a quanto scritto nella (??) vogliamo dire che la derivata direzionale dell’ope-
ratore F lungo la direzione (δu, δp) è uguale all’opposto del nostro operatore F stesso.
Osserviamo inoltre che essendo F un operatore vettoriale che non dipende nè da u nè da
p, la sua derivata direzionale sarà nulla e pertanto coincideranno le derivate direzionali di
F e L; la derivata direzionale di L viene in genere indicata con DL(u,p) (δu, δp) e viene
detta operatore tangente. Precisiamo infine che quando parliamo di derivata direzionale di
un operatore si intende la derivata di Gateaux di F applicata al vettore (δu, δp).

22
Svolgendo tutti i calcoli si ottiene che ad ogni passo k ≥ 0, dato il vettore iniziale u0 , si
calcola la coppia (uk+1 , pk+1 ) tale che
(
−ν∆uk+1 + (uk · ∇)uk+1 + (uk+1 · ∇)uk + ∇pk+1 = f + (uk · ∇)uk ∀v ∈ V
k+1
(3.42)
divu =0 ∀q ∈ Q.

Osserviamo che rispetto alla linearizzazione ottenuta col metodo dei punti fissi partendo dal
problema di Oseen, sono presenti due nuovi termini: il primo in cui il campo di trasporto
è l’incognita uk+1 , e il secondo è un termine in cui sia il campo convettivo che il campo
trasportato sono uk e pertanto è una quantità nota. Notiamo tuttavia che in questo caso
il termine noto varia a ogni iterazione in quanto è presente la dipendenza da uk .
Il problema (??) può essere formulato in forma algebrica come

A + N(Uk ) + M(Uk ) BT Uk+1 F̃(Uk )


    
= , (3.43)
B 0 Pk+1 0
con Z
[M(Uk )]i,j = ϕj · ∇ uk · ϕi dΩ, (3.44)


e Z  
[F̃]i = uk · ∇ uk · ϕi dΩ. (3.45)

Osservazione 3.3. Anche in questo caso la matrice A+N(Uk )+M(Uk ) non è simmetrica è
quindi per risolvere il sistema non si potrà usare un metodo come il gradiente coniugato
per esempio, ma serviranno metodi meno specifici come il GMRES.
Enunciamo ora un teorema riguardante la velocità di convergenza del metodo di Newton
appena descritto:

Teorema 3.3. Se l’operatore tangente DL(u,p) (δu, δp) è non singolare in un intorno della
soluzione (u, p), e se u0 è sufficientemente vicino a u allora il metodo di Newton converge
quadraticamente e vale la stima

kuk+1 − ukH1 (Ω) ≤ ckuk − uk2H1 (Ω) . (3.46)

Evidenziamo infine come il guadagno sulla velocità di convergenza del metodo di New-
ton sia compensata in negativo dal fatto che la scelta del dato iniziale deve essere fatta
in modo che questo sia vicino alla soluzione esatta: il bacino di attrazione del punto fisso
trovato col metodo di Newton non è tutto il dominio come invece avviene nel caso si usino
metodi di punto fisso come quelli visti in precedenza.

23
4 Discretizzazione temporale del problema di Navier-Stokes
Abbiamo visto fino ad ora come analizzare e affrontare numericamente le difficoltà intro-
dotte dalla natura del problema di punto-sella e dalla non linearità del termine convettivo;
rimane ora da analizzare come affrontare la discretizzazione temporale. Analizzeremo 3
tipi di approcci per fare ciò:

• discretizzazione alle differenze finite della derivata temporale;

• metodi di proiezione del problema di Navier-Stokes;

• discretizzazione tramite la derivata lagrangiana.

Prima di affrontare questi argomenti scriviamo però la formulazione debole del problema
di Navier-Stokes e dimostriamo l’esistenza di almeno una soluzione:
RT
cerco u ∈ L2 (0, T ; H1 (Ω)) ∩ L∞ (0, T ; L2 (Ω)) e p tale che 0 p dt ∈ C(0, T, L2 (Ω)) che
soddisfano
Z ∂u

 v dΩ + a(u, v) + c(u, u, v) + b(v, p) = (f , v)L2 (Ω) ∀v ∈ H1 (Ω)
 Ω ∂t


∀q ∈ L2 (Ω)

b(u, q) = 0


u=g su ΓD (4.1)
∂u


su ΓN


 ν − pn = d
 ∂n



u(x, t = 0) = u0 (x) in Ω

con f (x, t) ∈ L2 (0, T, H−1 (Ω)) , g(x) ∈ H1/2 , d(x) ∈ H−1/2 e u0 (x) ∈ L2 (Ω). La formu-
lazione di Galerkin del problema avrà la stessa forma e sarà ambientata nei soliti spazi Vh
e Qh sottospazi finiti di quelli appena usati per la formulazione debole.
Si dimostra che vale inoltre il seguente teorema:

Teorema 4.1. Sotto le ipotesi di regolarità fatte per i dati, il problema (??) con dati
Full-Dirichlet omogeneo ammette una soluzione che può essere controllata nelle rispettive
norme da:

1 T
Z
2 2 0 2
kukL∞ (0,T ;L2 Ω) + kukL2 (0,T ;H1 (Ω)) ≤ ku kL2 (Ω) + kf (s)k2H−1 (Ω) ds; (4.2)
ν 0
 Z T 
kuk2L∞ (0,T ;L2 (Ω) + kuk2L2 (0,T ;H1 (Ω)) ≤ ku0 k2L2 (Ω) + kf (s)k2L2 (Ω) ds eT ; (4.3)
0

Dimostrazione. Scegliendo v = u e q = p, e sfruttando l’emisimmetricità della forma


trilineare c e il vincolo di incomprimibilità riusciamo a ottenere

1 ∂(u2 )
Z
dΩ + νk∇uk2L2 (Ω) = (f , u)L2 (Ω) . (4.4)
Ω 2 ∂t

24
Per ottenere la (??) procediamo con l’applicare la disuguaglianza di Holder e Young (con
1
 = 2ν sul termine noto ottenendo

1d 1 ν
kuk2L2 (Ω) + νk∇uk2L2 (Ω) = kf (x, t)k2H−1 (Ω) + k∇uk2L2 (Ω) .
2 dt 2ν 2
Intregrando nel tempo fra 0 e un generico istante T e moltiplicando tutto per 2 si ricava
Z T
1
ku(T )k2L2 (Ω) + νk∇uk2L2 (Ω) = ku0 k2L2 (Ω) + kf (x, s)k2H−1 (Ω) ds,
ν 0

da cui segue immediatamente la (??) per l’arbitrarietà dell’istante T .


Per ottenere la seconda stima si applicano invece le disuguaglianze di Cauchy-Schwarz e
Young ( = 21 ) al termine noto della (??) e si ottiene

d
kuk2L2 (Ω) + 2νk∇uk2L2 (Ω) = kf (x, t)k2L2 (Ω) + kuk2L2 (Ω) .
dt
Ricavare la (??) è immediato una volta applicato il lemma di Gronwall.

Osserviamo che le due stime appena dimostrate sono in un certo senso duali in quanto
la prima fornisce un controllo della soluzione per qualsiasi istante temporale ma esplode
quando la viscosità tende a 0 (ossia non vale con numeri di Reynolds alti); al contrario la
seconda stima non dipende dalla viscosità ma ha il limite di esplodere per istanti temporali
grandi.
Sottolineamo infine che il teorema ?? è solo un teorema di esistenza della soluzione del
problema di Navier-Stokes: come già accennato in precedenza infatti l’esistenza per il
problema in 3D non è ancora stata dimostrata (mentre in 2D si riesce a ottenere una
dimostrazione dell’unicità della soluzione).
Introduciamo ora l’argomento principale del capitolo che affronta i modi di discretizzare
la derivata temporale: la semidiscretizzazione spaziale di Galerkin è
cerco ∀t ≥ 0 la coppia (uh , ph ) ∈ Vh × Qh : uh |ΓD = g tale che:
Z
 ∂uh v dΩ + a(u , v ) + c(u , u , v ) + b(v , p ) = (f , v ) 2 ∀vh ∈ Vh
h h h h h h h h h L (Ω)
Ω ∂t
b(uh , qh ) = 0 ∀qh ∈ Qh .

(4.5)
La dimostrazione fatta per l’esistenza della soluzione della formulazione debole si può adat-
tare a questo problema per dimostrarne la stabilità in maniera immediata.
Quando invece si introduce la formulazione algebrica sarà necessario scrivere la funzio-
ne uh (x, t) come somma di funzioni di base vettoriali e coefficienti che in realtà adesso
diventano funzioni del tempo:

N
X
uh (x, t) = uj (t)ϕj (x). (4.6)
j=0

25
Introducendo la matrice di massa M tale che
Z
[M]i,j = ϕj ϕi dΩ

possiamo introdurre la formulazione algebrica semidiscretizzata in spazio del problema di


Navier-Stokes 
M dU + AU + C(U)U + BT P = F
dt (4.7)
BU = 0.

4.1 Discretizzazione temporale mediante differenze finite


Il modo più semplice per discretizzare la derivata temporale nel sistema (??) è quello di
utilizzare le differenze finite. Iniziamo a analizzare ora le discretizzazioni del I ordine che si
basano sulle approssimazioni di Eulero in avanti o Eulero indietro scrivendo le formulazioni
semidiscretizzate in tempo e i corrispondenti sistemi algebrici.
Il metodo di Eulero esplicito discretizza la derivata temporale come

∂u un+1 − un
= .
∂t ∆t
Come dice il nome del metodo sarebbe lecito aspettarsi che tutte le altre quantità presenti
nell’equazione della quantità di moto compaiono valutate al tempo tn : cosi facendo si
otterrebbe però un problema in cui la pressione al tempo tn+1 non compare da nessuna
parte e quindi è come se non si riuscisse a imporre il vincolo di incomprimibilità per la
funzione un+1 . E’ pertanto necessario che la pressione compaia sempre come moltiplicatore
valutata al tempo tn+1 .
Il sistema semidiscretizzato in tempo associato al metodo di Eulero esplicito è quindi
 n+1
u − un
− ν∆un + (un · ∇)un + ∇pn+1 = f n
∆t (4.8)
divun+1 = 0.

Il sistema algebrico assume la forma di


" 1 #
M BT Un+1
  n
F + AUn + CUn

∆t = . (4.9)
B 0 Pn+1 0

Il vantaggio di questa formulazione sta nel fatto che la non linearità è scomparsa in quando
il termine convettivo viene valutato al tempo tn in cui tutte le quantità sono note. Tuttavia
il forte limite di questo metodo è che non è incondizionatamente stabile, ma è necessario
richiedere che valga la condizione CFL e quindi che il passo temporale sia limitato dal
passo di discretizzazione spaziale, ossia

h
∆t < . (4.10)
|un |

26
Il metodo che è completamente opposto a quello di Eulero esplicito è il metodo di
Eulero implicito che come è ben noto discretizza la derivata temporale come

∂u un − un−1
= .
∂t ∆t
La formulazione semidiscreta in tempo presenta quindi tutti i termini valutati al tempo
tn+1 ed è  n+1
u − un
− ν∆un+1 + (un+1 · ∇)un+1 + ∇pn+1 = f n+1
∆t (4.11)
divun+1 = 0.

Questa volta il sistema algebrico non si può scrivere in quanto il termine convettivo rimane
scritto in forma non lineare (ed è quindi impossibile ottenere un sistema linaere). Tuttavia,
contrariamente a quanto accade per il metodo esplicito, qui si ottiene una stabilità incon-
dizionata ed è quindi possibile scegliere il passo temporale indipendentemente dal passo
spaziale.
Per unire i vantaggi dei due metodi proposti si utilizza in genere uno schema che
viene detto semi-implicito. L’analisi di stabilità dei metodi mostra come i metodi perdano
l’incondizionata stabilità quando il termine diffusivo è scritto in forma esplicita : per
non avere quindi restrizioni sul passo temporale si sceglie una discretizzazione implicita
dappertutto tranne per il termine non lineare che viene linearizzato sostituendo il campo
convettivo con la velocità al passo temporale precedente ossia un . Si ottiene cosi la seguente
forma semidiscretizzata
 n+1
u − un
− ν∆un+1 + (un · ∇)un+1 + ∇pn+1 = f n+1
∆t (4.12)
divun+1 = 0,

il cui sistema algebrico corrispondente è


" 1 #
M + A + C(Un ) BT Un+1
  n+1 
F
∆t n+1 = . (4.13)
B 0 P 0

Questo metodo quindi è quello che unisce nel miglior modo possibile i vantaggi di eliminare
la non linearità e ottenere un metodo incondizionatamente stabile. Tuttavia dal punto di
vista della convergenza non presenta alcun vantaggio rispetto ai metodi di Eulero esplicito
o totalmente implicito. Usando infatti una discretizzazione del I ordine per la derivata
temporale della velocità è impossibile sperare di ottenere un ordine di convergenza migliore
di quello lineare. Vale infatti il teorema

Teorema 4.2. Per ogni scelta degli spazi polinomiali Pk+1 /Pk , discretizzando la derivata
temporale della velocità con uno qualsiasi degli schemi di Eulero proposti, valgono le stime

kunh − u(tn )kH1 (Ω) ≤ O(hk+1 + ∆t)

kpnh − p(tn )kL2 (Ω) ≤ O(hk+1 + ∆t)

27
Per ottenere schemi con ordine di convergenza più elevato si deve ricorrere a discretiz-
zazioni della derivata temporale del secondo ordine: gli esempi più comuni sono gli schemi
di Crank-Nicholson e il BDF2.
La discretizzazione di Crank-Nicholson si basa sulla discretizzazione centrata della derivata
temporale valutata al tempo intermedio tn+1/2 e cioè
∂u un+1 − un
|tn+1/2 = .
∂t ∆t
Se per trattare il termine non lineare si vuole utilizzare una formulazione semi-implicita è
necessario però scegliere discretizzazioni del secondo ordine per non rendere vano lo sforzo
fatto per discretizzare la derivata temporale. La formulazione semidiscretizzata in tempo
diventa quindi
 n+1
− un
 n
3u − un−1
  n+1
+ un

u − ν∆u n+1 + ·∇
u
+ ∇pn+1 = f n+1
∆t 2 2 (4.14)
divun+1 = 0.

Notiamo che affinchè la soluzione posso essere calcolata sono necessari i valori di velocità
in 2 istanti temporali precedenti rispetto al tempo che si vuol calcolare; si dice che lo
scehma di Crank-Nicholson è uno schema a 2 passi. Computazionalmente, per ottenere un
ordine di convergenza O(∆t2 ), si paga nel fatto che è necessario tenere in memoria di un
ulteriore passo temporale rispetto a quelli necessari per ottenere la soluzione degli schemi
del I ordine.
L’altro metodo del secondo ordine che presentiamo è il BDF2 che è un altro schema a
2 passi che si basa sulla discretizzazione temporale
∂u 3un+1 − 2un + un−1
|tn+1 = .
∂t 2∆t
La formulazione con il termine non lineare trattato in semi-implicito diventa
 n+1
 3u − 2un + un−1
− ν∆un+1 + 2un − un−1 · ∇ un+1 + ∇pn+1 = f n+1
  
2∆t (4.15)
divun+1 = 0.

Osserviamo che continuano a valere le stesse considerazioni sulla stabilità fatte per le
discretizzazioni di Eulero e cioè che, avendo usato sempre discretizzazioni semi-implicite,
si ottengono metodi incondizionatamente stabili.

4.2 Derivata Lagrangiana


∂u
Il metodo che andiamo ora a descrivere non si limita a discretizzare il termine nelle
∂t
equazioni di Navier-Stokes ma prende in considerazione anche il termine convettivo. L’idea
su cui si basa questo procedimento è quello di considerare la derivata lagrangiana
Du ∂u
= + (u· ∇)u. (4.16)
Dt ∂t
28
Il significato fisico di questa derivata sta nel fatto che si utilizza un approccio lagrangiano
per discretizzare la variazione della velocità tenendo quindi conto anche della accelerazione
della particella dovuta al campo di moto che agisce nel fluido. Discretizzando la (??)
otteniamo
Du un+1 (x) − un (X)
= . (4.17)
Dt ∆t

P(x,t n+1 )

P(X,t n)

Figura 4.1: Avanzamento lungo la sua traiettoria della particella che al tempo tn+1 è in x
e che al tempo precedente era in X.

Nel nostro caso la posizione x è nota in quanto sarà un nodo della griglia su cui stiamo
lavorando: il problema diventa quello di riuscire a calcolare il punto in cui la particella era
all’istante precedente ossia il punto X. Per calcolare la traiettoria X(t) della particella P si
deve risolvere la ODE 
 ∂X(t)
= u(X, t)
∂t , (4.18)
X(x, s; s) = x

in cui la funzione X(x, s; t) restituisce la posizione al tempo t della particella che all’istante
s si trova in x. Se quindi la variabile t viene imposta uguale a s ovviamente la funzione
restituirà il vettore x stesso.
Nel nostro caso sarà nota la posizione della particella al tempo tn+1 e vorremo ricostruire
la traiettoria andando indietro nel tempo per trovare la posizione al tempo tn ossia, la
figura ?? può essere modificata come segue.

P(x,t n+1 )

P(X(x,t n+1,t n ),t n)

Figura 4.2

In questo caso il valore X(x, tn+1 ; tn ) viene dette piede della traiettoria in quanto la par-
ticella che stiamo considerando viene da quel punto all’istante precedente. Risolvendo la
(??) andando indietro di un tempo −∆t si ottiene l’espressione analitica della traiettoria
X(x, tn+1 ; tn ) = x − ∆t · un (x) (4.19)

29
La derivata lagrangiana può essere quindi discretizzata come

Du un+1 (x) − un (x − ∆t · un (x))


= . (4.20)
Dt ∆t
Il problema di Navier-Stokes semidiscretizzato in tempo e scritto in forma variazionale
diventa:
1 n+1 1 n
(u , v)L2 (Ω) + a(un+1 , v) + b(v, pn+1 ) = (f , v)L2 (Ω) + (u (X), v)L2 (Ω) ; (4.21)
∆t ∆t
il sistema associato scritto dunque in forma algebrica è
" 1 #
M + A BT Un+1 F̃(u(X))
 
∆t . (4.22)
B 0 Pn+1 0

Riassumendo possiamo dire che il vantaggio indubbio di questo metodo è il fatto che la
non linearità non entra più nella formulazione: inoltre su FreeFem++ è facile da imple-
mentare grazie al comando convect. Tuttavia risulta un metodo applicabile solo in 2D
in quanto ha il problema che per ogni punto bisogna calcolare il piede della traiettoria al
passo precedente: per calcolare il punto X si attraversano in genere diversi elementi della
tassellazione come da figura ??, e quando si alza la dimensione spaziale diventa troppo
complicato seguire all’indietro la traiettoria e quindi il metodo perde di utilità in quanto
diventa troppo alto l’onere computazionale.

,t n )
(X,t

x,t n+1 )
(x,t

Figura 4.3: Ricostruzione del piede della traiettoria secondo la discretizzazione della
derivata lagrangiana

30
Parte II

Il metodo del Level Set


Il metodo del Level Set come dice il nome è un metodo che si basa sugli insiemi di
livello di una funzione: l’idea che sfrutta è quella di definire una funzione implicita che
chiameremo φ il cui insieme di livello φ = 0 corrisponde alla frontiera del fluido (o in
generale di qualsiasi oggetto di interesse). Vedremo che se questa funzione implicita avrà
la proprietà di essere una funzione distanza con segno, allora la trattazione si semplificherà
in alcuni aspetti. Inizieremo quindi col definire cos’è una misura con segno e passeremo
poi ad analizzare quali possono essere in generale i principali motori che fanno muovere
una frontiera di un dominio e come possono essere efficacemente discretizzati.

5 Funzioni distanza con segno


Iniziamo con l’introdurre una funzione distanza come una funzione di una sola variabile
d(x) che restituisce la distanza di un punto dalla frontiera Γ all’interno di un dominio Ω.
Non possiamo usare la tradizionale distanza in quanto quella è una funzione fra due punti
dello spazio, mentre adesso definiamo la funzione distanza che deve "trovare" il punto sulla
frontiera Γ che è più vicino al punto x, e restituirne la distanza da x stesso. Cioè

d(x) = min (|x − xi |) . (5.1)


xi ∈Γ

E’ implicito nella definizione che se x è un punto che appartiene alla frontiera la sua
funzione distanza restituirà il valore 0, ossia d(x) = 0 ∀x ∈ Γ.
Osserviamo che nel momento in cui al punto x̄ ∈ Ω viene associato il punto xf ront come
l’unico punto sulla frontiera Γ che minimizza la d(x̄), allora vorrà dire che unendo questi
due punti si crea un segmento all’interno del dominio Ω: su questo segmento non può
trovarsi nessun altro punto della frontiera perchè, se così non fosse, xf ront non sarebbe il
punto più vicino a x̄. Questo segmento sarà inoltre il cammino più corto che unisce x̄ e
xf ront , e qualsiasi deviazione da esso aumenterà la distanza di x̄ dalla frontiera: vuol dire
che questo segmento è la direzione di massima discesa della funzione distanza e quindi ∇d
sarà diretto nella stessa direzione di questo segmento. Inoltre avremo che

|∇d| = 1, (5.2)

poichè se per esempio considero un altro punto x due volte più vicino alla frontiera rispetto
a x̄, allora d(x) sarà la metà di d(x̄) in quanto è una distanza euclidea.
Ribadiamo tuttavia che questa proprietà sul gradiente è valida solo quando un punto x̄ ha
un unico punto che ne minimizza la distanza dalla frontiera (non varrebbe per esempio se
la frontiera fosse una circonferenza e x̄ il suo centro).
Passiamo ora a definire le funzioni misura con segno:

Definizione 0.1. Si dice funzione misura con segno una funzione implicita φ tale che

|φ(x)| = d(x) ∀x.

Cambiamo ora notazione e chiamiamo Ω il dominio di controllo in cui stiamo lavorando,


Ω− l’insieme contenuto all’interno della frontiera, Ω+ la parte di dominio esterno alla

32
frontiera, e Γ la frontiera stessa . Notiamo che avremo

φ(x) = −d(x) < 0
 ∀x ∈ Ω− ;
φ(x) = d(x) = 0 ∀x ∈ Γ;

φ(x) = d(x) > 0 ∀x ∈ Ω+ .

Il vantaggio che si ottiene definendo le funzioni distanza con segno è che si creano in
questo modo funzioni differenziabili lungo la frontiera a differenza di quanto non lo fossero
le semplici funzioni distanza che presentano un punto angoloso in corrispondenza della
frontiera. Inoltre le funzioni distanza con segno continuano a ereditare tutte le proprietà
delle funzioni distanza normali e in particolare la (??) diventa

|∇φ| = 1. (5.3)

Vettorialmente inoltre si può esprimere qualsiasi punto della frontiera xf ront attraverso le
funzioni distanza con segno nel seguente modo

xf ront = x − φ(x)N, (5.4)

dove N rappresenta il versore normale uscente passante per x.

x front
x N

Figura 5.1: φ(x)N è il vettore che unisce x e xf ront .

Riportiamo infine una importante proprietà delle funzioni distanza con segno che lega
la (??) al versore normale e alla curvatura κ della frontiera:

∇φ
N= = ∇φ se vale la(??). (5.5)
|∇φ|
 
∇φ
κ = ∇· , (5.6)
|∇φ|
Vale quindi la seguente formula che ci permettera di semplificare moltissimo la trattazione
ogni volta che entrerà in gioco la curvatura della frontiera:

κ = ∇· (∇φ) = ∆φ. (5.7)

33
6 Moto della frontiera
Passiamo ora ad affrontare il problema di quali possono essere le cause che fanno muovere
una frontiera e di come discretizzare e trattare i diversi tipi di movimento.
In generale la frontiera si può muovere per 3 motivi:

1. movimento dovuto a un campo di moto convettivo esterno;

2. movimento legato alla curvatura della forntiera;

3. movimento dovuto a un campo di velocità generato internamente che causa quindi


un movimento lungo la normale alla frontiera.

6.1 Movimento indotto da un campo di velocità esterno


Supponiamo che la frontiera sia immersa in un campo di velocità esterno V(x) noto in
ogni punto della superficie implicita definita da φ(x) = 0. Il modo immediato per risolvere
l’equazione del moto per tutti i punti associati alla frontiera è quello di scrivere una ODE
del tipo
dx
= V(x). (6.1)
dt
Ovviamente per avere la soluzione esatta si dovrebbe risolvere questa equazione differen-
ziale per tutti i punti sulla superficie implicita, ma ovviamente questi sono un numero
infinito e si rende quindi necessario discretizzare i punti che compongono la superficie di
livello. In questo modo si ottiene un numero finito di punti che inizialmente sono sulla
frontiera e che noi vorremmo seguire nel loro moto.
Tuttavia dietro questa discretizzazione si nasconde un problema legato alla natura del
campo di velocità: questo in generale non sarà nè uniforme nè in generale diretto solo
lungo la normale locale alla superficie. Si genera quindi una deformazione della frontiera
che causa l’allontanamento dei nostri punti e che quindi in generale non saranno più in
grado di descrivere con precisione la forma della frontiera nei vari istanti temporali. Un
altro problema è legato al fatto che l’approssimazione ideale sarebbe quella che consente
di ottenere una discretizzazione della superficie di livello il quanto più regolare possibile:
l’allontanamento e il rimescolamento di punti che inizialmente erano vicini può portare a
creare approssimazioni della frontiera attraverso curve poco regolari e ’spigolose’.
Per avere una certa accuratezza numerica si dimostra essere quindi necessario discretizzare
periodicamente la frontiera con nuovi punti in modo tale da crearne una nuova che sarà il
più regolare possibile e ovviamente il più simile possibile alla frontiera reale.
Questo modo di rappresentare la frontiera tenendo traccia del movimento di determina-
ti punti che in un istante iniziale sono sulla frontiera stessa è un metodo di descrizione
lagrangiano che rientra sotto quei metodi detti front tracking methods.
Una visione euleriana delllo stesso fenomeno si può invece ottenere lavorando sulla
funzione implicita φ e studiandone l’evoluzione temporale. La frontiera non viene quindi
seguita guardando il movimento delle sue particelle, ma viene "catturata" dalla funzione
φ la cui evoluzione temporale è l’unica cosa che si segue. Questo tipo di approccio è un

34
procedimento del tipo front capturing method e ha il grosso vantaggio di non aver
bisogno di ridefinire i punti da seguire dopo un certo numero di passi, in quanto riesce
a catturare bene qualsiasi cambiamento nella topologia della frontiera come l’unione o la
divisione di suoi pezzi. L’equazione che sta alla base di questo approccio è quella che viene
anche chiamata equazione del level set ed assume la seguente forma:
φt + V· ∇φ = 0. (6.2)
Abbiamo detto che il campo di velocità V è definito solo sui punti della frontiera φ(x) = 0:
la difficoltà che nasce quando si passa al mondo discreto sta nel fatto che sarà raro se non
impossibile che un nodo della mesh sia esattamente nel punto in cui si trova l’insieme di
livello. L’idea che quindi si sfrutta è quella di estendere la definizione del campo di velocità
a una fascia intorno alla frontiera. Nella realtà questo non è cosi complicato da fare in
quanto in genere V sarà un campo definito su tutto il dominio e non sarà quindi difficile
ottenere i valori di velocità vicino alla frontiera.
Per poter inoltre ottenere una buona approssimazione del movimento della nostra superfi-
cie di livello è necessario essere in grado di cogliere con sufficiente precisione le variazioni di
velocità che ci sono fra punti adiacenti sulla frontiera. Precisamente se supponiamo che il
campo di velocità abbia forti variazioni muovendosi nella direzione tangente alla frontiera
stessa (due punti vicini hanno velocità molto diverse fra loro), sarà allora necessario avere
una griglia fitta in quella zona.
Viceversa la variazione del campo di velocità nella direzione normale alla superficie è as-
solutamente irrilevante al fine dello studio del moto della frontiera in quanto spostandosi
lungo la normale si va a cogliere un punto esterno alla frontiera e che quindi non ci in-
teressa. Alla luce di ciò spesso si semplifica il campo di velocità mantenendo costante
la componente normale della velocità per tutti i punti nella banda intorno alla frontiera
(ovviamente il valore della costante che si sceglie è quello del punto più vicino alla frontie-
ra). La scelta di prendere il valore del punto più vicino alla frontiera come valore per la
componente normale della velocità del campo convettivo, oltre che ad essere forse la più
semplice, si dimostra essere anche molto efficace in quanto conserva le caratteristiche di
una funzione distanza con segno.
Infatti in generale, avanzando in tempo, si perdono le proprietà caratteristiche della di-
stanza con segno: se per esempio φ all’istante t è una distanza con segno non è sempre
verificato che all’istante successivo sia ancora la funzione che indica la distanza dei punti
del dominio dalla nostra frontiera Γ. Con la scelta precedente questa difficoltà si supera,
ma vedremo in seguito che in alcuni casi sarà necessario reinizializzare la funzione φ per
ovviare al problema appena evidenziato.

6.2 Movimento generato dalla curvatura


Trattiamo ora il caso in cui il campo di velocità responsabile del moto sia generato dalla
curvatura della frontiera. Supponiamo per esempio di avere un campo di velocità della
forma
V = −bκN, (6.3)
in cui b è una costante che in base al segno stabilisce il verso del movimento della frontiera:

35
• nel caso b > 0 l’interfaccia si muove nel verso della concavità (un cerchio per esempio
si rimpicciolisce);

• nel caso b < 0 invece l’interfaccia si muove nel verso della convessità (il cerchio si
espande).

(a) (b)

Figura 6.1: Nel caso (a) si ha b>0 , mentre in (b) b<0

Osserviamo che il caso b < 0 è un caso che non possiamo accettare dal punto di vista
numerico poichè vorrebbe dire che una piccola perturbazione viene amplificata e quindi
le approssimazioni dei dati genererebbero errori non irrilevanti e quindi il problema non
sarebbe ben posto mancando la stabilità.
Come abbiamo ipotizzato scrivendo la (??), la velocità non ha altre componenti se non
quella nella direzione normale alla frontiera; tuttavia anche se si ipotizzasse un campo di
velocità con anche una componente nella direzione tangenziale del tipo V = Vn N + Vt T
questo non produrrebbe risultati differenti in quanto nell’equazione del moto del level set
si ha
φt + (Vn N + Vt T)· ∇φ = 0. (6.4)
Dato che ∇φ è nella diretto come la normale, il prodotto scalare renderebbe nullo il con-
tributo dato dalla componente tangenziale del campo di velocità legato alla curvatura.
L’equazione del moto diventa quindi

φt + Vn N· ∇φ = 0, (6.5)

da cui ricordando che


∇φ |∇φ|2
N· ∇φ = · ∇φ = = |∇φ|, (6.6)
|∇φ| |∇φ|
possiamo riscrivere la (??) come

φt + Vn |∇φ| = 0 (6.7)

36
con Vn componente normale della velocità tale che Vn = −bκ.
Osserviamo che mentre la (??) è una forma dell’equazione del moto del level set che può
essere usata anche per campi di velocità esterni come abbiamo visto nel paragrafo prece-
dente, invece la (??) è usata solo per campi di velocità auto-generati, dipendenti cioè dalle
caratteristiche stesse della frontiera.
Osserviamo ora come si semplifica la (??) nel caso in cui φ è una funzione distanza con
segno. Iniziamo a osservare che la (??) può essere riscritta esplicitando Vn come
φt = bκ|∇φ|; (6.8)
ricordiamo inoltre la proprietà che vale in generale per le funzioni distanza con segno,
ossia che |∇φ| = 1 per tutti quei punti del dominio per i quali esiste un unico punto
sulla frontiera che minimizza la loro distanza da Γ. Nel caso in cui valga questa proprietà
il termine a secondo membro si semplificherebbe ulteriormente. Sfruttiamo ora un’altra
proprietà delle funzioni distanza con segno che è quella che lega la curvatura alla funzione
implicita tramite la relazione κ = ∆φ. Otteniamo quindi
φt = b∆φ, (6.9)
che non è più un’equazione in cui compare un termine di trasporto, ma solo un laplaciano
e sappiamo bene come i fenomeni puramente diffusivi siano più facili da modellare rispetto
a quelli convettivi.

6.3 Movimento lungo la normale dovuto a un campo interno


Analizziamo ora l’ultimo tipo di campo di velocità che può essere responsabile del movi-
mento della frontiera, ossia un campo di velocità generato internamente e diretto lungo la
normale. Prendiamo un generico campo nella forma V = a|∇φ| dove a è una costante.
L’equazione del moto per il level set associata a questo campo di velocità, ricordando che
N· ∇φ = |∇φ|, diventa
φt + a|∇φ| = 0. (6.10)
Definendo a non abbiamo specificato di che segno sia questa costante: nel caso sia a > 0
avremo un campo di velocità responsabile di un movimento nella direzione del versore nor-
male uscente, e nel caso contrario di un moto entrante (il caso a = 0 non avrebbe senso
considerarlo perchè vorrebbe dire che non c’è il campo che stiamo studiando in questo
momento).
Come nel caso della (??), partendo dalla equazione (??) con Vn = a, se la funzione im-
plicita φ è una funzione distanza con segno allora si può semplificare l’equazione del moto
ottenendo
φt = −a. (6.11)
La risoluzione di questa equazione differenziale è molto semplice e introducendo una discre-
tizzazione temporale di passo ∆t possiamo ricavare facilmente la soluzione della funzione
implicita al tempo tn+1 essendo nota quella al tempo tn = n∆t: chiamando φn la funzione
implicita valutata al tempo tn avremo che
φn+1 = φn − a∆t. (6.12)

37
Se supponiamo per esempio di avere la costante a positiva avremo che l’insieme di livello
φ = a∆t al tempo tn diventerà al tempo tn+1 l’insieme di livello φ = 0. Gli insiemi di
livello ad ogni passo temporale quindi si muovono nella direzione normale di una quantità
a∆t. Osserviamo che l’incremento della funzione implicita è quindi costante e questo fatto
si traduce nell’avere φ con gradiente costante; matematicamente questo è evidente nel
momento in cui si va a differenziare la (??) e si ottiene

∇φn+1 = ∇φn − ∇ (a∆t) . (6.13)

Osservando però che a e ∆t sono costanti, allora ∇ (a∆t) si annulla e rimane soltanto
l’uguaglianza
∇φn+1 = ∇φn . (6.14)
Ancora una volta l’utilità di questa considerazione si vede nel momento in cui la funzione
implicita φ è una funzione distanza con segno: in questo caso il suo gradiente sarà unitario
al momento dell’inizializzazione e si manterrà tale ad ogni passo temporale garantendo cioè
che la φ rimanga una funzione distanza con segno.

38
7 Formulazione debole e discretizzazione FE
Fino ad ora abbiamo discusso delle idee che stanno alla base del metodo del level set ossia
le funzioni distanza con segno, e i tipi di motori che possono far spostare la frontiera.
Adesso ci occupiamo di formulare matematicamente il problema del level set nell’ambito
degli elementi finiti.
Come abbiamo già avuto modo di vedere, l’equazione che regola il movimento della frontiera
Γ sotto l’effetto del campo convettivo u è un’equazione di puro trasporto che si può scrivere
nella forma
φt + u· ∇φ = 0. (7.1)
Procedendo formalmente, moltiplichiamo l’equazione per una funzione test e integriamo
sul dominio Ω: si ottiene cosi la seguente equazione
Z Z
φt w dΩ + (u· ∇φ)w dΩ = 0. (7.2)
Ω Ω

Le regolarità richieste per far si che la (??) sia ben definita sono che:
• φ ∈ Wu (Ω) := {ψ ∈ L2 (Ω) : u· ∇ψ ∈ L2 (Ω)};
• w ∈ L2 (Ω).
Osserviamo che lo spazio Wu (Ω) è uno spazio di Hilbert se dotato dalla norma
1/2
kψk1,u = kψk20 + ku· ∇ψk20 .

Se introduciamo ora la forma bilineare


lu (φ, w) = (u· ∇φ, w)L2 (Ω)
la formulazione debole dell’equazione del level set è pertanto:
cerco φ(x, t) ∈ Wu (Ω) tale che
(φt , w) + lu (φ, w) = 0 ∀w ∈ L2 (Ω). (7.3)
Nel passaggio ad una discretizzazione della (??) tramite elementi finiti, la formula-
zione non cambierà forma ma soltanto gli spazi in cui cerco la soluzione. Detta TH la
triangolazione del dominio, definiamo quindi lo spazio
Wh (Ω) = {ψ ∈ C 0 (Ω) : ψ|KH ∈ Pk (KH ) ∀KH ∈ TH }
che ci permette di scrivere la formulazione alla Galerkin del problema:
cerco φh (x, t) ∈ Wh (Ω) tale che
 
∂φh
, wh + lu (φh , wh ) = 0 ∀wh ∈ Wh (Ω). (7.4)
∂t
Per le analisi presentate in seguito abbiamo scelto di ambientare la funzione φ nello spazio
dei polinomi lineari a tratti sugli elementi della mesh, ossia nei P1 .

39
8 Stabilizzazione dell’equazione del level set
Come abbiamo già avuto modo di sottolineare, l’equazione del level set è un’equazione
di puro trasporto e la sua discretizzazione alla Galerkin soffre perciò di tutti i problemi
caratteristici delle equazioni a trasporto dominante.
Possibile rimedi per fronteggiare questo problema possono essere quello di utilizzare degli
spazi di Galerkin discontinui, oppure mantenere elementi finiti continui aggiungendo tutta-
via dei termini di stabilizzazione. Noi cercheremo di analizzare questa seconda possibilità
in quanto è naturale voler cercare di approssimare una funzione distanza (che è continua)
con elementi finiti continui.
Inoltre, siccome la discretizzazione temporale non comporta nessun ulteriore problema dal
punto di vista della stabilizzazione, ci proponiamo ora l’obiettivo di fare un’analisi su un
caso generico di equazione di trasporto-reazione stazionaria. Il problema che vogliamo
quindi stabilizzare è il seguente:
cerco φ ∈ Wu tale che
Z Z Z
σφ w dΩ + (u· ∇φ)w dΩ = f w dΩ ∀w ∈ L2 (Ω). (8.1)
Ω Ω Ω

1 φk
Osserviamo che se poniamo σ = e f = e ambientiamo il problema nei relativi
∆t ∆t
sottospazi discreti, allora la soluzione della (??) è il valore della funzione distanza al tempo
k+1 che si ottiene discretizzando l’equazione del level set tramite Eulero implicito.
Per comodità di scrittura scriveremo da qui in poi
Z Z
a(φ, w) = σφ w dΩ + (u· ∇φ)w dΩ.
Ω Ω
Presentiamo ora 2 tipologie di stabilizzazione che si differenziano fra di loro in quanto
la stabilizzazione Subgrid viscosity aggiunge termini viscosi all’interno di alcuni triangoli
della tassellazione, mentre la stabilizzazione Subgrid Edge inserisce correzioni solo sui lati
di alcuni elementi.

8.1 Stabilizzazione Subgrid Viscosity


Come si può dedurre dal nome del metodo, questo tipo di stabilizzazione si basa sull’idea di
creare una sottogriglia all’interno della tassellazione del dominio già esistente. Chiamiamo
quindi TH una triangolazione (quasi-uniforme) del dominio Ω in cui H è il raggio più grande
fra tutti gli elementi KH di TH ; come già fatto nel caso degli elementi finiti P1 -isoP2
introduciamo una sottotriangolazione Th nella quale vengono aggiunti tutti gli elementi
che si formano unendo i punti medi dei lati di ogni elemento di TH (vedi figura ??.c).
Chiamiamo Kh gli elementi della nuova tasselazione e h = H/2.
Definiamo ora gli spazi delle funzioni continue sul dominio e che sono polinomi di primo
grado rispettivamente sugli elementi KH e su Kh :
XH = {φH ∈ (Wu ∩ H 1 (Ω)) : φH |KH ∈ P1 (KH ) ∀KH ∈ TH }; (8.2)
Xh = {φh ∈ (Wu ∩ H 1 (Ω)) : φh |Kh ∈ P1 (Kh ) ∀Kh ∈ Th }. (8.3)

40
Osservazione 1. L’aggiunta della regolarità H 1 (Ω) nasce dalla necessità di avere funzioni
continue su tutto il dominio.
E’ possibile inoltre definire un sottospazio XhH ⊂ Xh tale che per ogni funzione
h ∈ Xh esistono almeno due funzioni φh ∈ Xh e φH ∈ XH tali che φh = φh − φH .
φH H H

φh φH φ Hh

Figura 8.1: Decomposizione di φh

La stabilizzazione Subgrid Viscosity prevede quindi l’inserimento di un termine cor-


h da inserire nella formulazione (??). Si ottiene quindi una
rettivo funzione soltanto di φH
formulazione debole del problema stabilizzato della seguente forma:
cerco φh ∈ Xh tale che

a(φh , wh ) + b(φH H
h , wh ) = (f, wh ) ∀wh ∈ Xh , (8.4)

dove il termine b(φHh , wh ) è appunto il termine di stabilizzazione richiesto.


H

Per garantire l’esistenza e l’unicità della soluzione della (??) è necessario che siano soddi-
sfatte diverse condizioni riguardanti sia la scelta degli spazi in cui ambientare le funzioni,
che il termine correttivo b. Per quanto riguarda quest’ultimo è necessario che soddisfi la
seguente proprietà :
Proprietà 8.1. Esiste una norma k · kbh tale che

∃c1 , c2 > 0 : ∀whH ∈ XhH vale c1 kwhH k1,u ≤ kwhH kbh ≤ c2 h−1 kwhH kL2 (Ω) , (8.5)

e inoltre la forma bilineare bh : XhH × XhH → R è coerciva e continua, cioè ∃c3 , c4 > 0 tali
che
bh (φH H h 2
h , φh ) ≥ c3 hkφh kbh , (8.6)
bh (φH H h h
h , wh ) ≤ c4 hkφh kbh kwh kbh . (8.7)
Nel nostro caso la scelta della coppia di spazi (XH , Xh ), detta configurazione P1 a due
livelli, garantisce tutte le condizioni riguardanti gli spazi che sono necessarie per avere la
buona positura del problema.
Per quanto riguarda il termine correttivo invece una sua possibile forma è la seguente

b(φH H H H
h , wh ) = h(∇φh , ∇wh ). (8.8)

41
Osserviamo che quella appena proposta è una stabilizzazione che introduce viscosità arti-
ficiale all’interno di ognuno degli elementi Kh e in tutte le direzioni; vedremo in seguito
che un’altro tipo di stabilizzazione accettabile è la stabilizzazione SU.
Se sono soddisfatte le condizioni necessarie per l’esistenza e unicità della soluzione, è
inoltre possibile ricavare una stima di convergenza per la funzione φh che dipende dal grado
polinomiale k usato per la discretizzazione FE (valida solo per k=1,2). Se φ ∈ H k+1 (Ω)
allora la soluzione discreta φh soddisfa:

kφ − φh k1,u ≤ chk kφkH k+1 (Ω) ; (8.9)

kφ − φh kL2 (Ω) ≤ chk+1/2 kφkH k+1 (Ω) . (8.10)

8.2 Stabilizzazione Subgrid Edge


Introduciamo ora un nuovo tipo di correzione che si basa sull’aggiunta di termini penaliz-
zanti solo sui bordi dei triangoli interni della sottogriglia Th , cioè su tutti i lati che non
sono in comune anche con i triangoli più grandi della griglia TH . Metodi di questo tipo
vengono chiamati stabilizzazioni Subgrid Edge.
Indichiamo con Ei (KH ) i lati all’interno di un elemento KH nei quali introduciamo la
penalizzazione, ossia

Ei (KH ) = {ei ∈ ∂Kh : ei ∈


/ ∂KH , ∀Kh ∈ KH }.

Il termine correttivo che andiamo a introdurre in questo metodo, è una penalizzazione sul
salto del gradiente delle funzioni sui lati Ei e chiameremo questo termine
X X Z
jh (φh , wh ) = h2ei J∇φh KJ∇wh K dσ, (8.11)
Kh ei ∈Ei ei

a cui è associata la rispettiva norma


X X Z
kφh k2jh = hei J∇φh K2 dσ, (8.12)
Kh ei ∈Ei ei

con hei che è la lunghezza del generico lato ei .

Osservazione 8.1. Questo tipo di correzione è molto simile alla correzione di Hanso-Burman
(??) per i modi spuri di pressione, con una correzione però aggiunta tuttavia localizzata
sui lati Ei e non su tutti i bordi degli elementi della mesh.
Se vogliamo ora ricondurci a una scrittura del problema stabilizzato simile alla (??)
vorremmo avere un termine di penalizzazione dipendente dalle funzioni φH h e wh ∈ Xh
H H

invece che dalle funzioni in Xh ; tuttavia osserviamo che nel caso in cui la scelta degli spazi
(XH , Xh ) sia quella di una coppia di P1 , allora le funzioni φh e wh saranno lineari in ogni
elemento KH e quindi il loro gradiente a cavallo dei lati Ei è costante (e il salto è perciò
nullo). Pertanto
J∇φh K = J∇φH + ∇φH H
h K = J∇φh K,

42
e quindi
jh (φh , wh ) = jh (φH H
h , wh ).

Affinchè la formulazione che si ottiene con questa scelta ammetta una e una sola soluzione
è necessario chiedere che j(· , · ) soddisfi la proprietà ??. Questa richiesta viene soddisfatta
in quanto vale il seguente lemma:

Lemma 8.1. La norma k· kjh soddisfa la proprietà ??, e la forma bilineare j(· , · ) è
continua e coerciva.

Alla luce di questo lemma possiamo dire che la formulazione debole


cerco φh ∈ Xh tale che

a(φh , wh ) + j(φh , wh ) = (f, wh ) ∀wh ∈ Xh (8.13)

ammette una e una sola soluzione che soddisfa le disuguaglianze (??) e (??) con k=1.
Nel caso in cui invece volessimo introdurre una stabilizzazione Subgrid Edge con una
coppia di spazi P2 a due livelli, è necessario introdurre una correzione anche sul salto delle
derivate seconde delle funzioni sui lati dei sottotriangoli interni Ei .
La forma bilineare che descrive questa correzione è la seguente:
X X Z
jh (φh , wh ) = h2ei J∇φh KJ∇wh K + h3ei JD2 φh KJD2 wh K dσ, (8.14)
Kh ei ∈Ei ei

a cui è associata la rispettiva norma


X X Z
kφh k2jh = hei J∇φh K2 + h2ei JD2 φh K2 dσ, (8.15)
Kh ei ∈Ei ei

dove D2 rappresenta l’operatore Hessiano. Come fatto nel caso precedente di stabiliz-
zazione per spazi P1 a due livelli si riesce a dimosrtrare che la forma bilineare jj (· , · )
soddisfa la proprietà ?? e pertanto siamo di fronte a un problema ben posto, le cui stime
di convergenza sono date dalle disuguaglianze (??) e (??) con k=2.
Osservazione 8.2. L’approccio usato per dimostrare la validità delle stabilizzazioni Subgrid
Edge è un approccio che richiama le properietà di buona positura della stabilizzazione
Subgrid Viscosity che appartiene a quella classe di metodi che introducono una viscosità
artificiale, e che storicamente sono più sviluppati di quanto non lo siano i metodi interior
penalty.

8.3 Verifica della Convergenza per un Caso Test


Prima di proseguire, verifichiamo numericamente l’ordine di convergenza dei metodi stabi-
lizzati appena proposti. Per fare ciò studiamo un caso semplice di un’equazione stazionaria
di trasporto-reazione:
σφ + β· ∇φ = f, (8.16)
in cui

43
• σ=1;

• β = (1,0)T ;
     
1 x − 0.5 2 x − 0.5
• f= 1 − tanh − 10 1 − tanh .
2 0.005 0.005

Con questi dati la soluzione esatta è


  
1 x − 0.5
φ= 1 − tanh .
2 0.005

Figura 8.2: Soluzione esatta del problema (??)

L’analisi di convergenza che abbiamo svolto è stata fatta usando come ambiente fun-
zionale lo spazio discreto P1 , su un dominio quadrato Ω = [0,1]2 con griglie caratterizzate
da una discretizzazione spaziale uniforme. I risultati ottenuti stabilizzando il problema con
i metodi SU e IP sono rappresentati nella tabella ??.

IP SU
dh L2 H1 L∞ L2 H1 L∞
0.05 7.56e-3 5.51e-1 6.38e-2 8.96e-3 5.12e-1 5.55e-2
(2.05) (1.01) (1.85) (2.1) (1.2) (1.8)
0.025 1.83e-3 2.59e-1 1.74e-2 2.09e-3 2.2e-1 1.56e–2
(1.95) (0.9) (2.05) (2.05) (0.9) (1.95)
0.0125 4-81e-4 1.41e-1 4.22e-3 5.11e-4 1.11e-1 3.96e-3
(2) (2) (2) (2.03) (1.1) (2)
0.00625 1.2e-4 7.27e-4 1.07e-3 1.25e-4 5.21e-2 9.87 e-4

Tabella 1: Norme dell’errore e rispettivi ordini di convergenza

44
I risultati ottenuti mostrano che per entrambi i metodi di stabilizzazione si ha una con-
vergenza quadratica in norma L2 e L∞ , mentre è giustamente solo lineare in norma H 1 .
Tuttavia osservando la stima (??) notiamo che la convergenza teorica in L2 è minore di
quella trovata numericamente in quanto l’errore teorico è un O(h3/2 ): in letteratura è
stato infatti evidenziato che solo in particolari casi (ottenuti attraverso l’utilizzo di gri-
glie particolari) l’ordine di convergenza quadratico degenera a quello stimato teoricamente
scendendo a 3/2.

45
9 Conservazione della Massa
Il più grande problema che si incontra ogni volta che si ha a che fare con metodi di stabi-
lizzazione sta nel fatto che questi tendono in genere a introdurre una viscosità artificiale
che quindi dissipa massa. In questo paragrafo ci poniamo l’obiettivo di analizzare tramite
FreeFem++ come i metodi di stabilizzazione sopra presentati si comportano. Dobbiamo
subito precisare che utilizzeremo stabilizzazioni in cui i termini correttivi saranno aggiunti
su tutti gli elementi della triangolazione Th in quanto in FreeFem++ non è possibile distin-
guere l’unico elemento della sottogriglia interno all’elemento KH della mesh TH . Pertanto
non useremo una struttura di spazi a due livelli, e i risultati che otterremo saranno so-
pradiffusivi rispetto ai risultati teorici che si otterrebbero limitando la viscosità al solo
sottoelemento interno.

KH
Kh

interno
Kh

Kh Kh

Figura 9.1: La nostra stabilizzazione sarà estesa a tutti i Kh e non solo a quello interno

Le correzioni che useremo per stabilizzare l’equazione del level set saranno le seguenti:

• un metodo Stramline Upwind SU come esempio di stabilizzazione Subgrid Viscosity


nella forma di
X Z
bh (φh , wh ) = δSU (u· ∇φh ) (u· ∇wh ) dσ; (9.1)
Kh ∈Th Kh

• un metodo Interior Penalty IP per quanto riguarda le stabilizzazioni Subgrid Edge


che corrisponde alla seguente correzione
X X Z
jh (φh , wh ) = δIP J∇φh KJ∇wh K dσ, (9.2)
Kh ∈Th ei ∈Kh ei

dove ei sono tutti i lati dell’elemento Kh .

I coefficienti δIP e δSU sono coefficienti che valgono rispettivamente δIP = δ̃IP h2K e
δSU = δ̃SU |u|hk
, con δ̃IP e δ̃SU parametri reali di tuning.
Passiamo ora a analizzare alcuni casi test per vedere come si comportano le stabiliz-
zazioni che abbiamo appena descritto, e come conservano la massa in relazione anche al
tipo di discretizzazione temporale che usiamo. Confronteremo quindi i due metodi SU e

46
IP applicati alle discretizzazioni temporali secondo gli schemi Eulero Implicito (1 ordine),
BDF2 (2 ordine) e discretizzando la derivata lagrangiana tramite il comando convect di
FreeFem++.

47
9.1 Test 1: Traslazione Rigida di un Cerchio
Il primo caso test è la semplice traslazione orizzontale di una funzione il cui insieme di
livello nullo è un cerchio. Sia quindi Ω il nostro dominio [0,1]2 e β il campo di velocità
(1,0)T ; la funzione del level set φ è soluzione dell’equazione

φt + β· ∇φ = 0. (9.3)

La funzione φ è inizializzata come distanza dal cerchio di raggio R=0.15 e di centro (0.3,0.5).

(a) (b)

Figura 9.2: Funzione distanza φ dal cerchio evidenziato in rosso in (b)

Utilizzando un passo temporale di ∆t = 0.005 e uno spaziale pari a 1/160, andiamo


a simulare la risoluzione dell’equazione (??) e, se non avessimo dissipazione di massa, ci
aspetteremmo che l’insieme di livello φ = 0 trasli solamente verso destra. I risultati che si
ottengono sono rappresentati nelle figure ?? ,?? e ??.

(a) (b)

Figura 9.3: Discretizzazione temporale Eulero Implicito con IP (a) e SU (b)

48
(a) (b)

Figura 9.4: Discretizzazione temporale BDF 2 con IP (a) e SU (b)

(a) (b)

Figura 9.5: Discretizzazione temporale tramite comando convect con IP (a) e SU (b)

Come si riesce facilmente a vedere dalle prime figure la discretizzazione temporale


tramite Eulero Implicito non conserva la massa ma fa restringere il cerchio, e dello stesso
problema soffre la discretizzazione BDF2 associata a una stabilizzazione SU; al contrario
sembrano funzionare bene i restanti metodi.
Per avere una visualizzazione più chiara di quali metodi conservano meglio la massa ci
basiamo sul grafico 9.7 in cui si rappresenta la variazione nel tempo del rapporto fra l’area
del cerchio all’istante t e l’area iniziale. E’ evidente come la stabilizzazione Subgrid Edge
associata alla discretizzazione BDF2 o alla derivata lagrangiana conservi quasi totalmente
la massa, mentre il metodo SU ne dissipa una certa quantità più o meno grande a seconda
del metodo di discretizzazione temporale.

49
Inoltre notiamo come la discretizzazione EI, a parità di stabilizzazione, dissipi in maniera
molto più evidente; a parità di discretizzazione temporale invece è la stabilizzazione di tipo
Subgrid Viscosity a dissipare di più.

Figura 9.6: Andamento della massa per il caso test 1

50
9.2 Test 2: Rotazione di un Quadrato
Come secondo caso di studio analizziamo il caso di una rotazione di un quadrato nel dominio
Ω = [0, 0.7] × [0.3, 1] ma soggetto questa volta a un campo convettivo β = (y − 0.5,0.5 − x)
cioè a un campo che ne provoca la rotazione intorno al punto (0.5,0.5). Mantenendo lo
stesso passo temporale e lo stesso passo spaziale precedente andiamo anche qui a studiare
come si comportano i nostri metodi.

(a) (b)

Figura 9.7: Funzione distanza φ dal quadrato iniziale evidenziato in rosso in (b)

Gli aspetti nuovi che si introducono in questo caso di studio sono gli spigoli del quadrato
e una simulazione per tempi più lunghi che ci aspettiamo quindi che metta maggiormente
in evidenza quali metodi sono più dissipativi.

(a) (b)

Figura 9.8: Discretizzazione temporale Eulero Implicito con IP (a) e SU (b)

Dalle figure ?? ,?? e ?? notiamo ancora che i metodi migliori sono il Subgrid Edge
associato a discretizzazione temporali BDF2 o tramite convect. Dal grafico ?? notiamo

51
(a) (b)

Figura 9.9: Discretizzazione temporale BDF 2 con IP (a) e SU (b)

(a) (b)

Figura 9.10: Discretizzazione temporale tramite comando convect con IP (a) e SU (b)

che il BDF2 riesce a preservare ottimamente la massa (come avevamo visto anche nel primo
caso test); tuttavia confrontando le figure ??.(a) e ??.(a) si riesce anche a notare come la
discretizzazione della derivata lagrangiana preservi meglio la forma del quadrato. Quindi
grazie a questa analisi riusciamo a dire che la discretizzazione BDF2 preserva la massa
ma la distribuisce in maniera diversa rispetto a quella reale; al contrario sembra che il
metodo di discretizzazione della derivata lagrangiana preservi sia la massa che la forma
della frontiera.

52
Figura 9.11: Andamento della massa per il caso test 2

9.3 Test 3: Cerchio di Zalesak


Il terzo caso di studio che andiamo a presentare è quello che in letteratura prende il nome di
cerchio di Zalesak. L’importanza dello studio di questo caso test sta nel fatto che abbiamo
a che fare con una figura non convessa.

(a) (b)

Figura 9.12: Cerchio di Zalesak (a) e inizializzazione della distanza (b)

Anche qui manteniamo il dominio [0,1]2 e un campo convettivo β che fa ruotare il nostro
cerchio: i risultati che presenteremo saranno quelli che si ottengono dopo una rotazione
completa del disco utilizzando un passo temporale tale da compiere una rotazione completa
in 1000 passi (circa 0.005). In questo caso presentiamo solamente i risultati che si ottengono

53
con le discretizzazioni temporali della derivata lagrangiana e BDF2 associati alle solite
stabilizzazioni.

(a) (b)

Figura 9.13: Cerchio di Zalesak ruotato con IP associato a discretizzazione temporale


tramite convect (a) e BDF2 (b)

Come abbiamo già visto in precedenza i risultati del metodo Subgrid Edge associato
alla derivata lagrangiana o allo schema BDF2 sono simili: per vedere meglio dove stanno
le differenze facciamo uno zoom concentrandoci sull’ultimo istante temporale che si va a
sovrapporre con quello iniziale.
Osservando la figura ?? è evidente come anche in questo caso il metodo di stabilizzazione
Subgrid Viscosity non sia adeguato in quanto liscia molto la concavità del disco alterando
notevolmente la forma che si ottiene. Ancora una volta possiamo quindi dire che il metodo
di Interior Penalty che stabilizza solo sui lati dei triangoli è decisamente più efficiente; la
discretizzazione temporale migliore con cui accoppiare questa stabilizzazione invece non è
facile da decidere in quanto sia il BDF2 che la derivata lagrangiana danno ottimi risultati.
In questo caso si nota come il BDF2 sia leggermente preferibile al convect nella parte
superiore della rientranza in quanto riesce a rimanere più vicino a quello che è il disegno
iniziale; tuttavia, come già visto nel caso test 2, liscia un po’ troppo gli angoli in basso.
Sono comunque entrambi soluzioni valide per la discretizzazione temporale da accoppiare a
una stabilizzazione Interior Penalty che riteniamo dunque valida per svolgere le simulazioni
successive.

54
(a) (b)

(c) (d)

Figura 9.14: Insieme di livello finale sovrapposto al cerchio di Zalesak iniziale: IP+convect
(a) IP+BDF2 (b) SU+convect (c) SU+BDF2 (d)

10 Reinizializzazione

Abbiamo già evidenziato in precedenza parlando dei moti della frontiera come possa ca-
pitare che durante l’evoluzione temporale la funzione φ perda le sue proprietà di distanza
con segno dal suo insieme di livello nullo. Questo vuol dire che durante la simulazione la
funzione φ presenta regioni in cui può essere troppo ’piatta’ oppure troppo ’ripida’. Nel
primo caso in cui il gradiente è piccolo in prossimità della frontiera si perde accuratezza
nell’individuazione della corretta posizione della stessa, mentre se si ha un gradiente trop-
po elevato si rischia di avere una funzione φ che è quasi discontinua (necessita quindi di
schemi numerici appropriati per gestire il trasporto di una funzione discontinua).
Nasce quindi l’idea di reinizializzare la funzione φ in modo per creare una nuova funzione
che abbia lo stesso insieme di livello zero di φ e che sia la nuova funzione distanza con
segno dall’interfaccia. L’idea della reinizializzazione è visualizzata nella figura ?? in cui
in un istante generico abbiamo una funzione φ(t): il procedimento vuole sostituire questa
funzione con una nuova φreinizializzata che è caratterizzata dal fatto che ha lo stesso insieme
di livello zero Γ = {x ∈ Ω : φ(x, t) = 0} della φ(t) ed è quanto più simile possibile alla vera
distanza da Γ. Osserviamo che se la frontiera è sufficientemente liscia allora la distanza φ
sarà tale da avere |∇φ| = 1.

55
φ iniziale
t φreinizializzata

φ(t)
Figura 10.1: Procedimento di reinizializzazione in 1D

10.1 Metodi diretti per la reinizializzazione

I metodi classici che permettono di reinizializzare la distanza durante l’evoluzione tempo-


rale del level set si possono suddividere in due categorie principali: i metodi diretti e i
metodi basati sulla risoluzione di PDEs.
In questa sezione descriviamo brevemente i metodi diretti che si basano semplicemente
sull’idea di ricostruire a ogni passo temporale la distanza dalla frontiera. Supponiamo per
esempio che durante una simulazione numerica in cui si usa un’approssimazione P1 si riesca
a decrivere Γ tramite l’unione di un numero finito di segmenti {γi } con i = 1, ..., NΓ : a
ogni passo temporale è necessario trovare per ogni punto xj della griglia di calcolo il corri-
spondente punto sull’approssimazione di Γ che minimizza la distanza di xj dalla frontiera
stessa. E’ necessario cioè costruire φ in maniera diretta in modo tale che questa soddisfi
la condizione
φ(xj ) = min (dist(xj , γi )). (10.1)
i=1,...,NΓ

In questo modo si costruisce φ nei nodi di calcolo; è necessario poi ovviamente interpolare
(linearmente se usiamo i P1) per ottenere la distanza in tutto il dominio.
Questo metodo possiamo dire che è l’algoritmo di reinizializzazione più naturale e intuitivo
da ricavare e questa semplicità si traduce in facilità di implementazione. Un ulteriore
vantaggio di questo metodo sta nel fatto che ad ogni passo temporale si ottiene una φ che
è esattamente la distanza dalla frontiera.
Lo svantaggio che porta con sè è tuttavia una pesantezza computazionale in quanto è
un metodo che necessita di trovare per ogni punto della griglia di calcolo quale sia il
corrispondente punto sulla frontiera che ne minimizza la distanza. Questo vuol dire che si
richiede di calcolare per ogni punto del dominio la distanza da tutti i punti della frontiera
e poi assegnare il valore di φ scegliendo il valore minore. Man mano che si aumentano
le dimensioni della simulazione si osserva che questo procedimento risulta essere molto
lungo: se infatti in 1D la frontiera di un insieme connesso è caratterizzata da 2 soli punti,
già passando in 2D la frontiera è formata da infiniti punti nel continuo e da un numero
rilevante nel discreto. Questo ovviamente si traduce nella crescita del numero di controlli
che si devono fare per ogni punto della griglia per trovare la sua minima distanza da Γ.

56
10.2 Metodi differenziali per la reinizializzazione
L’altra categoria di metodi classici per reinizializzare la distanza del level set è quella che
si basa sulla risoluzione di un’equazione differenziale di Hamilton-Jacobi:

 ∂φ = sign(φ ) (1 − |∇φ|) τ ≥0
0
∂τ (10.2)
φ(x, τ = 0) = φ in Ω.
0

Precisiamo che in questa equazione il tempo τ è una variabile che indica un tempo fittizio
che non ha nulla a che fare con l’avanzamento temporale della simulazione numerica (in
genere si sceglie ∆τ dello stesso ordine di grandezza del passo spaziale della griglia). Inoltre
con φ0 è indicata la funzione che si ottiene dalla risoluzione dell’equazione del level set, e
con sign invece si intende il segno della funzione φ0 . Quello che fa questo metodo è creare
una nuova funzione che ha lo stesso insieme di livello zero di φ0 ma con isolinee più regolari,
e questa funzione si ottiene dunque come soluzione stazionaria della (??).
E’ possibile modificare la (??) in modo da ottenere un’equazione scritta nella stessa
forma dell’equazione del level set. Si può infatti scrivere

∇φ
|∇φ| = · ∇φ
|∇φ|

e ottenere così 
 ∂φ + w· ∇φ = sign(φ ) τ ≥0
0
∂τ (10.3)
φ(x, τ = 0) = φ in Ω.
0

in cui il campo convettivo w è dato da

∇φ
w = sign(φ0 )· (10.4)
|∇φ|

Osserviamo che tuttavia il campo di velocità w dipende dalla soluzione stessa: nella ri-
soluzione numerica adotteremo pertanto uno schema semi-implicito in cui l’equazione che
risolveremo sarà
 n+1 
∇φn

 ∂φ + sign(φ0 )· · ∇φn+1 = sign(φ0 ) τ ≥0
∂τ |∇φn | (10.5)
 n+1
φ (x, τ = 0) = φ0 in Ω.

Come abbiamo già accennato questa equazione si presenta nella stessa forma della (??)
e soffrirà quindi degli stessi problemi di stabilità e conservazione della massa. Tuttavia
oltre a questi problemi è richiesta anche un’approssimazione della funzione sign che per
noi sarà
φ0
sign(φ0 ) = p 2 (10.6)
φ0 + 2
in cui  è circa uguale alla dimensione del passo spaziale della griglia.

57
Il procedimento teorico appena proposto consente pertanto di regolarizzare la distanza
con segno durante l’evoluzione temporale dell’interfaccia Γ. Tuttavia nella risoluzione
numerica della (??) è inevitabile lo spostamento dell’insieme di livello zero della φ: lo
spostamento sarà sempre più marcato all’aumentare del numero di passi pseudo-temporali
che vengono risolti in ogni procedimento di reinizializzazione. E’ dunque consigliabile
limitare il più possibile la frequenza del procedimento appena presentato e limitare il
numero di iterazioni richieste in ogni passo di reinizializzazione.
Le differenze fra il procedimento teorico e quello numerico che si realizza nella pratica sono
riassunte nella seguente tabella:

Procedimento Teorico Procedimento Numerico


Quando le isolinee di φ
Frequenza di Reiniz. Ogni passo temporale
diventano "brutte"
Passi pseudo − temporali Fino a raggiungere la Il minor numero possibile
in una reinizializzazione soluzione stazionaria per aver φ "bella"

Tabella 2: Processo di reinizializzazione teorico vs numerico

I concetti di "bello" e "brutto" espressi nella tabella ?? sono ovviamente concetti che
si valutano per ogni caso di studio. Se per un problema infatti può essere necessaria la
reinizializzazione ogni 5 passi temporali non è detto che valga la stessa cosa per tutti i
problemi in quanto ci sono casi in cui la φ viene distorta maggiormente richiedendo così
reinizializzazioni più frequenti. Abbiamo già detto nella trattazione dei moti della frontiera
che la reinizializzazione si rende di fatto necessaria soltanto per quei moti che dipendono
dalla curvatura di Γ: se pertanto avremo a che fare con un problema in cui la velocità
di spostamento è unicamente generata dalla curvatura saranno necessarie reinizializzazioni
più frequenti rispetto a un problema in cui una superficie viene solo trasportata all’interno
di un campo di velocità esterno. Inoltre vedremo nel prossimo paragrafo come anche il
numero di passi pseudo-temporali da risolvere in ogni iterazione è molto dipendente dal
tipo di problema che stiamo affrontando.
Il concetto di φ "bella" sta quindi a indicare una funzione distanza con isolinee regolari
che si avvicinano il più possibile a quelle della vera distanza dall’interfaccia.

58
10.3 Esempi di Reinizializzazione
Presentiamo ora due esempi in cui applichiamo la reinizializzazione seguendo lo schema
differenziale proposto nel paragrafo precedente.
Il primo caso che analizziamo è il caso estremo di una funzione che assume esclusivamente
valori 1 e -1 rispettivamente all’esterno e all’interno di un cerchio di raggio R=0.25 centrato
in (0.5,0.5): ( p
1 se (x − 0.5)2 + (y − 0.5)2 ≥ R
φ= p (10.7)
−1 se (x − 0.5)2 + (y − 0.5)2 < R

(a) (b)

Figura 10.2: Visione 2D (con in nero l’insieme di livello zero) e 3D della funzione iniziale

A questa funzione applichiamo il procedimento di reinizializzazione con un passo pseudo-


temporale pari a 10−4 in quanto la forte discontinuità della funzione richiede un avanza-
mento più piccolo per non avere delle instabilità nei dintorni dell’insieme di livello nullo.
Quello che vogliamo mostrare è come agisce la reinizializzazione lisciando la funzione ini-
ziale e mantenendo la frontiera Γ molto simile alla frontiera iniziale. Le immagini della
figura ?? rappresentano la funzione reinizializzata fino a 1000 passi pseudo-temporali.
La figura ?? invece mostra il confronto fra gli insiemi di livello zero della funzione
iniziale (in rosso) e della funzione reinizializzata dopo 1000 passi (in nero). Si nota quanto
già detto in precedenza ossia che la procedura di reinizializzazione ha degli effetti sulla
frontiera e ne modifica la posizione. Per questo motivo è utile cercare di ridurre al minimo
il numero di reinizializzazioni per introdurre meno errori possibili.

59
(a) (b)

(c) (d)

Figura 10.3: Funzione dopo 250 (a), 500 (b), 750 (c) e 1000 (d) passi pseudo-temporali

Figura 10.4: Sovrapposizione dell’insieme di livello iniziale (rosso) e finale della funzione
distanza

60
Il secondo esempio che presentiamo è tratto da un’applicazione reale in cui si ha a
che fare con l’interazione fra due fluidi di densità diversa. Il caso classico che studiamo è
conosciuto col nome di Rising Bubble e descrive lo spostamento e la deformazione di una
bolla circolare di fluido leggero immersa nel fluido pesante. La deformazione e lo sposta-
mento sono causate principalmente dalla tensione superficiale della bolla e dalla gravità
che tende a far sollevare il fluido leggero secondo il principio di Archimede. Le equazioni
che regolano il fenomeno saranno meglio descritte nella prossima sezione, e per il momento
ci concentriamo solo sugli effetti della reinizializzazione.
Le simulazioni sono volte a evidenziare quale sia il risultato che si ottiene risolvendo lo stes-
so problema con e senza la reinizializzazione della distanza. La figura ?? mostra la bolla
iniziale e la sua evoluzione dopo un tempo pari a 0.5 calcolata con e senza il procedimento
di reinizializzazione. In questo caso abbiamo scelto di effettuare la reinizializzazione a ogni
avanzamento temporale risolvendo tuttavia un solo passo pseudo-temporale per ogni istan-
te: questa scelta è stata fatta in quanto il movimento della bolla è causato principalmente
dall’effetto della gravità e solo in scarsa parte dalla tensione superficiale (il cui effetto rende
necessaria la reinizializzazione).

(a) (b) (c)

Figura 10.5: Bolla all’istante iniziale (a), e al tempo T=0.5 calcolata senza reinizializzazione
(b) e con reinizializzazione (c)

E’ evidente come la reinizializzazione abbia un effetto rilevante in prossimità dell’in-


terfaccia dato che gli insiemi di livello sono meno fitti grazie all’effetto lisciante del pro-
cedimento di reinizializzazione. Inoltre possiamo vedere che anche gli insiemi di livello
lontani dalla frontiera cambiano forma e sono molto più simili a quelli che sarebbero i veri
insiemi di livello della funzione distanza dalla frontiera. Il fatto che nella parte superiore
del dominio gli insiemi di livello siano più fitti dopo la reinizializzazione non è una criti-
cità del procedimento in quanto ricordiamo che questo nasce dall’esigenza di diminuire(o
accentuare) il gradiente della funzione distanza verso il valore ideale di ∇φ = 1.
Confrontiamo infine gli effetti della reinizializzazione sull’insieme di livello zero che è l’unico
rilevante dal punto di vista fisico. La figura ?? mostra che purtroppo la reinizializzazione
muove la frontiera fra il fluido leggero e il fluido pesante alterando di fatto la soluzione.

61
Figura 10.6: Γ al tempo T=0.5 ottenuto con (rosso) e senza (nero) reinizializzazione

La distorsione di Γ possiamo vedere che si concentra nelle estremità della bolla dove lo
spessore della bolla di fluido leggero è minore. Questa distorsione è un ulteriore problema
che la reinizializzazione porta con sè e che si può generalizzare come una opposizione ai
cambiamenti di topologia. In questo caso la bolla tende verso una forma con estremità
sottili che poi tendono a staccarsi dal corpo centrale della bolla: l’effetto della reinizializ-
zazione è di ingrandire queste appendici impedendo loro di staccarsi. Vedremo in seguito
che anche nel caso contrario di fusione di topologie (goccia d’acqua che cade in acqua fer-
ma) la reinizializzazione tende a ingrandire lo spazio che separa le topologie che si vogliono
unire impedendone la fusione.
Un rimedio generale per ridurre l’effetto della reinizializzazione sullo spostamento di Γ
che abbiamo trovato tramite alcune analisi può essere quello di cambiare il rapporto fra il
passo temporale dt e quello pseudo-temporale dτ : in questo modo se si aumenta questo
rapporto si dà meno peso al movimento indotto dalla reinizializzazione. Se possibile è con-
veniente inizialmente ridurre il passo pseudo-temporale che non ha nessun significato fisico
a differenza del dt: nella figura ?? si è aggiunta la frontiera calcolata con un dτ dimezzato
rispetto al valore consigliato di letteratura di dτ =1/dh. Questo passo pseudo-temporale
rappresenta un valore conservativo che garantisce l’efficacia della reinizializzazione sulle
curve di livello di φ. In alcuni casi è tuttavia possibile rimpicciolirlo per ridurre lo sposta-
mento della frontiera indotta dalla reinizializzazione e gli effetti seppur minimi sono visibili
nella figura ??.
Osserviamo infine che abbiamo svolto un test anche con dτ pari a 0.1/dh e in que-
sto caso gli effetti della reinizializzazione non sono apprezzabili in quanto le isolinee di φ
non vengono migliorate in alcun modo (la reinizializzazione non è efficace con un passo
pseudo-temporale così piccolo).

62
Figura 10.7: Γ al tempo T=0.5 con reinizializzazione con dτ = 1/dh (rosso), con
dτ = 0.5/dh (verde) e senza reinizializzazione (nero)

63
Parte III

Problemi di fluidi bifase


11 Metodi per rintracciare l’interfaccia
Si parla di fluidi bifase ogni volta che si ha a che fare con due fluidi immiscibili che vengono
a contatto creando un’interfaccia che li separa. Fenomeni di questo tipo sono getti, gocce,
onde, bolle e riguardano non solo il caso più comune di aria e acqua ma anche fluidi generici
che vengono a contatto (fluidi stratificati, inquinante nell’acqua ecc.).
All’interfaccia fra i due fluidi, devono essere rispettate alcune condizioni dettate dal fatto
che abbiamo a che fare con fluidi viscosi, immiscibili e soggetti a tensione superficiale:

• il fluido da un lato dell’interfaccia si deve muovere solidale al fluido sull’altro lato in


quanto la viscosità crea un legame fra le componenti tangenziali della velocità; la non
compenetrabilità (fluidi immiscibili) impone inoltre che siano uguali le componenti
normali. Deve valere pertanto

u1 = u2 su Γ.

Questa condizione viene detta condizione cinematica in quanto esprime un vincolo


sulle velocità dei fluidi in prossimità dell’interfaccia.

• gli sforzi che agiscono sui due lati di Γ devono essere bilanciati tenendo conto della
tensione superficiale che si traduce in una forza diretta come la normale alla superficie
libera. L’equazione che esprime l’equilibrio delle forze è

T(u1 , p1 )· n = T(u2 , p2 )· n + κσn su Γ


T
dove T(u, p) = 2µ ∇u+∇u 2 − pI è il tensore degli sforzi nel punto di velocità u in
cui agisce la pressione p, κ è la curvatura della superficie libera e σ il parametro che
descrive l’intensità della tensione superficiale. Osserviamo che quest’ultimo dipende
da quali fluidi vengono a contatto e anche dalla temperatura dei fluidi stessi ma nel
nostro caso supponiamo che la temperatura è costante e non modifica perciò σ.
Questa condizione è nota come condizione di interfaccia dinamica e sottolinea che
gli sforzi normali sui due lati della superficie libera non si bilancino da soli ma il loro
equilibrio influenzato dall’azione della tensione superficiale.

11.1 Metodi a tracciamento del fronte


Dal punto di vista computazionale gli approcci per tenere conto della superficie libera nelle
simulazioni sono diversi ma possono essere raggruppati in due categorie.
La prima è quella rappresentata dai metodi detti metodi a tracciamento del fronte che
sfruttano il fatto che spesso solo uno dei due fluidi è quello di interesse (nell’interfaccia tra
aria e acqua spesso interessa solo il movimento dell’acqua). In questi metodi l’interfaccia
viene rappresentata come bordo di un dominio mobile in cui si risolve il problema solo
per uno dei fluidi (acqua) mentre si trascurano gli effetti del fluidi dall’altra parte della
frontiera. L’unica difficoltà di questo approccio sta nel fatto che l’equazione per il fluido
di interesse deve essere risolta in ogni istante temporale in un dominio diverso.

65
11.2 Metodi a cattura del fronte
La seconda categoria di metodi cade sotto il nome di metodi di cattura del fronte e descrive
tutti quegli approcci che mantengono fisso il dominio di calcolo descrivendo l’evoluzione di
entrambi i fluidi. In genere la presenza di fluidi caratterizzati da viscosità e densità diverse
viene trattata risolvendo il problema come se il dominio fosse riempito da un unico fluido le
cui proprietà cambiano attraversando la superficie libera che rappresenta una superficie di
discontinuità. Nella pratica questi metodi sono più usati rispetto a quelli di tracciamento
del fronte in quanto permettono di ottenere informazioni su entrambi i fluidi.
Questi metodi possono essere a loro volta suddivisi in base all’approccio che seguono: da
una parte ci sono i metodi che sfruttano i cosiddetti marker points, mentre dall’altra ci
sono quelli che sfruttano delle funzioni addizionali per descrivere l’interfaccia.
I metodi che sfruttano i marker points si basano sull’idea di descrivere l’interfaccia os-
servando lo spostamento di alcuni punti particolari: si inizializza il problema definendo
questi marker in prossimità dell’interfaccia e seguendone il movimento nel tempo. In ogni
istante l’interfaccia viene ricostruita unendo le posizioni dei marker points che inizialmente
erano vicini alla frontiera. Questo approccio tuttavia presenta alcuni problemi legati alla
difficoltà di ricostruire l’interfaccia a partire dalle posizioni dei marker ; per simulazioni su
tempi lunghi può inoltre capitare che i punti si distribuiscano in maniera non omogenea
lungo la frontiera in quanto si sono mossi con velocità diverse, rendendo cosi necessaria
una redistribuzione periodica dei punti all’interno del dominio. Un ulteriore limitazione
sta nel fatto che nel momento in cui si ricostruisce la superficie libera si cerca di mantenere
la topologia degli insiemi iniziali: se inizialmente l’interfaccia separa due insiemi connessi,
allora durante la ricostruzione del profilo si vorrà unire le posizioni dei marker mantenendo
gli insiemi connessi. Questo fatto preclude quindi la possibilità di trattare casi in cui si ha
un cambiamento di topologia (onde che si infrangono o gocce che cadono in acqua).
Mentre i metodi che utilizzano i marker points vengono detti metodi espliciti, la seconda
categoria di metodi a cattura del fronte vengono detti metodi impliciti e sono caratterizzati
dal fatto che le informazioni sulla posizione della superficie libera vengono ricavate dal
valore che assume una particolare funzione scalare

φ : Ω × (0, T ) −→ R.

La definizione di questa funzione caratterizza i metodi: i metodi più diffusi sono il VOF
(Volume Of Fluid) e il Level Set. Il metodo VOF descrive la posizione della frontiera fra
i fluidi attraverso la funzione
(
1 x ∈ Ω+ (t)
φV OF (x, t) = (11.1)
0 x ∈ Ω− (t)

in cui Ω+ e Ω− rappresentano le parti di dominio separate dalla frontiera Γ.


Nella risoluzione numerica la funzione φV OF che è discontinua attraverso Γ verrà invece
approssimata assumendo valori intermedi tra 0 e 1. Questo vuol dire che in alcuni punti la
funzione assume valori che possono essere interpretati come la porzione di volume occupata
da uno dei due fluidi ( da qui deriva il nome Volume Of Fluid), ma che tuttavia non sono

66
desiderabili in quanto l’ipotesi di fluidi immiscibili non prevede la possibilità di avere
presenza nello stesso punto di entrambi i fluidi.
Il metodo del Level Set non presenta questo problema in quanto abbiamo già mostrato
nella parte precedente che la frontiera è determinata univocamente dall’insieme di livello
della funzione distanza che in questo caso assume la forma di

> 0
 x ∈ Ω+ (t)
φLS (x, t) = = 0 x ∈ Γ(t) (11.2)

<0 x ∈ Ω− (t)

In tal modo è possibile definire la densità e la viscosità dei due fluidi attraverso variabili
in funzione della phiLS come segue:

ρ = ρ− + (ρ+ − ρ− )H(φ), (11.3)

µ = µ− + (µ+ − µ− )H(φ), (11.4)


in cui H(·) rappresenta la funzione Heaviside
(
0 ξ<0
H(ξ) = (11.5)
1 ξ>0

Noi abbiamo già presentato il metodo del Level Set con una trattazione generale pre-
sentando tutti i problemi che possono essere legati al metodo a prescindere dal campo di
applicazione. In questa parte, tutte le simulazioni effettuate saranno svolte applicando il
Level Set al caso specifico della fluidodinamica per fluidi bifase.

67
12 Formulazione debole e alla Galerkin del problema accop-
piato
Le equazioni che regolano il fenomeno saranno ovviamente le equazioni di Navier-Stokes
per la parte del calcolo dei campi di velocità e pressione nel dominio e l’equazione del
Level Set per tracciare lo spostamento dell’interfaccia fra i fluidi. Il sistema di equazioni
che descrivono il fenomeno è pertanto:
∂u

+ ρ(φ) [(u· ∇)u] − ∇· µ(φ) ∇u + ∇uT + ∇p = ρ(φ)g + κσδ(φ)n
 

 ρ(φ)

 ∂t
∇· u = 0 (12.1)
∂φ


+ u· ∇φ = 0


∂t
Richiamando gli spazi funzionali H1 (Ω),L20 (Ω) e Wu (Ω), la formulazione debole del nostro
problema accoppiato risulta essere:
per ogni t ∈ [0, T ] cerco u(x, t) ∈ H1 (Ω), p(x, t) ∈ L20 (Ω) e φ(x, t) ∈ Wu (Ω) tale che

mφ (ut , v) + aφ (u, v) + cφ (u, u, v) − b(v, p) = mφ (g, v) + (fΓ , v)
 ∀v ∈ H1 (Ω)
b(u, q) = 0 ∀q ∈ L20 (Ω)

(φt , ψ) + lu (φ, ψ) = 0 ∀ψ ∈ L2 (Ω)

(12.2)
in cui le forme scritte intendono:

• mφ (u, v) = (ρ(φ)u, v) ;

• aφ (u, v) = µ(φ)(∇u + ∇uT ), ∇v ;




• b(u, q) = (∇· u, q) ;

• lu (φ, ψ) = (u· ∇φ, ψ) ;

• cφ (u, v, w) = (ρ(φ)(u· ∇v), w);

• (fΓ , v) = Ω κσδ(φ)n· v dΩ = Γ κσn· v dΣ.


R R

La formulazione alla Galerkin è facile da ricavare una volta che si sono ricordati gli
spazi Vh ,Qh e Wh presentati in precedenza:

per ogni t ∈ [0, T ] cerco uh (x, t) ∈ Vh , ph (x, t) ∈ Qh e φh (x, t) ∈ Wh tale che


 
∂uh


m φh , vh + aφh (uh , vh ) + cφh (uh , uh , vh ) − b(vh , ph ) = mφh (g, vh ) + (fΓ , vh ) ∀vh ∈ Vh


 ∂t
b(u
 h , qh ) =0 ∀qh ∈ Qh
∂φ

 h
∀ψh ∈ Wh


 , ψh + luh (φh , ψh ) = 0
∂t
(12.3)

68
Osserviamo che in generale vista l’instabilità numerica dell’equazione del Level Set si
corregge la terza equazione introducendo un termine correttivo
j(φh , ψh )
che dipende dal tipo di stabilizzazione che si utilizza. Nel nostro caso rappresenta le
stabilizzazioni introdotte dai metodi di stabilizzazione Subgrid Viscosity o Subgrid Edge.
L’equazione per il Level Set nella formulazione di Galerkin è quindi:
 
∂φh
, ψh + luh (φh , ψh ) + j(φh , ψh ) = 0 ∀ψh ∈ Wh (12.4)
∂t

12.1 Discretizzazione del termine di tensione superficiale


Nella formulazione (??) si è introdotto un termine forzante in più nella prima equazione
che tiene conto dell’effetto della tensione superficiale. Questa agisce solo in prossimità
dell’interfaccia fra i due fluidi e quindi rappresenta una sorgente localizzata su Γ. Per
questo motivo abbiamo già visto che
Z Z
(fΓ , v) = κσδ(φ)n· v dΩ = κσn· v dΣ ∀v ∈ H1 (Ω)
Ω Γ

in cui δ(φ) è la delta di Dirach che assume valore unitario dove si annulla la funzione φ (su
Gamma) e è nulla in tutto il resto del dominio.
Un vantaggio del Level Set rispetto agli altri metodi è quello di lavorare con una funzione
distanza continua che descrive in maniera regolare l’interfaccia fra i due fluidi. E’ pertanto
facile calcolare la normale e la curvatura dell’interfaccia in ogni punto x ∈ Γ, in quanto
∇φ
n= ; (12.5)
|∇φ|
 
∇φ
κ = −∇· n = −∇· . (12.6)
|∇φ
Nel momento in cui però si va a discretizzare il problema nascono i problemi relativi alla
natura della delta di Dirach che è una funzione discontinua.L’approccio che si segue quindi
è quello di approssimare la delta attraverso una nuova funzione più regolare e liscia che
può assumere la seguente forma:
 
 1 1 + cos( πφ(x)

se |φ(x)| ≤ 
δ (φ(x)) = 2  (12.7)
0 altrimenti
Nella formulazione alla Galerkin dell’equazione del bilancio della quantità di moto di
Navier-Stokes, il termine (fΓ , vh ) sarà quindi discretizzato come
Z
κσδ n· vh dΩ.

Si può dimostrare che questa approssimazione della delta di Dirach introduce un errore
localizzato vicino alla frontiera Γ dell’ordine di O(h).

69
13 Simulazioni
In questa ultima parte del lavoro presentiamo alcuni esempi di applicazioni del metodo
del Level Set su problemi di fluidodinamica. La scelta di questi problemi è stata fatta
con lo scopo di verificare la validità del metodo Level Set e valutare l’influenza dei diversi
parametri sulla soluzione.

13.1 Deformazione di una bolla sotto l’azione della tensione superficiale


Il primo esempio che presentiamo riguarda una bolla immersa in un fluido fermo, all’inter-
no di una scatola chiusa (senza la possibilità che il fluido fuoriesca dal dominio) in assenza
di gravità. Questa bolla inizialmente ha una forma quadrata e vogliamo studiarne l’evolu-
zione della forma dovuta all’azione della tensione superficiale agente sulla bolla stessa.
I fluidi in questa simulazione sono caratterizzati dalla stessa viscosità µ e da un rapporto
tra le densità pari a 1000; il coefficiente di tensione superficiale σ è stato scelto con un
valore di 100. Abbiamo inoltre usato una mesh con un passo spaziale pari a 1/80 e un
avanzamento temporale pari a 0.005 fino al tempo finale T=0.8.

Figura 13.1: Configurazione iniziale: bolla quadrata nel centro del dominio

Le condizioni iniziali dei fluidi (entrambi fermi) e il fatto che supponiamo di essere
in assenza di gravità, ci permettono di affermare che tutti i movimenti dei fluidi saran-
no esclusivamente causati dalla tensione superficiale. Come evidenziato nel capitolo ??
il movimento indotto dalla curvatura è l’unico moto che realmente necessita della reini-
zializzazione. Vediamo infatti dall’immagine ?? come dopo pochi istanti la forma della
bolla diventa instabile agli angoli della bolla stessa dove è più forte l’azione della tensione
superficiale.
E’ quindi vitale effetturare il procedimento di reinizializzazione frequentemente: nel
nostro caso abbiamo deciso di effettuare la reinizializzazione a ogni istante temporale ma
con solamente 1 iterazione del procedimento.
L’evoluzione temporale della forma della bolla è descritta nelle seguenti immagini: la bolla
inizialmente quadrata si deforma negli angoli e assume configurazioni che oscillano attorno
alla configurazione di equilibrio circolare a cui tenderebbe per tempi grandi.

70
Figura 13.2: Forma della bolla ottenuta senza reinizializzazione

(a) (b) (c)

(d) (e) (f)

(g) (h) (i)

Figura 13.3: Evoluzione della bolla a vari istanti temporali

Nel nostro caso abbiamo scelto di rappresentare istanti temporali multipli di 0.1 e
purtroppo in nessuno si vede con precisione la forma circolare. Tuttavia, in alcuni istanti

71
intermedi a quelli disegnati in figura ??, la bolla assume la forma circolare come mostrato
nella figura ?? corrispondente all’istante temporale t=0.72.

Figura 13.4: La bolla passa per la configurazione circolare mentre oscilla come mostrato
nella precedente figura

L’ultima analisi su questo caso riguarda il campo di velocità: al primo istante simulato
la velocità è non nulla solo in corrispondenza degli angoli della bolla dove la curvatura è
elevata (sui lati del quadrato invece la curvatura locale è nulla e pertanto non agiscono
forze). Successivamente la bolla cambiando forma ha una curvatura locale non nulla in
tutti i punti della frontiera: la figura ?? (b) mostra il come il modulo delle velocità sia
massimo ai 4 angoli (che questa volta sono a nord, sud, est e ovest) e non nullo anche lungo
i lati. Lontano dalla frontiera invece vediamo che la velocità diminuisce sia all’esterno che
all’interno della bolla, fino ad arrivare al valore nullo al centro della bolla.

(a) (b)

Figura 13.5: Campo di velocità all’istante iniziale (a) e durante l’avanzamento temporale
(b)

13.2 Drop Falling


Un altro caso classico di studio della validità del Level Set è la simulazione della caduta
nell’acqua di una goccia inizialmente sospesa in aria. L’utilità di questo esempio è quella
di descrivere la capacità del metodo di affrontare cambiamenti di topologia (la goccia si

72
unisce cadendo all’acqua sottostante).
La simulazione si svolge in un dominio quadrato unitario con la bolla d’acqua inizialmente
di forma circolare (raggio R=0.1) centrata nel punto (0.5, 0.55); la parte inferiore del
dominio è occupata da acqua ferma fino all’altezza di 0.4. Le condizioni al bordo del
dominio sono di no slip sul fondo, free slip sui lati e free outflow sulla parte superiore del
dominio. La soluzione numerica è inizialmente effettuata con un passo temporale dt = 0.02
e con il passo pseudo-temporale dτ pari a n1 come suggerito dalla teoria. Tuttavia questa
risoluzione non è in grado di catturare l’unione della goccia con l’acqua, ossia non riesce a
affrontare il cambiamento di topologia!

Figura 13.6: La figura mostra come un passo dτ troppo grande non consenta l’unione delle
topologie

La figura ?? mostra come al posto di avere il congiungimento della bolla con l’acqua,
abbiamo una deformazione del livello d’acqua ancora prima che la bolla raggiunga l’acqua.
Questo è dovuto al fatto che mentre la bolla cade le isolinee della φ si infittiscono nello
spazio che separa la bolla dall’acqua: questo infittirsi si traduce in una funzione distanza
molto ripida nei pressi dell’interfaccia aria-acqua. L’effetto della reinizializzazione in questo
caso è quindi quello di "stendere" queste isolinee lisciando la funzione φ.

Figura 13.7: Differenze fra i profili ottenuti prima e dopo la reinizializzazione al tempo
t=0.16

73
Questo effetto tuttavia causa un allargamento dello spazio reale che separerebbe la
bolla e l’acqua: questo spazio creato dalla reinizializzazione non viene quindi mai colmato
impedendo l’unione delle due topologie. La figura ?? mostra come durante la reinizializza-
zione l’interfaccia venga spostata anche sul pelo libero dell’acqua ferma: il livello d’acqua
viene abbassato creando ulteriore spazio fra le 2 topologie.
Come soluzione a questo problema proponiamo quella di diminuire il passo pseudo-
temporale: l’idea nasce dal fatto che l’equazione (??) scritta per un passo pseudo-temporale
dτ finito diventa
∆φ = dτ [sign(φ0 ) (1 − |∇φ|)] τ ≥0 (13.1)

Possiamo quindi ipotizzare che la variazione della funzione distanza sia proporzionale
alla grandezza del passo pseudo-temporale: diminuendo dτ riteniamo quindi che si abbia
una variazione minore di φ e quindi anche un minore spostamento dell’interfaccia Γ.
Alla luce di questa ipotesi abbiamo scelto di utilizzare un passo dτ = 0.01 n e i risultati
ottenuti sono migliori.
Come possiamo infatti vedere dalle immagini di figura ??, con il passo pseudo-temporale
proposto, le topologie si uniscono: tuttavia facciamo notare che, nonostante la riduzione
di dτ , prima dell’arrivo della bolla è ancora presente un leggero abbassamento del livello
dello strato d’acqua inizialmente ferma (vedi fig ??(b)). Il fatto che però è meno evidente
rispetto al caso precedente ci porta a ipotizzare che effettivamente la grandezza di dτ abbia
effetto sulla unione delle topologie.
L’evoluzione temporale mostrata in figura mostra come la goccia cadendo generi due onde
che si propagano verso i lati del dominio e che poi vengono riflesse all’interno del dominio.
Per quanto riguarda il campo di velocità, è interessante notare come si formino due vortici
in presenza delle creste dell’onda che si vengono a creare dopo la caduta della goccia.
Questi vortici sono evidenziati in figura ?? dal colore più chiaro in prossimità delle onde:
questa velocità minore sta a indicare che in quei punti sono situati i centri di rotazione dei
due vortici che si vengono a creare.

Figura 13.8: Intensità del campo di velocità generato dalla caduta della goccia

74
(a) (b) (c)

(d) (e) (f)

(g) (h)

Figura 13.9: Caduta della goccia in acqua ferma

13.3 Frattura di una diga a monte di un ostacolo


In questo esempio presentiamo un caso classico di studio, ossia la frattura di una diga che
causa il rilascio improvviso della colonna d’acqua ammassata a monte della diga stessa.
Abbiamo inoltre introdotto un piccolo ostacolo indeformabile a valle della colonna d’acqua
per simulare come l’acqua superi questo problema.
Il dominio della simulazione è in questo caso il rettangolo [0,3] × [0,1] in cui l’ostacolo è
situato a x=1.2, con uno spessore e un’altezza di 0.05. La colonna d’acqua inizialmente
contenuta dalla diga è invece di altezza 0.8 e larghezza 0.5.
La mesh è rappresentata in figura ?? e come possiamo vedere abbiamo infittito nella zona
intorno all’ostacolo in quanto è la zona più critica e quella in cui è necessario cogliere con
maggiore precisione le deformazioni del pelo libero.
Le condizioni al bordo sono di free slip su tutti i lati del dominio escluso quello superiore
in cui c’è free outflow e quello in fondo in cui abbiamo imposto il no slip, simulando cosi

75
un muro che riflette la massa d’acqua che vi va a sbattere.
La simulazione è stata effettuata fino al tempo T=2 con un passo dt = 0.05.

Figura 13.10: Mesh per simulare lo scontro dell’onda contro l’ostacolo

In questo esempio sottolineaimo che, utilizzando i valori dei parametri di stabilizzazione


usati precedentemente e tarati in occasione dello studio della conservazione della massa,
si sono rivelati troppo piccoli. Questo portava alla generazione di instabilità numeriche
che rendevano inutilizzabile la funzione distanza φ. Abbiamo perciò aumentato questi
valori dei parametri nell’equazione del Level Set per ottenere la stabilità necessaria per
rappresentare bene la superficie libera. Tuttavia abbiamo anche verificato che, nonostante
l’utilizzo dello schema BDF2 per l’avanzamento temporale, l’aumentare dei parametri di
stabilizzazione causa una perdita di massa dell’ordine del 10 % alla fine della simulazione.
Alcuni frame della simulazione rappresentati in figura ??. Nella (b) vediamo come si
deforma la colonna d’acqua sotto l’azione della sola forza di gravità. In corrispondenza
dell’ostacolo, l’acqua nella parte inferiore del fronte dell’onda si trova impossibilitata a
proseguire nella direzione orizzontale ed è costretta quindi ad alzarsi spingendo verso l’alto
il fronte dell’onda (figura (c)). Dopo aver superato l’ostacolo, il fronte dell’onda ricade sul
fondo (d) e poi prosegue nella direzione orizzontale (e) fino a quando non si scontra con il
muro posto all’estremità destra del dominio (f).
Man mano che la massa d’acqua si sposta a destra dell’ostacolo la forza esercitata dalla
colonna d’acqua diminuisce sempre di più: la conseguenza è una diminuzione della velocità
con la quale l’acqua supera l’ostacolo e conseguentemente diminuisce anche la distanza del
punto di riattacco della vena fluida a valle dell’ostacolo.

76
(a) (b) (c)

(d) (e) (f)

Figura 13.11: Simulazione della frattura di una diga a monte di un ostacolo

77

Potrebbero piacerti anche