PDE Toolbox in Matlab

Documenti analoghi
PDE Toolbox in Matlab

FemCode: libreria Matlab per FEM

Manuale Comsol Multiphysics v ) Aprire la tendina di RadioFrequency e scegliere ElectroMagneticWaves (emw) e poi freccina blu:

Laboratorio con DERIVE

FREEFEM++ Marcello Bellomi. 18 Aprile Università di Verona FREEFEM++

1 Schemi alle differenze finite per funzioni di una variabile

Operazioni preliminari: creare una cartella in Documenti

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Tutorial 16. Come costruire una volta a crociera

Esercitazione n 2. Costruzione di grafici

Matlab e Simulink per i sistemi di controllo

Cultura Tecnologica di Progetto

Video Scrittura (MS Word)

1. Riconoscimento. Figura 1 Modulo Home

UNIVERSITÀ DEGLI STUDI DI CAGLIARI FACOLTÀ DI INGEGNERIA. Dipartimento di Ingegneria Elettrica ed Elettronica. Docente del corso prof.

Corso di Complementi di Scienza delle Costruzioni 2

3.6.1 Inserimento. Si apre la finestra di dialogo Inserisci Tabella:

L INTERFACCIA GRAFICA DI EXCEL

Introduzione al MATLAB c Parte 2 Funzioni

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Sommario. Avvio del programma... 2 I menu e le toolbar... 3 I menu... 3 Le toolbar... 4 Il 3D... 6 Opzioni... 7 Bluetooth... 8 Quadratura stanza...

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

Introduzione al MATLAB c Parte 3 Script e function

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Capitolo 2. Figura 21. Inserimento dati

S.C.S. - survey CAD system Tel. 045 /

Menù principale di Calc

Introduzione al MATLAB c Parte 1 Variabili ed array

Introduzione a Matlab

Il software consente di costruire tabelle e grafici e di esportare il proprio lavoro in formato pdf o excel.

Calcolare con il computer: Excel. Saro Alioto 1

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

Cenni sull utilizzo dei fogli elettronici

3.2 Avvio del Programma

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Integrazione numerica

Come valutare la posizione migliore per un nuovo quadrante utilizzando il programma Orologi Solari

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

MANUALE XMGRACE. A cura di Giuseppe Ciaburro.

Introduzione al Metodo agli Elementi Finiti (FEM) (x, y) Γ Tale formulazione viene detta Formulazione forte del problema.

Il metodo di Galerkin Elementi Finiti Lineari

MICROSOFT OFFICE POWERPOINT Come creare presentazioni interattive di documenti.

ToDoT start per Autodesk Inventor: guida utente

Pagina iniziale Come spostarsi sulla mappa Sezione Tavola Sezione di Ricerca Come cercare un Comune... 5

Power Point prima lezione

Excel: guida alle operazioni di base per la risoluzione dell esercizio 13

3.4 Inserimento di immagini

Guida a Getrix: Indice Multimedia Planimetria

GEOGEBRA 4.0. guida introduttiva. Finita l installazione di GeoGebra 4.0 viene creata sul desktop una icona come questa:

GEOMETRIA PIANA. 1) sia verificata l uguaglianza di segmenti AC = CB (ossia C è punto medio del segmento AB);

Tutorial 15. Come modificare il profilo di un muro.

Generazione di una mesh rettangolare

Manuale registro elettronico per docenti

Excel avanzato. Certificazione Microsoft. Excel: le basi. 1.1 Excel: le basi NUMBER TITLE

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

PowerPoint: uso del software

VERIFICA DI UNA RETE DI DISTRIBUZIONE INTERNA

Esercizi con uso di foglio elettronico nella suite OOo: Calc. Sommatoria

Primi passi con Geogebra

Esercizi con uso di foglio elettronico nella suite OOo: Calc. Sommatoria e Grafici

Rappresentazione di curve in tre dimensioni

Appunti sui Fogli Elettronici. Introduzione. D. Gubiani. 19 Luglio 2005

Laboratorio di matematica le rette e le parabole con excel

Usa lo sfoglialibro sul computer. Usa il libro attivo sul computer

Risoluzione di problemi ingegneristici con Excel

Guida al primo utilizzo di EasyArchiviazione INTERFACCIA INIZIALE

Curve e lunghezza di una curva

Figura 1 - Finestra Tabella

Corso di Complementi di Scienza delle Costruzioni 2

CORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo

Informatica di Base

Excel 2003 Operazioni di base

PAGINA PERSONALE DEL DOCENTE

1. Breve introduzione 2. Sfondo trasparente 3. Gif animate

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

