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)

Il problema trattato consiste di una piastra sottoposta a quattro regimi di carico in sequenza: due di carico e due di scarico.

Condizioni ai limiti per la piastra

Per prima cosa vediamo dove vanno indicati i parametri relativi alla plasticità nel materiale: c’è un’apposita sezione in ECRO_LINE. Code_Aster gestisce diversi tipi di plasticità, in questo caso usiamo una legge con fase plastica ad andamento lineare. Il dominio elastico è definito sulla base della tensione equivalente di Von Mises (modello elasto-plastico incrudente).

Limite elastico (SY) e pendenza del tratto plastico (D_SIGM_EPSI)

In questo modello verranno effettuate quattro analisi non lineari, cambiando le condizioni di carico una dopo l’altra. Avremmo potuto procedere in modo diverso, facendo variare i carichi nel tempo: questo approccio ci permette di vedere come si collegano più analisi una con l’altra (oltre ad essere più fedele all’analisi del documento originale). Per ogni analisi verranno indicati i passi temporali (fittizi) da simulare tramite DEFI_LIST_REEL. Per il primo caso effettuiamo un singolo passo, da zero ad uno.

Definizione dei passi temporali per la prima analisi.

Attiviamo ogni volta un raffinamento automatico grazie a DEFI_LIST_INST: se Code_Aster non riuscirà a raggiungere la convergenza, potrà suddividere autonomamente il passo temporale in passi più piccoli.

Suddivisione automatica dei passi temporali con DEFI_LIST_INST

Definiamo anche una funzione “rampa” che varia linearmente tra zero e uno, per applicare il carico un poco alla volta nei passi intermedi.

Funzione rampa da zero a uno

Vediamo ora la prima analisi. Tramite COMPORTEMENT scegliamo la legge plastica “VMIS_ISOT_LINE” (criterio di Von Mises, isotropo, lineare). Applichiamo inoltre la rampa con FONC_MULT al carico e forniamo la suddivisione automatica in INCREMENT. Possiamo usare ARCHIVAGE per indicare la lista dei passi originali: in caso di suddivisione automatica i passi intermedi non verranno registrati, riducendo la dimensione dei campi in uscita.

Prima analisi non lineare

Chiediamo il calcolo di alcuni campi derivati (in particolare tensioni con “CONTRAINTE” e deformazioni con “DEFORMATION”) dai risultati dell’analisi tramite CALC_CHAMP. Trattandosi di un elemento piastra dobbiamo per prima cosa richiedere il calcolo ai nodi ma elemento per elemento, dato che ci sono diverse “fibre” calcolate dalla piastra: inferiore, intermedia e superiore.

Calcolo delle tensioni e deformazioni

Possiamo estrarre il campo delle tensioni per la “fibra” che ci interessa della piastra (in questo caso, quello superiore) con l’operatore POST_ELEM.

Estrazione della fibra superiore

A questo punto, avendo estratto una singola fibra della piastra, possiamo calcolare campi ai nodi come le tensioni equivalenti usando di nuovo CALC_CHAMP.

Calcolo delle tensioni equivalenti ai nodi (per la fibra estratta precedentemente) con CALC_CHAMP

Usiamo POST_RELEVE_T per estrarre una tabella delle tensioni per i nodi di interesse (in questo caso l’estremo in basso a destra).

Estrazione delle tensioni sui nodi di interesse in una tabella con POST_RELEVE_T

Tutti questi passi verranno ripetuti anche per le deformazioni e per ogni altra analisi. Vediamo ora cosa cambia per la seconda analisi (e analogamente per le successive). Innanzitutto dobbiamo definire i passi temporali partendo da uno (cioè dalla fine dell’analisi precedente). In questa analisi chiediamo una suddivisione in otto passi temporali tra gli istanti fittizi iniziale (uno) e finale (due).

Definizione dei passi temporali per la seconda analisi

Analogamente, definiamo una nuova funzione rampa per applicare regolarmente i carichi tra gli istanti uno e due.

Funzione rampa per applicare i carichi progressivamente nella seconda analisi

Definiamo anche una rampa inversa (che diminuisce linearmente tra uno e due) per togliere progressivamente i carichi applicati nell’analisi precedente: questo permetterà di avere una transizione dolce tra i due diversi stati di equilibrio.

Rampa inversa per togliere i carichi dell’analisi precedente in modo progressivo

A questo punto possiamo richiedere la seconda analisi: si notano i carichi dell’analisi precedente applicati con la rampa inversa e i nuovi carichi applicati con la rampa normale. I risultati dell’analisi precedente vengono forniti come stato iniziale con ETAT_INIT(EVOL_NOLI).

Seconda analisi, si nota il collegamento con l’analisi precedente

L’elaborazione dei risultati procede come per l’analisi precedente, cosi’ come nelle analisi successive. Alla fine delle quattro analisi possiamo combinare assieme le tabelle delle tensioni estratte usando CALC_TABLE (le righe verranno messe una sotto l’altra).

Combinazione di quattro tabelle usando CALC_TABLE

Stessa cosa per le deformazioni, anche in questo caso le righe delle quattro tabelle verranno messe una sotto l’altra.

Combinazione delle tabelle delle deformazioni usando CALC_TABLE

Possiamo combinare assieme le due nuove tabelle ottenute con CALC_TABLE unendo questa volta le colonne: usando l’istante come criterio per accoppiare le righe di entrambe le tabelle.

Unione delle colonne delle tabelle delle tensioni e deformazioni usando l’istante come criterio

Possiamo ottenere un grafico con i dati della tabella usando IMPR_TABLE e il formato XMGRACE.

Stampa di un grafico usando i dati di una tabella

Ecco il grafico previsto dal documento iniziale, su un insieme di quattro nodi.

Grafico tensioni deformazioni (su una maglia)

Il grafico ottenuto da Code_Aster è simile, anche se riguarda un solo nodo.

Grafico tensioni/deformazioni di un nodo della struttura

Possiamo anche visualizzare le deformazioni (o altri campi calcolati), in questo caso l’ultimo istante calcolato.

Visualizzazione degli spostamenti calcolati all’ultimo istante

È possibile scaricare un archivio con i file realizzati per questo esempio tramite questo link.

Lascia un commento

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.