Solutori per le equazioni di Navier-Stokes in un ambiente di calcolo ad oggetti per le equazioni differenziali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Solutori per le equazioni di Navier-Stokes in un ambiente di calcolo ad oggetti per le equazioni differenziali"

Transcript

1 Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria dei Modelli e dei Sistemi Tesi di Laurea Solutori per le equazioni di Navier-Stokes in un ambiente di calcolo ad oggetti per le equazioni differenziali Laureando Daniele Paoli Relatore Prof. Ing. Giuseppe Tomassetti Correlatore Prof. Ing. Salvatore Filippone A.A

2 Indice 1 Introduzione La Meccanica del Continuo NEMO, un codice per CCM Motivazioni per un nuovo codice Principali caratteristiche Obbietivi e contributo personale Struttura del lavoro NEMO La programmazione O-O Interfaccia vs implementazione Procedurale vs OO NEMO e le PSBLAS Partizionamento e riordinamento Partizionamento Riordinamento La gestione della mesh Pde solver: high level interface Le equazioni di Navier-Stokes e gli algoritmi risolutivi Le equazioni

3 INDICE i 3.2 La correzione della pressione Un semplice schema esplicito Un semplice schema implicito Implicit Pressure-Correction Methods SIMPLE PISO L approssimazione di Rhie-Chow Correzioni di non ortogonalità Le implementazioni in NEMO Le classi field e pde La struttura dei files sorgenti Le equazioni del momento Le equazioni di correzione della pressione Test e risultati Lid-driven cavity Costruzione cavity: la mesh e le condizioni al bordo Test SIMPLE test PISO Il canale di Poiseuille Costruzione canale: la mesh e le condizioni al bordo test SIMPLE test PISO Non orth lid-driven cavity Cavity a gradi alpha : la costruzione della mesh test SIMPLE Conclusioni 88

4 Capitolo 1 Introduzione La fisica dei continui è descritta per mezzo di equazioni differenziali alle derivate parziali (P DEs), che vengono risolte attraverso diversi algoritmi, usando metodi numerici. Il presente lavoro di tesi si propone di contribuire allo sviluppo di NEMO (Numerical Engine per Multiphysics Operators), un nuovo pacchetto software progettato per la risoluzione di equazioni differenziali alle derivate parziali mediante il metodo dei volumi finiti, in grado di girare in parallelo su computer a memoria distribuita. Al fine di realizzare un codice interdisciplinare (multiphysics code), capace di risolvere PDEs che regolano diversi fenomeni di meccanica dei continui (ad esempio il trasferimento di calore, la fluidodinamica, ecc.) e la loro interazione (ad esempio, interazione fluido-struttura, magneto-fluidodinamica, ecc.), è stato seguito un innovativo approccio object-oriented. Questo si basa sulla definizione di classi, che rappresentano i diversi elementi costitutivi di un problema di PDE (ad esempio PDE, Field, Mesh, Boundary Conditions, ecc.), e di operatori differenziali, procedure numeriche che nascondono, dietro la loro interfaccia, gli schemi di discretizzazione e la

5 1.1 La Meccanica del Continuo 2 specifica implementazione del prescelto metodo ai volumi finiti. Il codice è scritto in Fortran 95; questo linguaggio supporta le caratteristiche fondamentali della progettazione orientata agli oggetti, come data hiding, incapsulamento, polimorfismo, e garantisce generalmente una buona efficienza del codice prodotto ed un interfacciamento naturale con altre applicazioni. Il software utilizza il metodo dei volumi finiti per l integrazione delle equazioni alle derivate parziali, e si basa su un approccio co-located, con incognite del problema posizionate a centro cella, e supporta mesh ibride, con celle poligonali (2D) e poliedriche (3D) del tutto generiche, per poter affrontare le complesse geometrie che tipicamente si incontrano in applicazioni ingegneristiche. Particolare cura è stata dedicata al rendimento complessivo computazionale, grazie all integrazione con le librerie P SBLAS, che implementano un set di precondizionatori altamente efficienti e di metodi iterativi per la risoluzione di sistemi lineari con grandi matrici sparse, seguendo il message-passing paradigm. 1.1 La Meccanica del Continuo Un continuo è una quantità di materia la cui fisica può essere indagata ignorando le discontinuità a livello microscopico legate alla struttura e ai moti delle molecole. Quando si studia un liquido o un solido ipotizzando che sia un continuo, si descrive il suo comportamento in termini di proprietà macroscopiche, come la velocità, la pressione, la densità, la temperatura e le loro derivate spaziali e temporali. Queste possono essere pensate come medie su un sufficientemente grande numero di molecole. Un punto in un continuo è allora la più piccolo elemento di materia le cui proprietà macroscopiche non sono influenzate dalle singole molecole.

6 1.1 La Meccanica del Continuo 3 La Computational Continuum Mechanics (CCM) è la scienza che studia i continui mediante simulazioni numeriche. Essa comprende, tra gli altri, la Computational Fluid Dynamics (CFD) e la Computational Solid Mechanics (CSM), la prima relativa alla stima dei campi di flusso, la seconda alla valutazione delle tensioni e delle deformazioni che agiscono sui corpi deformabili. Quando si è di fronte a un problema di CCM il primo passo da affrontare è la modellazione matematica del problema fisico di interesse. Le Equazioni Differenziali alle Derivate Parziali (PDEs) sono gli evidenti strumenti matematici necessari per la modellazione dell equilibrio o dell evoluzione nello spazio e nel tempo di un sistema continuo. Inoltre è facile vedere che anche fenomeni diversi, come ad esempio quelli di fluido dinamica e quelli strutturali, possono essere classificati in maniera uniforme, grazie alle analogie nelle equazioni alle derivate parziali che li governano. Una volta che un fenomeno fisico è stato matematicamente descritto mediante una PDE, si deve applicare un metodo specifico, al fine di trovare una soluzione numerica di tale problema. Finora sono stati sviluppati molti metodi, ciascuno con le sue peculiarità e campi di applicazione preferiti. Tra i più importanti citiamo: Metodo delle Differenze Finite (FDM); Metodo degli Elementi Finiti (FEM); Metodo dei Volumi Finiti (FVM) ; Metodi SpettraliSpectral Methods. Come spiegato da Versteeg e Malalasekera (1995), la linea guida comune a tutti questi metodi percorre tre tappe fondamentali:

