Vincoli Interni
Nei programmi di analisi strutturale i Vincoli Interni sono tipicamente implementati mediante l'utilizzo di (i) Trasformazioni geometriche, (ii) Funzioni di Penalizzazione (Penalty Functions), o (iii) Moltiplicatori di Lagrange. Tuttavia, nelle analisi geometricamente nonlineari (grandi spostamenti/rotazioni) il primo di questi tre tende a portare a difficoltà di convergenza numerica, per cui solo gli ultimi due sono comunemente impiegati, e sono così stati implementati in SeismoStruct.
Mentre i lettori sono invitati a fare riferimento alla letteratura esistente [ad esempio Cook et al., 1989; Felippa, 2004] per ulteriori informazioni su questo argomento, in questo contesto si vuol semplicemente notare che, nonostante le Funzioni di Penalizzazione abbiano il vantaggio di non introdurre nuove variabili (e quindi la matrice di rigidezza non aumenta e rimane definita positiva), possono aumentare notevolmente la larghezza di banda delle equazioni strutturali [Cook et al., 1989]. Inoltre, le Funzioni di Penalizzazione hanno lo svantaggio che i numeri "penalty" devono essere scelti in un range ammissibile (abbastanza grande per essere efficace, ma non così grande da introdurre difficoltà numeriche), cosa non necessariamente semplice [Cook et al., 1989], che può potenzialmente condurre a risultati errati. Tuttavia, l'uso dei "concettualmente superiori" Moltiplicatori di Lagrange potrebbe rallentare notevolmente le analisi; pertanto, le Funzioni di Penalizzazione sono suggerite come impostazione di default in SeismoStruct.
Quando si sceglie di optare per l'utilizzo delle Funzioni di Penalizzazione, è necessario introdurre i corrispondenti coefficienti di penalizzazione per i diaframmi (solitamente piccoli) e per i collegamenti rigidi (in genere più grandi); i Fattori di Penalizzazione vengono quindi calcolati come il prodotto di questi coefficienti di penalizzazione per il valore massimo rilevato nella matrice di rigidezza.
Va osservato che, contrariamente a quello che potrebbe essere immaginato da qualcuno, non è sempre necessario l'utilizzo di valori elevati per i coefficienti di penalizzazione. Infatti, nei modelli in cui sono presenti elementi strutturali molto rigidi, potrebbero essere richiesti coefficienti di penalizzazione non molto grandi, poiché il prodotto di questi per i valori elevati rilevati nella matrice di rigidezza strutturale può già condurre ad un elevato fattore di penalizzazione, come indicato nello studio di Pinho et al. [2008a].
Nota: Felippa [2004] suggerisce che il valore ottimale delle Funzioni di Penalizzazione dovrebbe essere la media tra la rigidezza massima e la precisione dei processori (1e20, nel caso di SeismoStruct).