Esercizio n.17 Risolvere, in t [0, 2 ], l’equazione differenziale che governa la distanza dall’origine di un punto materiale di massa m immerso in una distribuzione omogenea di materia di densità e soggetto alla sola forza di gravità esercitata da tale materia. Valutare l’errore effettivo commesso dalla risoluzione numerica col metodo di a) Eulero b) leap-frog Condizioni iniziali: r(0) = r 0 e (dr/dt) t = 0 = 0. Si consideri, per comodità di calcolo, G =1, m =1 e = 3/(4 ).
Soluzione n.17 Si tratta di una “forza elastica” di costante k = 4 G /3. E’ un’equazione differenziale ordinaria del secondo ordine, omogenea, a coeff. costanti, col coeff. della dr/dt nullo (caratteristica dell’oscillatore armonico senza smorzamento), la cui soluzione si può scrivere: r(t)=Acos( t + B) dove A e B dipendono dalle cond. iniziali e = (k/m) 1/2. Nel nostro caso: A = r 0, B = 0 e = 1, da cui r(t) = r 0 cos t, periodica di periodo T = 2
Soluzione n.17 Va trasformata in sistema di equazioni diff. del primo ordine!
Soluzione n.17a Metodo di Eulero t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n + v n t v n+1 = v n (k/m) r n t r = r 0 cos t
Soluzione n.17a Metodo di Eulero: andamento della soluzione Soluzione numerica Soluzione analitica t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n + v n t v n+1 = v n (k/m) r n t r = r 0 cos t
Soluzione n.17a Metodo di Eulero: andamento dell’errore in funzione di t log( t) t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n + v n t v n+1 = v n (k/m) r n t r = r 0 cos t
Soluzione n.17b Metodo Leap-frog t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n 1 + 2v n t v n+1 = v n 1 2(k/m) r n t r 1 = r 0 + v 0 t v 1 = v 0 (k/m) r 0 t r = r 0 cos t
Soluzione n.17b Metodo Leap-frog: andamento della soluzione t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n 1 + 2v n t v n+1 = v n 1 2(k/m) r n t r 1 = r 0 + v 0 t v 1 = v 0 (k/m) r 0 t r = r 0 cos t
Soluzione n.17b Metodo Leap-frog: andamento dell’errore in funzione di t log( t) t = [0,2 ] t = 2 /100 r n = r(n t) v n = v(n t) r 0 = 1 v 0 = 0 r n+1 = r n 1 + 2v n t v n+1 = v n 1 2(k/m) r n t r 1 = r 0 + v 0 t v 1 = v 0 (k/m) r 0 t r = r 0 cos t