Marc Mentat 3

Da CdM_unimore.
Versione del 29 giu 2020 alle 15:05 di 66751 (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Riprendiamo il file "fettina_di_tubo" creato nella scorsa lezione, dove avevamo analizzato come si comportava la struttura applicando alla faccia esterna dell'albero e alla faccia interna del mozzo una pressione di 10 Mpa. In questa lezione, invece, analizzeremo il sistema con l'imposizione di un'interferenza pari a 0.05 mm tra albero e mozzo, quindi si imporrà uno spostamento, in risposta del quale nasceranno delle tensioni che saranno l'obiettivo dell'analisi.

   Modello "fettina di tubo":

Per accedere direttamente al file "fettina_di_tubo.mud" cliccare sul link sottostante:

https://cdm.ing.unimo.it/files/index.php?dir=progettazione_assistita/corso_2013_2014/2014_04_10
Ss2.png


Avevamo modellato un forzamento albero-mozzo in termini di una sua fetta assiale. In particolare, avevamo assunto una profondità dei due spezzoni di tubo unitaria. In realtà, poteva essere di qualunque entità, in quanto assumiamo che questa struttura possa essere affiancata a infinite immagini della stessa, assialmente in avanti o assialmente arretrate, a comporre tubi di lunghezza indefinita. In aggiunta, oltre ad una ridotta fettina assiale, abbiamo modellato anche una ridotta porzione angolare (1.5°). Anche tale valore scelto è puramente convenzionale, in quanto questa porzione angolare si comporta in maniera identica, e quindi può essere considerata significativa qualunque altra porzione angolare e, in particolare, la circonferenza intera. Abbiamo fatto le seguenti assunzioni:

  • Il forzamento albero-mozzo si comporti in maniera omogenea in direzione assiale;
  • Il forzamento albero-mozzo si comporti in maniera omogenea in direzione circonferenziale.

Tutti i nodi della struttura sono vincolati ad avere spostamento tangenziale nullo, in modo da far sì che questa fetta circonferenziale non sfondi e non si distacchi da quelle affiancate. Viceversa, non vi è nessun vincolo sullo spostamento assiale, se non un vincolo di posizionamento, uno sulla componente del mozzo e uno sulla componente dell'albero. Questa struttura potrebbe, se necessario, dilatarsi in maniera libera e differenziata tra il raggio esterno e il raggio interno di albero e mozzo. Assialmente, abbiamo un solo posizionamento e non abbiamo carichi applicati. Quindi, la struttura è libera di fare ciò che vuole.

Rilanciamo il calcolo, controllando in:

Job --> Properties

di aver attivato i carichi iniziali imposti (simmetria_diametrale, vincolo_asse, pressione_relativa, posizionamento_z) e i risultati richiesti (stress e elastic strain). Come quantità base elemento, lasciamo quelle di default. Lanciamo il calcolo:

Run --> Submit

3004 è il messaggio che denuncia la corretta riuscita del calcolo.

Guardiamo il file dei risultati:

Open post file

Abbiamo creato un modello con 10 MPa di pressione applicata. Questo voleva essere un modello preparatorio ad un modello più complesso per il calcolo del forzamento albero-mozzo. In realtà, tale modello sarebbe già sufficiente per valutare la struttura in uno stato di collegamento albero-mozzo forzato.

In particolare, tra gli output, vediamo:

Equivalent of Stress

cioè la Von Mises, che è massima al mozzo: ha entità di circa 23 MPa, a fronte di una pressione applicata di 10 MPa. Quindi, al raggio interno del mozzo, la Von Mises è di circa 2,3 volte la pressione interna applicata. Osserviamo che il nostro modello rispetta l'ipotesi di linearità; pertanto, se volessimo sapere come si comporta la struttura a fronte di una pressione di 20 MPa, non ci sarebbe bisogno di ripetere il calcolo, in quanto sarebbe necessario scalare i risultati. Ciò significa che, se, con 10 MPa di pressione interna, otteniamo 23 MPa come risposta sulla Von Mises, se raddoppiamo la pressione interna, avremo un raddoppiamento della risposta.

Vogliamo osservare lo spostamento radiale, pertanto andiamo in:

Scalar Plot --> Settings

Cambiamo il sistema di coordinate, che ora è impostato come cartesiano. Il sistema in cui vengono rappresentati i risultati è sempre il sistema cartesiano, anche se nella creazione del modello avevamo impostato un cambio di coordinate ai nodi, passando da cartesiano a cilindrico. Tale trasformazione di coordinate è stata utilizzata per definire le Boundary Conditions. Verrà utilizzata per definire i gradi di libertà modellati attraverso i Servolinks e per tutti i fini di vincolamento del modello. Tuttavia, i risultati verranno sempre scritti nel file in funzione degli spostamenti x, y, z e delle forze x, y, z. Questa è una particolarità del Marc. Pertanto, per vedere gli spostamenti nel sistema cilindrico, dobbiamo attivare la trasformazione di coordinate, attivando un sistema cilindrico che, di default, ha come asse l'asse z e come origine l'origine degli assi.

Scalar Plot --> Settings --> Result Coordinate System

Dopo aver richiesto il tipo si sistema cilindrico, lo attiviamo. Osserviamo che il Marc continua ad usare x, y, z, riferendosi agli assi 1, 2, 3: nel caso cartesiano, sono gli assi x, y, z; nel caso cilindrico, sono rispettivamente l'asse radiale, l'asse tangenziale e l'asse assiale. Se richiediamo gli spostamento radiale o tangenziale, viene comunque specificato, tra parentesi, che il sistema è cilindrico.

Notiamo la differenza tra sistema cartesiano e sistema cilindrico.

  • Spostamento in direzione X dell'albero a fronte dei 10 MPa applicati:
Scalar Plot --> Settings --> Displacement x
Ss3.png
  • Spostamento in direzione X dell'albero in coordinate cilindriche (cioè spostamento radiale) a fronte dei 10 MPa applicati:
 Scalar Plot --> Settings --> Displacement x (Cylindrical)
Ss4.png

Possiamo visualizzare i risultati come bande colorate oppure come valori numerici.

 0.000936 mm è lo spostamento radiale al bordo interno del mozzo.
 -0.000333 mm è lo spostamento radiale della superficie esterna dell'albero.

All'albero, lo spostamento è negativo (centripeto). Al mozzo, lo spostamento è positivo (centrifugo). Ciò significa che l'albero tende a schiacciarsi radialmente, mentre il mozzo tende ad espandersi radialmente.

Nell'ipotesi di costruzione del modello in cui queste due facce nascevano sfiorandosi (in quanto abbiamo costruito il modello sulla geometria nominale, in cui il raggio esterno dell'albero coincideva con il raggio interno del mozzo), a fronte di questi spostamenti, le due facce tendono a separarsi. Di quanto si separano? Della somma algebrica dello spostamento centrifugo del mozzo e dello spostamento centripeto dell'albero.