7 1.1 La Meccanica del Continuo 4 1. approssimazione delle variabili incognite per mezzo di funzioni semplici; 2. discretizzazione delle equazioni di governo attraverso la sostituzione delle approssimazioni e successive manipolazioni matematiche; 3. soluzione delle equazioni algebriche derivate nel passaggio precedente. Le principali differenze tra i quattro schemi di cui sopra sono relative al modo in cui le variabili vengono approssimate nel processo di discretizzazione. Con particolare riferimento al volume finiti metodo, il più importante tra quelli applicati in CFD e utilizzato in NEMO, possiamo riconoscere le seguenti operazioni: - integrazione formale delle PDEs che governano tutti i volumi di controllo (CV) in cui il dominio di soluzione è stato suddiviso; - possibile applicazione del teorema di Gauss per la conversione di integrali di volume in integrali di superficie; - discretizzazione nelle equazioni integrali dei termini che rappresentano i processi di flusso, come la convezione, la diffusione e le sorgenti, per mezzo di una tra le possibili approssimazioni alle differenze finite. Questo trasforma le equazioni integrali in un sistema di equazioni algebriche; - soluzione delle equazioni algebriche per mezzo di un metodo iterativo; l algoritmo principale include la soluzione di un sistema lineare con matrice dei coefficienti generalmente sparsa. In sintesi, il processo di modellazione di un fenomeno fisico e la sua risoluzione per mezzo di uno dei metodi di cui sopra, può essere rappresentato dalla seguente sequenza di problemi:

8 1.2 NEMO, un codice per CCM 5 1. Problema fisico: un fenomeno di interesse per uno scienziato o un ingegnere. Nel nostro caso riguarda il cambiamento di dello stato dei continui. 2. Problema matematico: la modellazione mediante PDE con adeguate condizioni iniziali e al contorno. 3. Problema Numerico: l applicazione del metodo che trasforma le PDEs in equazioni algebriche, vale a dire FDM, FEM, FVM, ecc. 4. Problema di programmazione: l implementazione del prescelto metodo numerico, seguendo uno specifico paradigma (in serie o in parallelo, procedurale o object-oriented), con un adeguato linguaggio adeguato di programmazione (C, C++, Fortran 95, ecc.) 1.2 NEMO, un codice per CCM Motivazioni per un nuovo codice In origine questo progetto era nato con l obiettivo di sviluppare un codice parallelo per la CFD in grado di essere utilizzato per simulazioni complesse come quelle relative ai motori a combustione interna. L obiettivo era di sviluppare un codice : - estremamente efficiente, grazie ad una struttura parallela adatta per girare sui sistemi a memoria distribuita; - scritto in Fortran 95; - che implementasse molti dei migliori algoritmi di CFD disponibili in letteratura.

9 1.2 NEMO, un codice per CCM 6 Negli ultimi anni l esperienza con vari strumenti di programmazione, tra cui OpenFOAM, ha dimostrato che l utilizzo di tecniche object-oriented può portare a vantaggi significativi nello sviluppo di applicazioni su larga scala. Si è quindi pensato di sviluppare un nuovo codice progettato con tecniche ad oggetti, basato su Fortran 95 e sulle librerie di supporto PSBLAS; per coniugare efficienza paralleliusmo e mantenibilita- il suo nome è NEMO e sta per Numerical Engine for Multiphysics Operators Principali caratteristiche Nel resto del capitolo descriveremo le principali caratteristiche del codice, che qui riassumiamo brevemente: - è un framework object-oriented per la soluzione di PDEs nell ambito di CCM; - scritto in standard Fortran 95; - approccio ai volumi finiti; - supporta meshes ibride con celle poliedriche del tutto generiche; - approccio co-located (cell-centered); - è dotato di schemi di discretizzazione con un accuratezza del secondo ordine; - lavora in parallelo seguendo il message-passing paradigm; - utilizza un efficiente set di precondizionatori e risolutori paralleli; - notevole portabilità su piattaforme Unix-like.

10 1.3 Obbietivi e contributo personale Obbietivi e contributo personale Questo lavoro di tesi mira a contribuire allo sviluppo di NEMO, un pacchetto software in via di sviluppo per la risoluzione di problemi di CCM. L obbiettivo primario è realizzare un programma capace di risolvere problemi di CCM accoppiati, che coinvolgono l interazione di due o più fenomeni differenti, come la dinamica dei fluidi e trasferimento di calore. Per far questo è necessario che il codice riesca a gestire più equazioni differenziali nello stesso momento. All inizio del lavoro di tesi il codice NEMO era in uno stadio prototipale in cui era possibile gestire separatamente equazioni scalari e vettoriali; infatti è stato già utilizzato con successo per: 1. la simulazione di anomalie di pressione in fluidi (ingranaggi in olio); 2. l ottimizzazione di mesh (modellizzata come equazione differenziale nel campo vettoriale che descrive le posizioni dei nodi). Obiettivo del lavoro di tesi è stato impostare l accoppiamento tra equazioni scalari e vettoriali necessario alla soluzione delle equazioni di Navier Stokes; si è cominciato affrontando il caso semplice di fluido incomprimibile in regime laminare. In particolare, si è scelto di implementare due metodi iterativi, noti in letteratura e implementati in molti codici di fluidodinamica, facenti parte della famiglia dei projection methods: SIMPLE e PISO. Il funzionamento, l accuratezza ed efficienza di tali algoritmi sono stati testati in tre differenti situazioni bidimensionali in cui vengono analizzati fluidi incomprimibili in regime laminare: - lid-driven cavity: un quadrato in cui il flusso viene generato da una delle quattro pareti che scorre parallelamente a se stessa;

11 1.4 Struttura del lavoro 8 - il canale di Poiseuille: un tubo circolare lungo, rigido e privo di anse in cui si anzlizza un flusso stazionario generato da una differenza di pressione alle estremità del canale; - non orthogonal lid-driven cavity: l angolo tra le pareti differisce da 90. I risultati ottenuti nei primi due tests sono più che soddisfacenti e testimoniano un perfetto funzionamento di entrambi gli algoritmi. Le correzioni apportate ai codici per supportare griglie non ortogonali, invece, funzionano in maniera efficiente solo per determinati angoli. La rifinitura di queste correzioni rappresenta sicuramente il primo passo da compiere per ottenere un solutore completo ed affidabile per lo studio di problemi di fluidodinamica. 1.4 Struttura del lavoro Questo lavoro di tesi è strutturata nel seguente modo. Ogni capitolo è introdotto da una piccola panoramica dei suoi contenuti. CAPITOLO 1 - Introduzione preliminare alla Computational Continuum Mechanics e a Nemo, codice parallelo Object-Oriented per CCM scritto in Fortran 95. Il capitolo si conclude con gli obbiettivi della tesi e il contributo personale apportato allo sviluppo del software. CAPITOLO 2 - NEMO: descrizione del software. CAPITOLO 3 - Descrizione delle equazioni di Navier-Stokes, dei metodi impliciti che usualmente vengono utilizzati per risolverle numericamente. Descrizione di SIMPLE e PISO, dalle idee base alle implementazioni in NEMO.

12 1.4 Struttura del lavoro 9 CAPITOLO 4 - Descrizione di tests per gli algoritmi di SIMPLE e PISO e risultati ottenuti. CAPITOLO 5 - Conclusioni, stato corrente e sviluppi futuri.

