• Non ci sono risultati.

DICACIM programme A.Y Numerical Methods for Partial Differential Equations

N/A
N/A
Protected

Academic year: 2022

Condividi "DICACIM programme A.Y Numerical Methods for Partial Differential Equations"

Copied!
11
0
0

Testo completo

(1)

.

DICACIM programme A.Y. 2019–20 Numerical Methods for Partial Differential

Equations

Lab 1

Numerical solution of 1D elliptic problems with Finite Elements and MATLAB

Paola Gervasio

DICATAM, Universit`a degli Studi di Brescia (Italy)

uniBS, April, 2020

(2)

Scaricare il fileFEM1d.zip dalla pagina del corso moodle.

Contiene:

fem 1d solver.m : risolve un problema ellittico 1d con FEM lineari o quadratici;

fem 1d errors.m: calcola gli errori tra la soluzione numerica e la soluzione esatta nelle norme in H1 e L2;

fem 1d setting.m: costruisce i nodi e i pesi di quadratura per calcolare gli integrali, valuta le funzioni di base nei nodi di quadratura, calcola l’ampiezza degli elementi della partizione.

E richiamata all’interno delle due function precendenti;` xwlg.m: function per calcolare i nodi e i pesi delle formule di quadratura di Gauss Legendre (i nodi sono interni

all’intervallo). `E richiamata all’interno di fem 1d setting.m;

xwlgl.m: function per calcolare i nodi e i pesi delle formule di quadratura di Gauss Legendre Lobatto (gli estremi

dell’intervallo sono 2 nodi di quadratura). `E richiamata all’interno di fem 1d setting.m.

2

(3)

fem 1d solver.m

> > h e l p f e m _ 1 d _ s o l v e r

f e m _ 1 d _ s o l v e r : s o l v e - mu * u ‘ ‘+ s i g m a u = f in O m e g a w i t h D i r i c h l e t and / or N e u m a n n b o u n d a r y c o n d i t i o n s by e i t h e r P1 - fem or P2 - fem on a u n i f o r m g r i d. [ nodes , uh ]= f e m _ 1 d _ s o l v e r ( geom , p r o b l e m _ d a t a , p , Ne ) I n p u t : g e o m : s t r u c t w i t h f i e l d s :

g e o m . xa , g e o m . xb = end- p o i n t s of O m e g a

p r o b l e m _ d a t a : s t r u c t w i t h c o e f f i c i e n t s and ... . ... .

p = l o c a l p o l y n o m i a l d e g r e e (1 or 2) Ne = n u m b e r of e l e m e n t s of the p a r t i t i o n O u t p u t : n o d e s = c o l u m n a r r a y w i t h n o d e s of the m e s h

uh = c o l u m n a r r a y of the n u m e r i c a l s o l u t i o n

3

(4)

fem 1d errors.m

> > h e l p f e m _ 1 d _ e r r o r

f e m _ 1 d _ e r r o r s C o m p u t e s e r r o r s for 1 d b . v . p .

[ e r r o r s ]= f e m _ 1 d _ e r r o r s ( uh , geom , p , Ne , uex , u1ex , e r r t y p e ) I n p u t :

uh = n u m e r i c a l s o l u t i o n g e o m = s t r u c t w i t h f i e l d s :

g e o m . xa , g e o m . xb = end- p o i n t s of O m e g a p = l o c a l p o l y n o m i a l d e g r e e (1 or 2) Ne = n u m b e r of e l e m e n t s of the p a r t i t i o n

uex = f u n c t i o n h a n d l e @ ( x ) w i t h the e x a c t s o l u t i o n u 1 e x = f u n c t i o n h a n d l e @ ( x ) w i t h the d e r i v a t i v e

of the e x a c t s o l u t i o n

o p t i o n a l i n p u t: e r r t y p e = 0: a b s o l u t e e r r o r s ( d e f a u l t v a l u e ) e r r t y p e = 1: r e l a t i v e e r r o r s

O u t p u t :

e r r o r s . h1 = || u - uh || _H1 e r r o r s . l2 = || u - uh || _L2

4

(5)

Problema 1

Si consideri il problema

 −u00(x ) = f (x ) in Ω

u(x ) = 0 on ∂Ω

con Ω = (0, 1) e f (x ) = 9π2sin(3πx ) + 2.

1. Calcolare la soluzione numerica uh(x ) ottenuta con fem-P1 su una mesh uniforme con Ne=5, 10, 20, 40 e rappresentarla graficamente.

2. Calcolare l’errore tra la soluzione numerica uh e la soluzione esatta u(x ) = sin(3πx ) − x2+ x , sia in norma H1(Ω) che in norma L2(Ω) e verificare che, quando h → 0, si ha

ku − uhkH1(Ω)' h ku − uhkL2(Ω) ' h2

3. Ripetere il lavoro con fem-P2, verificando che ora gli errori decrescono come h2 e come h3 (rispettivamente) al tendere di h a zero.

5

(6)

Problema 2

Si consideri il problema

 −u00(x ) + 10u(x ) = 9ex in (−1, 1) u(−1) = 1/e, u(1) = e

