Affidabilità dei calcoli: Linee Guida per la Validazione

Calcoli sempre più complessi
L’applicazione delle Norme Tecniche per le Costruzioni di cui al D.M. 14 gennaio 2008 rende imprescindibile il ricorso a software per l’analisi strutturale sempre più complessi e di utilizzo generale. Tale necessità è legata principalmente a problematiche quali la crescente complessità della geometria degli edifici, la necessità di eseguire verifiche nei confronti di azioni sismiche (ormai praticamente indispensabili per qualsiasi struttura esistente o da edificare sul territorio nazionale) e il sempre più frequente ricorso ad analisi statiche o dinamiche non-lineari (utili quando si intenda verificare la vulnerabilità sismica del costruito). In quest’ottica assume notevole rilevanza l’affidabilità di tali software di calcolo strutturale, la cui automazione spinta li rende spesso una sorta di black box. Con tali strumenti risulta difficile, talvolta impossibile, conoscere come le diverse prescrizioni della normativa siano state implementate.

Riferimenti normativi internazionali
NAFEMS, una istituzione in questo campo, ha pubblicato le sue prime Linee Guida nel 19921, le Procedure di Qualità nel 1999 standardizzando anche i primi “Benchmarks” (casi prova). Nel 2007 si è concluso un lungo lavoro del Comitato V&V10 di ASME2, iniziato con la tragedia dello Shuttle Columbia su incarico della NASA3, creando la propria Guida alla Verifica e Validazione nella meccanica computazionale. Il V&V10 di ASME ha offerto un metodo per affrontare il problema, consapevole che, prima ancora di Linee Guida che guidassero passo-passo gli ingegneri analisti, era necessario fissare i termini della questione definendo cos’è un processo di Modellazione e Simulazione e cosa si intende per Verifica e Validazione di un calcolo.

Modellazione e Analisi alla base della Simulazione
V&V10 definisce come Modellazione ed Analisi (M&A) le operazioni dell’ingegnere “analista” che si appresta ad eseguire un calcolo strutturale. Il documento chiede all’analista di riflettere, descrivere e giustificare le attività di M&A scomponendole in: elaborazione del Modello Concettuale, scelta e utilizzo del Modello Matematico, utilizzo dell’Algoritmo Numerico attraverso un Codice di Calcolo, scelta dei parametri fisici da inserire nel Codice di Calcolo, scelta di parametri di discretizzazione del modello. Queste attività conducono ad ottenere un Modello Computazionale.
L’obiettivo mediante operazioni di Modellazione ed Analisi (M&A) è quello di ottenere un modello di calcolo accurato, relativamente a quanto il Modello Computazionale rappresenti la realtà, ed affidabile, relativamente alla possibilità che i risultati del Modello Computazionale possano essere utilizzati per intraprendere decisioni progettuali.
Si riporta in figura 1 il tipico Flow Chart concettuale del M&S.

Fig. 1: Modeling & Simulation (ASME V&V10)

Il processo di modellazione della realtà può essere suddiviso in passi ciascuno dei quali è oggetto di analisi, scelte ed eventualmente revisioni da parte dell’Analista mediante il cosiddetto “giudizio ingegneristico”.
• La realtà fisica complessa (Modello Fisico, l’oggetto reale dell’analisi, costituito ad esempio da da un edificio esistente o da una struttura in progetto di nuova realizzazione) viene astratta in un Modello Concettuale semplificato. Il principale obiettivo è di determinare i processi cruciali e di rifolmulare la realtà in un modello concettuale, applicando valide semplificazioni tali per cui i fenomeni principali, come osservati nella realtà, vengono mantenuti nel modello.
• Il Modello Concettuale viene tradotto in un Modello Matematico, ovvero nella formulazione matematica dei processi identificati nel Modello Concettuale. Ad esempio un insieme di equazioni differenziali che descrivono l’equilibrio del continuo.
• Il Modello Matematico viene traslato in uno schema numerico, mediante Algoritmi Numerici, laddove come spesso accade non è disponibile una soluzione diretta analitica delle equazioni. Ciò richiede spesso una discretizzazione del problema nello spazio e nel tempo, come ad esempio nel Metodo agli Elementi Finiti, il quale implica che le originarie equazioni matematiche vengono applicate in una forma approssimata. L’implementazione in un pacchetto software viene effettuata mediante un linguaggio di programmazione da Sviluppatori, i quali utilizzano ulteriori artifici generalmente necessari per rendere il software robusto per le applicazioni della pratica progettuale, ad esempio nel caso di trattamento numerico di elementi strutturali infinitamente rigidi, o nella gestione dei casi di labilità di parte della struttura, o nella gestione dei criteri di convergenza dei metodi iterativi di soluzione.
• Mediante la scelta dei parametri fisici da inserire nel software, la scelta di parametri di discretizzazione del modello, ed altre operazioni, l’Analista, utilizzatore del software, ottiene il Modello Computazionale i cui risultati sono alla base delle decisioni progettuali successive. Spesso nelle Norme e delle Linee Guida il Modello Computazionale è chiamato Modello di Calcolo: la definizione di ASME è preferibile perché richiama il fatto che il Modello Computazionale è frutto di precedenti passaggi logici.

