Differenze finite

Transcript

Differenze finite
Tecniche di approssimazione
Differenze finite
Diff
Differenze
finite
fi it
Il metodo delle differenze finite permette di trasformare un problema
differenziale in uno algebrico approssimato.
Limitando inizialmente il problema al caso di una funzione incognita
ad una sola variabile
variabile, tale funzione viene rappresentata con ll'insieme
insieme
dei valori che essa assume in un opportuno insieme di punti del
dominio]A,B[; tali valori rappresentano le incognite del problema
algebrico approssimante.
f(xi)
A
prof. Elio Sacco
xi-1
xi
xi+1
Meccanica Computazionale delle Strutture
B
2
Ill metodo
d sii può definire
d i i semplice
li e, per certii versi,
i anche
h intuitivo;
i ii
si tratta infatti di sostituire alla derivata, definita come limite di un
rapporto
pp
incrementale,, il rapporto
pp
incrementale stesso.
Così, si sostituiscono nell’equazione differenziale alle derivate i
rapporti incrementali calcolati tramite i valori della funzione
i
incognita
i in
i alcuni
l i puntii del
d l dominio
d i i
f(x)
x-x
prof. Elio Sacco
x
df ( x) f ( x  x)  f ( x  x)

dx
2x
x+x
Meccanica Computazionale delle Strutture
3
Per definire in modo razionale l’approssimazione della derivata della
funzione nel punto del dominio xi, si determini in modo approssimato
il valore di f(xi+1) sviluppando la funzione f(x) in serie di Taylor, a
partire dal punto xi ed arrestandosi al temine lineare:
f ( xi 1 )  f ( xi ) 
f
x
x
x  xi
da tale relazione è possibile ricavare la formula approssimata della
derivata:
f
x

x  xi
f ( xi 1 )  f ( xi )
x
che fornisce la cosiddetta formula alle differenze finite “in avanti”.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
4
Analogamente, si determini ora in modo approssimato il valore di
f(xi-1) sviluppando la funzione f(x) in serie di Taylor,
Taylor a partire dal
punto xi ed arrestandosi al temine lineare:
f ( xi 1 )  f ( xi ) 
f
x
 x 
x  xi
da tale relazione è possibile ricavare la formula approssimata della
derivata:
f
x

x  xi
f ( xi )  f ( xi 1 )
x
che fornisce la cosiddetta formula alle differenze finite “all’indietro”.
L’utilizzo di tali formule, nelle pratiche applicazioni può risultare non
sempre completamente soddisfacente.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
5
Per migliorare l’approssimazione del metodo, si determini il valore di
f(xi+1) ed il valore di f(xi-1) sviluppando la funzione f(x) in serie di
Taylor, a partire dal punto xi ed arrestandosi al termine quadratico:
f
f ( xi 1 )  f ( xi ) 
x
x  xi
f
f ( xi 1 )  f ( xi ) 
x
1 2 f
 x  
2
2

x
x  xi
prof. Elio Sacco
1 f
x 
2
2 x
2
x 2
x  xi
 x 
2
x  xi
Meccanica Computazionale delle Strutture
6
sottraendo membro a membro e sommando membro a membro le due
equazioni ottenute dalla sviluppo in serie al secondo ordine si ottiene:
f ( xi 1 )  f ( xi 1 )  2
f
x
x
x  xi
2 f
f ( xi 1 )  f ( xi 1 )  2 f ( xi )  2
x
da cui si ricava:
f
x
x  xi
f ( xi 1 )  f ( xi 1 )

2x
2 f
x 2

x  xi
x 2
x  xi
f ( xi 1 )  f ( xi 1 )  2 f ( xi )
x 2
che forniscono le formule alle differenze finite centrate della derivata
prima e seconda.
L’ tili
L’utilizzo
di tali
t li formule,
f
l nelle
ll pratiche
ti h applicazioni,
li i i conduce
d
a
risultati certamente più soddisfacenti di quelle ottenute
precedentemente.
p
prof. Elio Sacco
Meccanica Computazionale delle Strutture
7
Un ulteriore miglioramento delle formule può essere ottenuto
determinando i valori di f(xi+2),
) f(xi+1),
) f(xi-1) e f(xi-2) tramite sviluppo
in serie di Taylor della funzione f(x), a partire dal punto xi ed
arrestandosi al termine quartico:
f
f ( xi  2 )  f ( xi ) 
x
 f
 2x   1 2
