Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
wikipaom2015:lez15 [2015/05/04 14:03] – 87991 | wikipaom2015:lez15 [2015/06/29 14:35] (versione attuale) – [Sistemi di equazioni non lineari: metodo di Newton-Raphson] 163359 |
---|
| [[https://cdm.ing.unimo.it/files/progettazione_assistita/dispensa_progettazione_assistita_v2.pdf|dispensa Progettazione Assistita]] con trattazione algoritmo N-R. |
| |
| {{:wikipaom2015:nr-2d_v1.pdf|costruzione grafica per N-R 2d}} |
| |
| {{:wikipaom2015:nr-1d.pdf|costruzione grafica per N-R 1d}} |
| |
| Sorgente latex dispensa (file {{:wikipaom2015:dispensa_progettazione_assistita.tex|1}} {{:wikipaom2015:newton-raphson.tex|2}} {{:wikipaom2015:links.tex|3}}) per copiaincollare formule e testo |
| |
| |
| ====== Algoritmo Newton-Raphson per sistemi di equazioni non lineari : Iterazione base ====== |
| |
| Si consideri un sistema lineare di n equazioni |
| |
| **R(u) = F (u)** |
| |
| nelle n componenti incognite del vettore u, con |
| |
| **R : u → R<sup>n</sup> , u ∈ C ⊆ R** |
| |
| **F : u → R<sup>n</sup> , u ∈ C ⊆ R** |
| |
| funzioni vettoriali di variabile vettoriale. |
| |
| Nel caso specifico della soluzione di sistemi di equazioni derivate dagli equilibri nodali di strutture discretizzate con metodo FEM, si definiscono le seguenti grandezze: |
| |
| * u: vettore contenente le componenti di spostamento/rotazione nodale dalla configurazione indeformata (incognite); |
| * F(u): vettore contenente le componenti di forza/coppia nodale applicate dall'esterno sul sistema, supposte note per una data configurazione della struttura. |
| * R(u): vettore contenente le componenti di azione nodale (uguali e contrarie alle reazioni elastiche della struttura costretta in stato deformato) necessarie a mantenere la struttura in equilibrio nello stato deformativo associato al vettore spostamenti nodali u. |
| |
| Nel caso particolare di sistema elastico lineare si ha che: |
| |
| **R(u) = K * u** |
| |
| con K matrice di rigidezza. |
| |
| Si nota che tale interpretazione dei termini dell’equazione **R(u) = F(u)** è appropriata nel caso le condizioni al contorno siano alle sole forze. |
| Nel caso in cui siano definiti vincoli di spostamento nodale imposto, alcune coppie di termini coniugati Ri(u)-Fi(u) risulteranno modificate in quanto all'equazione di equilibrio i-esima si sostituisce l’identità cinematica tra spostamenti incognito ed imposto. |
| |
| Una scrittura alternativa prevede la definizione e l’annullamento di un termine di residuo |
| |
| **r(u) = R(u) − F(u) = 0** |
| |
| Tale scrittura permette di riassumere in un unico termine le variazioni in u di forze e reazioni elastiche, per cui risulta vantaggioso procedere con tale notazione. |
| |
| Il metodo Newton-Raphson è costruito a partire dallo sviluppo in serie di Taylor al primo ordine dell’equazione 'r(u) = 0' di un punto di iterato i-esimo u^i, ossia: |
| |
| **r (u<sup>*</sup>) = r (u<sup>i</sup>) + Jr (u<sup>i</sup>) · (u<sup>*</sup> - u<sup>i</sup>) + o (u<sup>*</sup> − u<sup>i</sup>) = 0.** |
| |
| |
| |
| ===== Sistemi di equazioni non lineari: metodo di Newton-Raphson ===== |
| |
| |
| Si considera il problema monodimensionale di un albero rotante con velocità ''Ω'' con una massa con eccentricità ''δ'' |
| |
| {{https://cdm.ing.unimo.it/.mediawiki/images/8/84/Massa_eccentrica.png?350x200}} |
| |
| |
| Tale problema è prettamente "Non Lineare" infatti: per piccoli spostamenti lavora a flessione, mentre per spostamenti via via crescenti, tende a deformarsi come riportato nella figura di seguito. |
| |
| {{https://cdm.ing.unimo.it/.mediawiki/images/c/cc/Grandi_deformazioni.png?350x200}} |
| |
| L'eccessiva deformazione, ripercuotendosi anche sui vincoli, fa si che la trave lavori prevalentemente a trazione. La sua rigidezza, in questo caso, è molto maggiore nel caso di sollecitazione a pura flessione. |
| Si parla in questo caso di **Stiffening**, ovvero di situazioni in cui la rigidezza cresce al crescere della deformazione. |
| |
| Un altro aspetto da considerare è la forza centrifuga, dovuta alla massa eccentrica mantenuta in rotazione, che inizialmente vale: |
| |
| **F = m Ω<sup>2</sup> δ** |
| |
| e, dopo la deformazione: |
| |
| **F(u) = m Ω<sup>2</sup> (δ + u)** |
| **R(u) = K u + g(u)** |
| |
| Nel caso particolare in esame "K = (6 E J)/lsup>3</sup><" |
| In questo caso R(u) e F(u) sono funzioni scalari di variabili scalari. |
| |
| Nel caso generale per risolvere il sistema di equazioni non lineari si procede come illustrato di seguito: |
| |
| **R(u) = F(u)** sistema di equazioni non lineari |
| |
| Si tratta il caso bidimensionale le cui proprietà si riscontrano nel caso ad "n" dimensioni. |
| |
| Si accorpano le funzioni "R" ed "F" in una funzione residuo: **r(u) = R(u) - F(u)** |
| |
| L'equilibro è soddisfatto se **r(u) = 0** pertanto si risolve il sistema di equazioni non lineari |
| |
| **r<sub>1</sub>(u<sub>1</sub>,u<sub>2</sub>) = 0** |
| **r<sub>2</sub>(u<sub>1</sub>,u<sub>2</sub>) = 0** |
| |
| L'algoritmo di **Newton - Raphson** è un metodo iterativo con il quale si ricerca la soluzione approssimata della soluzione esatta incognita. |
| |
| Come meglio sarà comprensibile nella trattazione del caso monodimensionale è un metodo simile al metodo delle tangenti. |
| |
| Si sceglie un punto di partenza **u<sub>1</sub><sup>i</sup>** e **u<sub>2</sub><sup>i</sup>**, sia (**u<sub>1</sub><sup>*</sup>**,**u<sub>2</sub><sup>*</sup>)** la soluzione esatta del sistema, vale: |
| |
| **r<sub>1</sub>(u<sub>1</sub><sup>*</sup>,*u<sub>2</sub><sup>*</sup>) = r<sub>1</sub>(u<sub>1</sub><sup>i</sup>,u<sub>2</sub><sup>i</sup>) + [∂r<sub>1</sub>/∂u<sub>1</sub>] *(u<sub>1</sub><sup>*</sup> - (u<sub>i</sub><sup>1</sup>) + [∂r<sub>1</sub>/∂u<sub>2</sub>] * (u<sub>2</sub><sup>*</sup> - u<sub>2</sub><sup>i</sup>) + o(u<sup>*</sup>-u<sub>i</sub>)** |
| |
| Per l'iterazione, togliendo l'infinitesimo, al posto della soluzione esatta si sostituisce la soluzione approssimata ponendo **u<sup>*</sup> = u<sup>i+1</sup>** lo stesso vale per la seconda equazione del sistema. |
| |
| Quindi in forma vettoriale si risolve |
| |
| **r (u<sup>i</sup>) + Jr (u<sup>i+1</sup> - u<sup>i</sup>) = 0** |
| |
| La matrice del sistema **Jr** è analoga alla matrice di rigidezza. |
| |
| Una volta definito il passo di iterazione, a partire da **u<sup>i</sup>** si va a risolvere l'equazione: |
| |
| $$ |
| u_{i+1} = u_i - J_r \backslash r(u_i) |
| $$ |
| |
| (Metodo esplicito) |
| |
| Prima di procedere all'iterazione ci si accerta della convergenza del metodo per il passo fissato cioè si risolve il limite: |
| |
| **Lim<sub>i→∞</sub>||u<sup>i</sup> - u<sup>*</sup>|| = 0** |
| |
| Fissata una tolleranza "**ξ**" il primo criterio d'arresto è quello di convergenza agli spostamenti: |
| |
| **||u<sup>i+1</sup> - u<sup>i</sup>|| < ξ**, criterio per il quale bisogna avere almeno due campionamenti. |
| |
| Il secondo criterio è quello della convergenza del residuo: |
| |
| **||r(u<sup>i</sup>)|| < ξ**, criterio che non necessita di due campionamenti. |
| |
| Prima di passare all'interpretazione grafica si illustra l'algoritmo di **Newton - Raphson** nel caso monodimensionale. |
| |
| Nel caso monodimensionale la formula iterativa risulta: |
| |
| **u<sup>i+1</sup> = u<sup>i</sup> - [dr/du]<sub>u = u(i)</sub>** |
| |
| {{:wikipaom2015:nr-1d.pdf|costruzione grafica per N-R 1d}} |
| |
| |
| Considerato l'iterato ui, si tira la tangente in modo che anziché risolvere l'equazione, risolvo la sua forma linearizzata, ossia trovo il punto che annulla la linearizzazione: si trova l'iterato ui+1. In corrispondenza di ui+1 si puó calcolare il residuo: partendo da qui si traccia la tangente e ricavare ui+2. **Ci si ferma quando il residuo é abbastanza basso o quando la distanza tra due iterati successivi é abbastanza piccola**. |
| |
| Dall'immagine riportata si osserva come a partire dal punto iniziale **u<sup>i</sup> = u** si arriva ad una soluzione approssimata vicina a **u<sup>*</sup>**. |
| |
| Il numero di iterazioni è pari al numero di tangenti che vanno ad approssimare la funzione **r(u)** nei vari punti **u<sup>i</sup>**. |
| |
| Analoghe considerazioni si possono fare per la soluzione grafica nel caso bidimensionale dove sul piano "**u<sub>1</sup>**", "**u<sub>2</sub>**" sono riportate le curve di livello **r<sub>1</sub>(u) = 0** e **r<sub>2</sub>(u) = 0**. |
| |
| L'intersezione di tali curve rappresenta la soluzione del sistema. |
| |
| Procedendo all'iterazione partendo da un generico **u<sub>i</sub>** ed iterando come precedente esposto, si individuano di volta in volta due piani tangenti alla funzione nell'intorno **u<sub>i</sub>**. |
| |
| |
| |