Potenza irradiata equivalente

In questo post esaminiamo alcuni post-processing con il modulo Paravis, in particolare proviamo ad ottenere alcuni risultati mostrati in questo articolo per la potenza irradiata equivalente (ERP, in inglese “equivalent radiated power”). Si tratta di un’analisi semplificata per ottenere la potenza del rumore emesso da una superfice vibrante alle varie frequenze. Dato che non viene fatto un vero e proprio calcolo acustico (peraltro possibile con Code_Aster) l’analisi è valida solo in certe ipotesi (onde piane, lontano dai bordi, nessuna presenza di eco, velocità del fluido uguale a quella del materiale in prossimità della struttura etc.). Il vantaggio è che non occorre calcolare la pressione del fluido ma solo fornire alcuni parametri, basta il campo di velocità. Per prima cosa effettuiamo un’analisi di risposta in frequenza con Code_Aster, come abbiamo già visto in un post precedente.

Questo problema riguarda una piastra semplicemente appoggiata lungo i lati (traslazioni bloccate, rotazioni permesse) e caricata con una pressione uniforme (la stessa a tutte le frequenze esaminate). Non è presente in questo problema alcuno smorzamento, quindi la risonanza al primo modo sarà limitata solo da uno smorzamento numerico, in questo caso esamineremo la frequenza di 25 Hz.

Campo ERP in Decibel (per ogni cella)
Leggi tutto “Potenza irradiata equivalente”

Deformazione elasto-plastica

In questo post vedremo un esempio semplice di calcolo elasto-plastico, tratto da questo articolo. Per i dettagli sui passi più comuni dello studio (definizione delle condizioni ai limiti, esecuzione, etc.) si rimanda ai post precedenti, in questo articolo verranno mostrati solo i passi più importanti per l’analisi.

Ciclo di carico e scarico (tensioni e deformazioni di un singolo nodo)
Leggi tutto “Deformazione elasto-plastica”

Assemblaggio di mesh e proiezione di campi

Questo post riprende un articolo apparso alcuni anni fa su CEALinux e scritto da Claus Andersen. I comandi sono stati aggiornati alla versione attuale di Code_Aster.

Risultato del calcolo sull’assemblaggio

Lo scopo è vedere come si possono assemblare diverse mesh costruite separatamente (in modo non conforme, cioè i nodi non sono necessariamente coincidenti). Le ragioni per utilizzare queste tecniche sono diverse, per esempio per semplificare l’operazione di meshing o semplicemente per voler lavorare solo su alcune parti di una struttura. Di seguito le parti da assemblare e lo schema di montaggio. Nello stesso studio si vedono altri concetti, come la conversione della mesh in elementi quadratici, la proiezione di un campo etc.

Leggi tutto “Assemblaggio di mesh e proiezione di campi”

Gmsh e Salome : mesh cross-patch

In questo post esaminiamo una funzionalità poco conosciuta, ma a volte molto utile, nelle capacità di mesh di Salome: la possibilità di ignorare certi elementi geometrici. Spesso le geometrie contengono, per costruzione, elementi che ne rendono difficile una mesh corretta: parti troppo piccole, segmenti di linea spezzettati, etc. Il mesher, normalmente, deve rispettare ogni elemento geometrico.

Esistono strumenti in Salome per “riparare” una geometria (unire alcune facce, eliminare segmenti intermedi, …) ma a volte non è possibile o è molto costoso. Un’alternativa consiste nell’usare un algoritmo di meshing fornito da Gmsh. Gmsh è un software open source prodotto all’Università di Liège, in Vallonia (Belgio). Ci sono state alcune integrazioni reciproche di algoritmi tra Salome e Gmsh, tra cui quella che viene mostrata qui.

Apriamo una geometria di esempio: si possono notare molte linee di costruzione.

Geometria di esempio per la costruzione della mesh
Leggi tutto “Gmsh e Salome : mesh cross-patch”

Instabilità lineare

