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
Motivazioni
I modelli matematici ricoprono un ruolo fondamentale in molti campisia 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
Motivazioni
Obiettivo della tesi
Progettare una infrastruttura informatica che ospiti un codice astratto perimplementare 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
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
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
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’ingegneriadel software
1. progettazione del software2. sviluppo del software3. manutenzione del software4. 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
Programmazione Orientata agli Oggetti
Tutti i linguaggi di programmazione forniscono una sorta diastrazione 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
Programmazione Orientata agli Oggetti
Tutti i linguaggi di programmazione forniscono una sorta diastrazione 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
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
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 inuna 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
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+1i ) +
Np∑i=1
Tijηn+1j = bi . (2)
Per risolvere il sistema lineare, Brugnano e Casulli [1] hanno proposto unmetodo numerico rigoroso che simula la presenza di celle asciutte ebagnate senza l’introduzione di condizioni ad hoc all’interno dello schemaiterativo.
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
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
Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempioapplicativo)
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
Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempioapplicativo)
Classe Astrattaè una classe che contiene metodi astratti. Non può essere instanziatadirettamente e può presentare una implementazione incompleta o addiritturaassente.
InterfaccePermette allo sviluppatore di definire come si determinano metodi, nomi, listadegli argomenti e variabili di ritorno di una classe, ma senza implementare ilcorpo 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
Implementazione del software
Due sotto-problemi (implementazione guidata):
1. definire opportunamente la mesh
2. risolvere l’equazione differenziale (con la BEq come esempioapplicativo)
Step evolutivi per la realizzazione della struttura orientata aglioggetti
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
Griglia per metodi numerici1. Struttura base
MESH forNUMERICAL
METHOD
Structured mesh Unstructured mesh
AdjacencyMatrix Based
NeighbourMatrices Based
Column com-pressedformat
Row com-pressedformat
Triplet format
Griglia per metodi numerici2. 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
Problema fisicoPHYSICAL PROBLEMS
ODEPDEDifferential Equation
Time coordinatedependence
TIME DERIVATIVEINDEPENDENT(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 dependentapproach
Explicit method Semi-implicitmethod
Implicit method
Compressionformat of Matrix
Dense formatRow Compressed
formatColumn
Compressed formatTriplet 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
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]
0.00
0.25
0.50
0.75
1.00
0 25 50 75
Domain [m]
Pie
zom
etr
ic H
ead [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
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
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
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
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
BibliografiaLuigi 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
PDE non lineare parabolica, metodosemi-implicito ai volumi finiti
Algorithm 1: Algoritmo per l’implementazione di una PDE non lineareparabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditionsOutput: 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 system5 solve the linear system
6 end7 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
PDE non lineare parabolica, metodosemi-implicito ai volumi finiti
Algorithm 2: Algoritmo per l’implementazione di una PDE non lineareparabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditionsOutput: 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 system5 solve the linear system
6 end7 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
Costruzione dei termini della PDEConsiderando la forma generale della PDE parabolica
αut = ∇ · D~∇u + f , → MUn+1 + T nUn+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
Costruzione dei termini della PDEConsiderando la forma generale della PDE parabolica
αut = ∇ · D~∇u + f , → MUn+1 + T nUn+1 = bn. (3)
1 public abstract class AbstractPdeTerm {23 /**4 * this variable is true if the abstract class is implemented for5 * a matrix , otherwise it has to be false6 */7 public boolean matrix;89 /**
10 * this method has to be implemented if the derived class11 * is for an array term12 */13 public abstract double computeArrayTerm(double [] u,14 AbstractRCAdjacencyMatrixBased mesh , int polygonIndex );1516 /**17 * this method has to be implemented if the derived class18 * is for a matrix term19 */20 public abstract double computeMatrixTerm(double [] u,21 AbstractRCAdjacencyMatrixBased mesh , int polygonIndex , int sideIndex );2223 }
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
Costruzione dei termini della PDE
30 public double [] assemblePdeTerm(double [] u, AbstractRCAdjacencyMatrixBased mesh ,31 AbstractPdeTerm pdeTerm ){3233 double [] term;3435 if (term.matrix ){36 term = assembleMatrix(u, mesh , pdeTerm );37 } else {38 term = assemblyArray(u, mesh , pdeTerm );39 }4041 return term;4243 }4445 /**46 * this method has to be implemented if the derived class is47 * for an array term48 */49 public abstract void temporalLoop(mesh);5051 }
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
Costruzione dei termini della PDE1 public abstract class AbstractPde {23 public double [] assembleArray(double [] u, AbstractRCAdjacencyMatrixBased mesh ,4 AbstractPdeTerm pdeTerm ){56 double [] term = new double[mesh.polygonsNumber ];78 for (int i = 0; i < mesh.polygonsNumber; i++){9 term[j] = pdeTerm.computeArrayTerm(u, mesh , i, j);
10 }1112 return term;1314 }1516 public double [] assembleMatrix(double [] u, AbstractRCAdjacencyMatrixBased mesh ,17 AbstractPdeTerm pdeTerm ){1819 double [] term = new double[mesh.Ml.length ];2021 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 }2627 return term;2829 }
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
PDE non lineare parabolica, metodosemi-implicito ai volumi finiti
Algorithm 3: Algoritmo per l’implementazione di una PDE non lineareparabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditionsOutput: 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 system5 solve the linear system
6 end7 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
Costruzione del sistema lineare
Una struttura astratta per costruire la matrice A e il vettore b del sistemalineare Ax = b è complesso, in quanto assemblare questi termini dipendedal 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
Costruzione del sistema lineare
Una struttura astratta per costruire la matrice A e il vettore b del sistemalineare Ax = b è complesso, in quanto assemblare questi termini dipendedal tipo di equazione risolta.
Matrici Sparse
Grazie all’utilizzo del row compressed format, l’intero codice è basato suvettori 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
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
PDE non lineare parabolica, metodosemi-implicito ai volumi finiti
Algorithm 4: Algoritmo per l’implementazione di una PDE non lineareparabolica risolta con un metodo ai volumi finiti semi implicito
Input: initial conditionsOutput: 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 system5 solve the linear system
6 end7 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
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
Precondizionatore
Tecniche di precondizionamento
Le tecniche di precondizionamento riducono il numero di iterazionirichieste per la convergenza del metodo di risoluzione iterativo delgradiente coniugato.
Un sistema precondizionato è:
C−1Ax = C−1b (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
Precondizionatore
Caratteristiche del precondizionatore C
C tale per cui C−1A è essere prossimo alla matrice identitàil precondizionatore deve essere computazionalmente economicoin termini di
memoriavelocità 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
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]
Pie
zom
etr
ic H
ead [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
0.00
0.25
0.50
0.75
1.00
0 10 20 30 40
Domain [m]
Pie
zom
etr
ic H
ead [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
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]
Pie
zom
etr
ic H
ead [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
0.0
0.1
0.2
0.3
0e+00 1e+05 2e+05 3e+05 4e+05
Time [s]
Lin
f−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