Ripetere il lavoro proposto per il problema 1, sapendo che u(x ) = ex.

6

(7)

Problema 3. Trasferimento di calore in un’asta sottile

Consideriamo un’asta sottile di lunghezza L e sezione circolare di raggio r , che nell’estremo x = 0 abbia temperatura T0e che nell’estremo x = L sia isolata.

La temperatura T della barra in un punto x ∈ (0, L) soddisfa il seguente problema ellittico:

 −kAT00+ ˜σpT = 0, x ∈ (0, L),

T (0) = T0, T0(L) = 0, (1)

avendo denotato con k la conducibilit`a termica del materiale, con ˜σ il coefficiente di scambio termico, con A e con p l’area ed il perimetro (rispettivamente) della sezione circolare.

Approssimare la soluzione del problema (1) utilizzando elementi finiti quadratici (su una griglia uniforme di Ne=10, 20, 40, 80 elementi), qualora i dati siano:

L = 1m, r = 10−2m, k = 200mKW, ˜σ = 2mW2K, T0= 10K . Dopo aver verificato che la soluzione esatta del problema `e

T (x ) = T0

cosh(α(L − x )) cosh(αL) , con α =

qσp˜

kA, verificare che gli errori tra soluzione esatta e soluzione numerica osservano i comportamenti previsti dalla teoria.

7

(8)

Problema 4. Flessione di una fune

Consideriamo una fune fissata agli estremi, avente tensione T e lunghezza L. La funzione u(x ), che misura lo spostamento verticale della fune quando questa `e soggetta ad un carico trasversale di intesit`a w (x ), soddisfa il seguente problema differenziale:

 −Tu00+ ku = w in (0, L), u(0) = 0, u(L) = 0, dove k `e il coefficiente di elasticit`a della fune.

Calcolare l’approssimazione di u con elementi finiti P1 su una griglia uniforme con i seguenti dati:

1 L = 1, T = 1, k = 1, w (x ) ≡ 1, Ne=5, 10, 20, 40;

2 L = 1, T = 10−3, k = 1, w (x ) ≡ 1, Ne=5, 10, 20, 40;

3 L = 1, T = 10−4, k = 1, w (x ) ≡ 1, Ne=10, 20, 40, 80;

8

(9)

Problema 4: remark

Quando T << k e h non `e sufficientemente piccolo, la soluzione numerica mostra delle oscillazioni che non sono fisiche, ma sono dovute dovute ad una scarsa approssimazione.

La soluzione esatta presenta due boundary layer dell’ordine di pT /k e per catturarli correttamente `e necessario che h sia sufficientemente piccolo rispetto apT /k.

Precisamente serve:

h <

r 6T

k. (2)

Verificare che se h soddisfa (2), allora la soluzione numerica non presenta oscillazioni.

9

(10)

Problema 4: rimedio

Si possono eliminare le oscillazioni, mantenedo h >

q

6Tk, a patto di sostituire la matrice di massa M (Mij =R

ϕjϕi) con la lumped mass matrix

M :ˆ Mˆij = δij

X

j

Mij.

M `ˆ e una matrice diagonale, l’elemento diagonale i −simo `e la somma degli elementi della riga i −sima della matrice di massa M.

prova:

aprire il file fem 1d solver.m e scommentare la riga 90.

Quindi salvare il file e ricalcolare la soluzione numerica con i diversi valori di Ne (e quindi di h).

10

(11)

Problema 5: regolarit` a della soluzione

Consideriamo il problema

 −u00= f in (0, 1), u(0) = 0, u0(1) = π, e

f (x ) =

 0 se x ∈ (0, 0.5)

−π2cos(π(x − 0.5)) se x ∈ [0.5, 1)

Calcolare la soluzione numerica con fem−P1 e fem−P2 e calcolare gli errori rispetto alla soluzione esatta

u(x ) =

 0 se x ∈ (0, 0.5)

1 − cos(π(x − 0.5)) se x ∈ [0.5, 1)

Che regolarit`a ha la soluzione esatta e come si comportano gli errori al tendere di h a zero?

Prendere Ne=11, 21, 41, 81, 161.

11

Riferimenti

Documenti correlati

When A has a unique null eigenvalue, while the others are either all positive or all negative, then the PDE is named parabolic.. The heat equation is a linear 2nd-order

Elliptic problems: strong and weak forms Elements of functional analysis..

DICATAM, Universit` a degli Studi di Brescia (Italy). uniBS,

DICATAM, Universit` a degli Studi di

DICATAM, Universit` a degli Studi di Brescia (Italy).. 11 Paola Gervasio - DICATAM

Numerical solution of Advection Diffusion Reaction problems.

Si ottiene componendo un’asola di nodo bulino semplice sul ramo di corda che fa ingresso nell’imbracatura, ripassando il capo di corda in uscita dall’imbracatura dapprima

8) Il “Nodo delle Guide Semplice”, quando si recuperano le corde dopo una discesa in corda doppia ed il nodo entra in tensione, ha la tendenza a ‘galleggiare’ sopra le roccie