[[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 → Rn , u ∈ C ⊆ R**
**F : u → Rn , 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*) = r (ui) + Jr (ui) · (u* - ui) + o (u* − ui) = 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 Ω2 δ**
e, dopo la deformazione:
**F(u) = m Ω2 (δ + u)**
**R(u) = K u + g(u)**
Nel caso particolare in esame "K = (6 E J)/lsup>3<"
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
**r1(u1,u2) = 0**
**r2(u1,u2) = 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 **u1i** e **u2i**, sia (**u1***,**u2*)** la soluzione esatta del sistema, vale:
**r1(u1*,*u2*) = r1(u1i,u2i) + [∂r1/∂u1] *(u1* - (ui1) + [∂r1/∂u2] * (u2* - u2i) + o(u*-ui)**
Per l'iterazione, togliendo l'infinitesimo, al posto della soluzione esatta si sostituisce la soluzione approssimata ponendo **u* = ui+1** lo stesso vale per la seconda equazione del sistema.
Quindi in forma vettoriale si risolve
**r (ui) + Jr (ui+1 - ui) = 0**
La matrice del sistema **Jr** è analoga alla matrice di rigidezza.
Una volta definito il passo di iterazione, a partire da **ui** 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:
**Limi→∞||ui - u*|| = 0**
Fissata una tolleranza "**ξ**" il primo criterio d'arresto è quello di convergenza agli spostamenti:
**||ui+1 - ui|| < ξ**, criterio per il quale bisogna avere almeno due campionamenti.
Il secondo criterio è quello della convergenza del residuo:
**||r(ui)|| < ξ**, 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:
**ui+1 = ui - [dr/du]u = u(i)**
{{: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 **ui = u** si arriva ad una soluzione approssimata vicina a **u***.
Il numero di iterazioni è pari al numero di tangenti che vanno ad approssimare la funzione **r(u)** nei vari punti **ui**.
Analoghe considerazioni si possono fare per la soluzione grafica nel caso bidimensionale dove sul piano "**u1**", "**u2**" sono riportate le curve di livello **r1(u) = 0** e **r2(u) = 0**.
L'intersezione di tali curve rappresenta la soluzione del sistema.
Procedendo all'iterazione partendo da un generico **ui** ed iterando come precedente esposto, si individuano di volta in volta due piani tangenti alla funzione nell'intorno **ui**.