Ora possiamo calcolare la pressione necessaria ad ottenere uno spostamento relativo (interferenza) di 0,05 mm. Dato che siamo in campo lineare, sarà sufficiente scalare il problema per ottenere la pressione necessaria per avere 0,05 mm di interferenza. Dal risultato ottenuto in precedenza con la pressione di 10 Mpa, vediamo che gli spostamenti relativi del mozzo e dell'albero sono rispettivamente di 0,000936 mm e 0,000333 mm. Sommando i due valori ottenuti, troviamo lo spostamento relativo completo che risulta essere di 0,001269 mm, ben lontano dai 0,05 mm di interferenza desiderati. A questo punto considerando che le relazioni tra spostamento e pressione sono proporzionali possiamo trovare il valore di pressione che provoca l'interferenza voluta: rapportando lo spostamento relativo voluto con quello ottenuto e l'incognita "x" del valore di pressione con la pressione precedente (10 Mpa) e otteniamo:






  • δ x = spostamento che si vuole ottenere;
  • Px = pressione incognita : pressione da esercitare al fine di ottenere lo spostamento voluto;
  • δ i = spostamento ottenuto con il carico imposto di 10 MPa;
  • P i = pressione imposta di 10 MPa.

Tale pressione incognita Px risulta essere di 394,0110323 Mpa, che è il valore che dovremmo imporre.

Per effettuare i calcoli appena descritti, è sufficiente compilare Excel, ottenendo un foglio del tipo:

figura tabella di calcolo

In generale, se si vuole calcolare uno spostamento con pressione incognita, ma con un determinato spostamento, si può calcolare lo spostamento ottenuto applicando una pressione unitaria e infine scalare la pressione con lo spostamento voluto.

Perché vogliamo ottenere tale separazione? Perché, una volta presa la geometria nominale dei due componenti, se troviamo la pressione per cui tali componenti si separano di 0.05 mm radialmente, tale separazione verrà fisicamente riempita da un sovrametallo, che è quello su cui si impostano le tolleranze di costruzione.