13 Capitolo 2 NEMO In questo capitolo viene brevemente descritta la struttura di NEMO. Considereremo in primo luogo l approccio Object-oriented per un software per CCM e come viene eseguito in NEMO. Passeremo, successivamente, a descrivere alcune delle caratteristiche del software, nell ordine: il rapporto con le librerie PSBLAS, che rappresentano il kernel numerico del codice; le strategie di partizionamento per l assegnazione dei dati a diversi processori che lavorano in parallelo e gli algoritmi di riordinamento per la riduzione della larghezza di banda della matrice sparsa associata alla mesh computazionale; la gestione della mesh. Analizzeremo infine il modo in cui il codice svolge il suo compito principale: la risoluzione delle PDEs algebriche. Per un lettore interessato, una descrizione più dettagliata può essere trovata in Toninel [5].

14 2.1 La programmazione O-O La programmazione O-O Interfaccia vs implementazione Prendiamo in considerazione la progettazione di un nuovo codice CCM per la risoluzione di equazioni differenziali alle derivate parziali applicate ai continui, non limitato al campo della CFD, ma adatto anche, per esempio, all analisi strutturale. Una delle prime cose di cui gli sviluppatori dovrebbero essere consapevoli è che ci sono due livelli completamente diversi di interesse: 1. il livello dell utente; 2. il livello dello sviluppatore. L utente vorrà avere la possibilità di risolvere una qualsiasi PDE semplicemente o costruendo l equazione che governa un particolare problema attraverso strumenti di programmazione a livello alto, che potrebbero riprodurre la sequenza di operatori differenziali applicati a determinati campi, come scritto nella stessa PDE. Lo sviluppatore dovrebbe invece aver cura che dietro un interfaccia userfriendly, il codice consista di un implementazione modulare del prescelto metodo risolutivo, possibilmente nascondendo ogni dettaglio in qualche modo collegato allo specifico schema di discretizzazione o algoritmo in uso. Questo approccio, cioè la separazione dell interfaccia dall implementazione porta molti vantaggi: - l utente non deve preoccuparsi di troppi dettagli di implementazione; - se l applicazione è completamente trasparente all utente, e le interfacce ri-

15 2.1 La programmazione O-O 12 mangono immutate, lo sviluppatore può applicare qualsiasi modifica al codice sorgente, senza alterare le applicazioni dell utente; - a seconda del caso specifico, sarebbe possibile applicare di volta in volta il miglior metodo numerico disponibile (ad esempio i volumi finiti per la CFD, elementi finiti per la CSM), utilizzando sempre la stessa interfaccia. Questa separazione riflette anche il modo in cui vengono risolte le PDEs in un codice CCM: c è una corrispondenza 1-1 tra ogni operatore differenziale applicato ad una variabile e il contributo di questo termine nell equazione algebrica che deriva dalla discretizzazione della PDE. La linea di confine tra gli operatori differenziali (nella PDE) e le equazioni algebriche (nel metodo numerico) dovrebbe corrispondere alla separazione tra gli strati dell utente e dello sviluppatore, così come tra interfaccia e implementazione Procedurale vs OO Le applicazioni classiche di CFD si basano su un approccio procedurale, che consiste in una cascata di chiamate a procedure dedite ad uno specifico task. Il vantaggio principale di questo tipo di programmazione consiste nello sviluppo di applicazioni che riproducono il diagramma di flusso dell algoritmo prescelto e le sue formule di soluzione. Inoltre, un applicazione procedurale si suppone essere progettata per un attività specifica e dovrebbe quindi essere ottimizzata per tale obiettivo. La modularità e la riutilizzabilità sono di poco interesse in un programma procedurale, perché spesso è più facile e veloce, per una diversa applicazione, sviluppare un nuovo codice a partire da zero. Oggi il paradigma più popolare nel campo della moderna ingegneria del software (SE) è la programmazione orientata a oggetti (OOP), basata sul

16 2.1 La programmazione O-O 13 concetto di classe. In questo contesto una classe è un costrutto di un linguaggio di programmazione usato come modello per creare oggetti. Il modello comprende attributi e metodi che saranno condivisi da tutti gli oggetti creati. Una classe è l astrazione di un concetto implementata in un programma per computer. Fondamentalmente essa definisce al proprio interno lo stato ed il comportamento dell entità di cui è rappresentazione. I dati che descrivono lo stato sono memorizzati nelle variabili membro, mentre il comportamento è descritto da blocchi di codice riutilizzabile chiamati metodi. Con particolare riferimento alla soluzione di PDEs in CCM, si potrebbe pensare ad una Pde come una classe, che interagisce con oggetti della classe Field, modellando il comportamento di un continuo, in accordo con le istanze della classe BoundaryCondition. Gli operatori differenziali possono essere implementati come procedure che modificano il contenuto di un oggetto P de, nascondendo, dietro ad un più alto livello di interfaccia, la traslazione nell equazione algebrica discretizzata del corrispondente termine nella PDE. La programmazione procedurale, che caratterizza le applicazioni scientifiche in Fortran 77, è focalizzata sulle azioni, mentre la programmazione orientata a oggetti è incentrata sui dati. Sebbene questa semplificazione potrebbe sembrare troppo forte, è vero che l approccio OO parte dall organizzazione di gruppi di dati, e richiede la definizione di ciò che essi contengono, come possono essere costruiti, distrutti, come si può avere accesso ad essi e come possono essere modificati. In passato, la maggior parte dei programmi di calcolo scientifici veniva realizzata solo attraverso linguaggi di programmazione procedurali, come il Fortran, che ha garantito codici altamente efficienti. Oggi le esigenze sono cambiate e la necessità di sviluppare le applicazioni

17 2.2 NEMO e le PSBLAS 14 multiuso, migliorando la riutilizzabilità e la flessibilità dei codici, richiede l impiego dell OOP anche nel calcolo ad alte prestazioni. Tuttavia, c è da fare una considerazione, che parzialmente ridimensiona le capacità solitamente attribuite alla programmazione OO. L OOP non è la soluzione ad ogni tipo di applicazione numerica; inoltre il guadagno in termini di flessibilità ha un proprio prezzo da pagare in termini di prestazione pura. Questo è il motivo per cui un buon sviluppatore dovrebbe differenziare le aree del suo codice dove si può usare la programmazione a oggetti e dove, invece, è meglio dare la priorità all efficienza computazionale utilizzando un approccio procedurale. 2.2 NEMO e le PSBLAS Come anticipato all inizio del capitolo, NEMO è stato progettato per l esecuzione in parallelo su sistemi a memoria distribuita, secondo il message passing paradigm. Questa soluzione garantisce la portabilità su una vasta gamma di macchine. L applicazione del metodo dei volumi finiti porta alla discretizzazione delle PDEs. Se le risultanti equazioni algebriche vengono scritte in forma implicita per ogni nodo computazionale della mesh, quello che bisogna fare è risolvere un sistema lineare del tipo Ax = b, con A matrice sparsa. Per risolvere tale sistema i metodi diretti non sono appropriati. Bisogna ricorrere a metodi iterativi, la cui parallelizzazione richiede grande sforzo. In NEMO questo compito è assegnato alle librerie P SBLAS (P arallel Sparse Basic Linear Algebra Subprograms), sviluppate da Filippone e Colajanni [2].

