Un software FEM per tutti

Nei precedenti Quaderni di progettazione dedicati agli elementi finiti è stata data una base teorica del metodo e si sono analizzate le principali tipologie di elementi finiti esistenti. Questo articolo è dedicato all’introduzione del software open-source Calculix, che dal prossimo numero verrà utilizzato come strumento per risolvere alcuni problemi pratici.

CalculiX è un software open-source per l’analisi agli elementi finiti (Finite Element Analysis, FEA) ampiamente utilizzato in ambito accademico, nella ricerca e nella pratica ingegneristica. Nato con l’obiettivo di fornire un’alternativa libera e potente ai codici commerciali, CalculiX supporta un’ampia gamma di analisi lineari e non lineari per la meccanica dei solidi, la dinamica strutturale, i problemi termici e le analisi accoppiate. La sintassi dei file di input e la filosofia di modellazione sono in larga parte ispirate al software commerciale Abaqus, rendendo lo strumento particolarmente interessante per gli utenti che hanno già familiarità con tale ambiente. Questo articolo offre una panoramica completa di CalculiX, descrivendone l’architettura, le funzionalità principali, le modalità di installazione e i comandi fondamentali per l’esecuzione di simulazioni pratiche.

Introduzione

Il metodo degli elementi finiti (Finite Element Method, FEM) rappresenta uno degli strumenti fondamentali dell’ingegneria moderna, consentendo la soluzione numerica di problemi complessi in meccanica strutturale, trasmissione del calore, dinamica e applicazioni multifisiche. Nonostante la diffusione capillare dei software FEM commerciali, i costi elevati delle licenze costituiscono spesso un ostacolo significativo per studenti, ricercatori e piccole realtà industriali. CalculiX nasce per colmare questo divario, offrendo un solutore FEM robusto, libero e open-source, che può essere utilizzato, studiato e modificato senza restrizioni. Il progetto è stato avviato da Guido Dhondt alla fine degli anni Novanta e, nel corso del tempo, si è evoluto fino a diventare un software maturo, supportato da una comunità di utenti attiva. CalculiX è impiegato in numerosi contesti applicativi, dalla meccanica alle costruzioni civili, spesso in combinazione con strumenti open-source per il pre- e post-processing.

Architettura generale di CalculiX

CalculiX è composto da due elementi principali:

  • ccx: il solutore vero e proprio, responsabile della lettura del file di input, dell’assemblaggio del sistema di equazioni (matrici), della risoluzione numerica e della scrittura dei risultati.
  • cgx (CalculiX GraphiX): uno strumento di pre- e post-processing che consente di creare la geometria, generare la griglia computazionale, assegnare condizioni al contorno e visualizzare i risultati.

Sebbene cgx sia distribuito insieme a CalculiX, molti utenti preferiscono utilizzare software esterni per il pre- e post-processing, come Gmsh, Salome-Meca o FreeCAD. Questa modularità rende CalculiX facilmente integrabile in flussi di lavoro differenti.

Il solutore ccx è interamente guidato da un file di input testuale, generalmente con estensione .inp, che contiene la descrizione completa del modello: nodi, elementi, materiali, carichi, vincoli e passi di analisi. La struttura del file di input a parole chiave è fortemente ispirata ad Abaqus, facilitando l’apprendimento per gli utenti provenienti da quel contesto.

Tra le tipologie di analisi supportate vanno menzionate:

  • Analisi statiche lineari per strutture elastiche
  • Analisi statiche non lineari (grandi deformazioni e plasticità)
  • Analisi dinamiche, sia implicite sia esplicite
  • Analisi modali per il calcolo delle frequenze proprie e delle forme modali
  • Analisi termiche, stazionarie e transitorie
  • Analisi termo-meccaniche accoppiate
  • Analisi di contatto, con o senza attrito

Il codice mette a disposizione diversi tutti i tipi di elementi finiti visti nella teoria, inclusi elementi trave, guscio (shell) e solidi, in formulazioni mono-, bi- e tridimensionali. Sono disponibili modelli di materiale isotropi e anisotropi, oltre a leggi elastiche, plastiche, viscoelastiche e di creep.

Pur non coprendo tutte le applicazioni multifisiche più avanzate, CalculiX risulta adeguato per una vasta gamma di problemi ingegneristici reali.

Uno dei punti di forza di CalculiX è la sua portabilità su diversi sistemi operativi, tra cui Linux, Windows e macOS. Le modalità di installazione variano a seconda della piattaforma e della scelta tra binari precompilati o compilazione da sorgente.

Su molte distribuzioni Linux, CalculiX è disponibile tramite il gestore di pacchetti. Ad esempio, su sistemi basati su Debian, CalculiX può essere installato mediante i comandi

sudo apt update

sudo apt install calculix-ccx calculix-cgx

Questa modalità è consigliata ai principianti, poiché gestisce automaticamente le dipendenze e fornisce versioni stabili del software.

In alternativa, è possibile compilare CalculiX dai file sorgente, operazione che richiede un compilatore Fortran (come gfortran) e i classici strumenti di sviluppo.

Su Windows, CalculiX viene solitamente installato scaricando i binari precompilati dal sito ufficiale. I file eseguibili ccx.exe e cgx.exe possono essere copiati in una cartella inclusa nella variabile di ambiente PATH.

Per la visualizzazione dei risultati può essere necessario installare librerie aggiuntive (ad esempio per il supporto OpenGL) oppure ricorrere a software di post-processing esterni come ParaView.

Infine, su macOS, CalculiX può essere installato tramite gestori di pacchetti come Homebrew o MacPorts, oppure compilato manualmente dai sorgenti. La compilazione richiede l’installazione degli strumenti a riga di comando di Xcode e di un compilatore Fortran.

