La trasformazione congruente rappresenta un passaggio fondamentale nel processo di analisi agli elementi finiti, consentendo di convertire le matrici di rigidezza e i vettori di carico dal sistema di riferimento locale a quello globale. Questa trasformazione, definita attraverso le equazioni [k̂] = [Γ]^T [k][Γ] e {f̂} = [Γ]^T {f}, garantisce la simmetria della matrice trasformata [k̂], a condizione che la matrice originaria [k] sia simmetrica. Elementi diversi – come telai piani, telai spaziali o reticoli – costituiscono semplici casi particolari di questa trasformazione, adattata secondo i gradi di libertà pertinenti a ciascun tipo di elemento.

Nel caso, ad esempio, di un elemento di telaio piano posto nel piano X–Y, vi sono tre gradi di libertà per nodo: due traslazioni e una rotazione. La matrice di trasformazione [Γ] si semplifica assumendo una forma costituita da blocchi identici [γ], dove [γ] è una matrice di rotazione derivata dall’angolo α fra l’asse locale x e l’asse globale X. I coseni direttori λ e μ, definiti come λx = μy = cosα e μx = –λy = sinα, compongono la struttura di [γ].

Una volta trasformati gli elementi nel sistema globale, il passo successivo consiste nella costruzione delle equazioni globali di rigidezza della struttura. Questo processo si fonda su due condizioni fondamentali: la compatibilità e l’equilibrio. La compatibilità impone che tutti gli elementi connessi a uno stesso nodo condividano gli stessi spostamenti per ciascun grado di libertà. L’equilibrio, invece, richiede che le forze nodali esercitate dagli elementi si bilancino con i carichi esterni applicati.

L’assemblaggio della matrice globale di rigidezza si ottiene sommando i contributi delle matrici di rigidezza di ciascun elemento nei gradi di libertà corrispondenti. Tale processo, noto come assemblaggio di rigidezza, implica anche la costruzione del vettore globale dei carichi, che riflette i punti di applicazione dei carichi stessi. Le condizioni al contorno, ovvero i vincoli, vengono integrate direttamente nell’assemblaggio attraverso un vettore di identificazione che distingue i gradi di libertà attivi da quelli vincolati. I gradi di libertà vincolati, essendo nulli, comportano l’eliminazione delle colonne corrispondenti nella matrice [K], mentre le righe corrispondenti rappresentano le reazioni vincolari e non partecipano alla soluzione del sistema.

Dopo l’eliminazione dei gradi di libertà vincolati, si ottiene una matrice di rigidezza ridotta [K] di dimensioni N×N e un vettore di carico {P} di dimensioni N×1, dove N rappresenta il numero di gradi di libertà attivi. A ciascun tipo di elemento corrisponde un numero differente di gradi di libertà n (es. n=6 per un telaio piano, n=12 per uno spaziale, n=4 per un reticolo piano). Le matrici e i vettori degli elementi, trasformati nel sistema globale, possono essere concettualmente estesi a N×N e N×1 mediante l’introduzione di zeri nelle posizioni non attive e l’eliminazione dei termini relativi ai gradi di libertà vincolati.

Attraverso un’adeguata gestione delle numerazioni dei gradi di libertà, è possibile sommare algebricamente i contributi di ciascun elemento per costruire la matrice di rigidezza globale:

  [K] = ∑(i=1→E) [k̂(i)]
  {P} = ∑(i=1→E) {f̂(i)}

dove E è il numero totale degli elementi, [k̂(i)] è la matrice di rigidezza trasformata e ridotta dell’elemento i, e {f̂(i)} è il relativo vettore di carico. In ambito computazionale, l’allocazione iniziale di tutte le voci di [K] e {P} avviene con valori nulli, per poi essere aggiornate iterativamente.

Nel caso generale, quando i carichi esterni sono applicati sia sugli elementi che direttamente sui nodi, il vettore globale dei carichi diventa:

  {P} = ∑(i=1→E) {f̂(i)} + {P}n

dove {P}n rappresenta i carichi nodali concentrati. È importante notare che le formule precedenti restano valide anche nel caso in cui l’assemblaggio comprenda elementi di tipo diverso, con numero di gradi di libertà n variabile da elemento a elemento.