PRG OL. Comune di Este. Manuale operativo. Padova 13 luglio 2009

Creazione di database, tabelle e associazioni con Access 2003

Excel 2. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

RHINOCEROS FLAMINGO PENGUIN BONGO

Daniela Tondini

DISPENSA ACCESS (OFFICE 2010 BETA)

I Quaderni di LAPSUS. CmapTools

GUIDA ALLE TABELLE PIVOT *

Capitolo 18 - Progetto DWG Creazione del layout di stampa

Laboratorio di informatica

Introduzione ai modelli Modellazione agli elementi finiti Esempi pratici di modellazione

Capitolo Tavola e grafico

Telerilevamento. Esercitazione 5. Classificazione non supervisionata. Apriamo l immagine multi spettrale relativa alla zona di Feltre che si trova in:

9.2. Come comunicare i risultati: Utilizzo di Powerpoint

14Ex-Cap11.qxd :20 Pagina Le macro

LEZIONE 2 COORDINATE RELATIVE

SOMMARIO. 1. Premessa Barra Intestazione Mappa Legenda Ricerche Barra di Stato Toolbar...

Il primo criterio di congruenza

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

VADEMECUM PER L ACCESSO AD ARCHIFLOW WEB, LA RICERCA DEI DOCUMENTI E LA LORO CONDIVISIONE del 29/06/2017

Telerilevamento. Esercitazione 2

Questo comando permette di riportare la mappa al livello di zoom e alle coordinate iniziali predefinite. Utilizzo: cliccare sul pulsante.

Database Modulo 6 CREAZIONE DI MASCHERE

Cultura Tecnologica di Progetto

Transcript:

PDE Toolbox in Matlab Lucia Gastaldi Dipartimento di Matematica, http://lucia-gastaldi.unibs.it

Indice 1 Uso di PDE Toolbox con interfaccia grafica Problema e definizioni 2 Esercizi 3 Comandi di Matlab per la risoluzione di PDE

PDE Toolbox e avvio IL Toolbox pdetool è il toolbox di Matlab per la risoluzione di equazioni alle derivate parziali in domini bidimensionali. I problemi possono essere completamente definiti e risolti usando una interfaccia grafica (GUI) oppure usando solo parzialmente la GUI per specificare alcuni dati come la geometria e le condizioni al bordo. Avvio L interfaccia grafica si avvia con il comando pdetool page 2

Scelta dell equazione differenziale Scegliere nel menù Options fra le seguenti applicazioni: Generic Scalar (the default mode) Generic System Structural Mechanics Plane Stress Structural Mechanics Plane Strain Electrostatics Magnetostatics AC Power Electromagnetics Conductive Media DC Heat Transfer Diffusion Nel seguito consideriamo il caso di default. page 3

Scelta dell equazione differenziale Nel menù PDE selezionare PDE Specification e assegnare i coefficienti e i dati come richiesto dalla forma dell equazione differenziale prescelta. I coefficienti possono essere funzioni di x, y e per problemi nonlineari anche di u, u x e u y. Nelle espressioni usare le variabili x, y, u, ux, uy e tenere conto che verranno calcolate in un certo insieme di punti come vettori, quindi usare la notazione punto. Ad esempio se la funzione è xy, usare x.*y. page 4

Definizione dell area di lavoro Settaggio - Options Axes Limits...: per visionare qual è l area che viene mostrata sullo schermo (default: x [ 1.5, 1.5] e y [ 1, 1]) e per modificarla se serve. Grid: appare una griglia. Grid spacing: per cambiare la spaziatura della griglia (default: 0.5 nella variabile x e 0.2 nella y). Snap: serve per posizionarsi automaticamente lungo la griglia (utile per disegnare regioni semplici). page 5

Definizione del dominio I dominii sono costruiti sommando o sottraendo domini primitivi come rettangoli, ellissi o poligoni. Dominii primitivi Rettangolo Cliccare sul bottone con il + e poi spostare il mouse tenendo premuto il tasto destro. Si forma un rettangolo con centro nel punto dove si è cliccato all inizio. Se Snap è attivo il centro è uno dei punti della griglia e il rettangolo ha lati lungo la griglia. Se si clicca sul bottone senza il +, il punto dove si è cliccato inizialmente coincide con il vertice in alto a sinistra Ellissi Si procede come per il rettangolo. Poligono Cliccare sul simbolo del poligono, poi si clicca in un punto dello schermo. Con ogni click ulteriore si forma un lato. page 6