18 2.3 Partizionamento e riordinamento 15 Queste librerie forniscono un framework per consentire implementazioni di solutori iterativi per sistemi lineari, nascondendo all utente la maggior parte della loro parallelizzazione. In particolare, le PSBLAS forniscono un ampio set di precondizionatori molto efficienti e di metodi iterativi non-stazionari del sottospazio di Krylov. Per fornire gli elementi costitutivi di questi algoritmi complessi e di alto livello, è stata utilizzata un applicazione parallela delle BLAS (Basic Linear Algebra Subprograms). I precondizionatori e i metodi iterativi vengono invocati chiamando singole subroutines in maniera completamente trasparente all utente. Sarebbe impossibile separare il kernel numerico di NEMO dalle PSBLAS, perché NEMO è disegnato intorno alle PSBLAS. Ad esempio, il modo in cui le PSBLAS gestiscono gli halos, cioè i buffers al bordo numerico di un processo, che svolgono un ruolo chiave per la soluzione parallela di un sistema lineare, influenza la strategia per l immagazzinamento di dati locali, relativi alla geometria e topologia della meshes. In sintesi, l attuale struttura di NEMO non esisterebbe senza le PSBLAS. 2.3 Partizionamento e riordinamento Partizionamento In ogni applicazione che lavora in parallelo, è di fondamentale importanza la strategia secondo cui si assegnano i dati da elaborare ai differenti processi. Questo partizionamento deve soddisfare due richieste: - bilanciare il piú possibile il numero di operazioni svolte da ogni processo; - minimizzare il numero di informazioni che devono scambiarsi i processi.

19 2.3 Partizionamento e riordinamento 16 Nelle PSBLAS il criterio di assegnamento dei dati ai differenti processi è basato sulla corrispondenza tra il grafo di adiacenza della mesh di discretizzazione e lo sparsity pattern della matrice dei coefficienti del sistema lineare Ax = b che deve essere risolto. Ripartire i dati nei differenti processi equivale a ripartire le equazioni algebriche di tale sistema. Ognuna di queste fa riferimento ad una cella della mesh di discretizzazione. Quindi assegnare dati ai diversi processi equivale ad assegnare celle ai diversi processi, ed il partizionamento risulta una suddivisione dell intero dominio in sottodomini. Se si considera la sequenza di steps computazionali eseguiti nella risoluzione iterativa di un sistema lineare, si ha che l ammontare delle operazioni floatingpoint in ogni processo è proporzionale al numero di celle assegnate al processo stesso, mentre l ammontare di dati che i processi devono scambiarsi è proporzionale al numero di celle che giacciono sul bordo numerico tra due o più processi adiacenti. In altre parole, il carico computazionale è proporzionale al volume di ogni sottodominio, mentre la comunicazione è proporzionale alla superficie di contatto tra i vari sottodomini. La scelta ottima per l allocazione dei dati quindi è equivalente al problema del partizionamento di un grafo, ossia al problema di assegnare i nodi di un grafo a distinti subsets (che non si intersecano tra di loro) in modo tale che: - l assegnamento dei nodi ai vari sottodomini sia omogeneo e ben bilanciato; - il numero di archi che connettono nodi in differenti subsets, attraversando la loro superficie di contatto, sia minimo. Il problema appena descritto è NP Complete: appartiene cioè a quella classe di problemi per cui non si puó, in generale, trovare una soluzione ottima.

20 2.3 Partizionamento e riordinamento 17 Bisogna quindi usare una strategia euristica per trovare un giusto compromesso tra il tempo necessario per trovare una soluzione e la qualità della stessa. La caratteristica principale del progetto PSBLAS è quella di lasciare l utente libero di scegliere liberamante la strategia di partizionamento del dominio di simulazione. Questo perchè le strategie di partizionamento possono essere molto diverse tra di loro, e sarebbe stato quindi troppo restrittivo, nella definizione del protocollo delle PSBLAS, forzare l utente ad adottarne una specifica. Il partizionamento a blocchi Un primo tipo di decomposizione dei dati è il partizionamento a blocchi, che si basa semplicemente sulla grandezza dello spazio degli indici del vettore di stato x e sul numero di processi paralleli disponibili; lo sparsity pattern della matrice dei coefficienti viene completamente trascurato. Se np è il numero dei processi disponibili, lo spazio degli indici i 1...N viene splittato in np blocchi composti di indici contigui. i i/l L = N/np Come mostrato in Fig. (2.1), il criterio di bilanciamento dei carichi consiste essenzialmente nel creare blocchi più omogenei possibili; essendo una suddivisione molto semplice e diretta, non assicura efficienza perchè non considera minimamente la topologia di discretizzazione della mesh. Buoni risultati possono essere ottenuti quindi nel caso di meshes strutturate, come mostrato in Fig (2.2); viceversa è chiaro che se la numerazione è irregolare, come in Fig.

21 2.3 Partizionamento e riordinamento 18 Figura 2.1: Partizionamento a blocchi in 3 subsets di un vettore di 8 elementi. (2.3), si ottiene un effetto a scacchiera, che per quanto detto è l opposto di ciò che si desidera. Metis e Parmetis Quando si ha a che fare con meshes complesse, non strutturate, è necessaria una decomposizione dei dati basata su tecniche più complesse, come gli algoritmi di graph partitioning. Come abbiamo accennato in precedenza, c è una corrispondenza 1-1 tra lo sparsity pattern della matrice dei coefficienti del sistema lineare derivante dalla discretizzazione di una PDE, A, e la mesh di discretizzazione; con riferimento al metodo dei volumi finiti, si può costruire un grafo di adiacenza a partire dalla mesh associando un nodo ad ogni volume di controllo e collegando tramite un arco ogni coppia di nodi, diciamo N1 e N2, tali che l equazione di bilancio per N1 contiene anche la variabile incognita in N2.

22 2.3 Partizionamento e riordinamento 19 Figura 2.2: Partizionamento a blocchi in 4 subsets di una mesh strutturata. Figura 2.3: Partizionamento a blocchi in 4 subsets di una mesh non strutturata.

23 2.3 Partizionamento e riordinamento 20 I coefficienti non nulli a ij corrispondono al contributo della variabile immagazzinata nel nodo j al bilancio espresso dalla PDE discretizzata scritta per il nodo i. E quindi chiaro che il grafo di adiacenza così costruito coincide esattamente con lo sparsity pattern di A. Per questo motivo è più che ragionevole usare un algoritmo di graph partitioning per risolvere il problema della decomposizione dei dati. Al momento, uno dei tools più utilizzati a tal proposito è il pacchetto METIS, sviluppato da Karypis e Kumar (1998). Seguendo il processo di decomposizione schematizzato in Fig.(2.4), METIS riesce a dominare la complessità del grafo di adiacenza riducendo drasticamente le superfici di comunicazione rispetto alla decomposizione a blocchi, come mostrato dalle figure (2.5) e (2.6).

24 2.3 Partizionamento e riordinamento 21 Figura 2.4: Schema di partizionamento di un grafo attraverso il software METIS NEMO supporta ParMETIS (ParallelMETIS), un tool di partizionamento della famiglia METIS che lavora in parallelo e utilizza le librerie MPI per le attività di comunicazione. ParMetis è più recente e meglio supportato di METIS, e rappresenta quindi la miglior scelta per un complesso framework parallelo multidisciplinare come NEMO.

