· · Meccanica Computazionale · Modellazione Strutturale e Controllo
dei Risultati · · INTRODUZIONE ALLA MODELLAZIONE STRUTTURALE · Marco Bozza · · MODELLO AGLI ELEMENTI FINITI · MODELLAZIONE STRUTTURALE · AFFIDABILITÁ DEI CODICI DI CALCOLO · CONTROLLI SUI MODELLI AD ELEMENTI
FINITI
· Convergenza
e Patch Test · · ·
·
· MODELLAZIONE STRUTTURALE
L'avvento nell'Ingegneria dell'ANALISI COMPUTAZIONALE DELLE STRUTTURE per elementi finiti (calcolo matriciale), tramite computer, ha notevolmente influenzato la progettazione strutturale, non solo in termini di velocità di calcolo, ma anche di approccio procedurale. Il punto centrale di questa fase importante della progettazione è costituito dalla MODELLAZIONE STRUTTURALE, intendendo, con tale terminologia, il processo mediante il quale una struttura e le azioni su essa agenti sono ridotte ad uno schema più o meno semplificato. Il ricorso ad uno schema di calcolo semplificato si rende necessario poiché le strutture sono in generale sistemi fisici notevolmente complessi, i cui comportamenti sono influenzati da un grande numero di variabili. Qui con il termine di struttura si fa riferimento ad
una costruzione artificiale del tutto generale (telaio, aeromobile, tunnel,
componente meccanico ecc.), sollecitata da carichi generici (statici,
ciclici, termici, moto ondoso, impatto ecc.). Scopo della modellazione è
quello di simulare in modo realistico il comportamento della struttura
definito in termini di parametri di sollecitazione (sforzo normale, taglio,
momento flettente), di deformazione (spostamenti, rotazioni) e di tensione
(normale, tangenziale). Va, tuttavia, precisato che la modellazione non deve
necessariamente aderire il più possibile alla realtà fisica da simulare, in
quanto un maggiore dettaglio nella sua definizione potrebbe non dare un
altrettanto significativo contributo nella precisione dei risultati che ci si
attende. Il processo di modellazione dev'essere invece una procedura di
sintesi che consiste nell'individuare quali variabili influiscono in modo
rilevante sul comportamento della struttura, da quelle che lo sono meno. Ciò
è essenziale per poter cogliere gli aspetti più importanti del sistema fisico
da analizzare, trascurando, invece, quelli che non danno contributi significativi
a questo scopo. MODELLO AGLI ELEMENTI FINITI
Modello di calcolo
Tale procedura coinvolge la struttura vera e propria, i
carichi agenti su di essa ed eventuali sub-sistemi di interazione (ad esempio
il terreno per strutture di fondazione o il flusso d'aria per un aeromobile).
Essa si sviluppa attraverso tre livelli di affinamento: - valutazione delle azioni rilevanti e dello schema
generale della struttura con i relativi vincoli; - creazione del modello numerico (discretizzazione in elementi
finiti); - definizione dei legami sforzi-deformazioni dei
materiali impiegati. L'insieme
di queste approssimazioni e ipotesi, che vengono assunte alla base del
processo di modellazione, costituiscono nel complesso il MODELLO DI CALCOLO
della struttura. Operate queste scelte, la disponibilità del modello di
calcolo consente di analizzare la struttura come un'unica entità, anche in
presenza di complesse geometrie strutturali 3D e condizioni di carichi, sia
statici (pesi propri ecc.), che dinamici (vento, sisma, flussi d'aria o acqua
ecc.). Il modello di calcolo viene eseguito utilizzando un codice di calcolo
agli elementi finiti (modello FEM).
Metodo degli Elementi
Finiti
Il Metodo degli Elementi Finiti è per sua natura un
metodo di soluzione approssimato: le fonti principali di approssimazione
derivano: - dalle tecniche utilizzate per ridurre a forma
algebrica il problema differenziale assegnato; - dall'elaborazione automatica, mediante un'algebra a
precisione finita delle equazioni risolventi. Un
corretto impiego del metodo implica pertanto in primo luogo la conoscenza
delle ipotesi e delle formulazioni che ne sono alla base, delle sue proprietà
di convergenza, dei criteri e degli accorgimenti per passare da un prototipo
assegnato ad un suo modello matematico effettivamente rappresentativo.
Secondariamente occorre conoscere le caratteristiche dei problemi algebrici
di cui si cerca la soluzione, individuando quali impostazioni, tra altre,
portano a risultati con accuratezza maggiore, quali sono i fattori che
possono generare decrementi di accuratezza, quali i criteri per misurarne il
livello. I risultati ottenuti con l'automatismo di un codice, vanno infine
verificati, interpretati, a volte ulteriormente affinati e presentati in
forma efficace e sufficientemente documentata da consentire elaborazioni
parallele di riscontro. I criteri che consentono di esprimere un giudizio sulla
correttezza dei risultati dell'analisi, ottenuti in seguito all'elaborazione
mediante l'impiego dei programmi di calcolo, consistono essenzialmente: - nella stima dell'affidabilità dei codici di calcolo; - nei controlli sui modelli ad elementi finiti. AFFIDABILITÁ DEI CODICI DI CALCOLO
La
possibilità di errori nei risultati per malfunzionamento del computer non è
affatto remota, poiché il sistema operativo, generalmente, avverte e segnala
l'avaria dell'elaboratore, e interrompe l'esecuzione del processo in atto.
D'altra parte i programmi di base (sistema operativo e compilatore) sono di
fatto sottoposti ad un collaudo continuo ed esteso, poiché hanno diffusione
ed impiego vasti quanto quelli della macchina, e sono solitamente seguiti da
uno specifico servizio all'interno dell'ambiente di produzione, che ne cura
lo sviluppo, il controllo e l'aggiornamento. Quindi gli errori ad essi
attribuibili hanno frequenza ragionevolmente bassa. Pertanto l'insuccesso di
una elaborazione resta imputabile quasi solamente ai procedimenti nei codici
di calcolo impiegati oltre che, ovviamente, alla responsabilità
dell'operatore. Nella pratica, l'affidabilità di un codice è qualità
non meno importante dell'innovatività delle procedure in esso contenute.
Contribuiscono alla formazione di un giudizio sull'affidabilità vari
elementi, per molti versi simili a quelli che vengono considerati nella certificazione
di qualità di un prodotto industriale. Elementi primari sono i risultati
delle operazioni di verifica e controllo svolte all'interno dell'ambiente di
produzione o di quello di utilizzazione, volte ad accertare la rispondenza
delle prestazioni del prodotto alle caratteristiche funzionali ad esso
attribuite. Tuttavia il problema di una "certificazione" della
qualità, svolta da laboratori di prova sulla base di esami del processo
produttivo o di documenti di prova esibiti dal produttore, o di prove svolte
direttamente, non sembra ancora risolto per i codici di calcolo, a differenza
di quanto accade in altri settori di produzione in campo industriale.
Pertanto l'accertamento diretto della qualità di un codice va in pratica
necessariamente a gravare sull'utente, in quanto responsabile primo, e unico,
delle scelte conseguenti ai risultati da lui utilizzati. E' l'utente che, in
ultima analisi, deve svolgere, o far eseguire per proprio conto, tutto
quell'insieme di controlli, essenzialmente di natura diretta, che
contribuisce a dare sicurezza nei riguardi delle prestazioni di un codice. Controlli diretti
Un
modo certo per controllare la qualità di un codice è verificare la
consistenza delle procedure, nella versione eseguibile e nel previsto
ambiente di elaborazione attraverso i risultati che si ottengono. Questo
implica pregiudizialmente che ogni attività di verifica o di qualificazione
di un codice ad uso professionale possiede significato pratico solo se la
diffusione è controllata e avviene nella versione eseguibile, protetta contro
manomissioni. Il giudizio che ne segue ha rilevanza solo per una determinata
versione compilata del codice. Il controllo diretto ha lo scopo essenziale di
accertare, mediante verifica dei risultati, che tutte le funzioni previste
vengano svolte completamente e correttamente. Le specifiche funzionali, ossia
l'esposizione delle funzioni che il codice è in grado di eseguire, sono il
punto di partenza per la progettazione dei controlli da effettuare. Le
specifiche devono essere formulate con chiarezza, cosa che contribuisce a
caratterizzare la serietà dell'ambiente di produzione. Assieme ad esse è
necessario esaminare la teoria su cui le procedure sono impostate e
controllarne la correttezza dell'applicazione, e verificare l'esattezza della
soluzione dei problemi svolti ed esposti a corredo del codice. Questa parte
preliminare guida la preparazione e lo svolgimento di tutto l'insieme degli
autonomi processi di prova che sperimentano le operazioni dichiarate come
eseguibili, a partire dalla lettura dei dati. Questi processi hanno varia
natura ed estensione. Un processo può essere rivolto ad esaminare le
prestazioni del codice su aspetti particolari ("benchmark"),
determinando e verificando quantitativamente e qualitativamente specifiche
grandezze di natura locale o globale (componenti di spostamento e di
sollecitazione, temperatura, frequenze e modi propri di vibrazione, ecc.)
note per altra via (analitica, numerica o anche sperimentale), oppure può
essere mirato a verificare la robustezza del codice, ossia le sue prestazioni
in riferimento a particolari aspetti critici, come tempi di calcolo, o come
l'efficienza autodiagnostica contenuta o l'accuratezza nell'esecuzione dei
calcoli, ecc forzando l'attivazione di specifici segnali di errore o di
avvertimento in corso di esecuzione. Diversamente un processo può essere
studiato per verificare intere procedure complesse ("reference
validation analysis"), come la risoluzione di problemi non lineari per
confronto dei risultati con soluzioni intermedie e finali di validità
indipendentemente riconosciuta. Affidabilità dei risultati
L'affidabilità
dei risultati dell'analisi eseguita con un codice è il problema più ampio e
complesso, poiché intervengono in modo essenziale anche le scelte di impostazione
compiute dall'operatore. In attinenza a questo più generale aspetto, la
tendenza attuale in tema di affidabilità, e di problemi ad essa collegati, è
favorire il raggiungimento e il mantenimento di un adeguato livello
qualitativo sia dei codici di calcolo, sia dell'impiego che di essi viene
fatto, attraverso un insieme diversificato di azioni a sostegno e guida della
produzione e delle applicazioni. Istituzioni professionali o Enti privati di
molti Paesi, con partecipazione anche governativa, operano attivamente in
questo senso nel settore dei codici di analisi strutturale con metodi ad
elementi finiti. In Europa, un esempio rilevante è il servizio svolto dalla
NAFEMS (The International Association for the Engineering Analysis
Community). Una parte delle iniziative di questo Ente è di contribuire alla
preparazione degli utenti, professionisti o addetti in genere, e metterli in
grado di eseguire in modo accorto e qualitativamente corretto operazioni sia
di analisi di problemi di ingegneria strutturale, sia di controllo di qualità
dei codici di calcolo, elaborando e rendendo disponibili compendi di
raccomandazioni e proposte di strategie di verifica e di autoistruzione. Iniziativa più recente, ma non secondaria, è
contribuire alla definizione di criteri di valutazione dell'attività delle
organizzazioni produttrici dei codici di analisi strutturale, proponendo e
tenendo aggiornate istruzioni e raccomandazioni sulla produzione, la
diffusione e il controllo dei codici, allo scopo di giungere ad assicurare,
per quanto possibile, la qualità del prodotto e dei risultati con esso
conseguibili, e quindi accreditarne l'affidabilità. CONTROLLI SUI MODELLI
AD ELEMENTI FINITI
La procedura più immediata per verificare le
prestazioni di un elemento finito in un codice da parte dell'utente è di
scegliere uno o più problemi, dei quali è nota la soluzione analitica, e
risolverli impiegando il modello con più discretizzazioni a raffittimento
crescente, verificando quindi che i risultati ottenuti in più punti
significativi della struttura approssimino quelli di riferimento. Questo tipo
di verifica, però, non è adatto a controllare la correttezza del modello,
infatti: - la particolarità e
la semplicità del caso di riferimento può ragionevolmente suggerire
discretizzazioni regolari, che mettono in luce le buone qualità del modello,
ad esempio superconvergenza, lasciando in ombra quelle non buone, come il
deterioramento della convergenza o della accuratezza nel caso di geometria
distorta dell'elemento, o l'anomala deficienza di rango della matrice di
rigidezza elastica per particolari situazioni di geometria o di vincolo, ecc; - la complessità del caso in esame
può occultare effettive carenze del modello; - non è chiaro quando l'esito debba essere
giudicato soddisfacente; - se l'esito non appare positivo può
non essere possibile individuare il motivo. Un controllo di questo tipo può essere quindi utile al
più per giungere ad una stima dell'accuratezza. Fermo restando che lo scopo
di una prova su un modello di elemento finito è verificarne la correttezza e
lo sviluppo all'interno di un codice, la prova deve: - avere
carattere generale; - essere
facile da eseguire; - essere
facile da interpretare; - essere
in grado di individuare con chiarezza le cause di un comportamento anomalo,
rivelarlo e riprodurlo. A queste condizioni soddisfa il PATCH TEST sugli
elementi finiti. Convergenza e Patch Test
Gli elementi finiti sono modelli polinomiali algebrici
impiegati per la rappresentazione "a tratti" delle funzioni
incognite (spostamenti, sollecitazioni, ecc…) nella risoluzione approssimata
di problemi retti da (sistemi di) equazioni differenziali. A questo scopo il
dominio di definizione della funzione, ossia il dominio occupato dalla
struttura, è suddiviso in sottodomini, o elementi finiti, e i coefficienti
della rappresentazione vengono
determinati con specifici procedimenti variazionali. Le
prestazioni di un modello di un elemento finito dipendono dal grado (dal
numero dei coefficienti incogniti, o gradi di libertà) del polinomio e dal
soddisfacimento di specifiche condizioni che assicurano la convergenza alla
soluzione del problema della successione delle soluzioni approssimanti,
ottenute aumentando il numero e abbassando (uniformemente) la dimensione
degli elementi nella rappresentazione. La nozione di convergenza di un
modello è stabilita in maniera appropriata al contesto matematico in cui
viene posto il problema da risolvere (si noti che le soluzioni approssimanti
sono funzioni definite sulla regione di spazio occupata dalla struttura, e
quindi occorre assumere una definizione di convergenza per successioni di
funzioni). In pratica, ha importanza che i valori assunti dalle grandezze
incognite (le funzioni approssimanti e all'occorrenza le loro derivate)
tendano al valore assunto dalla soluzione del problema, in maniera da
assicurare una stima soddisfacente al crescere del numero degli elementi. Nel caso di problemi lineari elastici e di elementi finiti
negli spostamenti, le condizioni sufficienti a questo scopo sono: 1) la
continuità degli spostamenti (e delle rotazioni nelle travi e nelle lastre
piane e curve), in ogni elemento e 2) al
confine tra un elemento e quelli adiacenti (interelemento), 3) la
possibilità di rappresentare un qualunque stato costante di deformazione, 4) la
presenza di stato di deformazione nullo in concomitanza di un qualunque
insieme di spostamenti di moto
rigido, 5) l'assenza
di cinematismi, ossia di modi deformativi a energia nulla. Per il corretto comportamento del modello è inoltre
necessario che: 6) la matrice di rigidezza dell'elemento
sia indipendente da permutazioni d'assi del sistema di riferimento locale nel
quale essa è costruita, a meno che la dipendenza (anisotropia spaziale) non
sia conseguente a precise scelte in vista della risoluzione di particolari
problemi strutturali. I requisiti 1) e 2) caratterizzano gli elementi finiti
negli spostamenti di tipo congruente, o compatibile. D'altra parte, la condizione
2) può non essere rispettata, dando luogo a modelli non compatibili per
impostazione o per sviluppo, che pure danno risultati soddisfacenti. Questo
suggerisce di sostituire alle condizioni 2) e 3) la condizione che: 3 bis) un insieme qualunque di elementi,
indipendentemente dalla forma e dall'estensione, possa rappresentare uno
stato di deformazione costante, la quale estende la condizione 3) dal singolo elemento
(per il quale è sempre soddisfatta) a un insieme di elementi. Essa è
senz'altro rispettata da un modello compatibile, per la continuità degli
spostamenti all'interelemento. Alla luce di questo, il controllo su un modello di elemento finito è svolto con una serie di prove, detta Patch Test, su un insieme di pochi elementi. Almeno un nodo deve essere interno, ossia tutto circondato da elementi. Le dimensioni dell'insieme devono essere infinitesime in linea di principio. Tuttavia, se il problema è retto da equazioni differenziali a coefficienti costanti, e se essendo la rappresentazione dell'elemento in coordinate curvilinee questa ha Jacobiano costante, le dimensioni sono inessenziali. Come operazione preliminare viene costruita
l'espressione del più generale campo di spostamenti, cui corrisponde lo stato
di deformazione costante nel tipo strutturale cui il modello si riferisce.
Per ogni componente dello spostamento questa espressione è un polinomio
algebrico nelle coordinate del punto, completo e di grado uguale all'ordine
dell'operatore differenziale presente nelle equazioni di congruenza
indefinite. Ad esempio, nel caso di una lastra piana in stato piano di
tensione, riferita al sistema cartesiano ortogonale (O, x, y) nel piano
medio, le dilatazioni ex, ey e lo scorrimento gxy sono legati alle componenti u(x,y), v(x,y) dello
spostamento dalle relazioni:
nel piano medio,
e quindi vengono assunte per u e v le espressioni:
con a1,…,
a6 coefficienti incogniti. Si fissa quindi una
determinazione del campo di spostamenti dando valori numerici ai coefficienti
della espressione formale corrispondente (nell'esempio u e v). Si definisce
un insieme di elementi e si inseriscono le coordinate dei nodi nella
determinazione del campo di spostamenti adottata, ricavando quindi il valore
dello spostamento in questi ultimi. · TEST A Questi valori e i dati geometrici del materiale per
l'insieme degli spostamenti degli elementi vengono assunti come dati di
ingresso per un giro del programma. Il Test è superato se in uscita il valore
della deformazione è costante su tutto l'insieme ed è uguale a quello dato
dall'espressione dello spostamento, e se il suo nodo interno risulta scarico. · TEST B Si esegue un giro del programma assumendo come dati di
ingresso gli spostamenti nei nodi esterni, calcolati in partenza, e le
caratteristiche degli elementi. Il Test è superato se in uscita il valore
della deformazione è costante su tutto l'insieme ed è uguale a quello dato
dallo spostamento, come per il Test A, e se il valore dello spostamento nei
nodi interni è uguale a quello calcolato in partenza. · TEST C L'insieme di elementi viene vincolato quanto basta a impedire
moti rigidi e nei nodi vengono applicate le forze ricavate in uno dei tests
precedenti. Si esegue quindi un giro di programma con i dati di questa
situazione. La prova è superata se gli spostamenti nei nodi liberi sono
uguali a quelli preliminarmente ottenuti. La stessa prova viene condotta su
un solo elemento, eseguendo almeno la fattorizzazione triangolare della
matrice dei coefficienti del sistema risolvente, e si controlla che non si
manifestino in essa deficienze di rango. Il Test A e il Test B si equivalgono per verificare se le condizioni 3 bis) e 4) sono rispettate. Tuttavia il Test A non richiede la costruzione della matrice di rigidezza dell'insieme e la determinazione di componenti di spostamento incognite, come invece accade nel Test B. Quest'ultimo, pertanto, dà più ampia informazione. Il Test C permette di controllare il comportamento del
modello in presenza di forze applicate sul contorno, e di verificare
l'esistenza di improprie singolarità nella matrice di rigidezza assemblata,
dovute a errori di codifica o ad anomalie nel modello. A questo proposito è
maggiormente selettivo il Test C su un solo elemento, che rivela la eventuale
presenza di modi deformativi a energia nulla col permanere di singolarità
nella matrice di rigidezza dopo l'impostazione delle condizioni di vincolo,
modi che l'assemblaggio a più elementi può bloccare. Il Test C su un solo
elemento è meglio adatto per verificare se la condizione 5) è rispettata.
Inoltre il Test C può rivelare la tendenza del modello a fenomeni di
"locking". Importanza del
Patch-Test
Il Patch Test deve essere superato indipendentemente
dalla forma degli elementi. Pertanto le prove vanno ripetute per un insieme
di geometrie ampio quanto basta ad escludere autocorrezioni per presenza di
simmetrie sul singolo elemento, o di insieme. Nelle applicazioni a casi di
materiale anisotropo è opportuno che i tests vengano condotti introducendo
gli effettivi moduli elastici. Infatti alcuni modelli superano il Patch Test
solo se il modulo di Poisson è nullo. Nella forma esposta, il Patch Test è impiegato per
verificare semplicemente la convergenza del modello. Infatti, se l'esito è
favorevole, le approssimazioni del campo di spostamenti ottenuti con
discretizzazioni a raffittimento uniforme crescente si discostano dalla
soluzione del problema per un errore tendente a zero almeno con il quadrato
della dimensione caratteristica dell'elemento. E' tuttavia anche possibile
stimare l'effettivo ordine di convergenza asintotica assumendo campi di
spostamento polinomiali algebrici completi di grado superiore a quello
corrispondente allo stato di deformazione costante. Ciò equivale a
considerare campi corrispondenti alla presenza di forze distribuite
sull'elemento. Il massimo grado per il quale la prova è superata dà l'indicazione
dell'ordine della convergenza. In queste prove il controllo delle deformazioni può essere ovviamente sostituito da quello sulle tensioni, più solitamente date in uscita. |
||||||||||||||||||
ingegneriastrutturale.net -
Tutti i Diritti Riservati |