2 x
x  xi
f
f ( xi 1 )  f ( xi ) 
x
x  xi
1 f
x 
2
2 x
f
f ( xi 1 )  f ( xi ) 
x
 f
 x   1 2
2 x
x  xi
f
f ( xi ) 
x
2
1 2 f
 x  
2 x 2
x  xi
prof. Elio Sacco
 f
 2x   1 3
6 x
x  xi
2
3
2
1 f
x 
3
6 x
3
2
1  f
x 
4
24 x
x  xi
 x 
3
x  xi
4
 x 
x  xi
2
x  xi
Meccanica Computazionale delle Strutture
4
x  xi
 f
 x   1 4
24 x
x  xi
3
 2x 
x 4
3
 f
 x   1 3
6 x
x  xi
2
4
4
2
x  xi
 f
 2x   1 4
24 x
x  xi
3
8
4
Risolvendo il sistema di equazioni rispetto ad i valori delle drivate
prima, seconda, terza e quarta della funzione f, si ottiene:
f
x
x  xi
2 f
x 2
3 f
x3
4 f
x 4
 f ( xi  2 )  8 f ( xi 1 )  8 f ( xi 1 )  f ( xi  2 )

12 x
x  xi
 f ( xi  2 )  16 f ( xi 1 )  30 f ( xi )  16 f ( xi 1 )  f ( xi  2 )

12 x 2

x  xi
x  xi
f ( xi  2 )  2 f ( xi 1 )  2 f ( xi 1 )  f ( xi  2 )
2 x3
f ( xi  2 )  4 f ( xi 1 )  6 f ( xi )  4 f ( xi 1 )  f ( xi  2 )

x 4
L’utilizzo di tali formule, nelle pratiche applicazioni, conduce a
risultati molto soddisfacenti.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
9
E
Equazione
i
del
d l secondo
d ordine
di
f
O EA
1
2
3
z
F
4
5
6
w i 1  w i 1
2 z
w  w i 1  2 w i
w ' 'i  i 1
z 2
w 'i 
7
EA w
w’’ + f =0
equazione di campo
w(0) = 0
EA w’(L) = F
condizioni al contorno
8
w i 1  2 w i  w i 1  
f
z 2
EA
+
Condizioni al contorno
prof. Elio Sacco
Meccanica Computazionale delle Strutture
10
Equazioni
prof. Elio Sacco
w
 w
1
 w
2
 w
3
 w
4
 w
5
 w
6
 2w 2  w
z2
 2w 3  w
z2
 2w 4  w
z2
 2w 5  w
z2
 2w 6  w
z2
 2w 7  w
z2
 w6  w
2z
2
 0
3

4

5

6

7

8

8

f
EA
f
EA
f
EA
f
EA
f
EA
f
EA
F
EA

c.c.

eq. di campo

c.c.
Meccanica Computazionale delle Strutture
11
Sistema di equazioni
0
1

0

0
0

0
0

 0
1
2
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
1
2
1
1
0
0
0
0
0
1
2
0
0 w1  
0

0 w2   f z2 / EA
0 w3   f z2 / EA
  

2
0 w4   f z / EA




0 w5  f z2 / EA
  

2
0 w6   f z / EA
A
1w7   f z2 / EA
  

1 w8  2F z / EA
Matrice dei coefficienti a banda.
All’aumentare del
All’
d l numero dei
d i nodi
di la
l soluzione
l i
numerica
i tende
d a
quella analitica.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
12
E
Equazione
i
del
d l quarto
t ordine
di
Sia g(x) = f’’(x)
 2f