In pratica, non è necessario espandere le matri

Quali sono i criteri essenziali per la convergenza nel metodo degli elementi finiti?

Il metodo di Rayleigh–Ritz richiede che le funzioni assunte siano cinematicamente ammissibili, ovvero che soddisfino le condizioni di compatibilità interna e i vincoli geometrici di bordo, senza però la necessità di rispettare le condizioni di bordo naturali. Se il campo di spostamento approssimato viene rappresentato tramite una serie di funzioni complete, l’aggiunta progressiva di tali funzioni consente alla soluzione approssimata di convergere verso quella esatta del problema. Il metodo degli elementi finiti si configura come una variante pratica di questo approccio, suddividendo la struttura in elementi finiti collegati in nodi, anche interni. Gli spostamenti della struttura si ottengono quindi interpolando gli spostamenti nodali tramite funzioni di forma specifiche per ciascun elemento.

L’accuratezza dell’analisi numerica aumenta con il raffinamento della mesh, cioè con l’incremento del numero di gradi di libertà nodali. Affinché la soluzione numerica converga verso quella esatta, devono essere soddisfatti requisiti precisi che si raggruppano in tre ambiti: compatibilità, completezza e stabilità degli elementi finiti. Gli elementi conformi rispettano le condizioni di continuità degli spostamenti all’interno e tra gli elementi, mentre gli elementi non conformi, pur violando la compatibilità interelemento, possono ancora essere utilizzati se, al crescere della raffinazione della mesh, tendono allo stato di deformazione costante. Tuttavia, la convergenza di modelli con elementi non conformi può non essere monotona.

La completezza riguarda la capacità delle funzioni di spostamento di rappresentare i modi di corpo rigido e gli stati di deformazione costante. Dal punto di vista della formulazione, è essenziale che un elemento finito riproduca almeno i modi di corpo rigido, ottenibili inserendo termini costanti e lineari nelle funzioni di interpolazione polinomiali. La rappresentazione degli stati di deformazione costante è necessaria per modellare con precisione strutture in cui la deformazione varia complessamente, soprattutto in elementi come travi e piastre soggetti a flessioni, dove le deformazioni sono interpretate come deformazioni generalizzate. Il caso di deformazioni costanti include implicitamente anche i modi di corpo rigido come stato particolare a deformazioni nulle.

La stabilità della soluzione implica che il sistema di equazioni strutturali abbia una matrice di rigidezza non singolare e che la struttura sia sufficientemente vincolata per evitare movimenti rigidi liberi. Una struttura stabile garantisce soluzioni uniche e limitate, eliminando possibilità di divergenze o instabilità numeriche. La stabilità rappresenta quindi una condizione sufficiente per la convergenza, mentre compatibilità e completezza sono condizioni necessarie.

Il test patch, introdotto da Irons, verifica tutti questi requisiti in modo pratico. Si costruisce una “patch” di elementi attorno a un nodo interno, caricando solo i nodi di confine per simulare uno stato di tensione costante, mentre i nodi interni rimangono liberi. La soluzione delle equazioni di rigidezza fornisce gli spostamenti nodali da cui si calcolano le tensioni negli elementi. Se le tensioni calcolate coincidono entro una tolleranza con i valori teorici, il test patch è superato. Questo metodo rivela immediatamente eventuali singolarità della matrice di rigidezza e controlla la stabilità degli elementi nella patch. Un elemento che supera il test patch soddisfa tutti i criteri di convergenza e garantisce che le soluzioni approssimate tendano a quella esatta al diminuire della dimensione degli elementi.

In teoria, il test patch deve essere superato per elementi infinitesimali, ma nella pratica la dimensione della patch è meno rilevante per elementi con funzioni di interpolazione polinomiali. Talvolta, un elemento può fallire il test a dimensioni finite ma superarlo quando le dimensioni tendono a zero; in tal caso il test si considera superato in senso debole, assicurando comunque la convergenza.