Verifichiamo i calcoli effettuati sul modello. Pertanto, chiudiamo il file dei risultati, torniamo nelle Boundary Conditions, nella Boundary Condition pressione_relativa e modifichiamo 10 in 393.81 MPa. Abbiamo così impostato la nuova pressione.

Ss5.png

Rilanciamo il calcolo:

 Jobs --> Run --> Submit

Apriamo il file dei risultati e controlliamo gli spostamenti di separazione tra albero e mozzo:

 spostamento centripeto albero --> 0.013127 mm (valore di spostamento visualizzato negativo)
 spostamento centrifugo mozzo --> 0.036873 mm  (valore di spostamento visualizzato positivo)
 spostamento totale (separazione) --> 0.05 mm

In questo caso, lo stato tensionale deformativo della nostra struttura è quello che si avrebbe in un forzamento albero-mozzo con interferenza radiale di 0.05 mm, in ipotesi di materiale che rimane in stato elastico-lineare.

Quindi, questo modello preparatorio, in ipotesi di linearità, è già definitivo.

In particolare, se guardiamo lo stato tensionale:

 Equivalent of Stress

otteniamo 906 MPa, coerentemente con il fatto che, in ipotesi di linearità, la Von Mises è 2.3 volte la pressione applicata. Non tutti gli acciai permetteranno di arrivare ad un forzamento con una pressione così elevata. Solo ristrette classi di acciaio si comporteranno linearmente fino alla tensione equivalente di 906 MPa.

Ss6.png

Da questo modello, possiamo visualizzare tutti i dati di nostro interesse: per esempio, dall'analisi delle tensioni lungo la direzione assiale, le tensioni sono di gran lunga irrilevanti rispetto alle tensioni in direzione radiale:

Ss7.png

Un altro aspetto del modello che possiamo controllare: se è vero che albero e mozzo hanno dilatazione uniforme, anche se differenziata da un corpo all'altro, in direzione assiale. In particolare, verifichiamo che il corpo che viene schiacciato circonferenzialmente ( mozzo ) , per effetto Poisson, tende ad allungarsi in direzione assiale, mentre il corpo che viene dilatato circonferenzialmente ( albero ) , per effetto Poisson, tende a stringersi in direzione assiale. Tale struttura ha una dilatazione omogenea lungo z, cosa prevista dalla teoria dell'elasticità e aspetto grazie al quale possiamo considerare una fettina rappresentativa di tutte le fette posizionate davanti o dietro, in direzione assiale. Siccome la dilatazione è omogenea, possiamo prendere questa fetta e attaccare la sua immagine, fino a comporre corpi arbitrariamente lunghi. Infatti, abbiamo costruito questa struttura libera di comportarsi in direzione assiale. Il suo comportamento naturale è quello di espandersi assialmente in maniera omogenea sull'albero ed in maniera omogenea sul mozzo.

Ecco come appariranno le deformazioni affiancate alla struttura originale

Se vogliamo vedere la deformata a fianco dell'originale, plottiamo la separazione radiale e la dilatazione assiale dell'albero. Possiamo amplificare la scala a valore automatico e mettere come stile: Deformata e Originale a confronto.

 Deformed shape --> Style --> DEFORMED & ORIGINAL

Chiudiamo il file dei risultati e salviamo il modello.

A questo punto supponiamo che il nostro tubo sia di un acciaio che non si comporti linearmente fino al valore di 394 Mpa, ma suppongo di avere ad esempio un C40 che snerva a circa 360 Mpa. Quindi mi pongo in regime di possibile deformazione plastica. Poi imponiamo la Yield stress ( ndr, tensione di snervamento ) con un valore di 360 Mpa, così facendo fissiamo a quel valore la transizione da comportamento elastico a comportamento plastico. Ora la struttura è costituita da un materiale di tipo elastoplastico ( per il MARC, questo materiale avrà un comportamento elastoplastico perfetto) , quindi l'analisi sarà non lineare e avremo bisogno del procedimento di Newton Raphson. Supponiamo di forzare, con la stessa interferenza del caso precedente, un albero e un mozzo in C40. Ci aspettiamo un comportamento non lineare e, in particolare, una deformazione plastica o dell'albero, o del mozzo, o di entrambi. Inoltre, a fronte di questa deformazione plastica, ci aspettiamo di non poter raggiungere la pressione di forzamento di 390 MPa (ottenuta per il caso lineare), ma di ottenere uno snervamento ad una pressione minore. In conclusione, simuliamo il forzamento considerando un materiale non più perfettamente elastico, quindi non più vincolato al comportamento lineare, ma con la possibilità di deformazione irreversibile plastica. La curva sforzo-deformazione di tale materiale presenterà il solo "tratto plastico" con andamento "piatto", partendo da un ε_plastico pari a 0 senza componente elastica.