E il BIM?
L’avvento delle tecnologie che permettono la realizzazione di un progetto digitale, ovvero un Modello Informativo del Progetto, altresì detto Building Information Model (BIM), stanno creando ulteriori definizioni di Modello e purtroppo anche alcune ambiguità. Bisogna considerare che il BIM è stato sviluppato soprattutto per la parte architettonica risultando inevitabilmente superficiale sulla parte del BIM relativa al lavoro dello strutturista.
Invece tale parte dovrà recuperare rapidamente un suo ruolo specifico nelle procedure di interazione con gli altri tecnici coinvolti nella progettazione BIM, al punto che si parlerà ora di Structural-BIM (S-BIM) con proprie specifiche esigenze.
Gli strumenti usati nelle procedure BIM al fine di gestire un Modello Informativo del Progetto dovranno pertanto definire:

Modello BIM Fisico Architettonico: è quello descritto mediante software CAD orientati agli oggetti dell’ultima generazione (impropriamente chiamati software BIM). Nel mondo BIM si trova spesso il termine Modello Fisico, ma tale definizione si sovrappone a quella degli strutturisti, come scritto più sopra.

Modello BIM Fisico Strutturale: è un sottoinsieme del precedente, e contiene solo gli elementi strutturali e tutti gli elementi di interesse per le analisi dello strutturista (si pensi alle tamponature dei capannoni, a tamponature in muratura dei telai in CA, ad impianti, ad elementi architettonici secondari ma richiedenti verifiche statiche). Spesso tale Modello trova spazio nei software BIM o in loro versioni un po’ più specializzate (al nome del software viene aggiunto “structure” o “structural”). Già il Modello Fisico Strutturale è materia dello strutturista, sebbene nei processi BIM ciò non risulti così ovvio e spesso lo strutturista si trovi a ottenere tale Modello già definito in precedenza da un Progettista Architettonico.

Modello BIM Concettuale: diventa materia specifica dello strutturista che, grazie all’engineering judgement stabilisce gli elementi che servono a descrivere correttamente il comportamento strutturale. I software BIM forniscono un “Modello analitico”, inteso come le informazioni sufficienti a descrivere concetti di structural behaviour (come gli assi e gli offset di travi e colonne, cerniere o nodi continui, etc.) di utilità per il software di calcolo. Il termine Modello Analitico è maldestramente ripreso dai concetti di M&A citati in precedenza, ma è chiaro che non si tratta della stessa cosa. In realtà il Modello Concettuale può comportare scelte dell’analista che portano a una diversità topologica col Modello Fisico che possono comportare la perdita della tracciabilità “round trip” con il Modello Fisico Strutturale (si pensi ad un modello concettuale nel quale si intende modificare le caratteristiche geometriche volendole semplificare per migliorare l’interpretazione dei risultati di calcolo o volendole rendere atte a meglio simulare un comportamento strutturale: diaframmi di piano, setti schematizzati in travi equivalenti, fondazioni a platea schematizzate a graticcio equivalente, aperture di dimensione trascurabile, collegamenti tra strutture definiti solo come link tra nodi con particolari proprietà meccaniche, etc.).

Modello BIM Computazionale: è quello che l’analista definisce e costruisce mediante il proprio software di analisi sulla base del Modello Concettuale, Matematico e relativi Algoritmi, e che spesso viene utilizzato in post processing per i dimensionamenti, le verifiche e la dettagliatura dei disegni strutturali generalmente forniti in 2D.
In sostanza questi modelli e i software che permettono di descriverli e definirli devono essere quasi sempre governati dallo strutturista e vanno a costituire quella specializzazione chiamata S-BIM.