È fondamentale comprendere che la validità delle soluzioni ottenute tramite il metodo degli elementi finiti dipende non solo dal rispetto formale delle condizioni di compatibilità, completezza e stabilità, ma anche dall’accuratezza con cui il modello discretizza la realtà fisica della struttura. La raffinazione della mesh deve essere accompagnata da una consapevole verifica della qualità degli elementi utilizzati, affinché non si introducano errori di tipo numerico o fisico. Inoltre, le condizioni di vincolo devono essere scelte con attenzione per evitare rigidità artificiale o meccanismi di instabilità nascosti. La comprensione di questi aspetti consente una modellazione più robusta e affidabile, essenziale nelle applicazioni ingegneristiche critiche.

Come Analizzare il Comportamento di un Elemento Strutturale sotto Rotazione RigidBody

Il comportamento di un elemento strutturale sotto rotazioni rigide è fondamentale per l'analisi non lineare degli elementi finiti. In particolare, il comportamento della matrice di rigidità geometrica [kg][kg] gioca un ruolo cruciale nell'analizzare la stabilità e la risposta di un sistema in rotazione. La matrice di rigidità geometrica è infatti una funzione del vettore di forze iniziali 1f{1f}, che agisce sull'elemento nel punto C1C1.

Per garantire che l'elemento sia in equilibrio nel punto C1C1, è possibile scrivere:

1Fxa=1Fxb1F_{xa} = - 1F_{xb}
1Fyb=1Fya=Mza+1Mzb1F_{yb} = - 1F_{ya} = - M_{za} + 1M_{zb}

Di conseguenza, le forze nodali iniziali 1f{1f} possono essere scritte come:

1f=2@1M1[Mza+Mzb]=F1Fxb{1f} = -2 @1M 1 \left[ \begin{matrix} M_{za} + M_{zb} \end{matrix} \right] = F 1 F_{xb} \cdots

Questa espressione, rappresentata anche nella figura 3.6(a), mostra la relazione tra le forze iniziali e le forze generate durante un movimento rigido. In linea teorica, il vettore di spostamento u{u} dovrebbe rappresentare tutti i tipi di spostamenti che l'elemento può subire durante il passo incrementale da C1C1 a C2C2, inclusi gli spostamenti rigidi.

Per semplicità, supponiamo che l'elemento sia soggetto a una rotazione rigida θr\theta_r, che si assume piccola per facilitare i calcoli. Pertanto, il vettore di spostamento rigido ur{u}_r può essere scritto come:

ur=[0,0,θr,0,Lθr,θr]{u}_r = \left[ 0, 0, \theta_r, 0, L\theta_r, \theta_r \right]

Il test di moto del corpo rigido consiste nel verificare se tutte le voci dell'equazione incrementale dell'elemento (3.30) possano cooperare per rappresentare il comportamento di un corpo rigido. Quando le forze sono conservative, il vettore di forze 1f{1f} dopo la rotazione rigida è mostrato in figura 3.6(b). È semplice dimostrare che la matrice di rigidità elastica [ke][ke] genera forze nulle sotto rotazione rigida:

[ke]ur=0[ke]{u}_r = {0}

Questo risultato è atteso, poiché è noto che la matrice di rigidità elastica [ke][ke], come descritto nell'equazione 98, è esatta per l'elemento a trave basato sull'ipotesi di Bernoulli–Euler. In seguito, possiamo osservare che una forza di corpo rigido verrà generata dalla matrice di rigidità geometrica [kg][kg] sotto la rotazione rigida:

[kg]ur=θr(Mza+Mzb)[kg]{u}_r = \theta_r \left( - M_{za} + M_{zb} \right)

Queste forze generate dalla matrice di rigidità geometrica [kg][kg] non sono né nulle né in equilibrio, come evidenziato dalla figura 3.6(c). La fase successiva del test consiste nel sostituire tutti i termini calcolati nell'equazione incrementale dell'elemento per verificare se le forze 2f{2f} previste dall'equazione per l'elemento finito a C2C2 dopo la rotazione rigida θr\theta_r possano davvero rispettare la regola del corpo rigido. In altre parole, calcoliamo le forze risultanti 2f{2f} secondo l'equazione (3.30), cioè sostituendo le equazioni (3.43)-(3.46) nell'equazione (3.30):

2f=[forze risultanti dalla rotazione rigida]{2f} = \left[ \text{forze risultanti dalla rotazione rigida} \right]

