header blog

Blog

Storie di innovazione e facili tutorial per conoscere il mondo dell'opensource

Introduzione

Nelle simulazioni di fluidodinamica computazionale (CFD), il dimensionamento della mesh è cruciale per ottenere convergenza e risultati affidabili. Le mesh per CFD richiedono una risoluzione adeguata principalmente vicino ai muri (wall-condition) per catturare accuratamente gli effetti dello strato limite. In OpenFOAM, come in molti altri software, uno degli approcci per dimensionare la mesh vicino alle pareti solide si basa sul concetto di Y+. Questo tutorial spiegherà come utilizzare Y+ per dimensionare correttamente la mesh in una simulazione CFD bilanciando tempi di calcolo e affidabilità.

 

resolution mesh orange concept
Forse abbiamo esagerato con l'approssimazione della geometria reale?

Cos'è Y+?

Y+ è un parametro adimensionale che rappresenta la distanza dalla parete alla prima cella della mesh, in unità di lunghezze di scala dello strato limite viscoso. Prima di generare la mesh è quindi necessario un'idea preliminare della dimensione delle celle vicino alle pareti basata sull'Y+ che vogliamo ottenere per le condizioni al contorno che andremo a impostare. Valori tipici di Y+ per diversi modelli di turbolenza sono:

  • Per modelli con trattamento integrale dello strato limite (ad es. k-omega SST): Y+ ~ 1.
  • Per modelli che usano funzioni di parete (ad es. k-epsilon standard): Y+ compreso tra 30 e 300.

Y+ è definito come:

y+=uτyν

dove:

  • uτ = velocità di attrito (m/s), calcolabile da uτ=τwρ
  • τw = sforzo di parete (Pa)
  • y = distanza normale dalla parete alla prima cella della mesh (m)
  • ν = viscosità cinematica del fluido (m²/s), ν=μρ

Per calcolare y+, è spesso necessario stimare uτ che dipende dallo sforzo di parete τw.

Esempio: Se hai un flusso d'aria (densità ρ=1.225 kg/m³, viscosità μ=1.81×105 Pa·s) con uno sforzo di parete τw=0.5 Pa  e vuoi un valore di y+=30, la distanza y dalla parete alla prima cella della mesh sarà:

uτ=0.51.2250.64 m/s

ν=1.81×1051.2251.48×105 m²/s

y=30×1.48×1050.646.94×104 m

Quindi, la distanza dalla parete alla prima cella della mesh dovrebbe essere di circa 0.694 mm per raggiungere un y+ di 30.


Approssimare la velocità di attrito dalla velocità media del flusso.

Per calcolare Y+ utilizzando la velocità del fluido, è possibile adottare un approccio leggermente diverso. Y+ è definito in termini di velocità di attrito (uτ), ma uτ può essere strettamente correlato alla velocità media del flusso in alcune situazioni, specialmente in flussi turbolenti completamente sviluppati lungo superfici piane. Tuttavia, si deve tenere presente che questa correlazione può non essere precisa in tutti i casi, specialmente in geometrie complesse o in flussi non turbolenti.

La formula per Y+ rimane la stessa:

y+=uτyν

Per collegare la velocità di attrito alla velocità del fluido, si può utilizzare una relazione empirica o teorica basata sullo specifico caso di flusso. Ad esempio, in un canale o in un flusso turbolento lungo una piastra piana, la velocità di attrito può essere stimata come una frazione della velocità del flusso basata sul numero di Reynolds.

Una relazione approssimativa in tali casi è:

uτURe

Dove:

  • U = velocità media del flusso
  • Re = numero di Reynolds basato sulla lunghezza caratteristica

Questa è una stima molto approssimativa e dovrebbe essere usata con cautela. Per calcoli più accurati, è consigliato utilizzare i risultati di simulazioni precedenti o dati sperimentali per ottenere una stima più precisa di uτ.


Calcolo del numero di Reynolds