Anzitutto, attiviamo il comportamento plastico.

 Material Properties --> Material Properties --> scheda acciaio --> Structural --> Plasticity
 Imponiamo la tensione di snervamento a 360 MPa. 

In realtà, dando solo quel valore, escludiamo ogni incrudimento. Con solo il valore di snervamento, definiamo la transizione da elastico a plastico, ma non descriviamo per nulla la natura della deformazione plastica successiva alla plasticizzazione. In assenza di deformazione, viene considerato il comportamento più semplice possibile perfettamente plastico. All'inizio, la deformazione è totalmente elastica; poi, ho una quota plastica. A inizio snervamento, la quota plastica è nulla.

Avendo attivato la plasticità, il nostro modello non è più a comportamento lineare. Ciò fa sì che, invece che un sistema lineare di equazioni, richiediamo un procedimento di risoluzione che sia un sistema non lineare di equazioni, e quindi, implicitamente, richiediamo l'intervento di una procedura di iterazione Newton-Raphson. Tale procedura ha il difetto che non sempre converge. In particolare, può non convergere quando la soluzione di primo tentativo è troppo lontana dalla soluzione esatta finale. Nel caso specifico, si potrebbe lanciare l'analisi sfruttando il metodo Newton-Raphson con la pressione voluta come pressione finale e usare come primo tentativo la condizione di scarico. Tuttavia, tra la condizione di scarico e la condizione di carico - tale da avere 0.05 mm di scostamento radiale tra la superficie dell'albero e del mozzo - il salto sia troppo alto: come risultato si avrà che il sistema non converge. Pertanto, è uso, nei casi non lineari, non applicare il valore finale della sollecitazione in blocco, sia esso una pressione o uno spostamento imposto, ma applicarlo per piccoli step: per ogni singolo step, la soluzione finale (quella con carico leggermente incrementato) non sia troppo lontana dalla soluzione iniziale (pre-incremento del carico). Questo lo otteniamo con incrementi di carico piccoli. Tuttavia, ci accorgiamo che, in ipotesi di plasticità, questa procedura non è più applicabile, in quanto procede per semplice scalatura proporzionale, cosa non più implementabile per il caso non lineare. Potremmo procedere per tentativi oppure potremmo procedere definendo un estremo di pressione in cui lo spostamento è inferiore a quello voluto, un estremo di pressione in cui lo spostamento è superiore a quello voluto, poi procedere per tentativi, per esempio, per bisezione ( soluzione manuale) . Invece di questa semplice procedura di scalatura, potremmo impostare a mano il lancio di una famiglia di modelli, fino ad avvicinarci a quel valore di pressione che, in condizioni elastoplastiche, fornisce 0.05 mm di separazione tra albero e mozzo. La procedura sopra descritta è fattibile, ma scomoda; siamo obbligati a farla, qualora il codice non permetta di procedere in altro modo. Ricordiamo che è sconsigliato procedere con Newton-Raphson, quando il sistema è fortemente non lineare; in questi casi, è preferibile il metodo di bisezione, in quanto, anche se non velocissimo, è molto più robusto.

Non procederemo con il caricamento a pressione imposta, ma costruiremo un sistema di vincoli e links per imporre direttamente al sistema non lineare la separazione radiale imposta di 0.05 mm tra albero e mozzo. Invece di dover svolgere a mano il metodo di bisezione, il procedimento iterativo Newton-Raphson verrà svolto dal software, indubitabilmente più veloce.

Per prima cosa, si crei una copia di job1, chiamata job2. Questo job è un job staccato dall'altro, ma perfettamente identico:

Copia job1.png

Nel job2 andiamo a disattivare la pressione:

Tolgo pressione.png

Creiamo un nodo ausiliario, che sarà intermedio ai nodi corrispondenti su albero e mozzo e ci servirà per imporre la condizione voluta:

Mesh Generation--> between node 

e selezioniamo un nodo sulla faccia dell'albero e il corrispondente sulla faccia del mozzo. Otteniamo in questo modo un nodo avente 3 gradi di libertà, nella mezzeria tra gli altri due nodi. Non essendo agganciato questo nodo ausiliario a nessun elemento, la sua posizione non definisce la geometria di nessun elemento, quindi di nessuna parte elastica della struttura, quindi può essere arbitraria. Viceversa, se avessi degli elementi agganciati al nodo ausiliario, la posizione del nodo ausiliario definirebbe anche la geometria di tali elementi, quindi sarebbe più vincolata.