g 2
x

xxi
f ( x i 1 )  f ( x i 1 )  2f ( x i )
x 2
g ( x i 1 )  g ( x i 1 )
g

x x  x i
2x
 3f
x 3

f ( x i  2 )  f ( x i )  2f ( x i 1 )  f ( x i )  f ( x i  2 )  2f ( x i 1 )
2x 3
xxi

f ( x i  2 )  2f ( x i 1 )  2f ( x i 1 )  f ( x i  2 )
2x 3
prof. Elio Sacco
Meccanica Computazionale delle Strutture
13
 2f
g 2
x

xxi
f ( x i 1 )  f ( x i 1 )  2f ( x i )
x 2
g ( x i 1 )  g ( x i 1 )  2g ( x i )
 2g

x 2 x  x i
x 2
 4f
x 4

xxi
f ( x i  2 )  f ( x i )  2f ( x i 1 )
x 4
f ( x i )  f ( x i  2 )  2f ( x i 1 )

4
x
f ( x i 1 )  f ( x i 1 )  2f ( x i )
2
x 4
f ( x i  2 )  4f ( x i 1 )  6f ( x i )  4f ( x i 1 )  f ( x i  2 )

x 4

prof. Elio Sacco
Meccanica Computazionale delle Strutture
14
q
O
y
1
2
3
v 'i 
F
z
EI
v ' 'i 
4
5
6
7
8
9
10
v' ' ' 
v' ' ' ' 
EI vv’’’’ - q = 0 equazione di campo
v i 1  v i 1
2z
v i 1  v i 1  2 v i
z 2
v i  2  2 v i 1  2 v i 1  v i  2
2z 3
v i  2  4 v i 1  6 v i  4 v i 1  v i  2
z 4
v(0) = 0
condizioni al contorno
v’(0) = 0
q
-EI v’’(L) = 0
v i  2  4 v i 1  6 v i  4 v i 1  v i  2  z 4
-EI
EI vv’’’(L)
(L) = F
EI
+
Condizioni al contorno
prof. Elio Sacco
Meccanica Computazionale delle Strutture
15
Equazioni
v3  0
v2  v4  0
v1  4 v 2  6 v 3  4 v 4  v 5  ~
q z 4
v  4v  6v  4v  v  ~
q z 4
2
3
4
5
6
v 3  4v 4  6v 5  4v 6  v 7  ~
q z 4
v  4v  6v  4v  v  ~
q z 4
4
5
6
7
8
v 5  4v 6  6v 7  4v 8  v 9  ~
q z 4
v  4v  6v  4v  v  ~
q z 4
6
7
8
9
10
v 7  2v 8  v 9  0
con
~
 v 6  2 v 7  2 v 9  v10  2 F z 3
prof. Elio Sacco
Meccanica Computazionale delle Strutture
q
q 
EI
F

F 
EI
16
Sistema di equazioni
0 0 1 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0

1 4 6 4 1 0 0 0 0

0 1 4 6 4 1 0 0 0
0 0 1 4 6 4 1 0 0

0 0 0 1 4 6 4 1 0
0 0 0 0 1 4 6 4 1

0 0 0 0 0 1 4 6 4
0 0 0 0 0 0 1 2 1

0 0 0 0 0 1 2 0 2
prof. Elio Sacco
0   v1  
0


0   v2  
0

4
0   v3   q z 
  

0   v4   q z 4 
0   v5   q z 4 
  
4 

0   v6   q z 
0   v7   q z 4 
  
4 
1   v8   q z 

0
0   v9  
  