Salvataggio dati del dominio Per salvare il dominio per usi successivi, selezionare Export geometry description dal menù Draw e cliccare su OK nel riquadro. Vengono salvati i dati della geometria gd, le formule che descrivono come è ottenuto il dominio sf, e la matrice ns che mette in relazione le colonne di gd con i nomi delle varibili in sf. page 7

Come generare domini composti Per costruire il dominio dato da un cerchio di raggio 1 a cui è tolta la parte nel primo quadrante si può procedere come segue: dare i seguenti comandi pdecirc(0,0,1) pderect([0 1 0 1]) Inserire la formula C1-SQ1 nel riquadro in alto Set formula Cliccando sul menù Boundary verrà evidenziata la frontiera del dominio. page 8

Condizioni al bordo Cliccare sul tasto Ω oppure selezionare Boundary mode dal menù Boundary. Selezionare: un segmento del bordo alla volta cliccando su esso alcuni segmenti insieme tenendo premuto il tasto Shift e cliccando comtemporaneamente sui segmenti desiderati tutto il bordo selezionando il tasto Select All dal menù Edit. Per inserire le condizioni al bordo sulla parte di frontiera scelta, selezionare il tasto Specify Boundary Conditions... dal menù Boundary. Si apre un riquadro nel quale si può scegliere condizioni di Dirichlet o di Neumann. Dirichlet: h*u=r h è un coefficiente scalare, mentre r può essere una funzione. Neumann: n*c*grad(u)+q*u=g dove n è la normale al bordo, c è il coefficiente legato al termine del secondo ordine dell equazione alle derivate parziali, q è un coefficiente scalare, g può essere una funzione. N.B.Le funzioni si assegnano come espressioni calcolabili. page 9

Dati per lavoro successivo Una volta generata la geometria e assegnate le condizioni al bordo, si possono esportare i dati selezionando Export Decomposed Geometry, Boundary Cond dal menù Boundary. In questo modo si creano due array: g decomposed geometry data b dati al bordo. A volte può essere utile generare la geometria decomposta indipendentemente dai dati al bordo e questo può essere fatto con il comando g = decsg(gd,sf,ns); page 10

Definizione della griglia di calcolo Nel menù Mesh selezionare Parameters per scegliere (se si vuole) un valore massimo per i lati degli elementi (il valore Inf fornisce la mesh più rada). Per generare la mesh iniziale cliccare sul bottone con il triangolo oppure selezionare Inizialize Mesh dal menù Mesh. page 11

Salvataggio della griglia di calcolo Per salvare la mesh in una forma che può essere usata in un programma, selezionare Export Mesh. Vengono generati tre array: p vertici dei triangoli, coordinate dei vertici. e lati dei triangoli. Le prime due righe contengono gli indici dei vertici iniziali e finali, la terza e la quarta contengono i valori del parametro iniziale e finale, la quinta contiene la numerazione del lato, la sesta e la settima contengono i numeri dei sottodomini sinistro e destro rispettivamente. t matrice dei triangoli. Le prime tre righe contengono la numerazione dei vertici in senso antiorario, mentre la quarta contiene il numero del sottodominio. Questi dati servono se si vuole confrontare la soluzione discreta con quella esatta e calcolare l errore in diverse norme. page 12

Raffinamento della mesh Cliccare sul bottone con il triangolo suddiviso oppure selezionare Refine Mesh dal menù Mesh. La soluzione numerica dell equazione differenziale può essere ottenuta in maniera adattativa (cioè scegliendo la forma dei triangoli in modo che si adattino alla soluzione) selezionando nel menù Solve il tasto Solve Parameters e poi Adaptive Mode. page 13

Risoluzione e rappresentazione grafica della soluzione Selezionare Solve PDE dal menù Solve oppure il tasto =. Per avere a disposizione la soluzione nel workspace, selezionare Export Solution. Sono disponibili diversi tipi di grafici. Selezionare Parameters dal menù Plot oppure il penultimo tasto con la superficie. page 14