Ss8.png

Se si considerano le coordinate:

  • U = spostamento radiale
  • V = spostamento tangenziale
  • W = spostamento assiale
spostamento radiale del nodo ausiliario e dei rispettivi nodi associati ad esso, appartenenti ad albero e mozzo

Nel caso in esame avremo dunque:

  • U_a = spostamento radiale albero
  • U_m = spostamento radiale mozzo
  • U_x = spostamento del nodo ausiliario

Quindi la relazione di vincolo teorica sarebbe:



Abbiamo dunque un problema di doppia imposizione: abbiamo un vincolo di tipo servolink ed un vincolo imposto con U_m e U_a grandezze indipendenti e U_x grandezza dipendente. Per far si che U_x sia vincolabile due volte è necessario renderlo INDIPENDENTE, modificando la formulazione matematica del servolink senza però cambiarne il significato, come:

In questo modo imponiamo i due vincolamenti su due grandezze differenti e quindi è possibile assegnare a U_x il valore voluto:

Ciò non è niente di più che un passaggio logico necessario per il software. Ora rimane il problema di imporre V_x e W_x, così limitiamo i possibili moti rigidi piani . Li poniamo uguali a 0 ed in questo modo risolviamo il problema. Procediamo ora con la costruzione del servolinks, con le istruzioni:

Links--> Servolink--> New--> Tied(ciò che sta a sinistra della formula)
                             DOF(grado di libertà che si vuole vincolare)
                             Retained(ciò che sta a destra nella formula precedente)

I significati di cui sopra sono i seguenti:

  • Tied = allegato/vincolato/dipendente;
  • Retained = mantenuto indipendente.

Selezionare un nodo dell'albero.

Ss10.png

Selezionare adesso il grado di libertà che si vuole bloccare.

Ss11.png

Imporre la presenza di due termini nella parte destra della formula del servolink

Ss13.png

Selezionare un nodo del mozzo, il relativo coefficiente (1), e il grado di libertà (1), dopodichè selezioniamo il nodo ausiliario in modo analogo (coefficente -1, grado di libertà 1)

Ss14.png

Modifichiamo ora il servolink, in modo che sia fatto per tutti i 4 nodi della superficie di contatto di albero e mozzo:

Mesh Generation--> Duplicate--> traslations
                                from/to
                                1 repetition
                                servos
                                end list
Ss15.png

Si è creato un secondo link. Poiché il link richiede, nella sua definizione, 3 nodi, sono stati duplicati anche i nodi, quindi sono stati creati 3 nuovi nodi.

Ripetiamo la duplicazione per creare i link legati ai nodi sotto.

Mesh Generation--> Duplicate--> traslations
                                from/to
                                1 repetition
                                servos
                                end list

Quando dobbiamo selezionare i servo, dobbiamo cliccare due volte, in modo da selezionare entrambi i servolink. Si sono creati altri due nodi ausiliari.

Come anticipato, duplicando i link, si sono creati dei nuovi nodi, che sono coincidenti con quelli della struttura, ma non sono collassati con quelli della struttura. Occorre procedere ad uno sweep con collasso nodale dei nodi nella stessa posizione spaziale.

Mesh Generation--> Sweep--> Nodes--> All exist

Lasciamo la tolleranza di default. Così si sono saldati i nuovi link alla struttura.

SI applichi la trasformazione di coordinate anche ai nodi ausiliari.

 Boundary Conditions --> Transformations --> Cylindrical

Punti sull'asse del cilindro:

< 0 , 0 , 0 >
< 0 , 0 , 1 >

Lista di nodi da trasformare:

 selezionare i 4 nodi ausiliari nuovi --> endlist

Anche i nodi ausiliari hanno così i gradi di libertà orientati secondo un sistema cilindrico. In realtà, come è generica ed insignificante la loro posizione nel modello, anche l'orientazione con i gradi di libertà è insignificante. Poiché non c'è nulla di geometricamente rilevante connesso ai nodi ausiliari, quando questi si spostano, non portano con sé nessuna parte di materiale elastico. Quindi, in realtà, la direzione in cui si spostano i gradi di libertà dei nodi ausiliari è indifferente. Per omogeneità con il resto del sistema, essendo tutto in coordinate cilindriche, si sono posti anche i nodi ausiliari in coordinate cilindriche, cosa che non sarebbe realmente necessaria. Controllo:

 Transformations --> Transformations Plot Settings --> Attivo la visualizzazione delle trasformazioni
 Rosso --> 1°grado di libertà --> Red
 Verde --> 2°grado di libertà --> Green
 Blu --> 3°grado di libertà --> Blue