3
1  v10  2F z 
Meccanica Computazionale delle Strutture
17
Programma in MAPLE V
prof. Elio Sacco
Meccanica Computazionale delle Strutture
18
prof. Elio Sacco
Meccanica Computazionale delle Strutture
19
prof. Elio Sacco
Meccanica Computazionale delle Strutture
20
prof. Elio Sacco
Meccanica Computazionale delle Strutture
21
Confronto dei risultati ottenuti incrementando il numero dei nodi
Blue = 3 nodi
Nero = 5 nodi
Verde = 10 nodi
R
Rosso
= analitica
liti
prof. Elio Sacco
Meccanica Computazionale delle Strutture
22
St bilità dell’equilibrio
Stabilità
d ll’
ilib i
Si consideri una trave soggetta a carico assiale in equilibrio in una
configurazione deformata. Le equazioni di equilibrio della trave nella
configurazione deformata forniscono:
f
EIv iv  Nv ii  N i v i  q
F
Nel caso specifico
p
si pone:
p
q0
M
N  F  f L  z
v
v+dv
M+dM
N
T
Ni   f
N
T+dT
pper cui si ha:
EIviv   F  f  L  z   vii  f vi  0
equazione differenziale a coefficienti non costanti.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
23
L’equazione differenziale,
risolta utilizzando il metodo
3
1
2
n-2 n-1
delle differenze finite, si
v  4vi 1  6vi  4vi 1  vi  2
trasforma per il nodo i-esimo
EI i  2

4
nell’equazione algebrica:
z
n
vi 1  vi 1  2vi
 f vi  0
 F  f  L  z   z 2
Il problema è completato da opportune condizioni al contorno:
v  0  0
M  0  0
v  L  0
v3  0
v31  v31  2v3
EI
0
2
z
vn  2  0
M  L   0 EI
prof. Elio Sacco
vn  21  vn  21  2vn  2
0
2
z
Meccanica Computazionale delle Strutture
24
In definitiva si giunge al sistema di equazioni omogeneo:
 M 11
M
 21








 M n1
M 12
M 22
M n2
M 1n   v1  0 
  v  0 
 2   
  .  0 

  
.
 0 


  .  0 
  

 vn  2  0 
  v  0 
  n 1   
M nn   vn  0 
i termini Mij della matrice sono funzioni, in particolare, della forza F
e del carico assiale distribuito f. Volendo determinare il valore critico
di F si determina il valore di F che annulla il determinante della
matrice M; analogamente, volendo determinare il valore critico di f si
determina il valore di f che annulla il determinante della matrice M.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
25
Differenze finite
p il pproblema di Laplace
per
p
2D
Il problema di Neumann per l’equazione di Laplace
y
3
  0
in A
  n  t  x
su A (t tangente)
 0
 1 3 0
 1
2
4
n   n   n   n  
 1
0
 1
 0
1
4
2
 1
t  
0
1
0
t  
 1
2
 1
t  
 0
3
 0
t  
 1
4
x
1
prof. Elio Sacco
Meccanica Computazionale delle Strutture
27


  n 
nx 
ny
x
y
1

  n 
y
tx
x
prof. Elio Sacco
2

x
y
3
4



y
x
x y
 2  2
 2 0
2
x
y

1

x
y

2
y
x

3
 x
y

4
 y

x
Meccanica Computazionale delle Strutture
28
Differenze finite
i i 1x  i 1x

x
2x
 2 i i 1x  i 1x  2i

2
x
x 2
i i 1 y  i 1 y

y
2y
 2 i i 1 y  i 1 y  2i

2
y
y 2
i+1y
i-1x
i+1x
i
i-1y
prof. Elio Sacco
Meccanica Computazionale delle Strutture
29
111
112
113
114
115
116
117
118
119
120
nx: nodi in A lungo x
ny: nodi in A lungo y
nnx = nx + 2
nny = ny + 2
ntot = nnx  nny
41
42
43
44
45
46
47
48
49
50
31
32
33
34
35
36
37
38
39
40
21
22
23
24
25
26
27
28
29
30
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
(8)
(10)
(10)
(12)
(120)
i - 1x
1 =i-1
i +1x = i +1
i - 1y = i - nnx
i +1y = i +nnx
30
Equazione di campo
 2 i i 1x  i 1x  2i i 1  i 1  2i