25 2.3 Partizionamento e riordinamento 22 Figura 2.5: Partizionamento a blocchi di una mesh di un pistone di un motore Diesel. Figura 2.6: Partizionamento con METIS di una mesh di un pistone di un motore Diesel.

26 2.3 Partizionamento e riordinamento Riordinamento La numerazione iniziale delle celle influenza il grafo di adiacenza della mesh, e quindi il pattern della matrice associata A. Nel caso di meshes non strutturate, i generatori commerciali di griglie producono numerazioni molto disordinate, a seconda del particolare algoritmo di meshing utilizzato. Questa situazione può compromettere la performance di tutta l applicazione, qualunque strategia di partizionamento si usi. Nel caso di Metis e Parmetis la qualità finale della decomposizione è fortemente influenzata dalla numerazione iniziale dei nodi, che costituisce il punto di partenza per l algoritmo di graph partitioning. Figura 2.7: Sparsity pattern della Fig.(2.5) In questi casi prima del partizionamento è utile applicare un algoritmo di riordinamento.

Descrizione e stima dell errore

Descrizione e stima dell errore Descrizione e stima dell errore Raccomandazioni per l analisi di accuratezza di una simulazione CFD: 1 Descrizione e stima dell errore Raccomandazioni per l analisi di accuratezza di una simulazione CFD:

Dettagli

Procedure di calcolo implicite ed esplicite

Procedure di calcolo implicite ed esplicite Procedure di calcolo implicite ed esplicite Il problema della modellazione dell impatto tra corpi solidi a medie e alte velocità. La simulazione dell impatto tra corpi solidi in caso di urti a media velocità,

Dettagli

Analisi 2. Argomenti. Raffaele D. Facendola

Analisi 2. Argomenti. Raffaele D. Facendola Analisi 2 Argomenti Successioni di funzioni Definizione Convergenza puntuale Proprietà della convergenza puntuale Convergenza uniforme Continuità e limitatezza Teorema della continuità del limite Teorema

Dettagli

Relazione di fine tirocinio. Andrea Santucci

Relazione di fine tirocinio. Andrea Santucci Relazione di fine tirocinio Andrea Santucci 10/04/2015 Indice Introduzione ii 1 Analisi numerica con COMSOL R 1 1.1 Il Software.................................... 1 1.1.1 Geometria................................

Dettagli

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU 9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A LU 9.1 Il metodo di Gauss Come si è visto nella sezione 3.3, per la risoluzione di un sistema lineare si può considerare al posto

Dettagli

Metodi Numerici per Equazioni Ellittiche

Metodi Numerici per Equazioni Ellittiche Metodi Numerici per Equazioni Ellittiche Vediamo ora di descrivere una tecnica per la risoluzione numerica della più semplice equazione ellittica lineare, l Equazione di Laplace: u xx + u yy = 0, (x, y)

Dettagli

La modellazione delle strutture

La modellazione delle strutture La modellazione delle strutture 1 Programma 31-1-2012 Introduzione e brevi richiami al metodo degli elementi finiti 7-2-2012 La modellazione della geometria 14-2-2012 21-2-2012 28-2-2012 6-3-2012 13-32012

Dettagli

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA Francesco Bottacin Padova, 24 febbraio 2012 Capitolo 1 Algebra Lineare 1.1 Spazi e sottospazi vettoriali Esercizio 1.1. Sia U il sottospazio di R 4 generato dai

Dettagli

6 Cenni sulla dinamica dei motori in corrente continua

6 Cenni sulla dinamica dei motori in corrente continua 6 Cenni sulla dinamica dei motori in corrente continua L insieme di equazioni riportato di seguito, costituisce un modello matematico per il motore in corrente continua (CC) che può essere rappresentato

Dettagli

CAPITOLO 3 FONDAMENTI DI ANALISI DELLA STABILITA' DI SISTEMI NON LINEARI

CAPITOLO 3 FONDAMENTI DI ANALISI DELLA STABILITA' DI SISTEMI NON LINEARI 31 CAPITOLO 3 FONDAMENTI DI ANALISI DELLA STABILITA' DI SISTEMI NON LINEARI INTRODUZIONE L'obbiettivo di questo capitolo è quello di presentare in modo sintetico ma completo, la teoria della stabilità

Dettagli

Università degli Studi di Palermo

Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Università degli Studi di Palermo Corso in: SIMULAZIONE NUMERICA PER L'INGEGNERIA MECCANICA Docente: Prof. Antonio Pantano Anno Accademico

Dettagli

Capitolo II Le reti elettriche

Capitolo II Le reti elettriche Capitolo II Le reti elettriche Fino ad ora abbiamo immaginato di disporre di due soli bipoli da collegare attraverso i loro morsetti; supponiamo ora, invece, di disporre di l bipoli e di collegarli tra

Dettagli

Considerazioni sulle specifiche.

Considerazioni sulle specifiche. # SINTESI PER TENTATIVI IN ω PER GLI ASSERVIMENTI # Considerazioni sulle specifiche. Come accennato in precedenza, prima di avviare la prima fase della sintesi di un sistema di asservimento, e cioe la

Dettagli

Parte 3. Rango e teorema di Rouché-Capelli

Parte 3. Rango e teorema di Rouché-Capelli Parte 3. Rango e teorema di Rouché-Capelli A. Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Rango di una matrice, 2 Teorema degli orlati, 3 3 Calcolo con l algoritmo di Gauss, 6 4 Matrici

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

Elementi Finiti: stime d errore e adattività della griglia

Elementi Finiti: stime d errore e adattività della griglia Elementi Finiti: stime d errore e adattività della griglia Elena Gaburro Università degli studi di Verona Master s Degree in Mathematics and Applications 05 giugno 2013 Elena Gaburro (Università di Verona)

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Parte 2. Determinante e matrice inversa

Parte 2. Determinante e matrice inversa Parte. Determinante e matrice inversa A. Savo Appunti del Corso di Geometria 013-14 Indice delle sezioni 1 Determinante di una matrice, 1 Teorema di Cramer (caso particolare), 3 3 Determinante di una matrice

Dettagli

ALCUNE NOTE SULLA MODELLAZIONE FEM DELLE PLATEE DI FONDAZIONE IN C.A.

ALCUNE NOTE SULLA MODELLAZIONE FEM DELLE PLATEE DI FONDAZIONE IN C.A. Paolo Varagnolo Giorgio Pilloni ALCUNE NOTE SULLA MODELLAZIONE FEM DELLE PLATEE DI FONDAZIONE IN C.A. Ingegneri liberi professionisti Padova luglio 2010 ------------------------- Nella progettazione esecutiva

Dettagli

Metodologia di calcolo per pompe a ingranaggi esterni Articolo pubblicato sulla rivista oleodinamica e pneumatica 03/2013 Gibellini Matteo