Verificare i modelli di calcolo
Nella qualità dei calcoli eseguiti mediante software i termini di Validazione e Verifica hanno significati precisi. La Validazione assicura l’affidabilità, e la Verifica, per assicurare l’accuratezza dell’analisi numerica di una struttura, intendendo con affidabilità e accuratezza le definizioni date in precedenza. Pertanto:
Verifica (Verification): l’insieme di attività che determinano che un modello computazionale rappresenti accuratamente gli aspetti di modellazione matematica e la soluzione matematica da essa prodotta. Risponde alla domanda “Ho fatto il modello giustamente (correttamente)?
Validazione (Validation): la procedura per quantificare il grado di accurata rappresentazione della realtà fisica, negli ambiti di interesse, da parte del modello. Risponde alla domanda “Ho fatto il giusto modello (per il fenomeno fisico allo studio)?”
Per rendere complete le attività sopra descritte, è necessario suddividere la Verifica in due parti ulteriori:
i. Verifica del Codice (Code Verification): stabilire un livello di confidenza, attraverso tests comprovati, affinchè il modello matematico e l’algoritmo risolutivo funzionino correttamente. dimostrare che il codice è corretto ovvero è in grado di fornire una corretta soluzione matematica delle equazioni che governano il continuo al lim ?→0; il grado di convergenza è verificato almeno per problemi ben posti
ii. Verifica delle Calcolazioni (Calculation Verification): stabilire un livello di confidenza, attraverso tests comprovati, che la “soluzione discretizzata” del modello matematico sia accurata. Gli errori di discretizzazione (mesh) e il peso delle incertezze sui parametri dell’analisi sono stimati spesso senza avere la conoscenza della soluzione

Fig. 2: Validation & Verification (ASME V&V10) 

Nelle definizioni date alle due Verifiche e alla Validazione ciascun ingegnere analista potrà riconoscere alcune delle attività che esegue spesso nel validare il proprio modello di calcolo. La Verifica dei Calcoli è l’attività che più frequentemente effettuiamo (con formule semplificate, con controlli di sensitività della mesh, con test sulle convergenze, con comparazioni con altri software). Invece si osserva spesso che l’ingegnere demanda acriticamente la Verifica del Codice al produttore software. La Validazione è forse l’attività meno svolta poichè non capita spesso la fortunata situazione di disporre di test sperimentali che permettano di controllare “la fisica” del nostro modello di calcolo. In assenza di test non resta che rispettare le ipotesi base apprese nella Scienza delle Costruzioni, i temi appresi ai Corsi di formazione, le Linee Guida prodotte da Enti terzi4, i concetti espressi da alcuni buoni Testi5.

Il ruolo del produttore di software
Il ruolo dello sviluppatore di software dev’essere quello di controllare “la matematica”, la robustezza degli algoritmi (intesa come la stabilità di convergenza e la convergenza alla soluzione al lim(?h)→0, spingendosi a problemi mal condizionati), e minimizzare la probabilità di “code bugs”.
L’ingegnere dovrebbe chiedere al Produttore quali sono le Procedure specifiche del Sistema Qualità adottate per minimizzare la probabilità di bugs e quali le Procedure in caso un cliente scopra un bug. Vanno chieste informazioni sui “regression test” (che nei software più qualificati sono decine di migliaia) che costituiscono la “maglia” per catturare i bug. I “casi prova” chiesti dalla Norma (forniti normalmente in qualche decina) difficilmente sono standardizzabili per un controllo sistematico, data la varietà delle features dei software in commercio (si pensi agli algoritmi di controllo estrazione di autovalori, ai metodi di riduzione delle rigidezze, alle formulazioni di elementi plate/wall, alle varie funzioni forma polinomiali degli elementi finiti, ai tipi di cerniere plastiche concentrate o a fibre, ai tipi di metodi nonlineari, ai criteri di convergenza, ai modelli costitutivi di materiali, etc.) e dunque quando lo sono, limitano il controllo a casi semplici, di solito “passati” da qualsiasi software che si affacci sul mercato. Questo ha reso inapplicabile una “certificazione del software”, che risulterebbe anche fuorviante. Tuttavia i benchmarks sono utili nel preparare l’ingegnere analista come illustrato nel paragrafo seguente.

Il ruolo dell’analista ingegnere: la preparazione
Nel valutare l’affidabilità delle analisi numeriche, un parametro deve essere la preparazione dell’analista progettista. Il livello di esperienza nell’esecuzione di analisi numeriche è fondamentale per l’analista. I benchmarks codificati da NAFEMS costituiscono uno step della formazione dell’analista: riprodurre dei semplici benchmarks per la prima volta o su un software di nuovo utilizzo non è una attività semplice, porta a inaspettate sorprese ed è ricca di lezioni da trarre. Riproducendo i “casi prova”, l’utilizzatore del software svolge una attività di apprendimento e di controllo del codice, egli aumenta il grado di confidenza nell’uso del software e la sua preparazione nell’affrontare specifiche analisi.
Le Linee Guida NAFEMS prescrivono che nella relazione di calcolo sia attestato il livello di preparazione degli analisti, specificando i curricula, i Corsi, le analisi svolte in precedenza attinenti all’analisi in questione, nonché il grado di confidenza col software utilizzato. Ciò sottolinea l’importanza della formazione continua.