2
2
x
x
x 2
 2 i i 1 y  i 1 y  2i i  nnx  i  nnx  2i


2
2
y
y
y 2
i 1  i 1  2i i  nnx  i  nnx  2i

0
2
2
x
y
Nota: i nodi 1, 10, 111 e 120 non sono necessari
prof. Elio Sacco
Meccanica Computazionale delle Strutture
31
i 1  i 1  2i i  nnx  i  nnx  2i

0
2
2
x
y
Questa equazione viene scritta per tutti i nodi del campo:
i=
12..19, 22..29, 32..39, 42..49, 52..59,
62..69, 72..79, 82..89, 92..99, 102..109
ovvero è scritta
itt in
i nx  ny (80) nodi
di
prof. Elio Sacco
Meccanica Computazionale delle Strutture
32
Equazioni al contorno

x
y
Per nx (8) nodi: i =
Lati 1/3 
i  nnx  i  nnx

 xi
2y
12, 13, 14, 15, 16, 17, 18, 19
102 103
102,
103, 104
104, 105
105, 106,
106 107 , 108,
108 109

i 1  i 1
y
 yi
x
2x
Per nx (10) nodi: i = 12, 22, 32, 42, 52, 62, 72, 82, 92, 102
19 29,
19,
29 39,
39 49,
49 59,
59 69,
69 79,
79 89,
89 99,
99 109
Lati 2/4
Si scrivono così 2(nx+ny)
(
y) ((36)) equazioni
q
al contorno. Ulteriori
4 equazioni si scrivono annullando i valori di  nei 4 nodi
fittizi introdotti: 
prof. Elio Sacco
Meccanica Computazionale delle Strutture
33
Il problema di Neumann per ll’equazione
equazione di Laplace ammette
una soluzione unica definita a meno di una costante. Ciò
significa
g
che il sistema di equazioni
q
algebriche
g
ottenuto via
differenza finite, costituito da ntot equazioni in ntot
incognite, ha rango pari a ntot-1.
P ddeterminare
Per
t
i
la
l soluzione
l i
in
i forma
f
univoca
i
è necessario
i
assegnare il valore di  in un punto. Ciò può, ad esempio,
essere effettuato sostituendo all
all’equazione
equazione di campo
determinata nel nodo np=ntot-nnx-1 la seguente condizione
np = 0.
prof. Elio Sacco
Meccanica Computazionale delle Strutture
34
Prandtl: il problema di Dirichlet per l’equazione di Laplace
y
F  2G
F 0
3
in A
su A
M t   2 F dA
A
4
2
x
1
prof. Elio Sacco
F  2G F
F  1
in A
F  0
su A
M t   2 F dA  4G  F dA
A
Meccanica Computazionale delle Strutture
A
35
Differenze finite
Fi Fi 1x  Fi 1x

2x
x
 2 Fi Fi 1x  Fi 1x  2 Fi

2
x
x 2
Fi Fi 1 y  Fi 1 y

2y
y
 2 Fi Fi 1 y  Fi 1 y  2 Fi

2
y
y 2
i+1y
i-1x
i+1x
i
i-1y
prof. Elio Sacco
Meccanica Computazionale delle Strutture
36
73
74
75
76
77
78
79
80
nx: nodi in A lungo x (8)
ny: nodi in A lungo y (10)
i - 1x = i - 1
i +1x = i +1
i - 1y
1 = i - nx
i +1y = i +nx
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
37
Equazione di campo
Fi 1  Fi 1  2 Fi Fi  nnx  Fi  nnx  2 Fi