Come mostrato nella figura 3.6(d), possiamo osservare che le forze iniziali 1f{1f} sull'elemento finito sono state ruotate di un angolo pari alla rotazione rigida θr\theta_r, mentre le loro magnitudini rimangono invariate. Questo conferma che l'elemento derivato, in particolare la matrice di rigidità geometrica [kg][kg], è in grado di gestire la rotazione rigida del corpo.

Una osservazione importante riguarda il fatto che il test sopra descritto è stato effettuato solo per il caso di rotazione rigida, non per la traslazione rigida, in quanto quest'ultima è considerata banale. In teoria, il test dovrebbe essere condotto per tutte le possibili tipologie di movimenti rigidi di un elemento finito.

Un'altra osservazione derivante dal test del moto del corpo rigido è che le forze 2f{2f} agendo sull'elemento trave dopo la rotazione rigida, se riferite agli assi C1C1, possono essere correlate alle forze iniziali 1f{1f} con la seguente relazione:

2fC1=[T]1fC1{2f}_{C1} = [T]{1f}_{C1}

dove il matrice [T][T] che tiene conto della trasformazione dagli assi C2C2 agli assi C1C1 è data da:

[T]=[R][T] = [R]

Per piccole rotazioni rigide θr\theta_r, la matrice di rotazione [R][R] è:

[R]=[cosθrsinθr0sinθrcosθr0001][R] = \begin{bmatrix}
\cos \theta_r & -\sin \theta_r & 0 \\ \sin \theta_r & \cos \theta_r & 0 \\ 0 & 0 & 1 \end{bmatrix}

Per una rotazione rigida, le forze 2f{2f} riferite agli assi C2C2 (ruotati o deformati) possono essere direttamente correlate alle forze iniziali 1f{1f} riferite agli assi C1C1 come:

2fC21fC1{2f}_{C2} \equiv {1f}_{C1}

Questa relazione, espressa nell'equazione (3.51), è valida per qualsiasi grandezza di rotazione rigida ed è fondamentale nell'analisi incrementale iterativa, in quanto consente di trattare le forze iniziali durante ogni passo di rotazione rigida.

Riflessioni sull'analisi del moto rigido

È importante notare che non ci sono limitazioni significative sull'ampiezza delle rotazioni rigide rispetto alla validità della regola del corpo rigido. Quando si assume una rotazione rigida piccola come nelle equazioni (3.35) e (3.44), stiamo effettivamente parlando del requisito minimo che deve essere soddisfatto da un elemento finito affinché il test del corpo rigido possa essere eseguito in modo matematicamente semplice. Tuttavia, in un'analisi non lineare incrementale-iterativa, ciò che si assume per ogni passo incrementale è che le deformazioni siano piccole, anche se la rotazione rigida può essere grande.

Un altro punto importante è che l'equazione incrementale dell'elemento deve essere scritta nella forma dell'equazione (3.30), in modo che i ruoli delle forze iniziali 1f{1f} e delle forze totali 2f{2f} possano essere pienamente rivelati durante il test del corpo rigido. In molte analisi precedenti, le equazioni incrementali sono state sostituite con forme che non consentono di tenere conto pienamente delle forze iniziali, rendendo il test del corpo rigido impossibile.

Come Applicare l'Analisi Nonlineare Incrementale-Iterativa alle Strutture a Telaio: Una Guida Pratica

Il processo di analisi nonlineare geometrica di strutture a telaio mediante il metodo GDC (Geometrically Nonlinear Displacement Control) si sviluppa attraverso una serie di passaggi che devono essere seguiti con precisione per garantire risultati affidabili. Questo approccio si distingue per la sua capacità di trattare comportamenti nonlineari, come la rigidezza variabile o il comportamento instabile delle strutture durante il carico.

La procedura di base inizia con la determinazione dei decrementi di spostamento per ogni iterazione. Nel primo passo, è fondamentale verificare se il parametro GSP (Global Step Parameter) è negativo. In caso positivo, si moltiplica il fattore di carico λi1 per -1 per invertire la direzione del carico. Successivamente, per ogni iterazione i, si calcolano gli incrementi di spostamento totali {ΔUij} utilizzando l'equazione (7.45), dove si stabilisce che {ΔŪ 1} = {0}. Questo segna l'inizio del ciclo per l'analisi nonlineare.