Struttura di un file di input

Il cuore di ogni simulazione in CalculiX è il file di input. Esso è organizzato come una sequenza di blocchi identificati da parole chiave (dette anche schede), ciascuna preceduta da un asterisco (*). Ogni scheda definisce un particolare aspetto del modello.

Un file di input minimo include generalmente:

  • Definizione dei nodi (*NODE)
  • Definizione degli elementi (*ELEMENT)
  • Proprietà dei materiali (*MATERIAL, *ELASTIC, ecc.)
  • Condizioni al contorno (*BOUNDARY)
  • Carichi applicati (*CLOAD, *DLOAD)
  • Passi di analisi (*STEP, *STATIC, *DYNAMIC)

I commenti possono essere inseriti utilizzando due asterischi (**) e vengono ignorati dal solutore.

Comandi e keyword principali

Di seguito sono riportate alcune delle parole chiave più utilizzate in CalculiX.

Definizione di geometria e mesh

*NODE: definisce le coordinate dei nodi.

*ELEMENT: definisce gli elementi e la loro connettività.

*NSET e *ELSET: permettono di creare insiemi di nodi o elementi, utili per l’applicazione di carichi e vincoli.

Definizione dei materiali

*MATERIAL: introduce un nuovo materiale.

*ELASTIC: specifica le proprietà elastiche lineari (modulo di Young e coefficiente di Poisson).

*PLASTIC: definisce il comportamento plastico mediante curve sforzo-deformazione.

*DENSITY: assegna la densità del materiale, necessaria per le analisi dinamiche.

Vincoli e carichi

*BOUNDARY: applica vincoli di spostamento o rotazione.

*CLOAD: applica forze concentrate ai nodi.

*DLOAD: applica carichi distribuiti, come pressioni o forze di volume.

*TEMPERATURE: assegna temperature nodali.

Passi di analisi

*STEP: avvia un nuovo passo di analisi.

*STATIC: definisce un’analisi statica.

*DYNAMIC: definisce un’analisi dinamica.

*FREQUENCY: esegue un’analisi modale.

*END STEP: termina il passo di analisi corrente.

All’interno di ogni passo possono essere specificate le richieste di output.

Esecuzione di una simulazione

Una volta preparato il file di input, l’esecuzione di una simulazione con CalculiX è semplice. Dalla riga di comando, il solutore si avvia con il comando:

ccx nome_modello

Dove nome_modello.inp è il file di input. Durante l’esecuzione, CalculiX fornisce informazioni sullo stato del calcolo e genera diversi file di output, tra cui:

.dat: riepilogo dei risultati e informazioni sul solutore

.frd: risultati nodali ed elementari per il post-processing

.sta: informazioni sulla convergenza passo per passo

Questi file possono essere visualizzati con cgx o con software di post-processing esterni.

Pre- e post-processing

Sebbene cgx offra funzionalità di base per la creazione della geometria e la visualizzazione dei risultati, molti utenti preferiscono strumenti dedicati. Gmsh è spesso utilizzato per la generazione della mesh, mentre ParaView rappresenta una soluzione diffusa per il post-processing dei risultati.

La natura open-source di CalculiX lo rende particolarmente adatto all’integrazione in flussi di lavoro automatizzati, script di calcolo e cicli di ottimizzazione.

CaluliX è un software completamente libero ed open-source, basato su una sintassi del file di input simile ad Abaqus e che supporta un buon numero di tipologie di analisi. Sebbene lmolto materiale sia disponibile, la curva di apprendimento risulta più ripida rispetto ai software dotato di interfaccia gradica completa. Tale limitazione, però, è in corso di superamento mediante nuovi software che permettono la gestione di CalculiX mediante una GUI dedicata (e.g. PrePoMax).

Conclusioni

CalculiX rappresenta una soluzione di grande interesse per ingegneri e ricercatori che necessitano di un solutore agli elementi finiti potente, flessibile e privo di costi di licenza. La sua robustezza, unita alla compatibilità con numerosi strumenti open-source, lo rende particolarmente adatto alla didattica, alla ricerca e a molte applicazioni industriali su piccola e media scala.

Una buona comprensione della struttura del software, delle modalità di installazione e delle parole chiave principali consente di avviare rapidamente simulazioni significative. In un contesto in cui il software open-source sta assumendo un ruolo sempre più rilevante nell’ingegneria, CalculiX si distingue come un esempio emblematico di strumento tecnico di elevata qualità sviluppato dalla comunità.

Nel prossimo numero di Quaderni di Progettazione vedremo assieme come utilizzare CalculiX mediante tutorial specifici.

Design thinking

Idrogeno “verde” da lattine di alluminio e acqua marina

Uno studio del MIT dimostra che il processo basato su alluminio riciclato e acqua salata può produrre idrogeno a basse emissioni, con costi competitivi e applicazioni pratiche per trasporti, sistemi energetici distribuiti e soluzioni off-grid. L’idrogeno è da tempo considerato

Quaderni di progettazione

Un software FEM per tutti

Nei precedenti Quaderni di progettazione dedicati agli elementi finiti è stata data una base teorica del metodo e si sono analizzate le principali tipologie di elementi finiti esistenti. Questo articolo è dedicato all’introduzione del software open-source Calculix, che dal prossimo

Tips&Triks

Il controllo di coassialità e concentricità

Trucchi e segreti per una corretta applicazione del controllo di coassialità e concentricità Molti progettisti hanno molta difficoltà a utilizzare i controlli geometrici di coassialità nei disegni tecnici a causa dei diversi significati e interpretazioni che i simboli hanno nelle