1
2
2
x
y
Questa equazione viene scritta per tutti i nodi interni del dominio,
ovvero è scritta
i in
i (nx-2)
( 2)  (ny-2)
( 2) = 48 nodi
di
(48)
Equazioni al contorno
F  0
Si scrivono così 2(nx+ny-2) = 32 equazioni al contorno.
contorno
(32)
(80)
prof. Elio Sacco
Meccanica Computazionale delle Strutture
38
yB
B
xB
B
yA
xA
 
Nota:
F dxdy 
1
(yA-yB) (xA-xB) (F_AB+F_AA+F_BB+F_BA)
4
y
yB
F_AB
P t
Posto:
F_BB
xA=xi xB=xi+1
yA=yi yB=yi+nx
F_AA
F_BA
yA
A
xA
prof. Elio Sacco
xB
x
Meccanica Computazionale delle Strutture
39
Il problema della piastra inflessa (Kirchhoff-Love)
y
appoggiata sul contorno
b
x
p
w 
D
w0
su A
My  0
y0
My  0
Mx  0
yb
x0
Mx  0
xa
in A
a
prof. Elio Sacco
Meccanica Computazionale delle Strutture
40
4w
4w
4w p
w  4  2 2 2  4 
x
x y
y
D
Differenze finite
i+1y
 4 w wi  2 x  4 wi 1 x  6wi  4 wi 1 x  wi 2 x

4
x
x 4
 4 w wi  2 y  4 wi 1 y  6wi  4 wi 1 y  wi 2 y

4
y
y 4
i 1x
i-1x
i 1
i+1x
i
i-1y
prof. Elio Sacco
Meccanica Computazionale delle Strutture
41
 2 w wi 1 x  wi 1 x  2 wi
g 2 
x
x 2
 2 g gi 1 y  gi 1 y  2 gi

2
y
y 2
4w
 2 g gi 1 y  gi 1 y  2 gi
 2 
2
2
x y
y
y 2
1
 2 2  wi 1 y 1 x  wi 1 y 1 x  wi 1 y 1 x  wi 1 y 1 x
x y
 2  wi 1 y  wi 1 y  wi 1 x  wi 1 x   4 wi 
prof. Elio Sacco
Meccanica Computazionale delle Strutture
42
111
112
113
114
115
116
117
118
119
120
nx: nodi in A lungo x
ny: nodi in A lungo y
nnx = nx + 2
nny = ny + 2
ntot = nnx  nny
41
42
43
44
45
46
47
48
49
50
31
32
33
34
35
36
37
38
39
40
21
22
23
24
25
26
27
28
29
30
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
(8)
(10)
(10)
(12)
(120)
i - 1x
1 =i-1
i +1x = i +1
i - 1y = i - nnx
i +1y = i +nny
43
Equazione di campo (6×8=48: solo i nodi interni)
wi  2 x  4 wi 1 x  6 wi  4 wi 1 x  wi 2 x
x 4
wi  2 y  4 wi 1 y  6wi  4 wi 1 y  wi 2 y

y 4
1
2 2 2  wi 1 y 1 x  wi 1 y 1 x  wi 1 y 1 x  wi 1 y 1 x
x y
 2  wi 1 y  wi 1 y
prof. Elio Sacco
q

 wi 1 x  wi 1 x   4 wi  
D
Meccanica Computazionale delle Strutture
44
Equazioni al contorno
x=0, x=a w  0
y=0 y=b
y=0,
xx=0
0
Mx=00
x=a
Mx=0
y=0
My=0
yy=b
My=0
Nodi inutili
8+8+8+8=32 equazioni
8+8+10+10=36 equazioni
4 equazioni
120 equazioni
prof. Elio Sacco
Meccanica Computazionale delle Strutture
45
Caratteristiche
Semplicità
Inaccuratezza nella determinazione delle derivate
Difficoltà nell’imporre le condizioni al contorno
Difficoltà nel rappresentare domini complessi
Difficoltà nel realizzare discretizzazioni non rettangolare
e non uniformi
prof. Elio Sacco
Meccanica Computazionale delle Strutture
46