Il numero di Reynolds è un parametro non dimensionale utilizzato nella meccanica dei fluidi per prevedere i pattern di flusso in diversi tipi di problemi fluidodinamici. È definito come:

Re=ρULμ

dove:

  • ρ = densità del fluido (kg/m³)
  • U = velocità caratteristica del flusso (m/s)
  • L = lunghezza caratteristica (m), ad esempio il diametro di un tubo o la lunghezza di un'ala
  • μ = viscosità dinamica del fluido (Pa·s)

Esempio: Se hai un flusso d'aria (densità ρ=1.225 kg/m³, viscosità μ=1.81×105 Pa·s) sopra un'ala con una lunghezza caratteristica di 1 m e una velocità del flusso di 30 m/s, il numero di Reynolds sarà:

Re=1.225×30×11.81×1052.03×106

 


Esempio Conclusivo

Supponiamo di voler avere un valore di Y+ = 30 in un flusso d'aria con le seguenti proprietà:

  • Velocità media del flusso, U=15 m/s.
  • Viscosità cinematica dell'aria, ν=1.5×105 m²/s.
  • Numero di Reynolds basato su una lunghezza caratteristica, Re=106.

Prima calcoliamo uτ:

uτ15106=0.015 m/s

Ora usiamo la formula rielaborata di Y+ per trovare y:

y=30×1.5×1050.015=3×105 m=0.03 mm

Quindi, per ottenere un valore di Y+ di 30, la distanza dalla parete alla prima cella della mesh dovrebbe essere circa 0.03 mm.

Ricorda che questi calcoli sono basati su stime e approssimazioni. La precisione può variare a seconda della complessità del flusso e della geometria specifica del caso in esame. In una simulazione CFD reale, potrebbero essere necessarie ulteriori iterazioni per ottimizzare la dimensione della mesh e raggiungere il valore desiderato di Y+.


 Suggerimenti

Ora che hai capito la teoria alla base del dimensionamento della mesh per una simulazione di openFOAM ti suggerisco di utilizzare il pratico calcolatore automatico sviluppato da CFDFEASERVICE per l'utilizzo con snappyHexMesh di openFOAM.

Quando agiamo sul design del componente agiamo indirettamente sul suo comportamento in fase fusa. Dobbiamo innanzitutto evitare di generare componenti troppo sbilanciati termicamente e difficili da alimentare. Spesso i vincoli meccanici portano a disegnare forme e volumi che complicano la vita a chi deve produrre il pezzo per stampaggio a iniezione.


 Regola per un design "senza-difetti": gli spessori effettivi dei componenti devono essere attentamente tenuti sotto controllo per evitare zone termicamente massive rispetto al resto del pezzo. Queste zone saranno le ultime a raffreddarsi e, quando tutto il materiale circondato sarà ormai solidificato, non ci sarà più modo di compensare i ritiri volumetrici, generando così difetti comuni quali risucchi e distorsioni.


Ecco come una geometria apparentemente poco complessa può comunque nascondere insidie e difetti. Abbiamo messo alla prova BestGate, il tool di MoldApp sviluppato da ARGO e CFDFEASERVICE, e abbiamo individuato almeno due macro-zone termicamente sbilanciate, ad alto rischio risucchi e deformazioni incontrollate.

 

 

thickness ortho Z

 


La prevenzione di difetti e distorsioni nello stampaggio a iniezione inizia già dalla progettazione. Alla grande attenzione nel progettare un componente in grado di resistere alle sollecitazioni meccaniche durante il ciclo vita, spesso non viene affiancata la stessa sensibilità circa la “stampabilità”. Non sempre questa disattenzione può essere corretta più a valle in fase di realizzazione stampo, in ogni caso con incremento costi e tempi, con conseguenti elevate percentuali di scarto e continue modifiche stampo.

In ARGO abbiamo voluto sviluppare un metodo CAE intuitivo per quantificare la “stampabilità” di un pezzo, fornendo informazioni:

  • al progettista in fase di design per ridurre fin da subito i costi di produzione
  • a tutta la supply-chain (stampisti e stampatori) in fase di quotazione per evitare spiacevoli sorprese su pezzi solo all’apparenza semplici.

