Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Presentation given by Francesco for is degree
1. RELATORE: PHD PROF. RICCARDO RIGON CORRELATORI: PHD EMANUELE CORDANO, PHD GIUSEPPE FORMETTA
Patterns for the application of modern informatics to the integration of PDEs:
the case of the Boussinesq Equation
Tesi magistrale in Ingegneria per l’Ambiente ed il Territorio
Francesco Serafin | 21 luglio 2014
KIT – Universität des Landes Baden-Württemberg und
nationales Forschungszentrum in der Helmholtz-Gemeinschaft
www.kit.edu
2. Motivazioni
I modelli matematici ricoprono un ruolo fondamentale in molti campi
sia dell’ingegneria sia in ambiti scientifici come fisica, economia, ecc.
Sono in continua evoluzione:
1. nuovi metodi numerici vengono sviluppati per risolvere PDEs;
2. sviluppo hardware permette di ridurre i tempi computazionali.
Codice "dinamico"
Il codice in cui vengono scritti i modelli matematici deve essere
"dinamico" ed essere facilmente sviluppabile, modificabile,
debuggabile e mantenibile (Formetta et al. [5])
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 2/34
3. Motivazioni
Obiettivo della tesi
Progettare una infrastruttura informatica che ospiti un codice astratto per
implementare ogni tipo di modello matematico descritto da PDEs
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 3/34
4. Indice
1. Un ambiente moderno per il calcolo scientifico
2. L’equazione di Boussinesq per le acqua sotterranee
3. Implementazione del software
4. Confronto con la soluzione analitica
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 4/34
5. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 5/34
Un ambiente moderno per il calcolo scientifico
6. Strumenti Informatici
Per massimizzare produttività ed efficienza in team work, sono necessari:
Version Control System
IDE (Integrated Development Environment)
UML: per applicare i principi dell’ingegneria
del software
1. progettazione del software
2. sviluppo del software
3. manutenzione del software
4. test del software
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 6/34
7. Programmazione Orientata agli Oggetti
Tutti i linguaggi di programmazione forniscono una sorta di
astrazione dalla realtà, OOP può essere visto come una sorta di
“Crescendo di Astrazione” (Eckel [4])
Linea dell’astrazione Proprietà dell’OO
Ereditarietà
Incapsulamento
Polimorfismo
Linguaggio Orientato agli Oggetti: Java
Modeling Framework: OMS3 (Formetta [6])
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 7/34
8. Programmazione Orientata agli Oggetti
Tutti i linguaggi di programmazione forniscono una sorta di
astrazione dalla realtà, OOP può essere visto come una sorta di
“Crescendo di Astrazione” (Eckel [4])
Linea dell’astrazione Proprietà dell’OO
Ereditarietà
Incapsulamento
Polimorfismo
Linguaggio Orientato agli Oggetti: Java
Modeling Framework: OMS3 (Formetta [6])
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 7/34
9. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 8/34
L’equazione di Boussinesq per le acque sotterranee
10. L’equazione di Boussinesq
Forma conservativa delle BEq implementata (Cordano and Rigon [3],
Brugnano e Casulli [1] e Casulli [2]):
∂hw (η, x, y)
∂t
= · KS(x, y, z)h(η, x, y) η + Q(x, y) (1)
hw : volume d’acqua totale accumulato in
una colonna di suolo per unità d’area;
ks: conducibilità idraulica satura;
h: spessore dell’acquifero;
η: carico piezometrico incognito
(quota della falda freatica);
Q: termine sorgente per unità d’area;
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 9/34
11. Schema conservativo per la massa
L’equazione di Boussinesq non lineare parabolica è stata discretizzata:
1. nello spazio, considerando una mesh non strutturata
2. nel tempo, con un metodo semi-implicito
L’equazione discretizzata (1) è riscritta con notazione indiciale:
Vi (ηn+1
i ) +
Np
i=1
Tij ηn+1
j = bi . (2)
Per risolvere il sistema lineare, Brugnano e Casulli [1] hanno proposto un
metodo numerico rigoroso che simula la presenza di celle asciutte e
bagnate senza l’introduzione di condizioni ad hoc all’interno dello schema
iterativo.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 10/34
12. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 11/34
Implementazione del software
13. Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempio
applicativo)
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 12/34
14. Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempio
applicativo)
Classe Astratta
è una classe che contiene metodi astratti. Non può essere instanziata
direttamente e può presentare una implementazione incompleta o addirittura
assente.
Interfacce
Permette allo sviluppatore di definire come si determinano metodi, nomi, lista
degli argomenti e variabili di ritorno di una classe, ma senza implementare il
corpo dei metodi.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 12/34
15. Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempio
applicativo)
Step evolutivi per la realizzazione della struttura orientata agli
oggetti
1. struttura base di analisi del problema
2. riempire la struttura base per ottenere una gerarchia di classi completa
Implementazione del codice
Questo è l’ultimo step, ma è al di fuori della fase di progettazione.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 12/34
16. Griglia per metodi numerici
1. Struttura base
MESH for
NUMERICAL
METHOD
Structured mesh Unstructured mesh
Adjacency
Matrix Based
Neighbour
Matrices Based
Column com-
pressed
format
Row com-
pressed
format
Triplet format
17. Griglia per metodi numerici
2. Gerarchia di classi
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 14/34
18. Problema fisico
PHYSICAL PROBLEMS
ODEPDEDifferential Equation
Time coordinate
dependence
TIME DERIVATIVE
INDEPENDENT
(static resolution)
ELLIPTIC
· D u = f
TIME DERIVATI-
VE DEPENDENT
(dynamic resolution)
HYPERBOLIC
αutt = · D u
PARABOLIC
αut = ·D u +f
Type of PDE
Equation Linearity Linear Non linear
Type of Mesh Unstructured MeshStructured Mesh
Numerical Method Finite Difference Finite Volume Finite Element
Time dependent
approach
Explicit method
Semi-implicit
method
Implicit method
Compression
format of Matrix
Dense format
Row Compressed
format
Column
Compressed format
Triplet format
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 15/34
19. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 16/34
Confronto con la solutione analitica[8]
20. 0.00
0.25
0.50
0.75
1.00
0 25 50 75
Domain [m]
PiezometricHead[m]
simulationTimeStep
0360.txt
0900.txt
1800.txt
3600.txt
song.txt
Comparison between Song and Boussinesq solution
Simulation time: 10 days − KS = 0.001 m s−1
, s = 0.4
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 17/34
21. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 18/34
Conclusioni
22. Conclusioni
1. Un ambiente moderno per il calcolo scientifico
2. L’equazione di Boussinesq per le acqua sotterranee
3. Implementazione del software
4. Confronto con la soluzione analitica
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 19/34
23. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 20/34
Grazie per l’attenzione
24. Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 20/34
25. Bibliografia
Luigi Brugnano and Vincenzo Casulli.
Iterative solution of piecewise linear systems.
SIAM Journal on Scientific Computing, 30(1):463–472, 2008.
Vincenzo Casulli.
A high-resolution wetting and drying algorithm for free-surface hydrodynamics.
International Journal for Numerical Methods in Fluids, 60(4):391–408, 2009.
E Cordano and R Rigon.
A mass-conservative method for the integration of the two-dimensional groundwater (boussinesq) equation.
Water Resources Research, 49(2):1058–1078, 2013.
Bruce Eckel.
Thinking in JAVA.
Prentice Hall Professional, 2003.
G Formetta, A Antonello, S Franceschi, O David, and R Rigon.
Hydrological modelling with components: A gis-based open-source framework.
Environmental Modelling & Software, 55:190–200, 2014.
Giuseppe Formetta.
Hydrological modelling with components: the OMS3 NewAge-JGrass system.
PhD thesis, University of Trento, 2013.
Jonathan R Shewchuk.
An introduction to the conjugate gradient method without the agonizing pain.
Technical report, Pittsburgh, PA, USA, 1994.
Zhi-yao Song, Ling Li, and Lockington David.
Note on barenblatt power series solution to boussinesq equation.
Applied Mathematics and Mechanics, 28(6):823–828, 2007.Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 21/34
26. PDE non lineare parabolica, metodo
semi-implicito ai volumi finiti
Algorithm 1: Algoritmo per l’implementazione di una PDE non lineare
parabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditions
Output: solution to the physical problem
1 for time = 0 to endTime do
2 building of the PDE terms
3 while newton iteration convergence do
4 building of the linear system
5 solve the linear system
6 end
7 end
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 22/34
27. PDE non lineare parabolica, metodo
semi-implicito ai volumi finiti
Algorithm 2: Algoritmo per l’implementazione di una PDE non lineare
parabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditions
Output: solution to the physical problem
1 for time = 0 to endTime do
2 building of the PDE terms
3 while newton iteration convergence do
4 building of the linear system
5 solve the linear system
6 end
7 end
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 22/34
28. Costruzione dei termini della PDE
Considerando la forma generale della PDE parabolica
αut = · D u + f, → MUn+1
+ Tn
Un+1
= bn
. (3)
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 23/34
29. Costruzione dei termini della PDE
Considerando la forma generale della PDE parabolica
αut = · D u + f, → MUn+1
+ Tn
Un+1
= bn
. (3)
1 public abstract class AbstractPdeTerm {
2
3 /**
4 * this variable is true if the abstract class is implemented for
5 * a matrix , otherwise it has to be false
6 */
7 public boolean matrix;
8
9 /**
10 * this method has to be implemented if the derived class
11 * is for an array term
12 */
13 public abstract double computeArrayTerm (double [] u,
14 AbstractRCAdjacencyMatrixBased mesh , int polygonIndex );
15
16 /**
17 * this method has to be implemented if the derived class
18 * is for a matrix term
19 */
20 public abstract double computeMatrixTerm (double [] u,
21 AbstractRCAdjacencyMatrixBased mesh , int polygonIndex , int sideIndex );
22
23 }
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 23/34
30. Costruzione dei termini della PDE
30 public double [] assemblePdeTerm (double [] u, AbstractRCAdjacencyMatrixBased mesh ,
31 AbstractPdeTerm pdeTerm ){
32
33 double [] term;
34
35 if (term.matrix ){
36 term = assembleMatrix (u, mesh , pdeTerm );
37 } else {
38 term = assemblyArray (u, mesh , pdeTerm );
39 }
40
41 return term;
42
43 }
44
45 /**
46 * this method has to be implemented if the derived class is
47 * for an array term
48 */
49 public abstract void temporalLoop (mesh );
50
51 }
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 24/34
31. Costruzione dei termini della PDE
1 public abstract class AbstractPde {
2
3 public double [] assembleArray (double [] u, AbstractRCAdjacencyMatrixBased mesh ,
4 AbstractPdeTerm pdeTerm ){
5
6 double [] term = new double[mesh. polygonsNumber ];
7
8 for (int i = 0; i < mesh. polygonsNumber ; i++){
9 term[j] = pdeTerm. computeArrayTerm (u, mesh , i, j);
10 }
11
12 return term;
13
14 }
15
16 public double [] assembleMatrix (double [] u, AbstractRCAdjacencyMatrixBased mesh ,
17 AbstractPdeTerm pdeTerm ){
18
19 double [] term = new double[mesh.Ml.length ];
20
21 for (int i = 0; i < mesh. polygonsNumber ; i++){
22 for (int j = mesh.Mp[i]; j < mesh.Mp[i + 1]; j++){
23 term[j] = pdeTerm. computeMatrixTerm (u, mesh , i, j);
24 }
25 }
26
27 return term;
28
29 }
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 24/34
32. PDE non lineare parabolica, metodo
semi-implicito ai volumi finiti
Algorithm 3: Algoritmo per l’implementazione di una PDE non lineare
parabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditions
Output: solution to the physical problem
1 for time = 0 to endTime do
2 building of the PDE terms
3 while newton iteration convergence do
4 building of the linear system
5 solve the linear system
6 end
7 end
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 25/34
33. Costruzione del sistema lineare
Una struttura astratta per costruire la matrice A e il vettore b del sistema
lineare Ax = b è complesso, in quanto assemblare questi termini dipende
dal tipo di equazione risolta.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 26/34
34. Costruzione del sistema lineare
Una struttura astratta per costruire la matrice A e il vettore b del sistema
lineare Ax = b è complesso, in quanto assemblare questi termini dipende
dal tipo di equazione risolta.
Matrici Sparse
Grazie all’utilizzo del row compressed format, l’intero codice è basato su
vettori 1D, per cui gli argomenti di un generico metodo sono vettori.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 26/34
35. Costruzione del sistema lineare
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 26/34
36. PDE non lineare parabolica, metodo
semi-implicito ai volumi finiti
Algorithm 4: Algoritmo per l’implementazione di una PDE non lineare
parabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditions
Output: solution to the physical problem
1 for time = 0 to endTime do
2 building of the PDE terms
3 while newton iteration convergence do
4 building of the linear system
5 solve the linear system
6 end
7 end
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 27/34
37. Risoluzione del sistema lineare
Per la risoluzione del sistema lineare sono stati usati:
Gradiente Coniugato [7]
precondizionatore per ridurre il tempo di convergenza
Entrambi, implementati nelle Parallel Colt, funzionano in parallelo.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 28/34
38. Precondizionatore
Tecniche di precondizionamento
Le tecniche di precondizionamento riducono il numero di iterazioni
richieste per la convergenza del metodo di risoluzione iterativo del
gradiente coniugato.
Un sistema precondizionato è:
C−1
Ax = C−1
b (4)
dove C è una matrice non singolare chiamata precondizionatore.
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 29/34
39. Precondizionatore
Caratteristiche del precondizionatore C
C tale per cui C−1
A è essere prossimo alla matrice identità
il precondizionatore deve essere computazionalmente economico
in termini di
memoria
velocità di calcolo
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 30/34
40. 0360.txt 0900.txt
1800.txt 3600.txt
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0 25 50 75 0 25 50 75
0 25 50 75 0 25 50 75
Domain [m]
PiezometricHead[m]
Comparison between Song and Boussinesq solution
Simulation time: 10 days − KS = 0.001 m s−1
, s = 0.4
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 31/34
41. 0.00
0.25
0.50
0.75
1.00
0 10 20 30 40
Domain [m]
PiezometricHead[m]
simulationTimeStep
0360.txt
0900.txt
1800.txt
3600.txt
song.txt
Comparison between Song and Boussinesq solution
Simulation time: 10 days − KS = 0.0001 m s−1
, s = 0.4
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 32/34
42. 0360.txt 0900.txt
1800.txt 3600.txt
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0.00
0.25
0.50
0.75
1.00
0 10 20 30 40 0 10 20 30 40
0 10 20 30 40 0 10 20 30 40
Domain [m]
PiezometricHead[m]
Comparison between Song and Boussinesq solution
Simulation time: 10 days − KS = 0.0001 m s−1
, s = 0.4
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 33/34
43. 0.0
0.1
0.2
0.3
0e+00 1e+05 2e+05 3e+05 4e+05
Time [s]
Linf−norm[−]
SimulationType
TIME STEP 0.01
TIME STEP 0.1
TIME STEP 1
Maximum norm between analytical and numerical solution
Error computed like maximum norm in nondimensional simulations
Ambiente moderno per il Calcolo Scientifico L’equazione di Boussinesq Implementazione del software Confronto con la soluzione analitica
Francesco Serafin – The application of modern informatics to the integration of PDEs 21 luglio 2014 34/34