Come eseguire un’analisi elastica lineare in ambito civile da salome_meca

In buona parte dei casi, eseguire un’analisi elastica lineare su una struttura o su componenti strutturali di un edificio o una costruzione civile è sufficiente per poter dare delle risposte sullo stato di sollecitazione e di sicurezza dell’oggetto analizzato (almeno in forma cautelativa). Nell’ambito di questo breve tutorial verrà spiegato come generare un semplice risultato da un’analisi meccanica lineare di un oggetto semplice ma tipico in ambito civile. Il video della procedura è disponibile a questo link. Il file della mesh e quello dei comandi sono reperibili in fondo all’articolo.

Solaio su pilastri d’angolo come semplice tema dell’analisi.

Supponiamo di avere a disposizione o di avere già generato la mesh dell’oggetto, con i gruppi di elementi o loro parti che saranno necessari per definire l’analisi (elementi, carichi, vincoli, condizioni al contorno). I passaggi base per generare il risultato dell’analisi lineare sono i seguenti:

  1. lettura della mesh;
  2. generazione del modello agli elementi finiti;
  3. assegnazione delle proprietà agli elementi;
  4. definizione e assegnazione del materiale;
  5. assegnazione dei carichi e delle condizioni al contorno;
  6. generazione dell’analisi meccanica non lineare;
  7. salvataggio del risultato.

La cosa può avvenire in più forme, ma ci si limiterà ad approcciare le varie fasi tramite AsterStudy, l’interfaccia grafica di salome_meca che gestisce e implementa le istruzioni in forma automatica (il file COMM). Ad ogni modo, a ciascun comando nell’interfaccia corrisponde un comando all’interno di code_aster.

Principali fasi per la generazione di un’analisi lineare in ingegneria civile con l’interfaccia di AsterStudy.

E’ necessario innanzitutto creare l’analisi generando uno stage.

Col pulsante destro è possibile aprire il menu a tendina e creare un’analisi con Add stage.

Col comando Read a mesh (LIRE_MAILLAGE) è possibile leggere e importare la mesh, direttamente dalla plancia del modulo SMESH, o facendo riferimento a un file MED esterno.

Lettura della mesh dal modulo SMESH.

La generazione del modello agli elementi finiti avviene col comando Assign finite element ( AFFE_MODELE). Si seleziona la modellazione desiderata: DKT per gli elementi 2D e POU_D_E per gli elementi 1D.

Assegnazione degli elementi finiti di tipo DKT (2D, gruppo solaio) e POU_D_E (1D, gruppo pilastri).

Le caratteristiche delle componenti strutturali si assegnano tramite AFFE_CARA_ELEM. Da indicare lo spessore per gli elementi COQUE 2D e le dimensioni per gli elementi POUTRE 1D.

La creazione e assegnazione del materiale avviene attraverso i comandi Define material (DEFI_MATERIAU) e Assign material (AFFE_MATERIAU). Elasticità, coefficiente di Poisson e densità sono gli input.

Definizione di un materiale elastico lineare isotropo, con modulo elastico, coefficiente di Poisson e densità (attenzione alle unità di misura!).
Assegnazione del materiale all’intero modello.

I carichi e i vincoli si possono assegnare tramite il comando Assign mechanical load (AFFE_CHAR_MECA). La procedura è possibile anche separando le assegnazioni in singoli comandi di input: in questo caso l’accelerazione gravitazionale e i vincoli alla base sono assegnati nello stesso comando.

Assegnazione del peso proprio e dei vincoli all’interno dello stesso comando. Si possono anche separare i comandi, per comodità di gestione.

Tramite il comando Static mechanic analysis (MECA_STATIQUE) è possibile generare l’analisi da risolvere.

Assegnazione del campo dei materiali, delle proprietà degli elementi, del modello e delle condizioni al contorno (carichi e vincoli) al modello agli elementi finiti.

Per salvare il risultato è necessario utilizzare il comando Set output results (IMPR_RESU). Il formato RMED facilita la lettura con Paraview/ParaVis.

Salvataggio del file di risultati di tipo MED (RMED) in una destinazione predefinita.

Per far girare l’analisi si accede alla finestra dei casi di analisi e si procede aggiungendo un RunCase e inizializzandolo…

Codice verde per l’analisi svolta correttamente. In caso di responso negativo, è possibile cercare la causa dell’errore nel file di messaggio generato.

Si accede al file dei risultati tramite Paravis.

Accesso al file dei risultati all’interno del modulo Paravis per la visualizzazione.
Visualizzazione dei risultati in Paravis (deformata, componente DZ).

File mesh dell’oggetto.

Qui di seguito si riproduce il file di comandi generato nell’analisi.

DEBUT(LANG='EN')

mesh = LIRE_MAILLAGE(UNITE=20)

model = AFFE_MODELE(AFFE=(_F(GROUP_MA=('solaio', ),
                             MODELISATION=('DKT', ),
                             PHENOMENE='MECANIQUE'),
                          _F(GROUP_MA=('pilastri', ),
                             MODELISATION=('POU_D_E', ),
                             PHENOMENE='MECANIQUE')),
                    MAILLAGE=mesh)

elemprop = AFFE_CARA_ELEM(COQUE=_F(EPAIS=0.25,
                                   GROUP_MA=('solaio', ),
                                   VECTEUR=(1.0, 0.0, 0.0)),
                          MODELE=model,
                          POUTRE=_F(CARA=('H', ),
                                    GROUP_MA=('pilastri', ),
                                    SECTION='RECTANGLE',
                                    VALE=(0.25, )))

mater = DEFI_MATERIAU(ELAS=_F(E=30000000.0,
                              NU=0.3,
                              RHO=2.5))

fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(mater, ),
                                 TOUT='OUI'),
                         MODELE=model)

load = AFFE_CHAR_MECA(DDL_IMPO=_F(DRX=0.0,
                                  DRY=0.0,
                                  DRZ=0.0,
                                  DX=0.0,
                                  DY=0.0,
                                  DZ=0.0,
                                  GROUP_NO=('vincolo', )),
                      MODELE=model,
                      PESANTEUR=_F(DIRECTION=(0.0, 0.0, 1.0),
                                   GRAVITE=-9.81))

reslin = MECA_STATIQUE(CARA_ELEM=elemprop,
                       CHAM_MATER=fieldmat,
                       EXCIT=_F(CHARGE=load),
                       MODELE=model)

IMPR_RESU(RESU=_F(RESULTAT=reslin),
          UNITE=80)

FIN()

2 risposte a “Come eseguire un’analisi elastica lineare in ambito civile da salome_meca”

  1. Grandiosi che iniziate a far tutorial per i civili, si trovan cose solo per plate o brick in rete. Lo studio delle aste lo trovo davvero ostico sinceramente. Spero proseguirete. Se aster permette di fare una spettrale in modo agevole. Con phyton si fa qualche tool do verifica sezionale…sarai un bambino felicissimo

    1. Grazie Paolo! Prendo spunto dalla tua riflessione per i prossimi post, anticipando che è effettivamente possibile fare un’analisi modale in risposta spettrale!

Rispondi a Vladimir Cerisano Kovacevic Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.