Nel processo di stampaggio a iniezione delle materie plastiche le deformazioni sul pezzo sono uno dei principali difetti che si possono riscontrare e che possono portare allo scarto dei componenti.


Perchè un pezzo iniettato si deforma ?

Un pezzo in materiale plastico (polimerico) stampato a iniezione passa da una fase liquida ad alta temperatura ad una fase solida a bassa temperatura. Tale passaggio comporta variazioni del volume specifico del materiale e, di conseguenza, una variazione del volume finale del nostro componente.

Nel caso ideale, e non fisico, di un componente che si raffredda in maniera perfettamente omogenea in tutto il suo volume otterremmo semplicemente un pezzo scalato a dimensioni inferiori senza alcun stress residuo o deformazione visibile.

scaling SALOME

Se il raffreddamento fosse idealmente omogeneo il raffreddamento si comporterebbe come una semplice operazione di scala (nel video SALOME_MECA)

Ovviamente questo non avviene nello stampaggio a iniezione delle materie plastiche. Cos'è che quindi genera le deformazioni nello stampaggio?

 

Gradienti di temperatura, la forza motrice delle deformazioni di un componente stampato.

La prima forza agente, nello stampaggio a iniezione, sono i gradienti di temperatura. In uno stampo per stampaggio a iniezione il pezzo può raffreddarsi solo tramite la parete dello stampo, e il calore fluisce dal cuore caldo della sezione del componente verso le pareti stampo, generando così gradienti di temperatura più o meno intensi che comporteranno ritiri volumetrici diversi in diversi punti del materiale.


Come controllare i ritiri e le deformazioni?

La gestione dei gradienti nello stampaggio a iniezione può essere divisa in due condizioni semplificate:

  • in fase fusa
  • in fase solida

In fase fusa è essenziale sfruttare il vantaggio di un materiale polimerico che può effettivamente scorrere e quindi andare a compensare i vuoti che si generano per il ritiro con nuovo materiale fuso.

Per ottimizzare i ritiri in questa fase dello stampaggio a iniezione è opportuno intervenire sul mantenimento in pressione e sul posizionamento del punto d'iniezione.

 

In fase solida non possiamo più aggiungere altro materiale a compensare i ritiri volumetrici, diventa cruciale quindi agire sugli spessori del componente e sull'omogeneità di raffreddamento attraverso la progettazione del circuito di raffreddamento dello stampo per materie plastiche.

 


Nel prossimo articolo sullo stampaggio a iniezione vedremo come ottimizzare i ritiri agendo sulle condizioni in fase fusa.

 

 

 

 

 

GUIDA IN ITALIANO

openInjMoldSim è il solver per openFOAM v7/6/5 per la simulazione dello stampaggio ad iniezione di polimeri. Come openFOAM è distribuito secondo licenza GPL ed è liberamente scaricabile dal repository:

https://github.com/krebeljk/openInjMoldSim

 

Requisiti: -openFOAM7 installato (generalmente in /opt/openfoam7 se si utilizzano repository ubuntu).

Una volta replicato il repository sul proprio pc per l'installazione del solver si procede a copiare la cartella di origine in openfoam7

$  sudo cp -R /home/user/openInjMoldSim/applications/solvers/multiphase/openInjMoldSim/ /opt/openfoam7/applications/solvers/multiphase
$  cd /opt/openfoam7/applications/solvers/multiphase/openInjMoldSim
 
Si dichiara quindi che vogliamo che il solver venga compilato direttamente insieme agli altri solver di openfoam7  (FOAM_APPBIN) modificando una stringa all'interno di Make/files:

$  sudo gedit /Make/files

e cambiamo la riga:

EXE = $(FOAM_USER_APPBIN)/openInjMoldSim

in

EXE = $(FOAM_APPBIN)/openInjMoldSim

