logo
  • userLoginStatus

Welcome

Our website is made possible by displaying online advertisements to our visitors.
Please disable your ad blocker to continue.

Current View

Mathematical Engineering - Matematica Numerica

Exercise 13

Divided by topic

MATEMATICA NUMERICA A.A. 2018 - 2019 Ingegneria Matematica Prof. A. Quarteroni Prof. A. Manzoni, Dr. I. Fumagalli Esercitazione 13 Problemi nonlineari  Interpolazione polinomiale Esercizio 1 Si consideri il seguente problema ai limiti, per un dato valore di 0: (u00 + u3 =f(x); x2(0;1); u(0) = 0; u(1) = 0:(1) Siaf(x) = 2 + x3 (1x)3 . Con tale denizione dif(x), la soluzione esatta del problema risulta uex( x) =x(1x). Supponiamo di voler approssimare tale soluzione con il metodo degli elementi niti. La formulazione debole del problema (1) risulta data da : trovareu2H1 0(0 ;1)tale che a(u; v) + Z 1 0u 3 v=F(v)8v2V dovea(u; v) =Z 1 0u 0 v0 dx; F(v) =Z 1 0f vdx: Si consideri una partizione dell'intervallo(0;1)inN= 100elementi, si introduca lo spazioV h= X1 h\ V degli elementi niti lineari, indicando conf' igN i=1una sua base associata ai nodi 0 =x 0< x 1< : : : < x N< xN+1= 1 . Il problema discretizzato risulta : trovareu h2 V htale che a(u h; v h) + Z 1 0u 3 hv h= F(v h) 8v h2 V h: Algebricamente, tale problema è equivalente al seguente sistema diNequazioni non lineari inNincognite : Au+ g(u) =f(2) doveu= (u 1; : : : ; u N)T indica il vettore delle incognite (valori nodali diu h( x) =P N j=1u j' j( x)), e per i; j= 1; : : : ; N, Aij= a(' j; ' i) ; f i= F(' i) ; g i( u) =Z 1 0u 3 h' idx: In maniera equivalente, il problema (2) può essere riscritto comeG(u) =Au+ g(u)f=0: Siamo interessati a risolvere il sistema non lineare (2) con il seguente metodo di punto sso : Au( k+1) =f g(u( k) ): In modo equivalente,u( k+1) = (u( k) ) =A 1 (f g(u( k) )):1 a)Prendendo spunto dalle precedenti esercitazioni, costruire un data le per il problema lineare ( u00 =f(x); x2(0;1); u(0) = 0; u(1) = 0:(3) Si consideri come unico parametro variabile. b)Partendo dai template forniti, completare il main leEser13_DiffNonlinearReact_FixedPoint e la funzione[u, FE_SPACE, MESH, DATA] = Elliptic_nonlinear_1D_Solver_fixed_point_Eser13 (FE_SPACE, MESH, DATA, u0, param) aggiungendo le linee di codice richieste per implementare il metodo di punto sso proposto. Tale funzione prende in ingresso le strutture dati e la soluzione inizialeu0ottenute da una precedente chiamata al solutore lineareElliptic1D_Solver, oltre al vettoreparam, e restituisce le stesse strutture insieme alla soluzioneudel problema nonlineare. Per assemblare a ogni passo il termine nonlineare, serve una funzione dix,t,param, che può essere costruita approssimando(u( k) h)3 mediante il suo interpolante lineare a tratti, con la seguente sintassi : DATA.force = @(x,t,param)( interp1(MESH.vertices, u_k.^3, x) ) ; Come soluzione inizialeu0si consideri la soluzione del problema lineare (3). NB: si posizioni lo scriptElliptic_nonlinear_1D_Solver_fixed_point_Eser13.mcom- pletatonella cartella Code. c)SiaN= 100. Risolvere il problema con il metodo di punto sso proposto per = 1, = 10e = 20. Utilizzare il metodopcgper risolvere il sistema lineare a ciascuna iterazione, una tolleranza di10 6 per il metodo di punto sso e per il metodopcg. Denire il massimo numero di iterazioni per il metodo di punto sso epcgpari a100. Commentare i risultati ottenuti. Esercizio 2 Si consideri la funzione di Runge : f(x) =11 + x2 sull'intervalloI= [5;5]. Si vuole interpolarefutilizzando un polinomio di gradon. a)Attraverso le funzionipolyvalepolyfitcalcolare e visualizzare, contemporaneamente alla funzione f(x), il polinomio interpolante nf (x)di gradon= 10edn= 20su nodi equispaziati sull'intervallo I. Calcolare numericamente l'errore di interpolazione in norma del massimo : En;1= max x2Ij f(x) nf (x)j b)Attraverso la funzionepoly, calcolare e visualizzare il graco di! n+1( x). c)Ripetere i punti precedenti utilizzando i nodi non equispaziati detti di Gauss-Chebyshev-Lobatto.Si ricordi che tali nodi possono essere ottenuti sull'intervallo di riferimento^ I= [1;1]nel seguente modo : ^ x i= cos in  ; i= 0; ::::; n ; ed essere riportati sul generico intervalloI= [a; b]tramite la trasformazione lineare : xi=a +b2 + b a2 ^ x i: d)Commentare i risultati ottenuti alla luce delle proprietà di convergenza dell'interpolazione polinomiale.2