Anno Accademico 2016-2017
Universita degli Studi di Roma Tre
Dipartimento di Ingegneria
LAUREA MAGISTRALE IN INGEGNERIA CIVILE PER LA PROTEZIONE DAI RISCHINATURALE
RELAZIONE DI FINE TIROCINIO
Apprendimento del metodoLattice Boltzmann e del codice di calcolo
ad esso relativo
Tirocinante:Stefano MilianiMatr. 460604
Tutor:Dott. Pietro Prestininzi
Indice
Premessa iii
1 Teoria alla base del software 1
1.1 Modelli lattice gas automata . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Automa cellulare . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Modelli Lattice Gas Bidimensionali . . . . . . . . . . . . . . . 2
1.2 Concetti base della teoria di Boltzmann sui gas . . . . . . . . . . . . 3
1.2.1 Teoria cinematica . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Funzione di distribuzione del primo ordine . . . . . . . . . . . 4
1.3 Modelli Lattice Boltzmann . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Tempo di rilassamento BGK . . . . . . . . . . . . . . . . . . 7
1.3.2 Condizioni al contorno . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Incorporare la gravita . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Software per la simulazione 13
2.1 File con estensione ”.in” . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1 File prob type . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 File pars grids . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 File pars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.4 File boundaries . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.5 File nesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.6 File pars custom . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 File con estensione ”.f90” . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 File cust geom dll . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.2 File cust ic fs dll . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.3 File cust force dll . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Post-Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Sliceview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3.2 Plot del livello idrico . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3 Plot 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.4 Digitalizzazione di grafici . . . . . . . . . . . . . . . . . . . . 25
2.3.5 Montaggio dei frame . . . . . . . . . . . . . . . . . . . . . . . 26
Conclusione 28
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Elenco delle figure
1.1 Vettori unitari della velocita nel modello esagonale FHP. . . . . . . . 2
1.2 Esempi di applicazione delle regole di collisione. . . . . . . . . . . . . 3
1.3 Reticolo e velocita di un D2Q9. . . . . . . . . . . . . . . . . . . . . . 6
1.4 Topologia cilindrica di un dominio con contorno periodico in una
direzione. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Topologia torroidale di un dominio con contorni periodici su due
dimensioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Esempio di contorno bounceback. . . . . . . . . . . . . . . . . . . . . 10
1.7 Esempio di densita direzionali incognite in 2D per il contorno nord. . 11
2.1 File prob type.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 File pars grids.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 File pars.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 File boundaries.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5 Denominazione facce del dominio. . . . . . . . . . . . . . . . . . . . . 17
2.6 File nesting.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.7 File pars custom.in. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 cust dll.vfproj aperto in Virtual Studio, zoom sulla finestra Solution
Explorer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 cust dll.vfproj aperto in Virtual Studio, zoom sul comando Build. . . 20
2.10 File cust geom dll.f90. . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.11 File cust ic fs dll.f90. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.12 File cust force dll.f90. . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.13 Esempio di un plot attraverso la function Sliceview. . . . . . . . . . . 22
2.14 Stringhe di codice da modificare in Sliceview. . . . . . . . . . . . . . 23
2.15 Esempio di codice per il plot del livello idrico. . . . . . . . . . . . . . 23
2.16 Stringhe di codice per il plot3D della forma della massa fluida
tridimensionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.17 Scelta del tipo di grafico su Web Plot Digitizer. . . . . . . . . . . . . 26
2.18 Calibrazione degli assi cartesiani su Web Plot Digitizer. . . . . . . . 26
2.19 Estrazione dei punti su Web Plot Digitizer. . . . . . . . . . . . . . . 27
2.20 Interfaccia nel prompt dei comandi di ffmpeg. . . . . . . . . . . . . . 27
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Premessa
L’attivita formativa di tirocinio, condotta negli ultimi mesi presso il suddetto
ateneo, ha avuto come obiettivo quello di esaminare il metodo numerico
Lattice Boltzmann per la risoluzione dei problemi di fluidodinamica al fine di
comprendere l’uso del software relativo alla sua applicazione, denominato
new mph e sviluppato all’interno del gruppo di Idraulica Numerica della
sezione di Ingegneria Civile.
La seguente trattazione, partendo da una rapida analisi dei primi modelli
numerici di questo genere, affronta i fondamenti teorici alla base del modello
oggetto di studio, tra cui la teoria dei gas di Boltzmann, la cui importanza
riveste un ruolo determinante nell’ideazione dei modelli Lattice Boltzmann; di
seguito, si e proceduto alla stesura di un manuale nel quale vengono illustrati
il funzionamento del suddetto programma informatico e le sue principali
impostazioni da adottare per risolvere problemi di fluidodinamica elementari
ed estrarre da essi i risultati delle simulazioni numeriche compiute.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Capitolo 1
Teoria alla base del software
Il software permette di simulare la dinamica del fluido utilizzando un modello
Lattice Boltzmann (LBM), dove lattice in italiano sta per reticolo; questa
tipologia di modelli permette di studiare il comportamento di un singolo fluido,
eventualmente multifase, in diverse condizioni di moto vario, separazione di
fase, evaporazione, condensazione, cavitazione, trasporto di soluto e calore,
galleggiamento e interazione con solidi.
Quanto scritto in questo capitolo e un estratto del libro “Lattice Boltz-
mann Modeling” di M.C. Sukop e D.T. Thorne,Jr.
1.1 Modelli lattice gas automata
I modelli Lattice Gas Automata (LGA) sono stati i precursori dei LBM e
hanno una struttura, per certi aspetti piu semplice e intuitiva, che permette
di comprendere meglio il funzionamento delle evoluzioni piu recenti.
1.1.1 Automa cellulare
Un automa cellulare (in inglese Cellular Automaton o brevemente CA), e
una entita matematica che occupa una posizione in una griglia e interagisce
con gli elementi ad essa adiacenti; in genere una CA esamina il proprio stato
e quello di un certo numero di elementi adiacenti in un certo istante di tempo
e quindi resetta il proprio stato per l’istante di tempo successivo secondo
delle semplici regole. Imposte quindi le regole, le condizioni iniziali e al
contorno nel gruppo di automi cellulari, essi determinano in maniera univoca
la propria evoluzione nel tempo. Si possono percio usare tali entita per poter
studiare il moto di particelle fluide: ogni CA potra avere due distinti valori 0
e 1, rispettivamente in caso di assenza o di presenza di una particella in un
certo nodo del reticolo.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Capitolo 1. Teoria alla base del software
1.1.2 Modelli Lattice Gas Bidimensionali
I modelli LGA furono presentati come una via percorribile per risolvere le
equazioni di Navier-Stokes del moto di un fluido nel 1986. Il primo modello
di questo tipo, comunemente chiamato FHP dalle iniziali dei suoi autori, e
costruito su una griglia con maglie a forma di triangolo equilatero e permette
di ottenere una soluzione isotropa. I punti sulla griglia sono separati da 1
lattice unit (lu) e tutte le particelle hanno una sola velocita: 1lu/timestep
(lu/ts), dove per time step si intende il passo temporale fra uno stato del
sistema e il successivo. In ogni punto della griglia x possono esserci fino a 6
particelle, una per ogni possibile velocita definita da quella della particella e
da una delle sei possibili direzioni.
Figura 1.1: Vettori unitari della velocita nel modello esagonale FHP.
Il generico vettore ea, che rappresenta il vettore delle velocita con coda
sull’origine del sistema cartesiano, sara formato dalle componenti:
ea =(
cos(πa
3), sin(
πa
3
))per a = 1, . . . , 6 (1.1)
Una stringa n contenente sei variabili booleane (n1,. . . ,n6) indica la
presenza (1) o l’assenza (0) di particelle che si muovono da un nodo della
griglia x al nodo x + ea.
L’evoluzione di un modello LGA avviene in due fasi per ogni istante di
tempo: la fase di propagazione o streaming, in cui le particelle si muovono
nel nuovo sito secondo la loro precedente posizione e le loro velocita, e la fase
di collisione, in cui le particelle collidono e divergono secondo precise regole.
Vi sono molte e diverse regole di collisione in una griglia esagonale ma
nei modelli piu semplici ne vengono considerate solo due: la collisione fra
due particelle e la collisione fra tre (figura 1.2). E possibile simulare le
equazioni di Navier-Stokes utilizzando i principi di conservazione della massa
e della quantita di moto. In questi modelli tutte le particelle hanno la stessa
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 2
Capitolo 1. Teoria alla base del software
Figura 1.2: Esempi di applicazione delle regole di collisione.
velocita e massa cosı che la conservazione della quantita di moto si riduce
alla conservazione della somma delle velocita. Le collisioni frontali fra due
particelle (o tre che provengono da direzioni a 120° fra loro) hanno quantita
di moto netta nulla quindi anche il risultato di esse dovra averla.
1.2 Concetti base della teoria di Boltzmann sui
gas
Il fondamento teorico degli studi di Boltzmann poggia le proprie basi sul-
l’idea che un gas e composto da particelle che interagiscono fra loro e che
possono essere descritte dalla meccanica classica, di cui e necessario fare
una trattazione di tipo statistico a causa dell’alto numero di particelle. La
meccanica puo essere estremamente semplice e composta unicamente dalle
nozioni di propagazione nello spazio e dall’interazione per collisione.
1.2.1 Teoria cinematica
Si considera un gas diluito formato da particelle sferiche che si muovono a
gran velocita (∼ 300 m/s) e si limitano le loro interazioni a collisioni elastiche.
In linea teorica sarebbe possibile conoscere il vettore posizione x e quello
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 3
Capitolo 1. Teoria alla base del software
della quantita di moto p di ogni singola particella in un certo istante di
tempo, conoscendo cosı lo stato dinamico del sistema e permettendo cosı,
applicando i principi della meccanica, di conoscere gli stati futuri.
Il sistema puo essere descritto da una funzione di distribuzione di proba-
bilita f(N)(xN,pN,t) dove N e il numero delle particelle; questa distribuzione
e intesa come inerente a uno spazio delle fasi, che e uno spazio in cui le
coordinate sono date dai vettori posizione e quantita di moto e dal tempo.
Questo livello di descrizione non e possibile per gas reali in cui il numero di
particelle e molto elevato.
1.2.2 Funzione di distribuzione del primo ordine
La Meccanica Statistica offre un approccio statistico in cui un sistema e
rappresentato da un insieme di molte copie. La distribuzione f(1) (x,p,t)
da la probabilita di trovare una particolare molecola data una posizione e
una quantita di moto; le caratteristiche delle altre N-1 particelle possono
rimanere non specificate perche nessun esperimento puo distinguerne una
dall’altra. Tale funzione prende il nome di funzione di distribuzione della
singola particella e permette di descrivere tutte le proprieta di gas che non
dipendono dalla posizione delle relative molecole (gas diluiti e liberi).
Il numero di molecole poste in x±dx e in p±dp e dato da:
f (1)(x,p, t)dxdp (1.2)
Introducendo una forza esterna F, se non ci sono collisioni all’istante t+dt si
avra che la nuova posizione e la nuova quantita di moto saranno:
x +p
mdt = x +
dx
dtdt = x + dx
p + Fdt = p +dp
dtdt = p + dp
(1.3)
Quindi quando le posizioni e le quantita di moto sono conosciute in un certo
istante t, incrementandole e possibile determinare f(1) all’istante t+dt come:
f (1)(x + dx,p + dp, t+ dt)dxdp = f (1)(x,p, t)dxdp (1.4)
Questa equazione rappresenta il fenomeno della propagazione.
Avvengono pero le collisioni fra alcune particelle per cui alcune di esse,
pur partendo da (x, p), non arriveranno a (x+dx, p+dp) mentre altre vi
arriveranno pur non partendo da (x, p). Si definisce percio Γ(+)dxdpdt, pari
al numero di molecole che non arrivano nella prevista porzione di spazio di
fase a causa delle collisioni durante l’intervallo di tempo dt, e in maniera
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 4
Capitolo 1. Teoria alla base del software
analoga si definisce Γ(-)dxdpdt, come il numero di molecole che pur partendo
da qualche altra parte arrivano in quella certa porzione di spazio; si ricava
percio che:
f (1)(x + dx,p + dp, t+ dt)dxdp =
= f (1)(x,p, t)dxdp +[Γ(+) − Γ(−)
]dxdpdt
(1.5)
Facendo l’espansione in serie di Taylor al primo ordine del primo termine di
sinistra si ottiene:
f (1)(x + dx,p + dp, t+ dt) =
= f (1)(x,p, t) + dx∇xf (1) + dp∇pf (1) +(∂f (1)
∂t
)dt+ . . .
(1.6)
Quindi andando a sostituire l’equazione (1.5) all’interno della (1.6) si ottiene
la cosiddetta equazione di Boltzmann:
v∇xf (1) + F∇pf (1) +∂f (1)
∂t= Γ(+) − Γ(−) (1.7)
Questa e una equazione integro-differenziale non lineare ed e particolarmente
complicata da risolvere, per questo viene risolta in maniera approssimata.
1.3 Modelli Lattice Boltzmann
Questi modelli semplificano notevolmente la visione teorica originaria di
Boltzmann, riducendo le possibili posizioni e le quantita di moto che le
particelle possono avere, passando da dei valori continui a dei valori discreti.
Le posizioni delle particelle sono limitate ai nodi del reticolo mentre le
variazioni delle quantita di moto che potevano esserci a causa delle infinite
direzioni e moduli della velocita e dei valori della massa delle particelle sono
ridotti a seconda del tipo di griglia che si sta utilizzando.
La classificazione delle griglie avviene attraverso il Lattice Code, scritto
nella forma DnQm, dove la n sta per le dimensioni della griglia e m per il
numero di direzioni che puo prendere la particella; per esempio una griglia
bidimensionale in cui si hanno 8 possibili velocita, piu quella nulla, avra
come Lattice Code D2Q9 (vedi figura 1.3).
Poiche la massa delle particelle e unitaria tali velocita microscopiche
coincidono con le quantita di moto. L’unita di misura della lunghezza e
nuovamente il lattice unit (lu) mentre quella del tempo e il time step (ts).
Nel caso D2Q9 la velocita avra modulo pari a 1 lu/ts per i vettori da e1 a e4mentre varra
√2 lu/ts per quelli da e5 a e8, e0 avra come valore 0.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 5
Capitolo 1. Teoria alla base del software
Figura 1.3: Reticolo e velocita di un D2Q9.
La funzione di distribuzione della singola particella sara sostanzialmente
quella dell’equazione di Boltzmann ma in forma discreta; essa puo rappre-
sentare anche la frequenza di accadimento, che puo essere considerata essere
la densita del fluido in una specifica direzione. La densita macroscopica sara
percio pari a:
ρ =m∑a=0
fa (1.8)
La velocita macroscopica u sara una media delle velocita microscopiche eapesata rispetto alle densita direzionali fa.
u =1
ρ
m∑a=0
faea (1.9)
Il passo successivo e definire i fenomeni di propagazione e collisione at-
traverso la funzione di distribuzione; l’approccio piu semplice utilizzato e
l’approssimazione di Bhatnagar-Gross-Krook per la collisione.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 6
Capitolo 1. Teoria alla base del software
1.3.1 Tempo di rilassamento BGK
L’approssimazione BGK e quella piu usata nei modelli Lattice Boltzmann;
secondo essa la propagazione e la collisione (cioe rilassamento attraverso
l’equilibrio locale) ha questo aspetto:
fa(x + ea∆t, t+ ∆t) = fa(x, t)−[fa(x, t)− feqa (x, t)]
τ(1.10)
Dove:
� fa(x + ea∆t, t+ ∆t) = fa(x, t) rappresenta la propagazione;
�[fa(x,t)−feqa (x,t)]
τ e l’operatore di collisione, con τ tempo di rilassamento
e faeq funzione di equilibrio.
Sebbene possano essere combinati insieme, e opportuno che i passi
di propagazione e collisione siano separati per questioni di ottimizzazioni
computazionali.
La forma della distribuzione d’equilibrio nel caso del D2Q9, per esempio,
e pari a:
feqa (x) = waρ(x)[1 + 3
eau
c2+
9
2
(eau)2
c4− 3
2
u2
c2
](1.11)
Dove il peso wa e pari a 4/9 per la particella a riposo (a = 0), 1/9 per
a = 1, 2, 3, 4 e 1/36 per i restanti valori; c e la velocita base della griglia
(1 lu/ts nelle implementazioni piu semplici).
La funzione di equilibrio e una espansione polinomiale in Mach dell’e-
quilibrio Maxwelliano, vale quindi per numeri di Mach piccoli; il numero di
Mach e definito come:
Ma =v
a(1.12)
Dove v e la velocita macroscopica di un oggetto in moto nel fluido e a la
velocita del suono nel fluido considerato.
Il tipo di reticolo influisce sul valore dei pesi mentre la forma della funzione
dipende dal tipo di macroscopico che si vuole ottenere.
La viscosita cinematica del fluido, sempre in caso di D2Q9, e data da:
ν =1
3
(τ − 1
2
)1 (1.13)
La sua unita di misura e lu2/ts. Si nota che per avere una viscosita
positiva, τ deve essere maggiore di 0.5 ma vi sono problemi nella risoluzione
numerica se τ si avvicina a tale valore.
1il prefattore 1/3 vale solo con alcune tipologie di griglie.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 7
Capitolo 1. Teoria alla base del software
1.3.2 Condizioni al contorno
Per ogni problema fluidodinamico e necessario definire le condizioni al
contorno, che possono essere di vari tipi e sono tuttora studiate e migliorate.
In generale si ha una grande flessibilita sia temporale sia spaziale nell’ap-
plicare le condizioni al contorno nel LBM: infatti la capacita di incorporare
contorni solidi complessi e uno degli aspetti piu importanti di questi modelli
e permette di simulare un gran numero di casi realistici.
Contorni Periodici
Le piu semplici condizioni al contorno sono quelle “periodiche” in cui il
sistema diventa chiuso unendo le pareti fra loro opposte. Molti dei primi saggi
usano questa condizione insieme a quella di bounceback ; nella simulazione di
un flusso attraverso una fessura, per esempio, le condizioni di bounceback
sarebbero applicate ai muri della fessura stessa mentre quelle periodiche
sarebbero applicate alle estremita “aperte”. La figura 1.4 mostra la forma
risultante di un dominio computazionale che usa questa tipologia di contorni.
Figura 1.4: Topologia cilindrica di un dominio con contorno periodico in una
direzione.
Contorni completamente periodici sono utili in alcuni casi come la simu-
lazione di fluidi multifase in un dominio infinito e in questo caso la topologia
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 8
Capitolo 1. Teoria alla base del software
del dominio computazionale e quella della toroide o toro (figura 1.5)
Figura 1.5: Topologia torroidale di un dominio con contorni periodici su due
dimensioni
Contorni Bounceback
Questa tipologia di contorni e particolarmente semplice ed ha giocato un
ruolo importante nel rendere gli LBM popolari per le simulazioni di fluidi
caratterizzati da geometrie complesse, come quelle dei mezzi porosi. La loro
semplicita dipende dal fatto che si deve unicamente stabilire un determinato
nodo come ostacolo solido e non e necessario una programmazione speciale.
Come si vede nella figura 1.6 i solidi si separano in due tipi:
- Solidi di contorno che rappresentano l’interfaccia solido-fluido (nodi
neri);
- Solidi isolati che non vengono a contatto col fluido (nodi in grigio).
Con tale divisione si eliminano nodi computazionali non necessari classifican-
doli come inattivi; cio e molto utile nella simulazione di flussi in mezzi porosi,
dove lo spazio realmente occupato dal fluido puo essere molto piccolo.
Questa tipologia di contorni esistono in diverse varianti e non lavorano
perfettamente; tuttavia, con adeguate considerazioni della locazione dei
contorni reali e per τ ≈ 1, permettono di ottenere risultati soddisfacenti.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 9
Capitolo 1. Teoria alla base del software
Figura 1.6: Esempio di contorno bounceback.
Contorni alla Von Neumann
Le condizioni al contorno di Von Neumann vincolano il flusso ai confini del
dominio; definiscono un vettore delle velocita formato da due componenti,
una rispetto la x e una rispetto la y:
u0 =
[u0v0
](1.14)
Da questo vettore si puo computare la densita o la pressione sulla base delle
condizioni all’interno del dominio.
La densita (o la pressione macroscopica) e solo una delle incognite che
si devono ricavare, infatti e necessario calcolare anche le densita direzionali
incognite. Dopo la fase di propagazione vi sono un certo numero di densita
direzionali incognite (tre nel caso bidimensionale) per ogni nodo della griglia
presente sul contorno (figura 1.7)
Queste incognite possono essere trovate mantenendo una determinata
velocita nei loro nodi della griglia; per esempio nel caso della figura 1.7 si
suppone che la condizione al contorno sia un certo vettore velocita del tipo:
u0 =
[0
v0
](1.15)
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 10
Capitolo 1. Teoria alla base del software
Figura 1.7: Esempio di densita direzionali incognite in 2D per il contorno nord.
I contributi di fa, per a = 1, 2, 3, 4, 5, 6 , sono gia conosciuti perche dipendono
da altri nodi all’interno del dominio, le incognite sono percio ρ, f4, f7, f8 per
cui si ha bisogno di quattro equazioni.
La prima equazione e quella della densita macroscopica:
ρ =∑a
fa (1.16)
Considerando le singole fs che possono contribuire alle due componenti della
velocita, la formula della velocita macroscopica (1.9) permette di ricavare
due equazioni, una per ogni direzione:
0 = f1 − f3 + f5 − f6 − f7 + f8
ρv0 = f2 − f4 + f5 + f6 − f7 − f8(1.17)
Una quarta equazione puo essere scritta assumendo che la condizione di
bounceback sia valida nella direzione normale al contorno, come proposto da
Zou e He (1997):
f2 − feq2 = f4 − feq4 (1.18)
Attraverso queste quattro equazioni e possibile ricavare quindi tutte le
incognite.
Contorni alla Dirichlet
Le condizioni al contorno alla Dirichlet vincolano la pressione/densita al
contorno; la loro soluzione e simile a quella delle condizioni alla Von Neumann.
E definita una densita ρ0 da cui si ricava la velocita (a una determinata
densita e equivalente una determinata pressione poiche vi e una equazione di
stato che le lega direttamente fra loro).
Si assume che la velocita tangente al contorno sia zero e si risolve per la
componente normale ad esso; oltre alla velocita macroscopica sono incognite,
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 11
Capitolo 1. Teoria alla base del software
anche in questo caso, un certo numero di densita direzionali per ogni nodo
della griglia presente sul contorno. Queste incognite possono essere ricavate
imponendo una certa densita ρ0.
Facendo riferimento sempre al caso della figura 1.7 le incognite sono
quattro: v, f4, f7, f8; le equazioni che si usano per ricavarle sono le stesse
ovvero: ρ0 =
∑a fa
0 = f1 − f3 + f5 − f6 − f7 + f8ρ0v = f2 − f4 + f5 + f6 − f7 − f8f2 − feq2 = f4 − feq4
(1.19)
La differenza fra le due tipologie di contorni e quindi nelle incognite da trovare
in quanto nella prima oltre alle densita direzionali vi e ρ come incognita
mentre nella seconda vi e la componente della velocita v.
1.4 Incorporare la gravita
La forza dovuta all’accelerazione di gravita e incorporata in un termine di
velocita. Si ricorda che:
F = ma = mdu
dt(1.20)
Riconoscendo che la densita e proporzionale alla massa e che il tempo di
rilassamento τ e il tempo elementare di collisione, l’equazione precedente
puo essere riscritta come:
∆u =τF
ρ(1.21)
Dove ∆u e la variazione di velocita. Si puo quindi scrivere che:
ueq = u + ∆u = u +τF
ρ(1.22)
Dove ueq e usato nel calcolo di feq al posto della normale u in modo da tener
conto delle forze esterne. E possibile aggiungere altre forze usando la stessa
tecnica.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 12
Capitolo 2
Software per la simulazione
Al fine di risolvere problemi di fluidodinamica, attraverso il metodo Lattice
Boltzmann, si utilizza il software new mph.
Tale software, sviluppato all’interno del gruppo di Idraulica Numerica
sella sezione di Ingegneria Civile, non e dotato di interfaccia grafica e percio
i dati in ingresso ad esso devono essere dati attraverso due tipologie di file di
diversa estensione:
� “.in” sono file di testo che contengono il valore di alcuni parametri
necessari alla simulazione numerica e che devono essere posizionati
nella cartella dell’eseguibile new mph;
� “.f90” sono file FORTRAN che devono essere compilati per definire
determinati aspetti della simulazione che deve essere effettuata.
L’output consiste in una serie di file che possono essere caricati e letti
utilizzando il software MATLAB.
Il software puo permettere di risolvere i problemi anche in analogia
dinamica, ipotizzando che:
Reexp = Renum (2.1)
Dove Reexp rappresenta il numero di Reynolds sperimentale mentre Renumquello dato dalla simulazione numerica.
Viene fatta tale ipotesi per poter verificare gli output di questo programma
con eventuali casi test di cui si conoscono gia i risultati (attraverso apparati
sperimentali per esempio).
Si ricorda che il numero di Reynolds, che rappresenta il rapporto fra le
forze inerziali e quelle viscose, e pari a:
Re =UL
ν(2.2)
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Capitolo 2. Software per la simulazione
Con U e L rispettivamente velocita e lunghezza caratteristica del problema
e ν viscosita cinematica (pari a 10-6 m2/s per l’acqua a 20 °C).
Il valore di Reexp e conosciuto mentre i termini che compongono il Renumdevono essere impostati utilizzando i file precedentemente nominati; in
particolare, imponendo sia il valore della Unum (in genere preso pari a 0.2 per
rendere valida l’ipotesi di avere un Ma sufficientemente piccolo che permette
ai LMB di simulare i fenomeni di idrodinamica) sia quello di Lnum (dipende
dalla griglia di calcolo), il valore di νnum e ricavato invertendo la formula del
numero di Reynolds. Va specificato che puo capitare di rigettare tale ipotesi
poiche il valore di τ e troppo piccolo rispetto ai limiti di stabilita.
Di seguito vengono trattati i diversi file e il significato dei termini in essi
presenti.
2.1 File con estensione ”.in”
I file con estensione “.in” sono dei file di testo in cui si hanno da un lato i
valori numerici del parametro da settare (e necessario fare attenzione alla
tipologia di numero da inserire ovvero se esso deve essere intero o reale)
e dall’altro un commento con la descrizione del tipo di parametro; non e
necessario modificare tutti i file e di seguito si riportano solo quelli piu
importanti.
2.1.1 File prob type
Tale file definisce il tipo di problema che il software dovra risolvere.
Facendo variare la cifra della prima riga si impone il tipo di problema
che il software dovra risolvere; le tipologie sono:
- Singolo fluido (1);
- fluido multifase (2);
- due fluidi (3);
- superficie libera (4);
- acque basse (7).
2.1.2 File pars grids
In questo file vengono descritte le caratteristiche delle griglie di calcolo.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 14
Capitolo 2. Software per la simulazione
Figura 2.1: File prob type.in.
Figura 2.2: File pars grids.in.
La prima riga definisce il numero di griglie su cui verranno eseguiti i
calcoli, mentre le dieci righe successive compongono un blocco che descrive le
caratteristiche di ogni eventuale griglia (dovranno essere scritti tanti blocchi
quanti il numero di griglie).
- 2a riga: il numero di dimensioni della griglia, ovvero se il problema e
mono, bi o tridimensionale.
- 3a riga: rappresenta il passo fra un nodo e il successivo ed e un valore
adimensionalizzato.
- 4a, 5a e 6a riga: in questo caso le cifre sono due e rappresentano gli
estremi della griglia di calcolo nelle tre dimensioni; l’estensione della
griglia non deve essere necessariamente pari all’estensione reale del
problema, in quanto si lavora in analogia dinamica, ma deve rispettare
ovviamente gli stessi rapporti fra le dimensioni.
- 7a riga: rappresenta il Lattice Code.
- 10a riga: richiama le forzanti esterne dal file FORTRAN cust forces dll.f90
se c’e il numero 1.
- 11a riga: definisce il tempo di rilassamento τ che regola la viscosita
del fluido; tale grandezza, come gia visto, e legata alla viscosita con la
seguente legge:
ν =1
3
(τ − 1
2
)→ τ = 3ν +
1
2(2.3)
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 15
Capitolo 2. Software per la simulazione
Il valore di τ , percio, e necessariamente maggiore di 0.5 ma l’instabilita
computazionale aumenta tanto piu il valore e prossimo ad esso e percio
e necessario che sia strettamente maggiore di 0.5.
2.1.3 File pars
Definisce le informazioni necessarie per la trascrizione dei risultati nell’output.
Figura 2.3: File pars.in.
La prima riga rappresenta i passi della simulazione mentre la seconda il
numero di passi tra una scrittura delle grandezze macroscopiche e l’altra. La
terza riga esprime invece il numero di passi ogni quanto verra creato un file
di output esteso che permette di poter ricominciare la simulazione da quel
punto invece che dall’inizio. L’ultima rappresenta il numero di processori
che saranno utilizzati per far girare il software (usando il server universitario
si possono utilizzare un numero di processori variabile ma non si consiglia di
superare i dieci perche le prestazioni dellla versione attuale del software non
scalano significativamente oltre tale valore).
2.1.4 File boundaries
Questo da le condizioni al contorno sulle pareti del dominio di calcolo; anche
in questo caso e strutturato a blocchi che devono essere definiti per ogni
griglia di calcolo.
Figura 2.4: File boundaries.in.
Ogni riga e riferita alle condizioni al contorno di una determinata faccia
del dominio,ognuna denominata in accordo alla figura 2.5.
Nel caso di un fluido alle pareti vi possono essere due condizioni specifiche:
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 16
Capitolo 2. Software per la simulazione
Figura 2.5: Denominazione facce del dominio.
� No slip ovvero la velocita e nulla alla parete per l’aderenza del fluido
e corrisponde alla cifra 1;
� Free slip si fissa una velocita non nulla alla parete e si impone con la
cifra 4.
Fisicamente l’acqua e aderente alla parete ma in prossimita di essa si forma
il cosiddetto strato limite: esso e una porzione di spazio in cui vi e una
brusca variazione della velocita che varia da zero fino ad un valore non nullo,
indipendente dall’interazione con la parete, secondo un profilo logaritmico.
Tale strato ha uno spessore tanto piu piccolo quanto piu il moto e turbolento
e, per poter essere ben descritto, si dovrebbe avere un numero di nodi
sufficientemente alto all’interno di esso ovvero un passo fra un nodo e l’altro
molto piccolo, poco compatibile con l’onere computazionale che si vuole avere.
Entrambe le condizioni che si impongono sono quindi delle semplificazioni
perche nel primo caso si ha una forma diversa del profilo di velocita rispetto
a quello reale mentre nel secondo, imponendo velocita non nulla, non si tiene
conto dell’aderenza; si ha necessita di compiere percio la simulazione con
entrambe le condizioni e scegliere quella che meglio rappresenta la situazione
reale.
Se una estremita del dominio permette di far fuoriuscire il fluido su di
essa va imposta la condizione di Zero Gradient, ovvero di gradiente nullo,
che corrisponde alla cifra 3; tale condizione impone che ai nodi presenti su
tale contorno venga attribuito il valore del nodo immediatamente precedente
ad essi, simulando cosı l’ ”assorbimento” del fluido1.
1Tale opzione in realta consente eventualmente anche di avere un flusso entrante.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 17
Capitolo 2. Software per la simulazione
2.1.5 File nesting
Questo file permette di poter annidare altre griglie, piu fitte, all’interno di
quella principale; la prima riga permette di definire il numero di griglie che
verranno nestate mentre la seconda legge le caratteristiche che avranno tali
griglie.
Figura 2.6: File nesting.in.
2.1.6 File pars custom
Anche questo file si presenta a blocchi che devono essere definiti per ogni gri-
glia presente nel dominio e specifica se e necessario importare delle condizioni
dalle librerie (i file FORTRAN).
Figura 2.7: File pars custom.in.
Si modificano le prime due righe:
� Mettendo nella prima riga il numero 1 si importano gli eventuali ostacoli
presenti nel dominio come ad esempio eventuali setti e pareti;
� Mettendo nella seconda riga la cifra 1 si importano le condizioni iniziali
(per esempio dei livelli idrici).
2.2 File con estensione ”.f90”
Tali file rappresentano le cosiddette librerie, ovvero dei file esterni che vengono
richiamati dal programma solo se alcuni parametri dei file “.in” (paragrafi
2.1.2 e 2.1.6) sono impostati a tal fine; vengono modificati usando Microsoft
Visual Studio attraverso il file cust dll.vfproj.
I file da modificare possono essere trovati nella finestra Solution Explorer,
all’interno della cartella Source Files, e quelli utilizzati durante lo sviluppo
della tesi sono:
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 18
Capitolo 2. Software per la simulazione
- cust geom dll.f90 ;
- cust ic fs dll.f90 ;
- cust forces dll.f90.
Figura 2.8: cust dll.vfproj aperto in Virtual Studio, zoom sulla finestra Solution
Explorer.
Per ciascuno bisognera scrivere delle linee di codice in linguaggio FOR-
TRAN al fine di definire tali elementi; ognuno di questi file avra in input
alcune grandezze prese dalla subroutine (per esempio le dimensioni del
dominio di calcolo di ciascuna griglia per i primi due).
Successivamente tali file dovranno essere compilati usando il comando
Build Solution (vedi figura 2.9).
Si crea cosı una cartella, denominata x64, dove sara presente un’altra
cartella (rel opt); all’interno di essa bisogna prendere i file cust dll.dll e
vars.dll e spostarli nella cartella dove e presente l’eseguibile altrimenti il
programma non potra girare.
Di seguito si spiega il funzionamento dei diversi file.
2.2.1 File cust geom dll
Questa libreria e utilizzata per specificare la presenza di corpi solidi nel
dominio; tale operazione e possibile attraverso la matrice di interi isfluid che
ha dimensioni pari a quelle della griglia.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 19
Capitolo 2. Software per la simulazione
Figura 2.9: cust dll.vfproj aperto in Virtual Studio, zoom sul comando Build.
Figura 2.10: File cust geom dll.f90.
Nel caso in cui si voglia definire un ostacolo si deve assegnare il valore 0
agli elementi della matrice corrispondenti ai nodi dove sono presenti i solidi,
3 altrove. Di default le componenti di isfluid hanno valore 3.
2.2.2 File cust ic fs dll
Questa libreria e utilizzata per specificare le condizioni iniziali di una
simulazione a superficie libera.
Figura 2.11: File cust ic fs dll.f90.
Analogamente a quanto fatto per la presenza di ostacoli, tale operazione
e effettuata assegnando un valore alla matrice isfluid in corrispondenza delle
zone inizialmente occupate dal fluido; in tali zone e necessario specificare il
valore delle quattro grandezze macroscopiche reali rho, u, v e w, in particolare:
- isfluid e rhodovranno essere pari a 1 dove vi e fluido;
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 20
Capitolo 2. Software per la simulazione
- u, v e w sono le componenti della velocita iniziale del fluido.
2.2.3 File cust force dll
Questo file definisce le forzanti esterne attraverso la grandezza vettoriale
force; anche in questo caso la grandezza deve essere definita attraverso un
numero reale che deve rappresentare una accelerazione. Essendo un vettore,
force avra unicamente tre componenti.
Figura 2.12: File cust force dll.f90.
2.3 Post-Process
I risultati della simulazione per essere letti devono essere caricati in MATLAB,
per far cio si inseriscono tutti i file della cartella Post Process nella cartella in
cui vi sono i file “.in” e quelli di output; quanto presente in Post Process e un
insieme di function che possono essere richiamate da uno script di MATLAB
per compiere determinate operazioni.
Si possono caricare le grandezze di output con la stringa:
data={’nomegrandezza’}; start=. . . ; stop=. . . ; load cheap
All’interno di data si inseriscono le grandezze che si vogliono studiare
attraverso il comando load cheap che permette di caricare le grandezze rho,
isfluid, u, v, w, por, omega, mass fs, psi, topo sw; start e stop indicano
gli istanti iniziali e finali che si vogliono caricare.
2.3.1 Sliceview
Questa function permette di visualizzare la variazione di una grandezza in
una determinata sezione con il passare del tempo attraverso un plot.
La stringa di codice che la richiama e la seguente:
sliceview(data,plane,slice,start,stop,dx,dt,time,boxes)
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 21
Capitolo 2. Software per la simulazione
Dove:
� data indica la grandezza di cui si vuole eseguire il plot (si definisce
anche la griglia per esempio scrivendo isfl.grid1);
� plane e il piano che si vuole plottare definibile come ‘xy’, ‘xz’ o ‘yz’;
� slice e la coordinata della sezione rispetto alla terza dimensione che
non viene plottata;
� start e l’istante iniziale da cui parte il plot (in genere e 12);
� stop e l’istante finale del plot (puo valere al massimo instants che e una
grandezza che si crea automaticamente e indica il numero di istanti
caricati3);
� gli ultimi quattro elementi sono da sostituire con le cifre 1.
Per istante si intende non un reale istante di tempo ma l’elemento stampato
nell’output secondo il print step scelto nel file pars.in (paragrafo 2.1.3):
quindi il secondo “istante” rappresenta l’output scritto al secondo print step
e cosı via.
Figura 2.13: Esempio di un plot attraverso la function Sliceview.
Il plot avra l’aspetto della figura 2.13; come si puo vedere la sezione e
colorata con diversi colori, che corrispondono a diversi valori che la grandezza
plottata assume, nel caso della figura e isfluid che e una delle grandezze
principali, in particolare:
1. il fluido e rappresentato dal colore blu e dalla cifra 1;
2. l’interfaccia fluido-aria e in azzurro e corrisponde al numero 2;
3. l’aria come gia detto e rappresentato dal numero 3 ed e in verde;
21 corrisponde allo start della function load cheap3instants e pari a stop− start + 1 del load cheap
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 22
Capitolo 2. Software per la simulazione
4. l’interfaccia fluido-solido e in blu scuro ed e descritta dalla cifra 0;
5. i solidi sono in giallo e rappresentati dal numero 33.
Si puo notare inoltre in alto a sinistra un riquadro in cui e scritto l’istante
che si sta plottando al momento.
E possibile modificare alcune caratteristiche del plot andando a commen-
tare o meno alcune stringhe del codice della function (vedi figura 2.14) per
esempio per scalare meglio la grandezza plottata o modificare o impedire
l’avanzamento automatico fra i vari istanti.
Figura 2.14: Stringhe di codice da modificare in Sliceview.
2.3.2 Plot del livello idrico
Al fine di poter plottare la variazione del livello idrico in un certo punto al
variare del tempo si ricorre al comando di MATLAB find che permette di
trovare l’indice per cui una certa grandezza rispetta una qualche condizione.
Nella figura 2.15 e mostrato un esempio delle righe di codice da scrivere
per poter ricavare tale grafico.
Figura 2.15: Esempio di codice per il plot del livello idrico.
Definiti i punti x e y di cui si vuole effettuare il plot e creato un vettore t
che tiene conto dei vari istanti di tempo, si effettua un ciclo for in cui si va
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 23
Capitolo 2. Software per la simulazione
a ricercare quegli indici della grandezza isfl in cui essa ha valore pari a 24
per i vari istanti; nel ciclo viene creato quindi anche un vettore che raccoglie
questi indici e che rappresenta percio il livello idrico.
Si possono usare i grafici cosı ricavati per confrontare quanto calcolato con
eventuali risultati dovuti a prove sperimentali; si ricorda che in questo modo
si possono estrarre i valori del tirante idrico per i diversi istanti di stampa che
pero ovviamente devono essere opportunamente dimensionalizzati per poter
essere confrontabili con i grafici sperimentali. Per la dimensionalizzazione
dei tempi e possibile utilizzando la seguente relazione che lega l’intervallo di
tempo fra un istante e il successivo alla viscosita:
νexp = νnum∆x2
∆t→ ∆t = ∆x2
νnumνexp
(2.4)
Ovviamente per quanto riguarda le altezze e sufficiente moltiplicare quanto
estratto per il rapporto fra la lunghezza caratteristica e il numero di nodi
scelti per rappresentarla.
2.3.3 Plot 3D
E possibile effettuare un plot 3D della simulazione usando le linee di codice
in MATLAB visibili nella figura 2.16.
Tale codice permette di creare per ogni istante una immagine 3D in
un formato a scelta utilizzando il comando print (vedi riga di codice 99)
decidendo anche la vista che si vuole dare al dominio, ovvero l’inclinazione
che si vuole dare del dominio rispetto ad un asse verticale ed uno orizzontale
usando il comando view (riga 89); esso ha il seguente lessico:
view([az,el])
Dove az, che sta per azimut, rappresenta la rotazione della figura rispetto
all’asse verticale, mentre el, che significa elevazione, e l’angolo di rotazione
rispetto l’asse orizzontale; e possibile ovviamente tenere fissi questi due angoli
oppure farli variare con l’avanzare degli istanti di stampa.
Gli scalari isovalue solid e isovalue fluid sono definiti in modo tale da
rendere possibile il plot dei solidi e dei fluidi presenti nella simulazione: un
valore di 10 per il primo permette un plot corretto di tutti i solidi mentre
per l’acqua e sufficiente un valore maggiore di 1 e minore di 2.
4N.B. Bisogna fare attenzione che questa condizione sia soddisfatta per tutti gli istanti;
in caso contrario si potrebbero trovare gli indici per cui isfl e maggiore o uguale a 2 e
prendere il primo di essi oppure imporre che uno 0 se l’indice non e mai uguale a 2, al fine
di ricavare comunque un plot.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 24
Capitolo 2. Software per la simulazione
Figura 2.16: Stringhe di codice per il plot3D della forma della massa fluida
tridimensionale.
I vettori color solid e color fluid permettono di scegliere il colore che
avranno tali elementi attraverso le loro tre componenti che rappresentano i
parametri del modello di colori RGB.
2.3.4 Digitalizzazione di grafici
Se non si dispone di file contenenti i risultati delle eventuali prove empiriche
con cui si vuole effettuare il confronto con quanto simulato dal modello ma
si hanno a disposizione unicamente dei grafici esistono numerosi programmi
che permettono di estrarre da immagini dei valori numerici utilizzabili per
tale confronto.
L’applicazione online Web Plot Digitizer da la possibilita di effettuare
questa operazione; essa permette di caricare una immagine e, dopo aver
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 25
Capitolo 2. Software per la simulazione
Figura 2.17: Scelta del tipo di grafico su Web Plot Digitizer.
scelto il tipo di plot rappresentato (figura 2.17) e fatto una calibrazione
degli assi cartesiani di riferimento (figura 2.18), estrarre le coordinate dei
punti di interesse (figura 2.19) sia copiando direttamente le coordinate sia
scaricandole attraverso un file excel.
Figura 2.18: Calibrazione degli assi cartesiani su Web Plot Digitizer.
2.3.5 Montaggio dei frame
Puo essere utile montare insieme le immagini generate dal codice plot3D per
creare un video da inserire in una eventuale presentazione; uno dei programmi
che permette cio e ffmpeg : esso puo essere richiamato solo attraverso il prompt
dei comandi, come si puo vedere in figura 2.20, ma permette di creare video
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 26
Capitolo 2. Software per la simulazione
Figura 2.19: Estrazione dei punti su Web Plot Digitizer.
con diverse opzioni utilizzando determinati comandi; una delle stringhe di
comando piu semplice e:
Figura 2.20: Interfaccia nel prompt dei comandi di ffmpeg.
ffmpeg -framerate 2 -i %04d.png -c:v libx264 out.mp4
Questo comando permette in ordine di:
- scegliere il framerate che avra il video (e quindi anche la sua durata
complessiva);
- prendere tutti i file presenti nella cartella dove e presente l’eseguibile
che sono denominati in quel modo, ovvero quelli generati dallo script
di MATLAB (ovviamente si possono cercare altri formati oltre al png);
- decidere il codec che avra il file generato (il programma permette di
scegliere fra un notevole numero di essi).
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria 27
Conclusione
Dagli studi compiuti sui LMB si evince che essi possono rappresentare una
valida alternativa ai normali modelli impiegati per la risoluzione dei problemi
della fluidodinamica, senza dover adoperare le equazioni differenziali di
Navier-Stokes, e i costanti aggiornamenti a cui sono sottoposti consentono
un continuo miglioramento dei risultati da loro offerti.
Il software oggetto di studio, sebbene ad oggi non disponga di un’inter-
faccia grafica che ne consenta un uso piu intuivo e rapido, risulta essere di
facile impostazione; inoltre i file necessari al funzionamento sono chiari ed e
necessaria solo una minima conoscenza del linguaggio FORTRAN per poter
eseguire le simulazioni piu semplici.
In ultimo, e necessario evidenziare che i risultati acquisiti dalle simulazioni
eseguite, benche non siano di immediata estrazione rendendosi a tale scopo
indispensabile il ricorso ad altri tipi di software (quali ad esempio MATLAB,
ffmpeg, etc.), possono ritenersi ottimali e adeguati allo scopo prefissato di
studio della fluidodinamica.
Universita degli Studi di Roma Tre - Dipartimento di Ingegneria
Top Related