L' MSC Marc Mentat è un software per l'analisi di problemi non lineari. Il Mentat è l'interfaccia grafica che permette di costruire la mesh dell'elemento (pre-processamento) e fornisce l'output al termine dell'analisi che mi permette di effettuare diverse operazioni sull'elemento calcolato (post-processamento).
Il Marc è il solutore di equazioni non lineari. I due programmi sono separati poiché in generale girano o possono girare su macchine diverse, infatti il pre- ed il post-processore girano sui nostri computer mentre il solutore può girare su un server a distanza. Il link che rimanda alla presentazione del programma è il seguente:
http://www.mscsoftware.com/product/marc
Esistono software alternativi ( a pagamento e non) che svolgono le funzioni di Marc/Mentat, tra cui:
Dalle macchine di laboratorio aprire il terminale e digitare:
mentat2013.1 -ogl -glflush
Il programma crea i seguenti file:
Infine viene passato al solutore il file .dat che contiene la struttura.
Nella sezione HELP è possibile accedere ai manuali.
L'interfaccia presenta un menù laterale, una barra dei comandi inferiore e un'ampia zona dello schermo dedicata al modello. Il menù è organizzato seguendo il flusso logico di una analisi agli elementi finiti e pertanto si compone di varie parti dedicate rispettivamente al pre-processing, ossia alla creazione del modello, cui seguono la definizione ed il lancio dell'analisi e infine si passa al post-processing ossia all'elaborazione dei risultati.
Le voci principali del menù sono:
Mesh Generation: consente di creare geometrie, meshature e di effettuare altre operazioni utili riguardanti la mesh
Geometric Properties: associa agli elementi creati in precedenza le proprietà geometriche (es: tensione piana, elementi piastra, spessori e altro)
Material Properties: assegna uno o più materiali alla struttura, consentendo di simulare svariate situazioni reali
Contact: gestisce fenomeni di contatto
Links: gestisce i vincoli
Initial Conditions: definisce ed applica le condizioni iniziali (solo per calcoli dinamici)
Boundary Conditions: definisce ed applica le condizioni al contorno (carichi, vincoli..)
Mesh Adaptivity: permette di raffinare le mesh da altre più grezze (raffinazione iterativa)
Design: permette di modificare geometrie
Loadcases: definisce pezzi di storia dei carichi
Jobs: gestisce combinazioni di loadcases e lancia il calcolo
Results: apre il file dei risultati
Nella barra dei comandi, alle scritte in verde corrispondono dei MENU mentre a quelle azzurre si associano dei comandi. Vi sono dei menù con a fianco un led che si spegne o accende quando vi clicchiamo sopra (ad esempio per il comando dyn. model) che avverte se quella specifica opzione è attivata o meno. Per impostare lo sfondo di colore bianco andare nel menu CONFIGURATION>DEVICE>MENU COLORS e selezionare GREY
DYN.MODEL: se è selezionato viene permessa la rototraslazione del modello rappresentato che si ottiene attraverso l'uso dei tasti sinistro, centrale e destro del mouse. Quando esso è invece deselezionato permette ad esempio la selezione dei nodi col tasto sinistro del mouse ed altre funzioni.
Una volta selezionato uno o più menù, per ritornare al menù principale è sufficiente cliccare sulla voce MAIN, mentre per tornare al menù precedente si può usare il comando RETURN o cliccare con il tasto destro del mouse nell'area del menù.
Per salvare con nome si clicca nel menù FILES dalla barra dei comandi inferiore e si sceglie SAVE AS; facendo riferimento invece al comando SAVE il nostro progetto verrà salvato con il nome model1, se non già salvato con un nome diverso in precedenza. L’estensione sarà .mud se il file è stoccato in formato binario o .mfd se testuale, quest’ultimo modificabile con editor di testo.
E' buona abitudine salvare spesso il lavoro sul programma in quanto esso permette un solo UNDO e non di risalire alle operazioni precedenti cliccando ripetutamente su UNDO. Il file che si verrà a creare con estensione t16.mud contenuto nella cartella home è completamente inutile e si origina quando si salva il file durante altre operazioni, ad esempio mentre il marc effettua il calcolo. Perciò se si intende salvare il proprio lavoro su dispositivo esterno, è bene copiare il file con estensione .mud.
Nel nome del file non devono esserci spazi così come non devono esserci spazi nel percorso del file; il mancato rispetto di questa regola è causa frequente di errore. Perciò se voglio salvare versioni successive del file inerente all'analisi del tubo in pressione, conviene nominare i file come tubo_1.mud, tubo_2.mud, tubo_3.mud… dove l'underscore è usato al posto dello spazio.
Menù Plot: attraverso questo menù si decide cosa si vuole visualizzare: posso decidere di nascondere entità cliccando sul led corrispondente. Si può inoltre settare la risoluzione delle geometrie su tre livelli (LOW,MEDIUM,HIGH); per aggiornare le modifiche apportate cliccare sul tasto REGEN.
Consiglio utile (Liberare zoom dinamico):
Andare in System → preferenze Windows → Modificare “Movement Key” da Alt (utilizzato dal Mentat) con Super (o “windows logo”) così da liberare l’ALT che serve per lo zoom dinamico. Una volta cambiata l’opzione riaprire il programma.
In questa esercitazione è stato scelto di modellare un tubo pressurizzato. In questo modo possiamo determinare l'errore nel risultato ottenuto dalla modellazione agli elementi finiti, conoscendo dalla teoria la soluzione esatta. Con la teoria dei tubi è possibile applicare uno stato di tensione piana sul piano xy, ma per fare ciò è necessario che il tubo abbia un elevato sviluppo in direzione assiale (z).
Nella modellazione non è possibile creare un tubo infinitamente lungo perché genererebbe un modello troppo pesante.
Si può quindi utilizzare un approccio di tipo pratico andando a variare progressivamente la lunghezza del tubo fino a quando non si notino più variazioni delle proprietà lungo l'asse z.
Si costruisce un tubo così definito:
Per prima cosa si devono costruire le due circonferenze che definiscono la sezione del tubo. I menù sono ordinati cercando di seguire la creazione logica di un modello. Il primo Menù è quello di generazione della Mesh [MESH GENERATION].Questo menù è suddiviso in diverse aree (nuclei di comandi concettualmente aggregati) come ci mostra la figura successiva. Nella parte superiore del menù viene data la possibilità di aggiungere, modificare, eliminare o interrogare nodi (NODES), elementi (ELEMS), punti (PTS), curve (CRVS), superfici (SRFS), solidi (SOLIDS). Nodi ed elementi sono entità riguardanti la mesh, mentre curve, superfici e punti sono entità geometriche. Ad esempio la differenza tra un nodo ed un punto è che pur essendo entrambi definiti da un punto nello spazio, ai nodi sono anche associate incognite di spostamento e/o rotazione e quindi un nodo è un punto che ha possibilità di muoversi secondo un numero di spostamenti incogniti che dipendono dal tipo di geometria del modello.
Si scelga quindi l'opzione CENTER/RADIUS dal menu CURVE TYPE.
Aggiungere quindi le circonferenze tramite il comando CRVS>ADD e impostando i parametri richiesti. (es: centro in 0,0,0 e raggio=10 ); se dalla barra dei comandi inferiori clicco su RESET VIEW mi riporto nelle condizioni predefinite di visualizzazione mentre se invece premo su FILL lo zoom si modifica fino a includere tutte le entità del modello.
Per definire la meshatura si passa al menu AUTOMESH. CURVE DIVISIONS serve per definire la taglia della mesh, si selezioni dunque TYPE=UNIFORM; INPUT-TARGET LENGHT =1 ; DIVISIONS = 32.
Cliccando ora APPLY CURVE DIVISIONS per applicare le modifiche, il programma chiederà a quali curve riferirsi. Si selezionino quindi le due circonferenze tramite il mouse e una volta terminato, chiudere la lista con END LIST (o alternativamente scrivendo # o cliccando con il tasto destro del mouse sul disegno).
L'opzione REPAIR GEOMETRY all'interno del sottomenù AUTOMESH all'interno del menù MESH GENERATION è molto utile quando la meshatura è stata creata in automatico e che quindi possa prensentare delle impecisioni soprattutto in zone delicate della mesh (elevati gradienti). Questa opzione permette per esempio di unire due segmenti che non si uniscono ed è fondamentale utilizzarla prima della run nel caso si abbiano dubbi sulla correttezza della mesh.
Cliccando RETURN si ritorna al menù AUTOMESH. Il menù CURVE MESHING mostra le linee di mesh, utili nella modellazione delle travi. La funzione che interessa in questo momento è 2D PLANAR MESHING. Vi sono essenzialmente quattro opzioni all'interno.
QUADRILATERALS ADV FRNT: avanzamento di fronte, parto dalle curve e vado verso l'interno (il mentat “rappezzerà” ciò che non sarà completo).
QUADRILATERALS (OVERLAY): poco usata.
TRIANGLES (DELAUNAY): gli elementi variano di grandezza in modo soddisfacente, ha il difetto che se la geometria è particolare tale algoritmo va in crash e non è utilizzabile.
TRIANGLES (ADV FRONT): meshatura meno fine ma più stabile.
In questa esercitazione si è scelta una meshatura di tipo QUADRILATERALS ADV FRNT: selezionare QUAD MESH!
Si sceglie di infittire la mesh in senso radiale in quanto questa direzione è più critica della circonferenziale.
Si entra quindi nel sottomenu SUBDIVIDE e si assegnano i valori 1 , 2 , 1 nel blocco DIVISIONS1).
Si applichino dunque le modifiche cliccando prima su ELEMENTS e poi su ALL: EXIST.
Esiste un'opzione che consente di controllare automaticamente se l'orientamento dei nodi è corretto e per accedere a questa funzione devo andare in MESH GENERATION>CHECK>UPSIDE DOWN: si tratta del controllo che verifica se gli elementi sono percorsi in senso antiorario; viene fatta una selezione automatica (azzurrina) da parte del programma che mi consente con un solo comando di rinumerare i nodi e correggere così l'orientamento. Il comando FLIP ELEMENTS fa girare gli elementi e gli fa assumere l'orientamento corretto: alla richiesta di quali elementi girare premere ALL SELECTED.
Si vede ora la procedura per verificare se ci sono nodi sovrapposti nella struttura.
Si accede al menu PLOT dalla barra dei comandi inferiore da cui è possibile gestire le opzioni di visualizzazione degli oggetti del modello. Bisogna accedere alla modalità di visualizzazione dei nodi (NODES SETTINGS) e chiedere che per ogni nodo sia visualizzata la sua etichetta (LABEL). A questo punto, dopo aver premuto REGEN, vicino a ogni nodo compare il proprio numero: si vede bene che ci sono etichette sovrapposte poco leggibili e perciò la struttura presenta nodi sovrapposti.
Il comando di collasso nodale si trova in MESH GENERATION/SWEEP: questo comando chiede attraverso la tolleranza quando deve considerare due nodi sovrapposti e saldarli ( di default due nodi sono sovrapposti se sono distanti meno di 0.0001 ossia un decimillesimo di millimetro).
A questo punto si può passare all'estrusione della sezione, eseguibile tramite il comando MESH GENERATION>EXPAND
si esegue quindi una traslazione definita su 10 stadi di una misura che sia dell'ordine delle celle.
(Posso misurare questa distanza tramite il comando UTILS>DISTANCE e scegliendo due nodi consecutivi sulla circonferenza interna )
Dal menu EXPAND si seleziona dunque la voce TRANSLATION FROM TO e assegno i valori 0,0,2 (ossia il passo, solo lungo z) e 10 su REPETITIONS.
Alla voce MODE viene richiesto cosa fare con gli elementi di partenza:
Si procede lasciando la spunta su REMOVE e si genera quindi l'estrusione selezionando ELEMENTS>ALL EXIST.
A questo punto, conclusa la fase di creazione della mesh, dal menu iniziale si possono definire gli altri parametri del problema.
Si definiscono ora le proprietà geometriche. Nel caso in esame, i cubetti definiscono in modo univoco una porzione di materiale e non c'è da aggiungere una indicazione né di spessore, né di sezione.
In generale, si torna al menù MAIN e si clicca sul menù GEOMETRIC PROPERTIES>STRUCTURAL>NEW per creare una schedina con le proprietà geometriche della struttura.
Si definiscono adesso le proprietà del materiale:
Dal menù MAIN si seleziona MATERIAL PROPERTIES>NEW>STANDARD (e si fornisce il nome acciaio cliccando sulla voce “general”) Cliccando sulla voce GENERAL si inserisce una densità (anche se inutile in questa analisi) di 7.8e-9 ( si tratta di Mg/mm^3), mentre cliccando su STRUCTURAL si definisce il modulo di young di 210000 e un modulo di Poisson di 0.3 valido per la maggior parte dei materiali di uso ingegneristico.
Si applicano ora queste proprietà a tutti gli elementi con ELEMENTS, ADD, ALL EXISTING.
Infine si applicano le condizioni al contorno.
Le più comuni Boundary Condition disponibili sono:
FIXED DISPLACEMENT: usato nei casi in cui si ha spostamento imposto pari a 0;
FIXED ACCELERATION: usato sopratutto per carichi inerziali;
POINT LOAD: carico nodale usato per dare un carico finito su uno specifico nodo;
EDGE LOAD: carico su un lato applicabile ad un modello 2D;
FACE LOAD:come il precedente, ma riferito ad un modello 3D;
GLOBAL LOAD: carico per unità di volume non scalato per la densità;
GRAVITY LOAD: un carico per unità di volume scalato per la densità.
In questo caso si vuole applicare una pressione di 1 MPa (10 bar) al bordo interno:
Dal MAIN> BOUNDARY CONDITION> NEW> STRUCTURAL> FACE LOAD, rinomino in pressione e nelle PROPRIETA' attivo PRESSURE, inserisco 10 (10MPa). Per selezionare la faccia su cui agisce la pressione si clicchi su FACES>ADD. Si attivi la modalità di “selezione poligonale” tenendo premuto il tasto CTRL e si vadano quindi a selezionare i nodi appartenenti alla faccia interna tracciando una poligonale che li includa (evitando di includere nodi indesiderati).
Per visualizzare la struttura come un solido: PLOT>ELEMENTS>STTINGS e cambiare da WIREFRAME a SOLID, quindi REGEN.
In questo momento la struttura è ben definita ma non è risolvibile dato che la soluzione non è univoca dal momento che esistono ∞^3 soluzioni. E' quindi necessario isostaticizzare la struttura, mantenendola cioè in posizione.
I comandi sono: BOUNDARY CONDITIONS>NEW>STRUCTURAL>FIXED DISPLACEMENT ; selezionare 3 nodi
Ne scelgo ad esempio 2 sulla faccia frontale e il terzo sulla superficie laterale del tubo. Su questi nodi blocco gli spostamenti lungo z assegnando valore 0 a DISPLACEMENT Z nel menu PROPERTIES.
Ora che rimane solo la possibilità di traslazione sul piano XY (normale a z), si tratta di un problema piano: si decide quindi di utilizzare un classico vincolo cerniera-carrello.
Si crea quindi un ulteriore vincolo che blocchi gli spostamenti lungo x e y (cerniera) ed uno che blocchi lo spostamento lungo x di un altro punto (carrello), non allineato in x al precedente (l'asse di questo carrello NON deve intersecare l'asse della cerniera, e DEVE quindi risultare sgembo).
A questo punto la struttura risulta isostatica e si può lanciare il calcolo.
modello a fine lezione tubo_3d_v001.mud