wikipaom2015:lez13
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
wikipaom2015:lez13 [2015/04/27 15:50] – 163030 | wikipaom2015:lez13 [2015/09/28 16:15] (versione attuale) – [MESH GENERATION] 182648 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== Marc/Mentat ====== | ||
+ | |||
+ | |||
+ | ===== INTRODUZIONE AL MARC-MENTAT ===== | ||
+ | |||
+ | | ||
+ | L' MSC Marc Mentat è un software per l' | ||
+ | |||
+ | http:// | ||
+ | |||
+ | La necessità di utilizzare un codice commerciale nasce dal fatto che sarebbe molto difficile effettuare modellazioni complesse programmate da un utente medio, anche se indubbiamente ciò gli conferirebbe maggiore | ||
+ | controllo su tale modellazione. | ||
+ | |||
+ | Le principali alternative a pagamento al Marc-Mentat sono: | ||
+ | |||
+ | Abaqus: http:// | ||
+ | |||
+ | Ansys: http:// | ||
+ | |||
+ | Marc, Abaqus e Ansys sono codici pensati per gestire problematiche non lineari. Un problema è lineare se una caratteristica di sollecitazione può essere descritta come combinazione lineare delle forze o delle sollecitazioni che la provocano. In tutti i casi in cui ciò non succede il problema non è lineare. Un esempio di problema lineare è la classica trave incastrata con forza all' | ||
+ | |||
+ | I codici sopra citati consentono di trattare quindi anche problemi non lineari. La maggior parte dei simulatori agli elementi finiti associati ai modellatori solidi sono invece di tipo lineare (si tratta ad esempio dei solutori associati a ProE e Solidworks tanto per citarne un paio). | ||
+ | |||
+ | La principale alternativa non lineare opensource al Marc è invece Code_Aster, un codice agli elementi finiti sviluppato dalla EDF francese (ente corrispondete all' | ||
+ | |||
+ | Si tratta di un codice Fortran ed è soltanto il solutore. | ||
+ | |||
+ | Solutori opensource noti sono Calculix e Z88 Aurora disponibile in versione free ed opensource. | ||
+ | |||
+ | I difetti principali che accumunano un po' tutti i codici opensource stanno nel fatto che non possiedono un solutore integrato e i meshatori implementati talvolta non sono in grado di restituire all' | ||
+ | |||
+ | I vantaggi del mentat risiedono nel fatto che si tratta di un software profondamente radicato nel passato (nasce intorno agli anni '70) e quindi permette un approccio di basso livello estremamente didattico: i nodi all' | ||
+ | |||
+ | Oggigiorno tale software trova maggiore applicazione nel campo della modellazione degli elastomeri. | ||
+ | |||
+ | I codici sin qui citati sono anche detti codici " | ||
+ | |||
+ | Lo scopo è individuare l' | ||
+ | |||
+ | |||
+ | |||
+ | ===== COME LANCIARE IL PROGRAMMA ===== | ||
+ | |||
+ | |||
+ | |||
+ | Dalle macchine di laboratorio aprire il terminale e digitare: | ||
+ | |||
+ | mentat2013.1 oppure | ||
+ | |||
+ | mentat2013.1 -ogl -glflush | ||
+ | |||
+ | Per istruzioni più dettagliate si rimanda a: | ||
+ | |||
+ | https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | Da PC personale è possibile lanciare il programma da Linux Mint dopo aver effettuato l' | ||
+ | |||
+ | In alternativa è possibile fare riferimento a https:// | ||
+ | |||
+ | NB: nel caso in cui si lanci il programma da terminale, si ricorda che tale programma è figlio del terminale con cui è stato lanciato e di conseguenza se si chiude il terminale si perde il lavoro effettuato al Mentat se non salvato. | ||
+ | |||
+ | L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ===== FUNZIONI GENERALI ===== | ||
+ | | ||
+ | | ||
+ | | ||
+ | Come già accennato, data la complessità dei casi reali di interesse ingegneristico è impossibile compilare un codice Fortran capace di schematizzare il modello e risolvere il problema, almeno lo è per un utente medio. | ||
+ | Proprio per questo motivo ci si basa su un programma commerciale che consente di effettuare analisi (FEA) che vanno dalle più classiche (strutturali) alle più complesse (termiche, fluidodinamiche e magnetiche), | ||
+ | |||
+ | Durante questo corso verrà usato il programma agli elementi finiti Marc/ | ||
+ | |||
+ | E' importante tenere a mente che il software in questione non prevede l' | ||
+ | |||
+ | Al fine di evitare errori macroscopici è quindi necessario prestare attenzione nell' | ||
+ | |||
+ | Aprendo il programma si presenta la schermata del menù principale, dalla quale si può accedere alle funzioni di base del programma (nel corso della lezione verranno illustrati i tasti utilizzati). | ||
+ | |||
+ | Le voci principali del menù sono: | ||
+ | |||
+ | __Mesh Generation: | ||
+ | |||
+ | __Geometric Properties: | ||
+ | |||
+ | __Material Properties: | ||
+ | |||
+ | __Boundary Conditions: | ||
+ | |||
+ | __Jobs:__ delinea le opzioni dell' | ||
+ | |||
+ | La colorazione dei tasti assume un certo significato nel programma: un colore azzurro caratterizza infatti i pulsanti relativi a dei comandi veri e propri, mentre il colore verde identifica pulsanti relativi ai sottomenù (questi pulsanti hanno anche una freccetta che ci informa che il menù verrà espanso cliccando sul pulsante). | ||
+ | |||
+ | 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. | ||
+ | |||
+ | In riferimento proprio a quest' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Per importare varie geometrie/ | ||
+ | |||
+ | __Tasto help:__ collocato in basso a destra, permette all' | ||
+ | |||
+ | __Menù Plot:__ attraverso questo menù si decide cosa si vuole visualizzare. NOTA: ciò che non è visualizzato non è selezionabile. Dal menù plot è possibile accedere alle impostazioni di ciò che è visualizzato a schermo. Per esempio in basso è riportato lo screenshot delle impostazioni delle curve. A titolo di esempio si è selezionata il led DIRECTION e poi si è cliccato il tasto REGEN per visualizzare le direzioni delle curve (in mentat tutte le curve sono orientate). | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Se ho due finestre Mentat aperte, la principale sembrerà bloccata fino anche non verrà chiusa la finestra secondaria; per chiudere la finestra usare CANCEL oppure OK (il chiudi finestra solitamente non funziona). | ||
+ | |||
+ | Consiglio utile (Liberare zoom dinamico): | ||
+ | |||
+ | Andare in System -> preferenze Windows -> Modificare “Movement Key” da Alt (utilizzato dal Mentat) con Super (or “windows logo”) così da liberare l’ALT che serve per lo zoom dinamico. Una volta cambiata l’opzione riaprire il programma. | ||
+ | |||
+ | NOTA: quando si dice " | ||
+ | |||
+ | |||
+ | |||
+ | ===== IMPOSTAZIONE DEL MODELLO DI UN TUBO PRESSURIZZATO ===== | ||
+ | |||
+ | ===== Stato Tensionale ===== | ||
+ | |||
+ | | ||
+ | | ||
+ | Iniziamo ad usare il programma modellando il problema di un tubo in pressione. Prima di descrivere la modellazione è utile richiamare alcuni concetti riguardanti la tensione e la deformazione piana. | ||
+ | |||
+ | Si parla di stato tensionale piano se la tensione fuori dal piano che caratterizza la sezione del problema è nulla. | ||
+ | |||
+ | In particolare se consideriamo il piano Oxy come il piano delle tensioni, deve essere σz=0 τxz= τyz=0. Generalmente lo stato tensionale piano è caratteristico di corpi sottili in cui la sezione non varia bruscamente e in cui sono marginali gli effetti intaglio; ovviamente il caricamento di questi corpi deve essere piano. Sotto queste ipotesi risulta spesso lecito trascurare la tensione ortogonale al piano in quanto essa, dovendo annullarsi sulle superfici a contatto con l' | ||
+ | |||
+ | |||
+ | |||
+ | ===== MESH GENERATION ===== | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | 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. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Nel nostro esempio considereremo un tubo di raggio interno Ri = 10mm e raggio esterno Re = 20mm, in alluminio (Young modulus 70000 MPa) e pressurizzato da una pressione interna di 1 MPa. | ||
+ | |||
+ | NOTA BENE: in mentat non si distinguono le unità di misura. Si inseriscono quindi valori coerenti tra loro, coerenza che sta all' | ||
+ | |||
+ | Di conseguenza è bene far attenzione ad esprimere la densità in [Mg/ | ||
+ | |||
+ | Il modello in questo caso è descritto dalla sola sezione del tubo, una corona circolare; la prima cosa da fare è definire l' origine del sistema di riferimento; | ||
+ | |||
+ | NOTA: ogni volta che si clicca un tasto nella schermata del mentat, nel prompt viene scritta la riga di comando che gli corrisponde. Ciò potrebbe non interessare, | ||
+ | |||
+ | A questo punto dovrebbe comparire sul monitor, nella zona di visualizzazione del modello, un punto che definisce l' | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Se volessi rimuovere un punto posso seguire il comando PTS-> REM e cliccare sul punto da eliminare; il punto non viene eliminato immediatamente e infatti posso continuare a selezionarne altri ed una volta finita la lista di punti da cancellare posso procedere con l' | ||
+ | |||
+ | Se vogliamo riprendere i punti cancellati, ma più in generale ritornare indietro all’ultima operazione eseguita, possiamo usare il comando UNDO. NB: come già detto in precedenza si ha a disposizione un unico UNDO, quindi è utile salvare molto frequentemente. Cliccare la prima volta su undo permette di correggere un errore ma cliccare una seconda volta su undo non fa altro che ripristinare l' | ||
+ | |||
+ | NOTA: nella cartella home viene creato un file denominato mentat.proc che contiene tutti i comandi che sono stati lanciati durante una sessione del mentat. Se si lancia una nuova sessione tale file viene sovrascritto. | ||
+ | |||
+ | Per costruire la corona circolare caratterizzante la geometria del problema procediamo come segue: | ||
+ | |||
+ | MESH GENERATION, CRVS ADD | ||
+ | |||
+ | e si inseriscono le coordinate del centro e i la misura dei due raggi. | ||
+ | |||
+ | Si creano così due circonferenze concentriche. | ||
+ | |||
+ | Su video probabilmente non vediamo che sono stati creati due nodi dal momento che essi si trovano fuori dalla zona di inquadratura (lo zoom di default è centrato sull' | ||
+ | |||
+ | I tasti fisici (implementati cioè nell' | ||
+ | |||
+ | TX+ : trasla leggermente verso destra | ||
+ | |||
+ | TX- : trasla leggermente verso sinistra | ||
+ | |||
+ | TY+ : trasla leggermente in alto | ||
+ | |||
+ | TY- : trasla leggermente in basso | ||
+ | |||
+ | Analogamente i tasti RX+, RX-, | ||
+ | (che non coincidono necessariamente con gli assi di riferimento). | ||
+ | |||
+ | Con i comandi IN e OUT aumento e riduco rispettivamente lo zoom; se premo su ZOOM BOX posso effettuare a video una selezione rettangolare su cui zoomare. Come già detto, si può rototraslare anche usando il mouse se è attivo il comando DYN. MODEL, che può essere attivato rapidamente anche da tastiera tenendo premuto il tasto Alt. | ||
+ | |||
+ | L' | ||
+ | |||
+ | Il menù CURVE DIVISIONS permette di subbividere la mesh in zone di dimensioni sempre maggiori o minori a seconda di una direzione scelta. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Durante lo svolgimento della lezione in laboratorio sono state generate mesh diverse a seconda del numero di suddivisioni della mesh in base alla fila di appartenenza degli studenti. Tralasciando questo aspetto si sono create mesh da 8 a 48 suddivisioni. | ||
+ | |||
+ | In questo caso si prenderà come riferimento una suddivisione della mesh in 12 elementi come si vede dallo screenshot in basso. Una volta inserito il valore della suddivisione nel menù CURVE DIVISIONS, si clicca apply e nel prompt ci verrà chiesto a quali " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | 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' | ||
+ | |||
+ | QUADRILATERALS ADV FRNT: avanzamento di fronte, parto dalle curve e vado verso l' | ||
+ | |||
+ | QUADRILATERALS (OVERLAY): poco usata. | ||
+ | |||
+ | TRIANGLES (DELAUNAY): quella che verrà applicata nel seguito. Gli elementi variano di grandezza in modo soddisfacente, | ||
+ | |||
+ | TRIANGLES (ADV FRONT): ???? | ||
+ | |||
+ | |||
+ | |||
+ | In basso si mostra il menù automesh. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Nota: ogni elemento della mesh viene percorso in senso antiorario concorde alla convenzione degli elementi finiti. | ||
+ | |||
+ | Esiste una opzione che consente di controllare automaticamente se l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Con questo controllo mi sono accorto del secondo problema della mesh e per risolverlo devo fare collassare i nodi sovrapposti in un unico nodo (in questo modo trasformo la C chiusa in una O). | ||
+ | |||
+ | Il comando di collasso nodale lo trovo in MESH GENERATION/ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Scelgo di non modificare la tolleranza di default e dico al software di collassare tutti i nodi esistenti (NODES/ | ||
+ | |||
+ | A questo punto la mesh dovrebbe essere stata correttamente generata: la geometria del problema è ben definita. | ||
+ | |||
+ | In generale se voglio modificare la mia mesh mi conviene utilizzare il menù CLEAR MESH e rifarla da zero. Se invece voglio modificare solo alcune parti, posso selezionare, | ||
+ | |||
+ | Ritornando al menù MESH GENERATION è possibile raffinare la mesh passando ad esempio ad elementi quadratici da elementi triangolari a tre nodi (abbiamo quindi elementi triangolari a sei nodi, ove i nodi vengono aggiunti a metà del lato come si può vedere sotto). | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | A questo punto abbiamo concluso la fase di creazione della mesh. Tornando al menu iniziale possiamo definire gli altri parametri del problema. | ||
+ | |||
+ | GEOMETRICS PROPERTIES, MATERIAL PROPERTIES E BOUNDARY CONDITIONS | ||
+ | |||
+ | Si definiscono ora le proprietà geometriche. Si torna al menù MAIN e si clicca sul menù GEOMETRIC PROPERTIES. Si andrà ora a stabilire che si tratta di un problema di tensione piana. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Quindi GEOMETRIC PROPERTIES, NEW, STRUCTURAL, PLANAR, PLANE STRESS. Nelle proprietà di questo è meno è anche possibile attivare il comando ASSUMED STRAIN che permette ad esempio di risolvere la maggior parte dei problemi di shear locking, cioè sostanzialmente il metodo trapezio viene sostituito con quello curvilineo (lo svantaggio è che quindi non posso più utilizzare il metodo del trapezio). | ||
+ | |||
+ | Per applicare lo stato di tensione piana si clicca su ADD ELEMENTS. | ||
+ | |||
+ | Se vogliamo rimuovere qualche elemento da questa scheda di proprietà geometrica è possibile utilizzare il comando REM (che sta per " | ||
+ | |||
+ | Quanto detto è riassunto nell' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Si definiscono adesso le proprietà del materiale: | ||
+ | |||
+ | Dal menù MAIN si seleziona MATERIAL PROPERTIES, | ||
+ | Cliccando sulla voce GENERAL si inserisce una densità (anche se inutile in questa analisi) di 2.7e-9 ( si tratta di Mg/mm^3, si ricorda il discorso sulle unità di misura), mentre cliccando su STRUCTURAL si definisce il modulo di young di 70000 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. | ||
+ | |||
+ | NB: Il Mentat nelle passate edizioni è stato programmato per leggere il valore zero come: "usa il comando di default", | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Infine si applicano le condizioni al contorno. | ||
+ | |||
+ | Le più comuni Boundary Condition disponibili sono: | ||
+ | |||
+ | FIXED DISPLACEMENT: | ||
+ | |||
+ | FIXED ACCELERATION: | ||
+ | |||
+ | POINT LOAD: carico nodale usato per dare un carico finito su uno specifico nodo; | ||
+ | |||
+ | EDGE LOAD: carico su un lato (nel caso in esame sarà un carico sul bordo interno) 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, EDGE LOAD, rinomino in pressione e nelle PROPRIETA' | ||
+ | |||
+ | NB Essendo un problema lineare nel caso in cui le dimensioni del tubo venissero scalate, anche la pressione aumenterebbe, | ||
+ | |||
+ | E' anche possibile applicare uno sforzo di taglio (shear load) dallo stesso menù PROPERTIES. | ||
+ | |||
+ | NOTA: La pressione è un carico compressivo e le è stato assegnato un segno positivo. Se avessi voluto introdurre un carico trattivo avrei dovuto inserire il segno meno. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Se la mesh è molto fitta per selezionare i bordi di applicazione del carico, conviene nascondere gli EDGE interni (dato che ciò che non è visibile non può essere selezionato), | ||
+ | |||
+ | Tale regolazione si esegue dal menù PLOT, ELEMENTS, SETTINGS e si decide di visualizzare tutti gli edge di OUTLINE nascondendo così tutti quelli che non sono di bordo (ossia che non sono comuni a due elementi): PLPT, ELEMNTS, SETTINGS, OUTLINE, DRAW seguito da regen per visualizzare le notifiche. | ||
+ | |||
+ | Si seleziona il bordo su cui applicare la " | ||
+ | |||
+ | comando EDGES, ADD e selezionando i bordi tenendo premuto il tasto sx (selezione rettangolare) o CTRL+click sx (selezione poligonale) i bordi interni del tubo seguito da END LIST (#). | ||
+ | |||
+ | |||
+ | In questo modo la struttura è ben definita ma non è risolvibile dato che la soluzione non è univoca dal momento che esistono ∞3 soluzioni. | ||
+ | |||
+ | I comandi sono: | ||
+ | |||
+ | BOUNDARY CONDITIONS, NEW, STRUCTURAL, FIXED DISPLACEMENT, | ||
+ | |||
+ | Lasciando il valore 0 (il carrello vincola lo spostamento lungo y). Applichiamo il vincolo a un qualunque nodo appartenente al tubo con il comando NODES, ADD cliccando su un qualunque nodo della struttura, seguito da END LIST (#). | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | Allo stesso modo si procede per creare una cerniera che elimini i restanti gradi di libertà della struttura, inserendo il valore zero anche alla voce DISPLACEMENT X e poi cliccando su un solo nodo (qualsiasi) della struttura diverso dal precedente ma con asse non incidente in quello del carrello. In tal caso il sistema sarebbe labile e iperstatico allo stesso tempo. | ||
+ | |||
+ | NB Non si può mai inserire un incastro perchè andrei a bloccare la rotazione, rotazione che non è stata definita per gli elementi triangoli o quadrilateri. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | | ||
+ | | ||
+ | ===== MENU' JOBS E SVOLGIMENTO DEL CALCOLO ===== | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | Ora dalla MAIN si clicchi JOBS, NEW (nominandola " | ||
+ | |||
+ | Sotto la voce SCALARI selezionare VM EQUIVALENT STRESS; | ||
+ | |||
+ | Dal menù QUANTITA' | ||
+ | |||
+ | Non è indispensabile includere la Von Mises stress perché è calcolabile a posteriori dal tensore degli sforzi, ma è consigliabile dato che questa è quella di calcolo, cioè quella che il solutore vede in un determinato istante di calcolo. Sulla base di questa tensione di Von Mises viene fatta la plasticizzazione del materiale, quindi è comodo averla se qualcosa non funziona [reaction force] | ||
+ | |||
+ | N.B. E' bene includere sempre gli spostamenti per vedere la deformata, le forze esterne per vedere come la pressione distribuita è stata ridotta a carichi nodali, le reazioni vincolari per controllare che i vincoli di posizionamento non portino carico come deve essere in un sistema autoequilibrato. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Ora si devono dichiarare gli elementi: | ||
+ | |||
+ | JOBS, ELEMENT TYPES, ANALYSIS DIMENSION, PLANAR | ||
+ | |||
+ | Si cerca poi l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Tale intersezione è l' | ||
+ | |||
+ | Si salvi poi tramite; | ||
+ | |||
+ | FILES, SAVE AS, TUBO_V3 per esempio, | ||
+ | |||
+ | A questo punto si clicca su RUN nel menù JOBS e poi SUBMIT e nella propria HOME sarà disponibile il file creato dal MARC in formato .MUD. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | Si può verificare il procedere del calcolo guardando in basso a destra nella schermata di lavoro. | ||
+ | |||
+ | Il programma è in ' | ||
+ | |||
+ | Cliccare su [open post file] per aprire i risultati. | ||
+ | |||
+ | Inoltre vi è una voce SINGLE RATIO che fornisce la singolarità (mal condizionamento) della matrice risolta, se il numero restituito è molto basso (10^-14) sicuramente ci si è scordati un moto di corpo rigido residuo. | ||
+ | |||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | |||
+ | ===== POST-PROCESSING: | ||
+ | |||
+ | |||
+ | |||
+ | I risultati del calcolo vengono salvati su tre diversi file: file.dat, file.log, file.t16. I primi due possono essere aperti con un programma tipo blocco note. L' | ||
+ | |||
+ | Si osserva che è possibile verificare o meno la buona riuscita del calcolo e, in caso di successo, si può leggere il tempo che è stato necessario. | ||
+ | |||
+ | Il file.t16 è il risultato espresso in codice binario e non lo si può aprire con un normale programma di lettura. | ||
+ | |||
+ | Lo si può aprire con il Marc/ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | | ||
+ | ===== FORMA DEFORMATA ===== | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | Innanzitutto tramite il comando Deformed shape è possibile visualizzare la forma dell' | ||
+ | |||
+ | Spesso si è soliti studiare la deformata applicando un fattore di scala in modo che sia visibile ciò che varia rispetto alla originale. E' bene in questo caso cliccare sull' | ||
+ | |||
+ | |||
+ | |||
+ | ===== SCALAR PLOT ===== | ||
+ | | ||
+ | | ||
+ | |||
+ | Tramite il sottomenù Scalar Plot è possibile visualizzare i risultati riguardanti grandezze scalari in diversi metodi rappresentativi. Ad esempio un metodo di semplice comprensione visiva è quello di visualizzare le bande di livello (contour bands) che caratterizzano la grandezza selezionata. Cliccando su [scalar] è possibile selezionare il parametro scalare da visualizzare, | ||
+ | |||
+ | |||
+ | |||
+ | ===== VISUALIZZAZIONE TENSIONI DI VON MISES ===== | ||
+ | |||
+ | |||
+ | |||
+ | Selezionando la tensione equivalente di Von Mises come valore da visualizzare in uscita, si osserva come lo stato tensionale è uniforme su ogni strato radiale, massimo all' | ||
+ | |||
+ | ------------------------------------------------------------------------------------------------------------------- | ||
+ | |||
+ | |||
+ | Per permettere una migliore stampabilità del wiki chiederei di acquisire gli screenshot con fondo NON nero. | ||
+ | |||
+ | per fondo bianco mentat, area modello | ||
+ | UTILS -> POSTSCRIPT.SETTINGS -> | ||
+ | |||
+ | per fondo bianco mentat, area menu | ||
+ | CONFIGURATION.DEVICE -> MENU COLORS -> COLOR TABLE.GRAY | ||
+ | |||
+ | |||
+ | [[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== BIBLIOGRAFIA ===== | ||
+ | | ||
+ | | ||
+ | |||
+ | APPUNTI LEZIONE TEORICA, INTEGRATI CON REGISTRAZIONE AUDIO, WIKI 2014 PAGINA CORRISPONDENTE | ||
+ | |||
+ | |||
+ | ====== Maxima ====== | ||
+ | |||
+ | < | ||
+ | kill(all); | ||
+ | </ | ||
+ | < | ||
+ | load(eigen); | ||
+ | </ | ||
+ | |||
+ | definisco funzione lunghezza | ||
+ | |||
+ | < | ||
+ | define ( | ||
+ | |||
+ | lunghezza(xA, | ||
+ | , | ||
+ | sqrt((xB-xA)^2 + (yB-yA)^2 | ||
+ | |||
+ | ); | ||
+ | </ | ||
+ | |||
+ | visualizzo lunghezza di indeformato e deformato | ||
+ | |||
+ | < | ||
+ | lunghezza(xi, | ||
+ | </ | ||
+ | < | ||
+ | lunghezza(xi+ui, | ||
+ | </ | ||
+ | |||
+ | calcolo sforzo normale (>0 se trattivo) barra, | ||
+ | k = rigidezza molla | ||
+ | |||
+ | < | ||
+ | N : k * ( | ||
+ | lunghezza(xi+ui, | ||
+ | - | ||
+ | lunghezza(xi, | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | calcolo cos(alpha) e sin(alpha) in funzione delle coord. nodali | ||
+ | |||
+ | < | ||
+ | define( | ||
+ | c(xi, | ||
+ | , | ||
+ | (xj-xi)/ | ||
+ | ); | ||
+ | </ | ||
+ | < | ||
+ | define( | ||
+ | s(xi, | ||
+ | , | ||
+ | (yj-yi)/ | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | compongo il vettore (lista!!) delle forze nodali F sulla deformata | ||
+ | |||
+ | < | ||
+ | F_csdef: [ | ||
+ | -N*c(xi+ui, | ||
+ | -N*s(xi+ui, | ||
+ | +N*c(xi+ui, | ||
+ | +N*s(xi+ui, | ||
+ | ] ; | ||
+ | </ | ||
+ | |||
+ | linearizzo (= espando in serie di Taylor al primo ordine) nell' | ||
+ | |||
+ | < | ||
+ | taylor ( | ||
+ | | ||
+ | , | ||
+ | | ||
+ | , | ||
+ | [ 0, 0, 0, 0] | ||
+ | , | ||
+ | 1 | ||
+ | )$ | ||
+ | </ | ||
+ | |||
+ | raccolgo i coefficienti di influenza dei termini spostamento | ||
+ | |||
+ | < | ||
+ | K: | ||
+ | </ | ||
+ | < | ||
+ | define( | ||
+ | Kfun(xi, | ||
+ | % | ||
+ | ); | ||
+ | </ | ||
+ | |||
+ | testo su di uno specifico dimensionamento | ||
+ | |||
+ | < | ||
+ | myK : Kfun(0, | ||
+ | </ | ||
+ | |||
+ | testo su di una specifica deformazione | ||
+ | |||
+ | < | ||
+ | delta : transpose(matrix([0, | ||
+ | </ | ||
+ | < | ||
+ | myK . delta; | ||
+ | </ | ||
+ | |||
+ | via energetica | ||
+ | |||
+ | < | ||
+ | U : 1/2 * k * (lunghezza(xi+ui, | ||
+ | </ | ||
+ | < | ||
+ | diff(U,ui); | ||
+ | </ | ||
+ | < | ||
+ | ev(%, | ||
+ | </ | ||
+ | < | ||
+ | hessian(U, | ||
+ | ev(%, | ||
+ | </ | ||
+ | < | ||
+ | define( | ||
+ | KUfun(xi, | ||
+ | % | ||
+ | ); | ||
+ | </ | ||
+ | < | ||
+ | KUfun(0, | ||
+ | </ |