Buone pratiche nel controllo dei modelli di calcolo
In conclusione diamo alcuni suggerimenti operativi per un controllo (Validazione e Verifica) dei modelli di calcolo.
La lettura e la comprensione delle Linee Guida e Buone Pratiche già citate, oltre alla consultazione di qualche buon libro sul tema della modellazione6, consentono all’ingegnere analista di stilare una lista sintetica delle attività da svolgere per una buona esecuzione delle analisi e di una loro validazione7.
a) Chiara definizione del flusso di M&A: indicando in premessa gli obiettivi che l’analisi si prefigge, gli aspetti del Modello Concettuale considerati e gli aspetti della realtà che si sono ritenuti non influenti, la motivazione della matematica scelta a sostegno della simulazione ed i limiti di applicabilità, gli algoritmi utilizzati ed il codice che li implementa con i relativi limiti di applicabilità. La giustificazione dei parametri fisici utilizzati e dei parametri di discretizzazione numerica (mesh, intervalli temporali, step di iterazione, parametri di convergenza) con una analisi di sensitività sugli stessi.
b) Controllo del Modello Computazionale: sono possibili una serie di controlli sequenziali sulla congruenza dei dati di input e di output. È utile organizzare questi controlli in check list per una loro esecuzione sistematica.
c) Verifica del Codice di Calcolo usato: alcuni ingegneri hanno l’abitudine di conservare alcuni modelli che eseguono su ogni nuova release del software. In ogni caso una nuova release del software dovrebbe essere testata prima di sovrascrivere la release precedente. Una release precedente dovrebbe essere mantenuta quando si necessita di esaminare i risultati di modelli molto complessi con tempi di run dell’analisi molto lunghi: i risultati infatti normalmente non saranno leggibili sulle nuove release e dovranno essere rieseguiti.
d) Verifica dei Calcoli: nel caso si possano individuare calcoli di massima ingegneristicamente significativi (semplici equilibri, strutture equivalenti, etc.) l’ingegnere è in possesso di una prova di correttezza quasi definitiva, sufficiente a validare il modello di calcolo e il software almeno in quella determinata applicazione. Il controllo di una analisi dinamica nonlineare può trovare indizi di attendibilità in analisi modali (condotte con lo spettro medio degli accelerogrammi usati) per tagli e momenti alla base controllando coerenza dei modi estratti e masse mobilitate, in non lineari statiche (variando i parametri di input e la discretizzazione del modello, al fine di osservare la sensitività del modello). Sono possibili confronti con altri software, avendo presente che ottenere il medesimo risultato non garantisce dall’aver scelto il corretto Modello Computazionale, ma solo che i due software risolvono la “matematica” allo stesso modo.
e) Validazione: è l’attività che permette, mediante test reali, di controllare la correttezza del proprio Modello Computazionale. Non si tratta di testare un modello uguale a quello che si deve simulare, il che sarebbe assurdo, ma test parziali (una trave, una cerniera plastica, un giunto), che si ritengono significative per validare le assunzioni decise nell’attività di M&A. La significatività dei test è uno degli argomenti più discussi nella comunità di chi si occupa di V&V, tuttavia si è concordi nel dire che non si tratta di calibrare i Modelli Computazionali (nella Calibrazione si modulano tutti i parametri dell’analisi al fine di ottenere lo stesso risultato del test): nella Validazione i parametri sono dati, in discussione è il processo che porta ad ottenere un Modello Computazionale che riproduca fedelmente il test. L’ingegnere civile lavora spesso con “prototipi” e in fase di progettazione non dispone di un edificio da testare al fine di calibrare il proprio modello.

 

 

paolo.segala@ingegneriasismicaitaliana.it


1NAFEMS (National Agency for the Finite Element Methods and Standards): NAFEMS Quality Assurance Procedures for Engineering Analysis. Glasgow, 1999. (Disponibile su richiesta a NAFEMS)
2ASME (American Society of Mechanical Engineers) V&V10, Comitee. Guide for Verification and Validation in Computational Solid Mechanics. 2007
3NASA Technical Standard, STD 7009. Standard for models and simulations. 2008
4PEER 2010-05 Guidelines for Performance-Based Seismic Design of Tall Buildings; PEER/ATC 72-1 Modeling and acceptance criteria for seismic design and analysis of tall buildings, e numerose altre.
5M. Fardis: Seismic design, assesment and retrofitting of concrete buildings. Springer Media B.V., 2009. ISBN 978-1-4020-9841-3; G.A.Rombach: Finite element design of concrete structures. Thomas Telford, London 2004. ISBN 0 7277 3274 9
6P. Rugarli: Analisi modale ragionata. EPC Libri, Roma 2005. ISBN 88-8184-382-X; Perretti, Ghersi, Sattamino, Brenna: La validazione del calcolo strutturale eseguito con computer. Maggioli Editore, 2007. ISBN 9 788838 736728
7Ulteriori approfondimenti in www.ingegneriasismicaitaliana.it


Leggi anche