Trattamento delle condizioni al contorno geometriche¶
Il sistema lineare \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) risolto a ogni iterazione con il metodo Newton-Raphson non incorpora ancora le condizioni al contorno geometriche (vincoli di spostamento). Questo capitolo mostra come modificare la matrice di rigidezza \(\boldsymbol{u} = \bar{\boldsymbol{u}}\) e il vettore residuo \(\boldsymbol{K}\) per i gradi di libertà ai quali sono applicati i vincoli di spostamento \(\boldsymbol{R}\), affinché lo spostamento dopo l'iterazione raggiunga il valore prescritto. I vincoli multipunto (MPC) e i vincoli non lineari dovuti al contatto sono trattati separatamente; vedere Vincoli multipunto e Contatto.
Criterio di mantenimento dei vincoli di spostamento come variabili incognite¶
Lo spostamento di un nodo soggetto a una condizione al contorno geometrica non è più una variabile incognita, ma è fissato al valore prescritto \(\bar{u}_i\). Questi gradi di libertà potrebbero essere trattati come costanti ed eliminati dal sistema lineare \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\); FrontISTR, invece, impone i vincoli riscrivendo \(d\boldsymbol{u}\) e \(\boldsymbol{K}\), mantenendo i gradi di libertà vincolati nel vettore di correzione \(\boldsymbol{R}\) allo stesso modo degli altri gradi di libertà.
Con questo metodo, la dimensione della matrice dei coefficienti e l'ordinamento dei gradi di libertà non cambiano in funzione della presenza dei vincoli, pertanto non è necessario eliminare le variabili e ricompattare le righe e le colonne liberate. Poiché tale ricompattazione è complessa in un'implementazione che memorizza la matrice dei coefficienti in formato sparso, FrontISTR adotta il secondo metodo, nel quale i vincoli sono applicati aggiornando soltanto la matrice dei coefficienti e il termine noto.
Valore obiettivo della correzione Newton-Raphson¶
Per il grado di libertà vincolato in spostamento \(i\), \(\boldsymbol{K}\) e \(\boldsymbol{R}\) vengono modificati in modo che la correzione \(du_i\) ottenuta nell'iterazione Newton-Raphson soddisfi
In questo modo, alla prima iterazione l'incremento di spostamento raggiunge il valore prescritto \(\bar{u}_i\) e, dalla seconda iterazione in poi, la correzione diventa \(0\), mantenendo il valore prescritto.
Procedura di modifica della matrice e del vettore residuo¶
Il valore obiettivo descritto nella sezione precedente viene ottenuto mediante le seguenti due modifiche, mantenendo la forma del sistema lineare \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\).
- Diagonalizzazione della riga \(i\): sostituire con \(du_i\) il termine diagonale \(K_{ii}\), coefficiente di \(1\), sostituire con \(K_{ij}\ (j \not= i)\) tutti gli altri coefficienti \(0\) e porre il termine noto a \(R_i \to d\bar{u}_i\). In questo modo l'equazione della riga \(i\) diventa \(du_i = d\bar{u}_i\).
- Trasferimento dalle righe \(j(\not= i)\): per ogni riga \(j(\not= i)\), se \(K_{ji} \not= 0\), trasferire al termine noto il termine \(K_{ji} du_i = K_{ji} d\bar{u}_i\). In altre parole, sottrarre \(K_{ji} d\bar{u}_i\) dal termine noto e porre a \(du_i\) il coefficiente \(K_{ji}\) di \(0\).
In forma per componenti, le equazioni prima e dopo la modifica corrispondono come segue.
Indicando rispettivamente con \(\tilde{\boldsymbol{K}}\) e \(\tilde{\boldsymbol{R}}\) la matrice dei coefficienti e il termine noto dopo la modifica, il sistema lineare da risolvere risulta infine
Se sono presenti più gradi di libertà vincolati, le modifiche 1 e 2 sopra descritte vengono applicate in successione a ciascun grado di libertà vincolato \(i\).
Ambito di elaborazione nell'implementazione a matrice sparsa¶
Nell'implementazione, la matrice dei coefficienti \(\boldsymbol{K}\) è memorizzata in formato sparso. Pertanto, l'elaborazione delle righe \(j(\not= i)\) nella procedura 2 della sezione precedente viene eseguita soltanto per le righe che presentano elementi non nulli nella colonna \(i\), ossia per i gradi di libertà dei nodi collegati tramite elementi al grado di libertà vincolato \(i\). Per i gradi di libertà non collegati, \(K_{ji} = 0\), quindi il trasferimento del termine non modifica il termine noto. Questa limitazione consente di completare il trattamento dei vincoli mediante sole operazioni locali rispetto al numero totale di nodi.
Argomenti correlati¶
- Lavoro virtuale delle forze esterne e assemblaggio dell'equazione globale — Costruzione di \(\boldsymbol{K}\) e \(\boldsymbol{R}\) prima della modifica
- Metodo Newton-Raphson — Relazione con l'iterazione per ottenere la correzione \(d\boldsymbol{u}\)
- Criteri di convergenza — Valutazione della norma del residuo \(\tilde{\boldsymbol{R}}\) dopo il trattamento dei vincoli