Per le iterazioni successive (j ≥ 2), il processo continua con la determinazione delle forze sbilanciate {Rij−1} mediante l'equazione (7.9). Il passo successivo è l'aggiornamento della matrice di rigidità [Kij−1], che può essere opzionale, e la risoluzione delle equazioni (7.43) e (7.44) per determinare i vettori di spostamento {ΔÛ j}i e {ΔŪ j}. Inoltre, si utilizza l'equazione di carico (7.66) per calcolare il nuovo λij. Una volta determinati questi valori, si aggiornano gli incrementi di spostamento totali per l'iterazione j utilizzando l'equazione (7.45).

Il carico totale viene quindi aggiornato tramite il rapporto Λij = Λij−1 + λij, e la forza totale strutturale {Pij} = Λij{P̂}, mentre gli spostamenti totali {Uij} = {Uij−1}+{ΔUij}. Questo segna un altro passaggio chiave nell'analisi, poiché implica una continua revisione dell'integrità geometrica e fisica della struttura man mano che i carichi aumentano.

Successivamente, viene aggiornata la geometria della struttura e le coordinate di ciascun nodo. Questi passaggi sono essenziali per preservare la coerenza del modello durante il processo iterativo e garantirne la stabilità. Ogni elemento della struttura viene esaminato separatamente per calcolare gli spostamenti degli elementi {Δuij} e le variazioni delle forze interne {Δf}, da cui derivano infine le forze totali {fij} tramite l'equazione (7.7), con particolare attenzione agli effetti delle forze iniziali.

L'analisi termina quando il carico totale Λij raggiunge il valore massimo consentito dalla struttura. Se ciò non accade, il processo continua iterativamente fino al raggiungimento della precisione desiderata, monitorata attraverso l'errore nella norma degli spostamenti.

Tuttavia, l'applicazione di questa procedura non può essere considerata completa senza una comprensione approfondita di alcuni dettagli chiave. Ad esempio, la formazione della matrice di rigidità della struttura richiede non solo l'elaborazione delle matrici di rigidità degli elementi, ma anche la rotazione di queste matrici dai sistemi di assi locali degli elementi agli assi globali della struttura, un passo cruciale per garantire la correttezza della modellazione. Inoltre, l'assemblaggio delle matrici richiede particolare attenzione agli effetti delle condizioni di vincolo al bordo, che influenzano notevolmente la risposta strutturale finale.

Un ulteriore punto importante riguarda l'applicabilità del metodo GDC nei casi reali. Sebbene l'algoritmo sia teoricamente robusto, l'efficacia del metodo dipende dalla scelta corretta dei parametri di controllo e dalla capacità del metodo di gestire i punti critici multipli che possono sorgere durante l'analisi. Il controllo della grandezza del passo di carico e l'inversione della direzione di carico sono operazioni che, se mal gestite, possono portare a errori significativi nei risultati.

In aggiunta, i casi numerici mostrano chiaramente come il metodo GDC riesca a tracciare percorsi di carico che comprendono punti critici multipli, a differenza di altri metodi, come il metodo CSP (Control Step Parameter), che può incontrare discontinuità nelle curve di risposta. La capacità del GDC di adattarsi automaticamente alle variazioni del carico, riducendo o aumentando la dimensione del passo di carico, ne fa uno strumento potente per l'analisi strutturale non lineare.

Un altro aspetto fondamentale da considerare è l'interpretazione dei risultati numerici. I grafici delle curve carico-deflessione, come quelli riportati per il traliccio a due membri o l'arco superficiale, devono essere analizzati attentamente per identificare i punti critici di instabilità. I percorsi di carico che si sovrappongono ai percorsi secondari indicano un'alta precisione nella simulazione, mentre le curve che si distaccano dalla traiettoria principale potrebbero suggerire errori di modellazione o la presenza di imperfezioni nel carico applicato.

In definitiva, l'approccio nonlineare incrementale-iterativo rappresenta una metodologia estremamente versatile e potente, ma richiede una comprensione accurata dei principi fisici sottostanti, nonché una gestione attenta dei parametri numerici. Solo attraverso la corretta applicazione di questi principi è possibile ottenere analisi affidabili per strutture complesse, che possano essere utilizzate in modo sicuro e preciso in ingegneria strutturale.