Salviamo e chiudiamo "files" , da terminale quindi eseguiamo questa sequenza di comandi

$  wclean
$  sudo bash
$  wmake
 
Al termine della compilazione avrete installato openInjMoldSim in OF7.

ENGLISH TUTORIAL

openInjMoldSim is the openFOAM sovler for injection molding analysis, it is opensource and free and you can get it from:

https://github.com/krebeljk/openInjMoldSim

 

first of all you must have openFOAM7 installed on your PC (usually in /opt/openfoam7 with ubuntu repository).

Once get the repository on your pc you should copy the installation folder in the openFOAM7 application folder:

$  sudo cp -R /home/user/openInjMoldSim/applications/solvers/multiphase/openInjMoldSim/ /opt/openfoam7/applications/solvers/multiphase
$  cd /opt/openfoam7/applications/solvers/multiphase/openInjMoldSim
 

Now it's time to tell the compiler that we want the solver in the same folder where other solvers are stored in openfoam7 (FOAM_APPBIN), we can do this just by modifying a line in the file Make/files in openInjMoldSim

 $  sudo gedit /Make/files

 

changing the line

EXE = $(FOAM_USER_APPBIN)/openInjMoldSim

to

EXE = $(FOAM_APPBIN)/openInjMoldSim

save and close gedit , now from terminal:

$  wclean
$  sudo bash
$  wmake

 

At the end the solver will be ready to use in your openfoam7 installation.

 

 

 
 
 

 

 

 

Tratto dall'esposizione a TECNOLOGIE OPEN SOURCE PER INDUSTRIA 4.0 - Firenze 19/02/2020.

Nello stampaggio ad iniezione dei polimeri (injection molding) la termica dello stampo riveste un ruolo fondamentale sulla qualità del pezzo prodotto. Lo stampo, oltre a conferire la forma, è progettato con un circuito di condizionamento utile a smaltire omogeneamente il calore necessario a far solidificare il pezzo mantenendo allo stesso tempo una temperatura superficiale sufficientemente alta da permettere lo scorrimento del polimero nella cavità. ARGO srl e CFD FEA Service hanno sviluppato una serie di algoritmi automatizzati, nominata MoldApp, per l'analisi della termica stampo durante la delicata fase di avvio produzione. Di seguito la presentazione esposta a TECNOLOGIE OPEN SOURCE PER INDUSTRIA 4.0.


 

Durante l’avvio produzione lo stampo passa da temperatura ambiente alle condizioni di regime attraverso un transitorio che dura un certo numero di cicli di stampaggio non noto a priori, normalmente i pezzi prodotti in questa fase vengono scartati in quanto non conformi. In questo lavoro Code_Aster è stato utilizzato per ottimizzare un avvio produzione simulando l’evoluzione termica derivante da una serie di cicli di stampaggio a partire da una condizione di avvio definita. Lo script di simulazione è stato inoltre progettato per interfacciare Code_Aster con un file xml contenente i parametri con cui l’operatore può facilmente modificare le condizioni del ciclo produttivo (iniezione, raffreddamento ed estrazione), i parametri del circuito di condizionamento e tutte le condizioni geometriche al contorno. Il responsabile produzione, utilizzando questo script Code_Aster, sarà così in grado di individuare preventivamente i settaggi macchina migliori per ridurre i cicli necessari al raggiungimento della condizione stazionaria, risparmiando tempo e risorse. Lo sviluppo dello script prevederà l’accoppiamento indiretto delle superfici di condizionamento con una simulazione CFD eseguita su openFoam al fine di migliorare l’accuratezza dei risultati.