Ss16.png

Si disattivi la visualizzazione delle trasformazioni.


In base a quanto detto in precendenza, si crei il nuovo vincolamento con il valore dello spostamento del nodo ausiliario imposto.

Boundary Conditions--> New--> Structural--> Fixed Displacement--> "spostamento_ausiliari"
                       Properties--> Disp X = 0.05    (Radiale)
                                     Disp Y = 0       (Circonferenziale)
                                     Disp Z = 0       (Assiale)

E' possibile anche disabilitare gli spostamenti lungo y e z. Se venissero eliminate le incognite dovute a tali spostamenti essi non verrebbero considerati, oppure si può semplicemente bloccarli imponendo valore "0" (quest'ultima opzione è la più "sicura").

Si applichi la boundary condition ai 4 nodi.

Ss17.png

E' possibile disabilitare gli spostamenti y e z poiché un nodo, nel Marc, non ha nessun numero di gradi di libertà definito, quindi nessun numero di incognite definito, ma il numero di incognite sul nodo viene preso dalle connessioni che agiscono su quel nodo. In particolare, un nodo, nel piano, avrebbe 2 gradi di libertà. Un nodo, nello spazio, tipicamente ne ha 3. Un nodo, nello spazio, attaccato ad un elemento trave, ne ha 6, in quanto ha anche le rotazioni. Nello specifico, in riferimento al nostro modello, siccome i nodi ausiliari non toccano nessun elemento, in realtà non ereditano nessun grado di libertà. L'unica cosa a cui sono collegati è il servolink, che mette in gioco solo lo spostamento in direzione x. Quindi, sui nodi ausiliari, l'unico grado di libertà attivato è quello introdotto dalla connessione al servolink. Non sarebbe neppure necessario imporre gli spostamenti imposti su y e z per togliere dei moti rigidi, che sarebbero associati a dei gradi di libertà nodali che non vengono inseriti nel modello. Come controllo, quando lanceremo il calcolo, si verifica che, lasciando liberi gli spostamenti y e z, la matrice non sia quasi singolare (singularity ratio circa zero). Se la matrice non è singolare, allora quel moto rigido non c'è.

Ss18.png

Affinché il metodo di Newton-Raphson converga, è necessario applicare lo spostamento in modo graduale, in modo che converga localmente ad ogni iterazione. Si inserisce perciò la modulazione dello spostamento imposto in piccoli passi. Per fare ciò, è necessario creare una tabella/funzione in cui andare ad indicare il modo di applicazione dello spostamento. Si può utilizzare una formula esplicita, oppure aggiungere manualmente i punti di passaggio. Se la legge è semplice (ad esempio: è lineare), si aggiunge dai punti di passaggio, altrimenti si implementa la formula dal punto di partenza. Si crea sempre nel menù del vincolo appena creato: nel menù "Propreties" delle "Boundary Condition" accanto al valore della variabile "x"

Tables --> New --> 1 Indipendent Variable V1 --> Type: time
                                                 Min: 0
                                                 Max: 2
                                                 Steps: 10
                                                 Data points --> ADD: (0,0) (1,1) (2,0)
                                                 Fit

Data points: (valore variabile indipendente , valore di modulazione della funzione)

Ss20.png
Ss21.png

E' stata creata una modulazione tale per cui, ad inizio simulazione, l'albero ed il mozzo si affacciano senza gioco né interferenza. Poi, i due corpi vengono costretti a separarsi. Il punto di massima separazione è l'istante 1 della simulazione. Successivamente, i due corpi vengono riavvicinati e riportati uno affacciato all'altro: si tratta dell'istante 2 della simulazione. L'intento della seconda fase è quello si simulare una rimozione del forzamento, così definiamo un'evoluzione del forzamento e poi una rimozione dello stesso, potenzialmente in infiniti passi infinitesimi, quindi una rimozione potenzialmente continua.

Osservazione: L'alternativa alla costruzione del grafico tramite punti definiti sarebbe l'inserimento di una formula che descriva l'andamento esatto nel tempo di tale pressione (che non si utilizzerà in questo corso), e lo si effettua cliccando su Formula e digitando nello spazio sottostante la formula da utilizzare, ad esempio sin(V1*2*Pi). In questo modo si potrebbe modulare nel tempo la pressione tramite andamenti più complessi di quello lineare.