Metodologia di calcolo per pompe a ingranaggi esterni Articolo pubblicato sulla rivista oleodinamica e pneumatica 03/2013 Gibellini Matteo In questo articolo verrà descritta la metodologia di calcolo per la progettazione delle pompe a ingranaggi esterni con dentatura ad evolvente sviluppato dall autore per conto di Galtech S.p.A. con l obiettivo

Dettagli

INTRODUZIONE AL CONTROLLO OTTIMO

INTRODUZIONE AL CONTROLLO OTTIMO INTRODUZIONE AL CONTROLLO OTTIMO Teoria dei Sistemi Ingegneria Elettronica, Informatica e TLC Prof. Roberto Zanasi, Dott. Giovanni Azzone DII - Università di Modena e Reggio Emilia AUTOLAB: Laboratorio

Dettagli

I Modelli della Ricerca Operativa

I Modelli della Ricerca Operativa Capitolo 1 I Modelli della Ricerca Operativa 1.1 L approccio modellistico Il termine modello è di solito usato per indicare una costruzione artificiale realizzata per evidenziare proprietà specifiche di

Dettagli

TRAVI SU SUOLO ALLA WINKLER, INTERAZIONE TERRENO-FONDAZIONE

TRAVI SU SUOLO ALLA WINKLER, INTERAZIONE TERRENO-FONDAZIONE Università degli Studi di Palermo Facoltà di Ingegneria Dipartimento di Ingegneria Strutturale e Geotecnica TRAVI SU SUOO AA WINKER, INTERAZIONE TERRENO-FONDAZIONE Prof.. Cavaleri Ing. F. Di Trapani TRAVI

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Idrostatica Correnti a pelo libero (o a superficie libera) Correnti in pressione. Foronomia

Idrostatica Correnti a pelo libero (o a superficie libera) Correnti in pressione. Foronomia Idrostatica Correnti a pelo libero (o a superficie libera) Correnti in pressione Foronomia In idrostatica era lecito trascurare l attrito interno o viscosità e i risultati ottenuti valevano sia per i liquidi

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico

estratto da Competenze assi culturali Raccolta delle rubriche di competenza formulate secondo i livelli EFQ a cura USP Treviso Asse matematico Competenza matematica n. BIENNIO, BIENNIO Utilizzare le tecniche e le procedure del calcolo aritmetico ed algebrico, rappresentandole anche sotto forma grafica BIENNIO BIENNIO Operare sui dati comprendendone

Dettagli

Massimo Rundo Politecnico di Torino Dipartimento Energia Fluid Power Research Laboratory

Massimo Rundo Politecnico di Torino Dipartimento Energia Fluid Power Research Laboratory La simulazione delle pompe oleodinamiche Massimo Rundo Politecnico di Torino Dipartimento Energia Fluid Power Research Laboratory Politecnico di Torino Dipartimento Energia Macchine a fluido Laboratorio

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Simulazioni accoppiate 1D-3D per scenari d incendio

Simulazioni accoppiate 1D-3D per scenari d incendio Simulazioni accoppiate 1D-3D per scenari d incendio Applicazione a tunnel stradali e linee metropolitane Luca Iannantuoni Dipartimento di Energia - Politecnico di Milano 29 Ottobre 2009 Luca Iannantuoni

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

La Minimizzazione dei costi

La Minimizzazione dei costi La Minimizzazione dei costi Il nostro obiettivo è lo studio del comportamento di un impresa che massimizza il profitto sia in mercati concorrenziali che non concorrenziali. Ora vedremo la fase della minimizzazione

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Massimi e minimi vincolati di funzioni in due variabili

Massimi e minimi vincolati di funzioni in due variabili Massimi e minimi vincolati di funzioni in due variabili I risultati principali della teoria dell ottimizzazione, il Teorema di Fermat in due variabili e il Test dell hessiana, si applicano esclusivamente

Dettagli

Capitolo 2. Un introduzione all analisi dinamica dei sistemi

Capitolo 2. Un introduzione all analisi dinamica dei sistemi Capitolo 2 Un introduzione all analisi dinamica dei sistemi Obiettivo: presentare una modellistica di applicazione generale per l analisi delle caratteristiche dinamiche di sistemi, nota come system dynamics,

Dettagli

Introduzione al simulatore SPICE

Introduzione al simulatore SPICE Introduzione al simulatore SPICE Guida all uso del simulatore MULTISIM 2001 textbook edition di Electronics Workbench Introduzione (1) Il simulatore SPICE (Simulation Program with Integrated Circuit Emphasis)

Dettagli

Lavoro di gruppo: Ipotesi di progettazione didattica per competenze

Lavoro di gruppo: Ipotesi di progettazione didattica per competenze Ministero dell Istruzione, dell Università e della ricerca UFFICIO SCOLASTICO REGIONALE PER LA CAMPANIA Direzione Generale Via Ponte della Maddalena 55-80142 Napoli Segreteria Direttore Generale - 0815576624-356

Dettagli

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D) ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI () Una immagine (digitale) permette di percepire solo una rappresentazione 2D del mondo La visione 3D si pone lo scopo di percepire il mondo per come è in 3 dimensioni

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1

LEZIONE 14. a 1,1 v 1 + a 1,2 v 2 + a 1,3 v 3 + + a 1,n 1 v n 1 + a 1,n v n = w 1 LEZIONE 14 141 Dimensione di uno spazio vettoriale Abbiamo visto come l esistenza di una base in uno spazio vettoriale V su k = R, C, permetta di sostituire a V, che può essere complicato da trattare,

Dettagli

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione

Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Esercitazione in Laboratorio: risoluzione di problemi di programmazione lineare tramite Excel il mix di produzione Versione 11/03/2004 Contenuto e scopo esercitazione Contenuto esempi di problema di programmazione

Dettagli

LE FIBRE DI UNA APPLICAZIONE LINEARE

LE FIBRE DI UNA APPLICAZIONE LINEARE LE FIBRE DI UNA APPLICAZIONE LINEARE Sia f:a B una funzione tra due insiemi. Se y appartiene all immagine di f si chiama fibra di f sopra y l insieme f -1 y) ossia l insieme di tutte le controimmagini

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Percorsi di matematica per il ripasso e il recupero

Percorsi di matematica per il ripasso e il recupero Giacomo Pagina Giovanna Patri Percorsi di matematica per il ripasso e il recupero 2 per la Scuola secondaria di secondo grado UNITÀ CAMPIONE Edizioni del Quadrifoglio à t i n U 1 Sistemi di primo grado

Dettagli

09 - Funzioni reali di due variabili reali

09 - Funzioni reali di due variabili reali Università degli Studi di Palermo Facoltà di Economia CdS Sviluppo Economico e Cooperazione Internazionale Appunti del corso di Matematica 09 - Funzioni reali di due variabili reali Anno Accademico 2013/2014

Dettagli

1 Definizione: lunghezza di una curva.

1 Definizione: lunghezza di una curva. Abstract Qui viene affrontato lo studio delle curve nel piano e nello spazio, con particolare interesse verso due invarianti: la curvatura e la torsione Il primo ci dice quanto la curva si allontana dall

Dettagli

Può la descrizione quantomeccanica della realtà fisica considerarsi completa?

