wikipaom2018:lez_2018-05-10
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedente | |||
wikipaom2018:lez_2018-05-10 [2018/05/29 22:37] – 243785 | wikipaom2018:lez_2018-05-10 [2018/05/29 22:39] (versione attuale) – 243785 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | Lezione a cura di Francesco Ronzini ---> da ricontrollare | ||
+ | |||
+ | **Algoritmo Newton-Raphson per sistemi di equazioni | ||
+ | non-lineari** | ||
+ | |||
+ | Considero un sistema non lineare di n equazioni | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Si ha un' | ||
+ | |||
+ | In particolare __u__ è un vettore che contiene le componenti di spostamento e rotazione nodale rispetto ad una configurazione dichiarata indeformata, | ||
+ | __F__ è un termine noto in funzione delle variabili quindi è un’incognita anch’esso, | ||
+ | |||
+ | Perché si vogliono utilizzare queste forze in funzione delle configurazioni? | ||
+ | |||
+ | 1. Forza centrifuga | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Si ha un motore che potrebbe avere il suo specifico problema di instabilità. Questo rotore in configurazione deformata nasce storto poiché c’è un errore geometrico nella costruzione dell’albero, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | questa è l’entità ella forza nell’intorno della configurazione indeformata. Ovviamente può succedere che a fronte dell’applicazione di questa forza questa massa si posti ulteriormente in direzione radiale, per cui la sua posizione diventa, se questo è lo spostamento u. un u+δ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Perciò la forza esterna diventa però u è la posizione incognita. In questo caso le forze esterne sono funzione della posizione dei nodi. | ||
+ | |||
+ | 2. Trave che flette | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Si prenda una trave incastrata e la si carichi con un razzetto in testa, che spinge con spinta da razzo. Il punto sul quale è applicata questa spinta è saldato in testa alla trave. Quando la trave è verticale, la forza che imprime alla stessa è verticale. Se la trave si deforma, in particolare flette, il nostro razzetto applica una spinta che è sempre comunque allineata con la tangente al terminale della trave. | ||
+ | Questo tipo di forze nei codici vengono chiamate //following forces//, cioè le forze che “seguono” la deformata. | ||
+ | |||
+ | |||
+ | Abbiamo giustificato il perché aprirci alla possibilità di una forza esterna che è funzione della deformata. Tornando al sistema iniziale __R__ è un vettore, definisce la risposta elastica non lineare della struttura. In pratica è un vettore che contiene le componenti azioni nodali necessarie a mantenere una struttura in equilibrio nello stato deformativo associato al vettore spostamento nodale __u__, ovvero quel vettore contente le componenti delle azioni nodali associate (in particolare uguali e contrarie) alle reazioni elastiche della struttura costrette in trave in stato deformata. | ||
+ | Cioè se si applica ad ogni nodo un vincolo che lo costringe a stare in una configurazione deformata, le reazioni vincolari che si ottengono su quei vincoli si prendono e si cambiano di segno. Nel caso particolare di un sistema elastico lineare, __R__(__u__) non è altro che la matrice di rigidezza per __u__ stesso, lo si può anche scrivere in forma diversa, senza perdere di generalità, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Il fatto di aprire alla possibilità che la matrice K dipenda da __u__ induce non linearità. | ||
+ | __F__, i carichi esterni, possono essere anche funzioni dell’entità degli spostamenti imposti, si risolva il problema dicendo che sistema di partenza è già vincolato. Quindi quello che si chiama F in realtà è già F_constrain. | ||
+ | Fc in vincolo è già stato inserito nel termine noto. Quell’oggetto è funzione delle forze applicate ma anche dei vincoli. Il concetto è che sistema non è ulteriormente da vincolare. I gradi di libertà sono già quelli indipendenti. | ||
+ | |||
+ | Una scrittura alternativa prevede la definizione e poi l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | In questo modo riesco a rendere queste due funzioni non lineari e ad indurla ad un unico oggetto per semplicità. Le ho tenute separate perché ognuna delle due ha un significato ben precisa nel caso strutturale. Le azioni esterne e le reazioni elastiche del sistema. | ||
+ | |||
+ | Il metodo di Newton è unidimensionale. Si può usare il metodo di bisezione per poter risolvere il caso di un’equazione non lineare, non è pensabile di applicare il metodo di bisezione ad un sistema di equazioni di n incognite, si può ancora fare ma non tutto quello che funziona in 2D può essere espanso all’ "// | ||
+ | Comunque il metodo di N-R è costituito partendo dallo sviluppo in serie di Taylor al primo ordine dell’equazione di equilibrio, nell’intorno di un a configurazione. È un metodo iterativo, in ogni caso propongo una configurazione deformata e cerco una configurazione deformata migliore. Questo è il senso di uno step. Questo step mi dovrebbe fornire una configurazione con residuo minore, una in cui il disequilibrio è calato. Suppongo di avere una proposta che la mia //i-esima// proposta di iterato nella configurazione deformata. Un sistema non-lineare non si sa come trattarlo se prima non lo si linearizza. Di fatto si linearizza il sistema di equazioni nell’intorno della mia proposta //i-esima// per la deformata. Posso scrivere un’espressione in serie di Taylor multivariata, | ||
+ | Espando e chiamo //U_star// la soluzione esatta, che non conosco. Il residuo di //U_star// può essere scritto come il residuo calcolato sulla mia proposta di configurazione deformata più un termine correttivo al primo ordine | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | __J_ r__ è una matrice i cui termini alla riga __l__ e colonna __m__ sono definibili da derivate parziali | ||
+ | |||
+ | Se si vuole avvicinare | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Questo vettore è fatto di componenti, si prenda la sua // | ||
+ | Quest’oggetto oggetto è un set residuo in corrispondenza della soluzione esatta del residuo stesso. | ||
+ | |||
+ | Lo Jacobiano del residuo è definito come differenza dei due Jacobiani essendo la sottrazione un’operazione lineare. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Dall’espansione di Taylor scritta prima, trascurando il termine di ordine superiore, tale identità, scrittoa | ||
+ | Quindi prendendo spunto dall' | ||
+ | Facendo così mi aspetto un errore che sia superiore ad un infinitesimo di ordine superiore rsipsteoo a soluzione con// U_star// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Ispirandosi a questa formula con cambiamenti che si sono definiti, si riesce ad arrivare a tale forma, per cui lo Jacobiano calcolato con configurazione deformata, si può compattare la notazione semplicemente con Jacobiano // | ||
+ | Lo Jacobiano della funzione residuo calcolato nella configurazione proposta // | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Risolvo un sistema lineare ed assegno soluzione al vettore delle incognite. Quindi quest’oggetto è la soluzione di un sistema lineare di equazione che ha residuo dell’iterato corrente come termine noto e lo Jacobiano all’iterato corrente come matrice di sistema, quest’oggetto è vettore soluzione. | ||
+ | Ad ogni iterato devo risolvere un sistema che ha lo stesso numero di incognite e di equazioni del mio sistema lineare elastico equivalente. Quando approccio un calcolo non lineare di tipo strutturale, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Da questa forma riesco a trovare un’analogia abbastanza evidente con il caso lineare, | ||
+ | |||
+ | - se considero solo uno stato finale di carichi applicati parto dalla condizione di scarico e quindi avrò U_=0, questo potrebbe mettere in difficoltà il risolutore del metodo N-R poiché gli faccio eseguire un salto troppo elevato da scarico a caricato; | ||
+ | |||
+ | - definisco un a storia di carico definita per passi, al tempo zero ho un carico zero ed al tempo 1 ho il carico finale, definendo 20 intervalli intermedi, | ||
+ | Se ho sistema per cui carico finale è di una certa entità non mi conviene di fare un salto in cui prendo la configurazione nulla come U_0 sperando che N- R mi dia risultato ad un caso finito, ma definisco una fittizia dimensione temporale. | ||
+ | Nel caso del rotore (visto in precedenza) faccio variare Ω, se si vuole risolvere il problema | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Man mano che aumento livelli di carico io parto a cercare | ||
+ | Devo anche definire un criterio di convergenza, | ||
+ | |||
+ | 1.1. Convergenza RESIDUI: fermo l’iterazione quando residuo associato all’iterato appena calcolato è minore di una certa soglia in norma e quella è una soglia assoluta. In che unità di misura verrà espresso? | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | in quella scrittura non c’è vero senso fisico soprattutto se le unità di misura sono associati a spostamenti misti, ovvero traslazioni e rotazioni. Ci potrebbero essere dei problemi quando gli spostamenti sono della scala dei mm, mentre le rotazioni sono in radianti, si potrebbero sommare oggetti con unità di misura diverse tra loro. Un termine però è generalmente più preponderante dell’atro. Questo comunque potrebbe dare problemi per la determinazione di una soglia di convergenza. | ||
+ | |||
+ | 1.2. Convergenza alle INCOGNITE (nel caso FEM è una convergenza agli spostamenti) mi fermo quando iterato successivo è molto simile all’iterato che ho ottenuto in partenza, ovvero le variazioni che ottengo procedendo | ||
+ | |||
+ | 2. Implementazione di livelli di tolleranza relativi, ovvero io vorrei che iterato procedesse finché la soluzione proposta di scosta da quella in cui sono partito meno dell’un per mille. Bisogna individuare opportuni termini di riferimento, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Graficamente nell’1D posso rappresentare il metodo di Newton come in dispensa wiki, ho che la forza esterna cresce linearmente con lo spostamento in questo caso centrifugo della massa, per via di quell’iniziale delta ho una forza non nulla anche in corrispondenza di scostamento nullo. Se albero fosse perfettamente rettilinea linea blu partirebbe proprio Da zero ma a causa di delta parte da un valore finito. Man mano che aumento spostamento centrifugo della mia massa che è l’unico valore incognito del mio problema, la forza esterna cresce. | ||
+ | La reazione elastica cresca, ho supposto che questo sistema sia caratterizzato da un comportamento stiffering, ovvero che si aumenti la rigidezza all’aumentare della deformazione. Questo è dovuto al fatto che per piccole deformate quell’albero tende a lavorare a flessione rotante per grandi deformazioni invece tende a lavorare con sforzi normali. | ||
+ | C’è una tendenza ad incrementare più che linearmente il carico all’aumentare dello spostamento. All’inizio trave cede sotto flessione e alla fine a sforzo normale. | ||
+ | La soluzione si ha quando i carichi esterni sono uguali ai carichi necessari per giustificare elasticamente lo spostamento. La differenza R – F è di questa soluzione residuo. | ||
+ | Parto da una configurazione di iterato i-esimo, mi calcolo il residuo (questa curva la ottengo alla fine dei miei iterati, ciò che conosco passo dopo passo di questo metodo è il punto di iterazione e la sua tangente). In questo punto tangente, abbiamo residuo, lo jacobiano, la soluzione di sistema lineare che ha come matrice lo Jacobiano e come termine noto il residuo, si risolve in maniera grafica cercando intersezione tra questa tangente con l’asse U, così troviamo l’iterato successivo, finché non ci si avvicina alla soluzione. | ||
+ | |||
+ | |||