Si pone adesso la storia di come si evolve l'applicazione dello spostamento ( ndr , TABLE ), sempre del menù dello spostamento appena creato:

Properties--> Table(a fianco del valore imposto)--> selezione la tabella desiderata

In questo modo, 0.05 mm vengono modulati nel tempo con l'andamento imposto.

Ss22.png

Se sono in modalità di visualizzazione Tabella e voglio tornare al modello, dal Menù in basso a destra:

 Shortcuts --> Show --> Model

Il materiale elastoplastico viene simulato, attivando la plasticità:

Material Properties--> Material Properties--> "accaio"--> structural--> plasticity
                                              Yield stress:  360 Mpa
Attivo plasticità.png

Si definiscono le due porzioni di storia di carico , pertanto la simulazione acquisisce una nuova concezione, in quanto si osserverà una risposta della geometria all'evoluzione di un caricamento che si evolve nel tempo. Si definiscano la storia di carico e i parametri del metodo Newton-Raphson:

Loadcases--> New--> Static

In questo caso Static deve essere inteso per quasi statico e non per statico, cioè il sistema evolve lentamente, in tempi infinitamente lunghi, tali da poter trascurare le forze inerziali e viscose. Se si volesse considerare le componenti inerziali e viscose è possibile utilizzare il "Dynamic Modal". Viene inserito in 'Total loadcase time' il valore 1, che rappresenta il tempo di un secondo (in realtà è già così di default). Quindi storia di carico di un secondo analizzata in 50 steps (di default). Poichè si parla di Newton-Raphson occorre definire dei criteri di convergenza della soluzione: le due possibilità sono ai residui e agli spostamenti, impostare un criterio assoluto ha il significato di un limite assoluto di tolleranza il cui valore fornisco(poco usata).

Properties--> Total Loadcase Time (quanto dura il caricamento)
              Costant Time Step (quanto tempo tra ogni step)
              # Step (numero degli step)
              Convergence Testing (fissiamo la tolleranza voluta)
Loadcases.jpeg

Si deve imporre una tolleranza agli spostamenti dell'1%

Convergence Testing--> Relative(tolleranza di tipo relativa)
                       Displacements--> Relative Displacement Tolerance


Così facendo, quando la spostamento è minore dello spostamento della configurazione precedente di 0.01 (spostamento relativo quindi), vengono dichiarati i criteri di convergenza del metodo Newton-Raphson e si fa in modo di fermare il calcolo:

Loadcases2.jpg

Per capire meglio quest'ultima affermazione, si consideri una semplice struttura caratterizzata da una trave incastrata con forza normale al suo asse e applicata all'estremità opposta rispetto all'incastro. In caso di carichi deboli, la trave lavora a pura flessione, mentre in caso di carichi elevati la trave tende a lavorare (quasi) a puro sforzo normale.

Trave1loadcases.png

Questo carico viene applicato tramite un numero di steps compresi tra "0" ed "n" (step 0 = valore nullo, step n = valore massimo) Si supponga di aver calcolato la struttura fino allo step caratterizzato da una forza P(i) e che s'ipotizzi che in tal caso il Newton-Raphson sia andato a convergenza (il risultato lo prendo come buono). Si consideri la relativa trasformata:

Trave2loadcases.png

L'intento però è quello di calcolare lo step di carico P(i+1); essendo il passaggio da P(i) a P(i+1) un Newton-Raphson, si utilizzi il risultato di P(i) come risultato della P0(i+1) (ossia nell'iterazione numero "zero") e si proceda nello svolgimento delle varie iterazioni.

In particolare, considerando il caso generale d'iterazione "j" e il suo abbassamento durante tale iterazione, se tale spostamento "a" risulta abbastanza ridotto rispetto allo spostamento relativo al singolo incremento di carico "b" (nel nostro caso a <= 0.01 b) , si dichiara la convergenza agli spostamenti relativa, ovvero lo spostamento ottenuto dall'ultima variazione di carico, lo utilizzo come paragone per la convergenza agli spostamenti relativi.

Trave3loadcases.png

Osservazioni:

  • La convergenza agli spostamenti è sconsigliata in caso di enormi spostamenti, come ad esempio un corpo in sollevamento con tre catene (molto instabili).
  • Quando si utilizza una convergenza ai residui di tipo relativo in caso di disequilibri nodali, il suo concetto di paragone è la massima relazione vincolare in modulo; inoltre essa non la si deve utilizzare in un sistema in cui ci si aspetta reazioni vincolari nulle.