Il defeaturing di una geometria CAD è una pratica fondamentale nella simulazione degli stampi per materie plastiche. Le geometrie CAD di uno stampo sono infatti ricche di dettagli realizzativi che sono tuttavia inutili quando si va a simularne il suo funzionamento. Normalmente appena importato il file STEP l’operatore si trova di fronte una serie di piccole raggiature, fori, marchiature e altri dettagli geometrici che non danno alcun valore aggiunto alla simulazione. La dimensione di una mesh ricavata da un file CAD segue il rapporto tra la dimensione caratteristica dell’oggetto e la taglia minima dell’elemento necessaria per rappresentare tutti i dettagli geometrici, maggiore il numero di dettagli, maggiore il numero di elementi della mesh. Diventa così chiaro quanto sia importante eliminare tutti i dettagli superflui per non avere a che fare con una mesh composta da diversi milioni di elementi (quasi proibitiva per utilizzo FEM, accettabile su cluster per CFD) solo per simulare uno stampo di piccole dimensioni o un suo inserto.


Parafrasando la cultura pop: “da grandi mesh derivano grandi tempi di calcolo”.

Questo non significa che bisogna semplificare tutto all’inverosimile, una geometria troppo semplificata non è in grado di rappresentare correttamente i fenomeni fisici che avvengono durante la simulazione del ciclo di stampaggio. Tocca all’operatore definire quali dettagli sono caratteristici dello stampo e quali sono inutili in fase di simulazione.

Chi opera spesso “conto terzi” sa benissimo quanto servano gli strumenti in grado di semplificare una geometria che nella maggior parte dei casi giunge in un formato di scambio come .step, .brep o .igs. Ovviamente la soluzione migliore resta sempre quella di operare sul file CAD proprietario ove è stato disegnato, in questo modo si eliminano in maniera rapida e precisa tutte le piccole raggiature e fori superflue ai fini della simulazione. Quando questo non è possibile si può risparmiare notevole tempo utilizzando software specifici per il defeaturing delle geometrie CAD.

Tralasciando le soluzioni commerciali, in questo breve articolo vogliamo suggerirvi una soluzione completamente opensource e già dotata di buona automazione, essenziale per ridurre i tempi necessari al defeaturing.

Programma : FreeCAD

Modulo : Defeaturing Workbench

FreeCAD possiede un utilissimo add-on dedicato al defeaturing delle geometrie importate. A questo link la guida in inglese all’installazione ed utilizzo del “Defeaturing Workbench” (P.S. a breve vi proporremo una versione italiana di questa guida).


 

ESEMPIO APPLICATIVO

Di seguito vi mostriamo l’efficacia del defeaturing nel realizzare la mesh di un inserto stampo per lo stampaggio con canali caldi (hot runners) e raffreddamento conformato (conformal cooling).

defeat img1

A sinistra la geometria originale composta da una serie di dettagli realizzativi sull’esterno boccola quali:

  • il canale di raffreddamento(in blu),
  • le sedi delle guarnizioni di tenuta,
  • una serie di raggiature di collegamento tra i vari cambi spessori.

A destra è la geometria dopo defeaturing in cui sulla superficie esterna è rimasto il solo canale di raffreddamento con le sue raggiature.

La semplificazione è stata effettuata ai fini dell’analisi con Mold-Up, il nostro software per la simulazione dell'avvio stampo, mantenendo correttamente rappresentata solo la geometria del canale di raffreddamento (in blu nell'immagine precedente). Nell'immagine seguente sono evidenziate in rosso le superfici sottoposte a defeaturing con FreeCAD.

defeat img2

E per quanto riguarda la mesh?

La mesh 1D-2D (NETGEN) del nostro inserto passa da 1.8M elementi a 0.8M elementi solamente applicando il defeaturing alle superfici esterne. Un risultato davvero considerevole ottenuto in  meno di un'ora di lavoro tra FreeCAD e SALOME operando direttamente su di un file step.

defeat img3

 

Pagina 1 di 4

Vuoi saperne di più su questo argomento?

 

pisa profile Andrea          

Vuoi approfondire le tematiche presentate nelle nostre simulazioni o nei casi studio? Contattaci liberamente per una discussione dettagliata o per qualsiasi domanda tu abbia.

Siamo pronti a offrirti il nostro supporto e la nostra esperienza.

Clicca qui per inviarci un messaggio e ti risponderemo al più presto.

L.THEME
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.