Può la descrizione quantomeccanica della realtà fisica considerarsi completa? Può la descrizione quantomeccanica della realtà fisica considerarsi completa? A. Einstein, B. Podolsky, N. Rosen 25/03/1935 Abstract In una teoria completa c è un elemento corrispondente ad ogni elemento

Dettagli

Applicazioni del calcolo differenziale allo studio delle funzioni

Applicazioni del calcolo differenziale allo studio delle funzioni Capitolo 9 9.1 Crescenza e decrescenza in piccolo; massimi e minimi relativi Sia y = f(x) una funzione definita nell intervallo A; su di essa non facciamo, per ora, alcuna particolare ipotesi (né di continuità,

Dettagli

Serie numeriche e serie di potenze

Serie numeriche e serie di potenze Serie numeriche e serie di potenze Sommare un numero finito di numeri reali è senza dubbio un operazione che non può riservare molte sorprese Cosa succede però se ne sommiamo un numero infinito? Prima

Dettagli

u metallurgiau A. Diani, L. Rossetto

u metallurgiau A. Diani, L. Rossetto ANALISI NUMERICA DELLA CONVEZIONE FORZATA DI ARIA IN SCHIUME METALLICHE A. Diani, L. Rossetto Le schiume metalliche sono una promettente classe di materiali cellulari che consistono in una interconnessione

Dettagli

Valutazione delle emissioni di una stazione di depressurizzazione rete gas

Valutazione delle emissioni di una stazione di depressurizzazione rete gas Università degli Studi di Firenze Scuola di Ingegneria Corso di Laurea Magistrale in Ingegneria per la Tutela dell Ambiente ed del Territorio Anno Accademico 2013/2014 Valutazione delle emissioni di una

Dettagli

Corso di elettrotecnica Materiale didattico. Cenni sui sistemi trifase

Corso di elettrotecnica Materiale didattico. Cenni sui sistemi trifase Corso di elettrotecnica Materiale didattico. Cenni sui sistemi trifase A. Laudani 19 gennaio 2007 Le reti trifase sono reti elettriche in regime sinusoidale (tutte le variabili di rete hanno andamento

Dettagli

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011

RAPPRESENTAZIONE DEI NUMERI BINARI. Corso di Fondamenti di Informatica AA 2010-2011 RAPPRESENTAZIONE DEI NUMERI BINARI Corso di Fondamenti di Informatica AA 2010-2011 Prof. Franco Zambonelli Numeri interi positivi Numeri interi senza segno Caratteristiche generali numeri naturali (1,2,3,...)

Dettagli

Benchmark Ansys Fluent su CRESCO

Benchmark Ansys Fluent su CRESCO Benchmark Ansys Fluent su CRESCO NOTA TECNICA ENEA GRID/CRESCO: NTN201003 NOME FILE: NTN201003-BenchmarkFluentCresco-v1_0.doc DATA: 30/07/2010 STATO: Versione iniziale AUTORE: F. Ambrosino Abstract: Questa

Dettagli

UNIVERSITÀ DEGLI STUDI DI SIENA

UNIVERSITÀ DEGLI STUDI DI SIENA UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica, orientamento Robotica ed Automazione Tesi di Laurea Interazione Visuo-Aptica con Oggetti Deformabili

Dettagli

Richiami sulle derivate parziali e definizione di gradiente di una funzione, sulle derivate direzionali. Regola della catena per funzioni composte.

Richiami sulle derivate parziali e definizione di gradiente di una funzione, sulle derivate direzionali. Regola della catena per funzioni composte. PROGRAMMA di Fondamenti di Analisi Matematica 2 (che sarà svolto fino al 7 gennaio 2013) A.A. 2012-2013, Paola Mannucci e Claudio Marchi, Canali 1 e 2 Ingegneria Gestionale, Meccanica-Meccatronica, Vicenza

Dettagli

Le macchine termiche e il secondo principio della termodinamica

Le macchine termiche e il secondo principio della termodinamica Le macchine termiche e il secondo principio della termodinamica ) Definizione di macchina termica È sperimentalmente verificato che nel rispetto del primo principio della termodinamica (ovvero della conservazione

Dettagli

Forza. Forza. Esempi di forze. Caratteristiche della forza. Forze fondamentali CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA

Forza. Forza. Esempi di forze. Caratteristiche della forza. Forze fondamentali CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA Forza CONCETTO DI FORZA E EQUILIBRIO, PRINCIPI DELLA DINAMICA Cos è una forza? la forza è una grandezza che agisce su un corpo cambiando la sua velocità e provocando una deformazione sul corpo 2 Esempi

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni. MATEMATICA. Sistemi lineari in due equazioni due incognite. Date due equazioni lineari nelle due incognite x, y come ad esempio { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un

Dettagli

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO PRIMA DELLA DISCIPLINA: MATEMATICA - CLASSE PRIMA L alunno si muove con sicurezza nel calcolo scritto e mentale con i numeri naturali. Legge e comprende testi che coinvolgono aspetti logici e matematici.

Dettagli

ANALISI NUMERICA. Elementi finiti bidimensionali. a.a. 2014 2015. Maria Lucia Sampoli. ANALISI NUMERICA p.1/23

ANALISI NUMERICA. Elementi finiti bidimensionali. a.a. 2014 2015. Maria Lucia Sampoli. ANALISI NUMERICA p.1/23 ANALISI NUMERICA Elementi finiti bidimensionali a.a. 2014 2015 Maria Lucia Sampoli ANALISI NUMERICA p.1/23 Elementi Finiti 2D Consideriamo 3 aspetti per la descrizione di elementi finiti bidimensionali:

Dettagli

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT

Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Note del Corso di Modelli Biologici Discreti: Un paio di algoritmi DNA per risolvere SAT Giuditta Franco Corso di Laurea in Bioinformatica - AA 2012/2013 Uno dei più grossi risultati nell informatica degli

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

Dettagli

Premesse alla statistica

Premesse alla statistica Premesse alla statistica Versione 22.10.08 Premesse alla statistica 1 Insiemi e successioni I dati di origine sperimentale si presentano spesso non come singoli valori, ma come insiemi di valori. Richiamiamo

Dettagli

Metodi iterativi per sistemi lineari

Metodi iterativi per sistemi lineari Metodi iterativi per sistemi lineari Dario A. Bini, Università di Pisa 30 ottobre 2013 Sommario Questo modulo didattico contiene risultati relativi ai metodi iterativi per risolvere sistemi di equazioni

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli

Parte 6. Applicazioni lineari

Parte 6. Applicazioni lineari Parte 6 Applicazioni lineari A Savo Appunti del Corso di Geometria 203-4 Indice delle sezioni Applicazioni fra insiemi, 2 Applicazioni lineari tra spazi vettoriali, 2 3 Applicazioni lineari da R n a R

Dettagli

La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali

La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali La prove dinamiche sugli edifici II parte strumentazione e analisi dei segnali Luca Facchini e-mail: luca.facchini@unifi.it Introduzione Quali strumenti vengono utilizzati? Le grandezze di interesse nelle

Dettagli

1 Applicazioni Lineari tra Spazi Vettoriali

1 Applicazioni Lineari tra Spazi Vettoriali 1 Applicazioni Lineari tra Spazi Vettoriali Definizione 1 (Applicazioni lineari) Si chiama applicazione lineare una applicazione tra uno spazio vettoriale ed uno spazio vettoriale sul campo tale che "!$%!

Dettagli

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6

Introduzione. Margine di ampiezza... 2 Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di Bode... 6 ppunti di Controlli utomatici Capitolo 7 parte II Margini di stabilità Introduzione... Margine di ampiezza... Margine di fase... 5 Osservazione... 6 Margini di stabilità e diagrammi di ode... 6 Introduzione

Dettagli

0. Piano cartesiano 1

0. Piano cartesiano 1 0. Piano cartesiano Per piano cartesiano si intende un piano dotato di due assi (che per ragioni pratiche possiamo scegliere ortogonali). Il punto in comune ai due assi è detto origine, e funziona da origine

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole -

Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - Analisi matriciale delle reti di Petri (P/T) - sifoni e trappole - - richiami preliminari sulle proprietà strutturali - Abbiamo visto che alcune caratteristiche dei sistemi dinamici (DES compresi) non

Dettagli

Operatori logici e porte logiche

Operatori logici e porte logiche Operatori logici e porte logiche Operatori unari.......................................... 730 Connettivo AND........................................ 730 Connettivo OR..........................................

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

CAMPI E LORO PROPRIETÀ

CAMPI E LORO PROPRIETÀ CMPI E LORO PROPRIETÀ 1.1 Introduzione ia una regione nello spazio in cui, in ogni suo punto, sia definita una grandezza g. La regione si dice allora soggetta ad un campo. Un campo può essere scalare,

Dettagli

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID Prestazioni computazionali di OpenFOAM sul sistema HPC CRESCO di ENEA GRID NOTA TECNICA ENEA GRID/CRESCO: NEPTUNIUS PROJECT 201001 NOME FILE: NEPTUNIUS201001.doc DATA: 03/08/10 STATO: Versione rivista

Dettagli

- LAVORO - - ENERGIA MECCANICA - - POTENZA -

- LAVORO - - ENERGIA MECCANICA - - POTENZA - Danilo Saccoccioni - LAVORO - - ENERGIA MECCANICA - - POTENZA - Indice Lavoro compiuto da una forza relativo ad uno spostamento pag. 1 Lavoro ed energia cinetica 3 Energia potenziale 4 Teorema di conservazione

Dettagli

Quando troncare uno sviluppo in serie di Taylor

Quando troncare uno sviluppo in serie di Taylor Quando troncare uno sviluppo in serie di Taylor Marco Robutti October 13, 2014 Lo sviluppo in serie di Taylor di una funzione è uno strumento matematico davvero molto utile, e viene spesso utilizzato in

Dettagli

Lezione 14: L energia

Lezione 14: L energia Lezione 4 - pag. Lezione 4: L energia 4.. L apologo di Feynman In questa lezione cominceremo a descrivere la grandezza energia. Per iniziare questo lungo percorso vogliamo citare, quasi parola per parola,

Dettagli

AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA

AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA AREA MATEMATICO-SCIENTIFICO-TECNOLOGICA MATEMATICA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA SECONDARIA DI PRIMO GRADO. L alunno ha rafforzato un atteggiamento positivo rispetto

Dettagli

INTRODUZIONE AI SISTEMI CAD

INTRODUZIONE AI SISTEMI CAD INTRODUZIONE AI SISTEMI CAD 407 Introduzione Il termine CAD sta per Computer-aided Design. L interpretazione corretta del termine è quella di progettazione assistita dal calcolatore (e non di disegno assistito

Dettagli

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti Corso di Analisi Numerica - AN1 Parte 2: metodi diretti per sistemi lineari Roberto Ferretti Richiami sulle norme e sui sistemi lineari Il Metodo di Eliminazione di Gauss Il Metodo di Eliminazione con

Dettagli

SCUOLA SECONDARIA DI I GRADO

SCUOLA SECONDARIA DI I GRADO Operare in situazioni reali e/o disciplinari con tecniche e procedure di calcolo L alunno si muove con sicurezza nel calcolo anche con i numeri razionali, ne padroneggia le diverse e stima la grandezza

Dettagli

Altri metodi di indicizzazione

Altri metodi di indicizzazione Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del

Dettagli

La funzione di trasferimento

La funzione di trasferimento Sommario La funzione di trasferimento La funzione di trasferimento Poli e zeri della funzione di trasferimento I sistemi del primo ordine Esempi La risposta a sollecitazioni La funzione di trasferimento

Dettagli

SEZIONE A: Traguardi formativi COMPETENZE ABILITÀ CONOSCENZE

SEZIONE A: Traguardi formativi COMPETENZE ABILITÀ CONOSCENZE SEZIONE A: Traguardi formativi COMPETENZA CHIAVE EUROPEA: COMPETENZE IN MATEMATICA CLASSE TERZA A - Numeri COMPETENZE ABILITÀ CONOSCENZE Utilizzare con sicurezza le tecniche e le procedure del calcolo

Dettagli

ACCOMPAGNAMENTO ALLE INDICAZIONI NAZIONALI- MIUR 2012 MATEMATICA. Nodo concettuale disciplinare

ACCOMPAGNAMENTO ALLE INDICAZIONI NAZIONALI- MIUR 2012 MATEMATICA. Nodo concettuale disciplinare ACCOMPAGNAMENTO ALLE INDICAZIONI NAZIONALI- MIUR 2012 CURRICOLO VERTICALE MATEMATICA NUCLEO TEMATICO SPAZIO E FIGURE Nodo concettuale disciplinare DESCRIVERE E RAPPRESENTARE LE FORME E LO SPAZIO (Daniela

Dettagli

LABORATORIO DI ANALISI DEI SISTEMI

LABORATORIO DI ANALISI DEI SISTEMI LABORATORIO DI ANALISI DEI SISTEMI Si utilizzerà, come strumento di lavoro, un foglio elettronico, il più diffuso Excel o anche quello gratuito di OpenOffice (www.openoffice.org). Tale scelta, pur non

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Generatore di forza elettromotrice f.e.m.

Generatore di forza elettromotrice f.e.m. Generatore di forza elettromotrice f.e.m. Un dispositivo che mantiene una differenza di potenziale tra una coppia di terminali batterie generatori elettrici celle solari termopile celle a combustibile

Dettagli

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione Capitolo 2 MATRICI Fra tutte le applicazioni su uno spazio vettoriale interessa esaminare quelle che mantengono la struttura di spazio vettoriale e che, per questo, vengono dette lineari La loro importanza

Dettagli

Sistema dinamico a tempo continuo

Sistema dinamico a tempo continuo Sistema dinamico a tempo continuo Un sistema è un modello matematico di un fenomeno fisico: esso comprende le cause e gli effetti relativi al fenomeno, nonché la relazione matematica che li lega. X INGRESSO

Dettagli