In questo breve post si descrive come fare un’analisi di instabilità lineare (buckling). Il problema è tratto da questo sito. Si tratta di calcolare il carico critico euleriano per (in questo caso) una semplice trave. La trave è libera solo di traslare in senso verticale nel suo estremo destro, dove viene applicato un carico nodale.

Trave caricata verticalmente all’estremo destro

Per l’impostazione del problema (creazione della mesh, impostazione dello studio, definizione dei materiali etc.) si rimanda ai post precedenti, qui tratteremo solo le caratteristiche specifiche di questo tipo di analisi. Per questa analisi occorre:

  • Eseguire un’analisi statica lineare con carichi e vincoli
  • Calcolare una matrice di rigidezza geometrica usando i soli vincoli
  • Eseguire un’analisi modale
Leggi tutto “Instabilità lineare”

Risposta in frequenza su base modale

Questo articolo descrive come realizzare in Code_Aster un’analisi di risposta in frequenza su base modale. L’esempio è tratto da uno studio disponibile su internet e realizzato in Nastran. Si tratta di un elemento piastra sottoposto a due carichi: una pressione uniforme ed una forza nodale sfasata di 45 gradi. Per permettere un confronto tra i risultati verranno usati i dati dell’esempio originale (sistema imperiale). Per una descrizione più dettagliata della procedura è possibile riferirsi alla documentazione di formazione “Linear transient and harmonic analysis“.

Elemento piastra, sono rappresentati i vincoli e i carichi applicati.
Leggi tutto “Risposta in frequenza su base modale”

Code_Aster 14.2 in parallelo su Ubuntu Bionic

Questo post mostra come costruire una versione di Code_Aster 14.2 in parallelo a partire dai sorgenti. Questa procedura, che richiede una conoscenza intermedia dell’ambiente Linux, non è ufficiale ma è stata creata a partire da suggerimenti e procedure esistenti.

Leggi tutto “Code_Aster 14.2 in parallelo su Ubuntu Bionic”

Visualizzazione delle sezioni degli elementi trave

Un altro post rapido per dare alcuni elementi di risposta per una domanda sentita varie volte sempre alla giornata Code_Aster di Modena (e di recente su Linkedin). Si tratta di argomento relativamente semplice ma è destinato a chi ha già un’esperienza di base in Code_Aster.

Gli elementi trave sono spesso rappresentati negli studi strutturali ad elementi finiti da elementi filari (1D) e non è quindi possibile vedere graficamente il loro orientamento o, più in generale, la forma della sezione. Nei programmi professionali esiste una qualche forma di visualizzazione che permette di “vedere” la trave come elemento solido, almeno per controllare il suo corretto orientamento.

In Code_Aster una possibilità consiste nell’utilizzo degli elementi multifibra. Le travi multifibra sono state create per modellare travi con una struttura interna complessa, spesso composita (per esempio nel caso delle armature in acciaio per il cemento armato). È possibile comunque utilizzarle anche per una qualsiasi trave, anche con “una fibra sola”, cioè fatta di un solo materiale.

Leggi tutto “Visualizzazione delle sezioni degli elementi trave”

Come fare un plugin in Salome

Questo rapido post fornisce qualche elemento per rispondere ad una domanda fatta da diverse persone durante la scorsa giornata utenti di Code_Aster a Modena: “come fare un plugin in Salome”.

Un plugin (in altri contesti verrebbe chiamato una “Macro”) serve per aggiungere delle funzionalità all’interno dei moduli già esistenti.

Il compito è relativamente semplice, ma richiede alcune conoscenze:

  • programmazione Python di base
  • utilizzo del framework PyQt

In questo esempio verrà creato un semplice plugin di esempio che permette di:

  • selezionare un cerchio (e solo un cerchio) nella geometria
  • creare un vertice al suo centro
  • opzionalmente, creare un sistema di coordinate locali per il cerchio

Leggi tutto “Come fare un plugin in Salome”