| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
| wikipaom2015:lez15 [2015/05/04 16:05] – 87991 | wikipaom2015:lez15 [2015/06/29 16: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>**. |
| | |
| | |
| |