Piano B

In Solution control si imposta il massimo numero di step entro cui Newton-Raphson deve convergere (qui 10), altrimenti il software passa al piano B che è definito come tentativi con valori del carico pari a 1/50 (riduco quindi il salto di carico), sperando di ottenere la convergenza. In figura si è lasciato il valore 10 come numero di dimezzamenti ammissibili (corrispondente quindi a 10x10=100 iterazioni Newton-Raphson); qualora dopo questi dimezzamenti non si sia ottenuta la convergenza, il sistema darà errore.

Per creare il loadcase di rimozione del forzamento copio i parametri del caso di forzamento tramite il tasto COPY.

FOCUS: cliccando su Applied Loads e poi spuntando il riquadro relativo alla pressione relativa, la si rimuove; anche se è pressochè innocua, altererebbe solo le reazioni vincolari, e comunque la si esclude in quanto il controllo non è sulla pressione.

Applied loads.png

Adesso si vada a costruire un nuovo job che contempli l'applicazione graduale del nostro forzamento e il successivo scarico.

Definite le due frazioni di storia di carico, si edita un nuovo Job(2) sempre di tipo strutturale con proprietà del tipo: Initial loads tutto le stesse "conditions" a meno della pressione relativa; vengono selezionati i due loadcase ovvero forzamento e rimozione dello stesso.

Job load.png

In Job Results si seleziona:

  • Stress;
  • Total Strain;
  • Plastic Strain (quota plastica di deformazione, mentre quella elastica non ha molto senso);
  • Equivalent Von Myses Stress.

Andando in Custom definisco le quantità nodali da considerare nei risultati includendo:

  • Displacement;
  • External Force;
  • Reaction Force;
  • Tying Force (forze di legamento, ossia le forze trasmesse dai link)

In fondo al menù che si considera si vede l'opzione di fornire i risultati per ogni iterazione (Iterative Results: ci indica lo stato della struttura ad ogni iterazione); questo viene utilizzato per fare un'analisi solo quando il metodo di Newton-Raphson non dà convergenza (di default è off comunque e lo lasciamo tale). Lanciando il programma e leggendo i dati del Run Job, si riscontra la bontà dell'analisi dal messaggio "3004" in Exit number.

Analizzando per primo il caso di equivalent Von Mises Stress, e scorrendo i 50 incrementi che il metodo ha utilizzato, noto un progressivo incremento della zona del mozzo a tensione più elevata fino a che, arrivato al valore 50 con gli incrementi, leggo il valore definitivo. I punti dall'1 al 49, non hanno valenza significativa ai fini dell'analisi, a meno che il mozzo non stia snervando con non accettabile rapidità. Si nota che lo stato tensionale all'albero è molto inferiore( sempre al valore 50 di incrementi), ciò perchè ha plasticizzato per primo il mozzo che quindi sottrae tensione all'albero. Inoltre si evidenzia una tensione massima che è superiore a quella di plasticizzazione del materiale, ciò a causa del fatto che il risultato è fornito di default con estrapolazione Linear (integrazione Gaussiana), quindi si imposta un'estrapolazione 'tradotta' (clicco su Method-->Translate) e vedo che ora la tensione massima è di poco inferiore a 360 Mpa ovvero la tensione di plasticizzazione dell'acciaio. Viene evidenziato dalle analisi che circa l'80% dell'interferenza risulta in deformazione al mozzo. Ora siccome in questo caso impostando gli spostamenti e non la pressione di forzamento, quest'ultima è un risultato o meglio non è nota a priori. Per trovarla posso vedere le tensioni al bordo interno, dove ho valori diversi ma al più del 10%, da usare con intelligenza. Oppure si possono considerare le forze sui nodi esercitate dai link sulla struttura (metodo che risente comunque degli errori di discretizzazione); si considera quindi la forza sui 4 nodi totale, la si divide per l'area della faccia e ottengo la pressione. Ora si analizzano i risultati relativi alla fase di rimozione del forzamento, considerando con particolare interesse il comportamento del mozzo. Procedo dallo step 50 allo step 100 e noto che, il mozzo, dapprima si scarica, ma poi torna a caricarsi arrivando infine allo step 100 tutt'altro che scarico, ma esso presenta delle tensioni residue piuttosto importanti.

Note

Per un ulteriore approfondimento sul metodo Newton-Raphson: Appunti per il corso di Progettazione Assistita, E. Bertocchi, 2014. [1]

Per quanto riguarda il metodo di bisezione invece: [2]