wikipaom2016:lez10
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
wikipaom2016:lez10 [2016/04/15 21:13] – 213129 | wikipaom2016:lez10 [2016/05/29 19:45] (versione attuale) – 213129 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== Algoritmo Newton-Raphson per sistemi di equazioni non lineari: Iterazione base ====== | ||
+ | |||
+ | Si consideri una struttura elastica con risposta non lineare, soggetta a carichi esterni che possono essere funzione della configurazione deformata. | ||
+ | Il sistema ha n gradi di libertà, quindi scrivo: | ||
+ | | ||
+ | R(u): vettore di n componenti rappresentative delle azioni da applicare dall’esterno ai gradi di libertà della struttura (se, ad esempio, i gdl sono spostamenti allora bisognerà applicare delle forze, se, invece, sono delle rotazioni applicherò delle coppie, se sono delle variazioni volumetriche applicherò delle pressioni idrostatiche) per mantenere la struttura nella configurazione deformata descritta dal vettore spostamenti nodali u. | ||
+ | |||
+ | F(u): vettore contenente le componenti delle forze nodali da applicare dall’esterno per mantenere nella configurazione di equilibrio la struttura. | ||
+ | |||
+ | Può essere, altrimenti, definita una grandezza ausiliaria r(u) chiamata residuo: | ||
+ | \[r(u)=R(u)-F(u)\] | ||
+ | |||
+ | In configurazione di equilibrio, | ||
+ | |||
+ | Sistemi di equazioni di questo tipo, di n equazioni in n incognite, si risolvono tramite una procedura iterativa che richiede: | ||
+ | - **Punto/ | ||
+ | - **Sistema iterativo** $\underline{u}^{i+1}=\underline{u}^{i}-J^{i}_{r} \setminus\ \underline{r}^{i}$ . Tale sistema utilizza come matrice dei coefficienti lo Jacobiano della funzione r calcolato per $u^{i}$; inoltre, siccome la funzione r è scritta come combinazione lineare di due funzioni, possiamo scrivere anche lo Jacobiano come combinazione lineare $J_{r}|_{{u}={\underline{u}^{i}}}= J_{R}|_{u=\underline{u}^{i}} + J_{F}|_{u=\underline{u}^{i}}$. Il termine noto è rappresentato da | ||
+ | - **Criteri di convergenza** legati alla specifica problematica strutturale.I differenti tipi di criteri di convergenza sono: | ||
+ | * Criterio di convergenza ai residui/ai disequilibri nodali.Con tale criterio l' | ||
+ | * Criterio di convergenza alle incognite, che nel caso specifico diventa agli spostamenti o alla rotazioni, in base ai gdl. Si potrebbe richiedere che $\left \| u^{i}-u^{*} \right \|< \varepsilon ^{s}$ ma ciò non è possibile perché $u^{*}$ rappresenta la soluzione esatta. L’unica differenza che posso considerare è quella tra due iterati successivi, cioè $\left \| u^{i+1}-u^{i} \right \|< \varepsilon ^{s}$. L' | ||
+ | |||
+ | Supponiamo di avere una trave con un lungo braccio deformabile a cui è attaccata in testa una forchetta: | ||
+ | {{ : | ||
+ | |||
+ | La deformazione macroscopica prevede una grossa rototraslazione della forchetta nello spazio. Considero il braccio piuttosto cedevole e la forchetta piuttosto rigida e ottengo la seguente deformata: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Se si usa come normalizzatore la norma degli spostamenti in assoluto, essa ha una scala adimensionale che è dovuta alla deformazione del supporto cedevole; l’equilibrio dei bracci delle forchetta, viceversa, si riferisce a scale deformative molto più piccole perché molto più rigido; per cui un lieve spostamento di apertura e chiusura di questa forchetta determina una grossa variazione delle sollecitazioni lungo la forchetta stessa. Se ammetto un errore relativo dell’ordine del 0.001, ipotizzando di avere uno spostamento dell’ordine di 100mm, l’errore ammesso risulta essere di 1/10 di mm, accettabile se riferito alla deformazione del braccio, cioè al moto a bassa energia potenziale elastica; invece, se applico lo stesso errore all' | ||
+ | |||
+ | In conclusione, | ||
+ | |||
+ | Il problema è ancora più evidente se si considera un caso specifico, come quello di un sollevamento di un macchinario costruito su un telaietto di supporto che ha una struttura rigida, il tutto sollevato da quattro catene. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Questo oggetto ha dei moti a bassa energia elastica, in particolare, | ||
+ | |||
+ | Il moto della struttura nello spazio sospeso tra le quattro catene è l’elemento a bassa energia potenziale elastica mentre la deformazione del telaietto sotto il peso del macchinario che sostiene è l’elemento ad alta energia potenziale elastica associata. | ||
+ | |||
+ | Poiché l’errore relativo è adimensionalizzato sui macro spostamenti del sistema di sollevamento, | ||
+ | |||
+ | Un errore dell’ordine di 10mm nella rototraslazione è accettabile perché ad esso è associata poca energia elastica e poche sollecitazioni e avviene con spostamenti dell’ordine di 1000mm quindi l’errore rappresenta l’1% relativo del fenomeno di ampia deformabilità. Se considero la deformazione del telaietto stesso, cioè un errore del posizionamento relativo in una direzione data di 10mm, ottengo un momento flettente che può avere valori da cui scaturiscono stati tensionali associati molto elevati. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Anche in questo caso, perciò, c’è un grosso problema nel definire il denominatore per rendere relativo l’errore, quindi meglio considerarlo in termini assoluti, a meno che non si sia in grado di trovare un buon adimensionalizzante. | ||
+ | |||
+ | |||
+ | ===== Costruzione grafica del metodo Newton-Raphson: | ||
+ | |||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | |||
+ | Sia u un vettore di una sola componente, perché caso monodimensionale, | ||
+ | |||
+ | La reazione elastica della struttura è la curva in rosso R(u). La soluzione esatta corrisponde ad $u^{*}$, punto in cui le due curve si incontrano e si eguagliano. Facendo la sottrazione tra le due curve si ottiene la curva del residuo $r(u)$ in nero. | ||
+ | |||
+ | Parto da un generico $r(u^{i})$ e vado a calcolare il suo residuo definendo il punto $r(u^{i})$. In genere la curva r(u) non è data altrimenti si avrebbe già la soluzione, perciò, si calcola il residuo di $u^{i}$ che è l’unico punto visibile di tutta la curva. N-R prevede di conoscere, oltre al residuo, anche lo Jacobiano che è una matrice con tutte le derivate parziali, in questo caso, una matrice 1x1 con un unico elemento, cioè la derivata totale $\frac{\mathrm{d} r}{\mathrm{d} u}$, rappresentata graficamente tramite la pendenza della tangente. Noto il residuo e lo Jacobiano è, infatti, possibile risolvere il sistema di equazioni, associato al passo di iterazione, per via grafica, in un’unica equazione, e la soluzione non è altro che l’intersezione della retta tangente con l’asse $r(u)=0$ . Questa intersezione mi fornisce $u^{i+1}$, il successivo passo iterativo. A questo punto, è possibile ripetere la procedura partendo da questo nuovo passo. | ||
+ | |||
+ | | ||
+ | |||
+ | Con riferimento alla figura sottostante si tratta il metodo di N-R applicato ad un caso bidimensionale. | ||
+ | {{: | ||
+ | |||
+ | Sia $\underline{r}(\underline{u})$ la funzione // | ||
+ | |||
+ | Si supponga di trovarsi all’i-esimo step di iterazione. | ||
+ | |||
+ | Nella Figura (a) sono rappresentate le due funzioni | ||
+ | La soluzione che si intende avvicinare il più possibile mediante il metodo di N-R è rappresentata dal punto $\underline{u}^{*}$, | ||
+ | |||
+ | Si tenga presente però che tali curve non sono note al risolutore, il quale conosce soltanto: | ||
+ | - il valore che esse assumono in $\underline{u}^{i}$ | ||
+ | - il valore di tutti gli elementi della matrice Jacobiana di $\underline{r}(\underline{u})$ calcolata in $\underline{u}=\underline{u^{i}}$ | ||
+ | |||
+ | Per procedere si individuano due piani, rispettivamente tangenti alle curve $r_{1}(\underline{u})$ ed $r_{2}(\underline{u})$, | ||
+ | * $T_{1}^{i}(\underline{u})$ è tangente ad $r_{1}(\underline{u}=\underline{u}^{i})$ | ||
+ | * $T_{2}^{i}(\underline{u})$ è tangente ad $r_{2}(\underline{u}=\underline{u}^{i})$ | ||
+ | |||
+ | __Nota: | ||
+ | |||
+ | Per individuare un piano sono in generale necessari tre elementi: un punto dello spazio per cui passa il piano e due coefficienti ad indicarne l’inclinazione, | ||
+ | |||
+ | Nel caso del piano $T_{1}^{i}(\underline{u})$ il punto di passaggio è $( \underline{u}^{i} , r_{1}(\underline{u}=\underline{u}^{i}) )$, ed i due coefficienti sono gli elementi della prima riga dello Jacobiano di $\underline{r}(\underline{u})$, | ||
+ | $$\begin{bmatrix}\frac{\partial r_{1}}{\partial u_{1}} & \frac{\partial r_{1}}{\partial u_{2}} \\ | ||
+ | \frac{\partial r_{2}}{\partial u_{1}} & | ||
+ | \end{bmatrix}$$ calcolata per $\underline{u}=\underline{u}^{i}$. | ||
+ | |||
+ | Nel caso del piano $T_{2}^{i}(\underline{u})$ il punto di passaggio è $( \underline{u}^{i} , r_{2}(\underline{u}=\underline{u}^{i}) )$, ed i due coefficienti sono gli elementi della seconda riga dello Jacobiano di $r(\underline{u})$ $$\begin{bmatrix} | ||
+ | \frac{\partial r_{1}}{\partial u_{1}}& | ||
+ | | ||
+ | \end{bmatrix}$$ | ||
+ | |||
+ | |||
+ | Nella Figura (b) sono rappresentati i due piani tangenti $T_{1}^{i}(\underline{u})$ e $T_{2}^{i}(\underline{u})$ con curve di livello, che nel caso di piani sono sempre rettilinee, | ||
+ | |||
+ | La linea di livello di valore $T_{1}^{i}(\underline{u})=0$, | ||
+ | |||
+ | Si può dire lo stesso per la linea di livello di valore | ||
+ | |||
+ | Siccome tali curve di livello sono rette, per trovare il punto di incontro delle due curve di valore zero sarà dunque sufficiente risolvere un sistema di due equazioni **lineari** in due incognite. Le incognite in questione non sono altro che le componenti di $\underline{u}^{i+1}$ punto del **piano $(\underline{u}_{1} , \underline{u}_{2})$**, | ||
+ | |||
+ | Allo step successivo (i+1-esimo) si dovranno nuovamente individuare due piani, rispettivamente tangenti alle curve $r_{1}(\underline{u})$ ed $r_{1}(\underline{u})$, | ||
+ | * $T_{1}^{i+1}(\underline{u})$ è tangente ad $r_{1}(\underline{u}=\underline{u}^{i+1})$ | ||
+ | * $T_{2}^{i+1}(\underline{u})$ è tangente ad $r_{2}(\underline{u}=\underline{u}^{i+1})$ | ||
+ | |||
+ | Si dovrà poi graficare tali piani secondo curve di livello (di **forma rettilinea e completamente note**) ed individuare il punto di incontro delle curve rettilinee a valore nullo. Sarà poi possibile procedere al calcolo di $\underline{u}^{i+2}$ mediante la risoluzione di un nuovo sistema **lineare**. | ||
+ | |||
+ | L’iterazione proseguirà, | ||
+ | |||
+ | Nel caso di figura si noti come la configurazione | ||
+ | |||
+ | Nel caso monodimensionale il metodo può non risultare convergente per diverse motivazioni di semplice rappresentazione: | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | Si noti per esempio il caso, citato anche in aula, in cui nell’iterazione si incontra un punto della funzione a tangente orizzontale. L’estensione bidimensionale di questa condizione è rappresentata da una matrice Jacobiana completamente nulla, in uno dei punti di campionamento. | ||
+ | |||
+ | In realtà il metodo per il caso 2D non converge anche quando la matrice Jacobiana è singolare nel punto di campionamento. In questo caso esiste una retta appartenente ad uno dei piani tangenti che è parallela al piano $u_{1}u_{2}$ ( e che quindi non lo interseca mai ). Muovendosi quindi lungo la direzione individuata da tale retta la si ha quindi una componente del residuo che non cambia (non cambiano le reazioni elastiche oppure la variazione delle reazioni elastiche è completamente compensata dalla variazione delle forze esterne, funzione della configurazione. In altri termini si presenta una condizione di **equilibrio indifferente**). | ||
+ | |||
+ | Come si è potuto notare, il caso 2D è di non semplice rappresentazione, | ||
+ | |||
+ | |||
+ | Nel caso specifico dell’albero rotante, visti i problemi del N-R decido di doverlo “aiutare”. | ||
+ | |||
+ | Non pretendo di risolvere il sistema direttamente per la velocità di rotazione $\Omega$, perché per passare dallo stato per $\Omega=0$ (soluzione indeformata) allo stato finale $\Omega$, il salto è troppo grande e il N-R non converge. Decido pertanto di inventarmi una fittizia successione temporale, definendo una $\Omega(t)$, | ||
+ | |||
+ | Definisco una funzione $\Omega$ che cresce lentamente in maniera lineare, (essendo che di solito sono le forze a crescere in maniera lineare), faccio crescere linearmente $\Omega^{2}$ . | ||
+ | |||
+ | Invento una successione temporale della mia sollecitazione; | ||
+ | |||
+ | Partendo da qui, con un piccolo carico, probabilmente il N-R riesce a risolverlo; quindi sostanzialmente, | ||
+ | |||
+ | Definisco una $\Omega(tj)=\Omega_{j}$ e definisco una $\underline{u}^{i}_{j}$ i-esimo passo del N-R. | ||
+ | Considero quindi $\underline{u}^{0}_{0}=\underline{0}$ con i=0 e j=0 (soluzione di $\Omega_{0}=0$) che chiamo anche $\underline{u}^{*}_{0}$ indeformata della soluzione esatta del carico nullo. | ||
+ | |||
+ | Pongo il problema di risolvere | ||
+ | |||
+ | Definisco quindi tanti livelli di carico, e per ogni salto di livello di carico eseguo un iterazione di N-R: quindi due iterazioni unificate, una che scorre su livelli di carico e una che prevede l’iterazione di N-R. | ||
+ | |||
+ | Come funziona? Di seguito poniamo uno schema grafico associato al problema precedentemente trattato. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | F(u) è la forza associata ad un dato valore di $\Omega$ in questo caso poniamo F(u) associato a $\Omega_{j+1}$ , e il valore della forza associato ad un omega minore (è la retta con la pendenza minore) che è F(u), $\Omega_{j}$, | ||
+ | |||
+ | Non lancerò pero N-R sul salto da configurazione indeformata al valore di $\Omega$ finale, ma lo “aiuto” facendo il salto gradatamente. | ||
+ | La reazione del sistema è R(u), che combinata con la forza mi dà la soluzione esatta $\underline{u}_{j}^{*}$ a livello di carico j. | ||
+ | |||
+ | Suppongo di aver già lanciato N-R e di aver ottenuto la convergenza per il livello di carico j, ( $\underline{u}_{j}^{*}$ come soluzione esatta è un risultato teorico), quindi quello che ho in effetti è un’approssimazione di questo $\underline{u}_{j}^{*}$ . | ||
+ | |||
+ | Lancio N-R sul valore di $\underline{u}_{j}^{*}$ e mi fornisce un valore di $\underline{u}_{j}^{fin}$ con $\underline{r}(\underline{u}_{j}^{f in})\neq 0$; quindi diciamo che ogni iterato di N-R lanciato ad un determinato salto di livello di carico non mi fornisce una soluzione esatta, ma affetta da errore: c’è uno scostamento a livello di spostamento di soluzione esatta e uno a livello di residuo sulla soluzione esatta. | ||
+ | |||
+ | Quindi utilizzo $\underline{u}_{j}^{f in}$ come punto di partenza per ricavare $\underline{u}_{j+1}^{0}$ e N-R per livelli di carico successivo lo faccio partire da questo valore, che sul grafico è rappresentato come la curva di residuo. | ||
+ | |||
+ | Per disegnarla parto dal valore $\underline{u}_{j+1}^{0}$ e il successivo calcolato sulla verticale, il sistema ha soluzione esatta nel punto in cui si annulla la funzione, quindi la curva in nero è il residuo calcolato come: | ||
+ | $$r(u, | ||
+ | |||
+ | $\underline{u}_{j+1}^{0}$ diventa il mio nuovo $u_{0}$ nel passaggio dal livello di carico j al livello di carico j+1; da qui parto, faccio il N-R e ottengo il valore $\underline{u}_{j+1}^{1}$, | ||
+ | |||
+ | Nella procedura di N-R non vi è accumulo di errore, perché sono partito da un $u_{0}$ affetto da errore, ma per N-R questo può essere un punto a piacere, quindi non essendoci alcuna restrizione sul punto di partenza, non mi influisce sul risultato finale (può al massimo non convergere, ma se convergo non ho accumulato errore). | ||
+ | |||
+ | Ciò si verifica a meno che il sistema non sia “historic-dipendent”, | ||
+ | |||
+ | |||
+ | **AUTORI** | ||
+ | |||
+ | Luca De Lorenzis, mat.104170, Francesca Palano, mat. 103804, Diego Zambelli, mat. 105031, Asia Marcello, mat.104394. | ||
+ | |||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | ~~DISCUSSION~~ |