Esercizo 1 { u = 2x(1 x) + 2y(1 y) per (x, y) Ω = [0, 1] [0, 1] u = 0 su Ω La soluzione è: u(x, y) = x(1 x)y(1 y). Calcolare l errore nella norma del massimo usando 3 diversi livelli di raffinamento. Per calcolare l errore occorre determinare il valore della soluzione nei punti della mesh. Usare il vettore p che fornisce le coordinate dei punti. page 15

Esercizio 2 u + (x 2 + y 2 )u = 1 u n = 0 per (x, y) Ω = {(x, y) R 2 : x 2 + y 2 1} su Ω page 16

Esercizo 3 { ε u + u = 1 per (x, y) Ω = [ 1, 1] [ 1, 1] u = 0 su Ω Per ε = 0.1, 0.01, 0.001 calcolare la soluzione con diversi livelli di raffinamento uniforme della mesh. Usare l opzione Adaptive Mode e confrontare le diverse soluzioni. page 17

Esercizo 4 { u = 1 per (x, y) Ω u = 0 su Ω essendo Ω il dominio a forma di L Ω = [ 1, 1] [0, 1] [0, 1] [ 1, 0]. Usare l opzione Adaptive Mode e confrontare le diverse soluzioni. page 18

Come risolvere un problema differenziale usando i comandi Due modi Risolvere il problema con la programmazione a oggetti. Le istruzioni si trovano nella documentazione seguendo il percorso: Partial Differential Equation Toolbox PDE Problem Setup PDE Problem Setup Basic Solve Problem Using PDEModel Objects Risolvere il problema mediante i comandi di Matlab Le istruzioni si trovano nella documentazione seguendo il percorso: Partial Differential Equation Toolbox PDE Problem Setup PDE Problem Setup Basic Solve PDES Programmatically page 19

Salvare i dati in un file Per salvare i dati della geometria e delle condizioni al bordo per usarli in un secondo tempo si procede come segue: Esportare la geometria decomposta e le condizioni al bordo selezionando Export Decomposed Geometry, Boundary Conds dal menù Boundary Salvare la geometria in un file che si chiama prob1g.m con il comando fid = wgeom(g, prob1g ); Salvare i dati relativi alle condizioni al bordo in un file che si chiama prob1b.m con il comando fid = wbound(b, prob1b ); page 20

Risoluzione usando i comandi invece dell interfaccia grafica Si vuole risolvere il problema: div(c grad u) + au = f [p,e,t] = initmesh( prob1g ); inizializza la griglia [p,e,t] = refinemesh( prob1g,p,e,t); raffina la griglia c= 1 ; a= 0 ; coefficienti equazione differenziale f = 8-16.*(x.ˆ2 + y.ˆ2) ; funzione data u = assempde( prob1b,p,e,t,c,a,f); fornisce la soluzione pdesurf(p,t,u) per fare il grafico della soluzione. page 21

Comandi utili - initmesh [p,e,t] = initmesh(g) oppure [p,e,t]=initmesh( prob1g ) [p,e,t] = initmesh(g, PropertyName,PropertyValue,...) Variabile default descrizione Hmax numerico Maximum edge size Hgrad numerico, tra 1 e 2 (1.3) Mesh growth rate Init on, off ( off ) Edge triangulation Jiggle off, mean, minimum, on Muove i nodi per migliorare la qualità della mesh con il metodo specificato. JiggleIter numeric (10) Maximum iterations page 22

Comandi utili - assemblaggio [K,M,F]=assema(p,t,c,a,f); assembla la matrice di stiffness K, la matrice di massa M e il termine noto F. [Q,G,H,R]=assemb( squareb,p,e); assembla le matrici Q e H e i vettori G e R Q deve essere sommata alla matrice del sistema algebrico e contiene i contributi derivanti dalle condizioni al bordo di tipo misto. G va sommato al termine noto e contiene il contributo per le condizioni di Neumann e di tipo misto. H*u=R rappresenta le condizioni di Dirichlet. [K,F1,B1,UD]=assempde(b,p,e,t,c,a,f) assembla le matrici del problema eliminando le variabili corrispondenti alle condizioni di Dirichlet dal sistema. UN=K\F1 fornisce la soluzione nei punti che non sono di Dirichlet. La soluzione del problema si ottiene con il comando U=B1*UN+UD. page 23

Comandi utili - risoluzione e visualizzazione u = assempde(b,p,e,t,c,a,f); oppure u = assempde( prob1b,p,e,t,c,a,f); assembla le matrici e il termine noto e risolve il problema div(c grad(u)) + a u = f, sulla mesh descritta da p, e, t, con le condizioni al bordo date da b o contenute nel file prob1b.m. [u,p,e,t] = adaptmesh(g,b,c,a,f) oppure [u,p,e,t]=adaptmesh(g,b,c,a,f, PropertyName,PropertyValue,) risolve il problema generando le mesh in modo adattativo. pdeplot(p,e,t) plotta la mesh descritta da p, e, t. pdesurf(p,t,u) plotta la superficie in 3-D surface corrispondente alla soluzione u. pdeplot(p,e,t, xydata,u, zdata,u, mesh, on, colormap, jet ) plotta la soluzione u come superficie insieme alla mesh page 24