Prestazioni e analisi delle mesh

About the author
User picture
Nome
Marco Vito Moscaritolo
Professione
Docente
Istruzione
Ingegneria Chimica
Età
25
In questo articolo vedremo come è possibile ottimizzare le prestazioni per il calcolo di una semplice geometria utilizzando delle griglie appropriate ed in particolare come varia la velocità di calcolo per griglie costituite da triangoli o quadrangoli, oltre che in base alla densità della griglia di calcolo. Come dominio si è utilizzato quello rappresentato nella seguente figura (le dimensioni sono indicate in metri): Dimensioni e struttura della geometria sottoposta ad analisi. Il tutto è stato risolto per un caso bidimensionale e usando il risolutore simpleFoam (ovvero adatto a un fluido non comprimibile e viscosità costante) e usando le caratteristiche tipiche dell'acqua. E' evidente che nel caso di geometrie tridimensionali le differenze che si riscontreranno saranno ancora più accentuate. L'ingresso avviene dalla parete superiore sinistra (INLET) con una velocità di 5m/s e l'uscita è dalla parete inferiore destra (OUTLET) dove viene ipotizzata una pressione nulla opposta al flusso del fluido. Le ipotesi per le pareti sono di assenza di scorrimento lungo di esse. Le mesh sono state generate tramite gmsh e utilizzando dei parametri, per permettere di modificare la densità della griglia di calcolo senza dover ricostruire il modello per le differenti mesh. Potete scaricare i file necessari per la generazione di mesh triangolari e rettangolari. Per le mesh rettangolari il parametro da modificare per variare la densità della griglia è nm che indica la quantità di elementi in cui viene suddiviso ogni decimetro della struttura, è evidente che la densità della griglia è proporzionale al quadrato di questo parametro ed in particolare il numero di elementi che la compongono è pari a: 180 * nc^2 Per la modificare la densità delle mesh triangolari è necessario modificare il parametro lc che indica quanto densa deve essere la griglia. La generazione della mesh viene effettuata da shell tramite il seguente comando: gmsh -3 file_input.geo -o file_mesh.msh ove, ovviamente, andranno utilizzati i nomi appropriati per i file in ingresso e uscita. Per la realizzazione del caso da studiare tramite OpenFOAM si rimanda agli articoli precedenti, in particolare si veda Esempio di simulazione con OpenFOAM e Seconda simulazione. L'importazione della mesh prodotta precedentemente a gmsh avviene tramite il comando: gmshToFoam root case file_mesh.msh Dove ovviamente andranno modificati i parametri necessari. Di seguito sono riportate le mesh ricavate. Per ognuna di esse trovate il tipo di elementi utilizzati per la realizzazione della griglia di calcolo il valore del parametro (nm o lc) utilizzato e il numero di elementi che la compongono. Per evitare di inserire molte immagini ripetitive viene riportato solo la mesh meno densa, le altre le pote visualizzare presso seguendo i link indicati. Maggiori informazioni su ogni griglia possono essere ottenuti tramite il comando checkMesh. Mesh triangolari Triangolare - lc = 0.07 - 752 Mesh rettangolari Rettangolare - nm = 2 - 720 Una volta terminata l'importazione della mesh è necessario andare a modificare le tipologie delle pareti, in particolare è necessario settare, dal file case_name/constant/polyMesh/boundary:
  • patch0 - patch
  • patch1 - patch
  • patch2 - patch
  • patch3 - empty
  • defaultFaces - empty
Trovate il file boudary già pronto per uno dei vari casi che andremo risolvere in questo articolo. L'operazione successiva è l'impostazione delle condizioni al contorno della nostra simulazione. Trovate un esempio già completo allegato a questo articolo. Per l'esecuzione della comparazione sono state effettuate diverse prove per le farie tipologie di mesh in base al numero di elementi che la compongono. Come macchina di calcolo è stata utilizzata una CPU ADM 1700+ (operante a 1466MHz) equipaggiata di 768MB di RAM (operante a 200MHz) su cui si trova un sistema Linux con kernel 2.6.17.10 A seguito delle simulazioni svolte si sono riscontrati i seguenti risultati: Mesh triangolare
Numero di elementi della grigliaTempo di calcolo (s) *
75222,64
145147,03
232984,79
4106203,42
9327902,25
165282481,25
Mesh rettangolare
Numero di elementi della grigliaTempo di calcolo (s) *
72015,74
162045,82
288099,2
4500216,4
115201168,88
180002592,17
*) Il tempo di calcolo è stato misurato considerando l'utilizzo effettivo della CPU, escludendo i tempi di I/O sull'hard disk della macchina usata come sistema di calcolo. Nel caso si fosse utilizzato un sistema di calcolo distribuito sarebbero stati esclusi i tempi di latenza della rete che portano ad un aumento ulteriore del tempo di risoluzione. Di seguito è visibile il grafico che paragona le prestazioni (come tempo di calcolo) ottenuto utilizzando le due diverse tipologie di griglie, ove risulta evidente una diminuzione di circa il 10% delle tempistiche di calcolo per le griglie rettangolari rispetto le griglie con pari numero di elementi triangolari. Grafico paragone delle tempistiche di calcolo I risultati ottenuti per le diverse simulazioni svolte sono stati graficati considerando a velocità del flusso dopo 100 e 1000 secondi dall'inizio del flusso per ogni tipo di griglia risolta. Onde evitare di rendere troppo lungo il seguente articolo potete visualizzarle cliccando sui link seguenti. Mesh triangolari Mesh rettangolari Per i nostri fini ci limitiamo a considerarne alcune, in particolare è evidente che, per griglie rettangolari, quindi caratterizzate da una elevata regolarità, usando un numero insufficiente di elementi (inferiori al migliaio) il sistema non porta ad una soluzione stabile, infatti come risultato si ha solution singularity. Ciò non avviene per mesh triangolari, poiché le irregolarità nella griglia portano il sistema ad essere più elastico e a gestire anche situazioni limite (seppur con tutte le approssimazioni che ne derivano). Utilizzando un numero di elementi della griglia maggiori (ma inferiori alla decina di migliaia) si può notare che in entrambi i casi (mesh triangolari e rettangolari) a 100s dall'inizio non si notano in maniera evidente le ricircolazioni dei flussi in prossimità della parete sinistra inferiore e dei due setti intermedi. Velocità per mesh (4500 elementi) rettangolare a 100s Velocità per mesh (4106 elementi) rettangolare a 100s Aumentando il numero di elementi della griglia (superiore alla decina di migliaia) il sistema tende a rappresentare im maniera più precisa il sistema reale, a scapito dei tempi di calcolo necessari. E' altresì evidente che aumentando il numero di elementi della griglia tende a ridursi la differenza dei risultati ottenuti tra mesh rettangolari e triangolari. Velocità per mesh (18000 elementi) rettangolare a 100s Velocità per mesh (16528 elementi) rettangolare a 100s E inoltre arrivando a 1000s dall'inizio i risultati ottenuti sono gli stessi: Velocità per mesh (18000 elementi) rettangolare a 1000s Velocità per mesh (16528 elementi) rettangolare a 1000s
Your rating: None

Post new comment

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <dd> <dl> <dt> <table> <thead> <tbody> <tr> <td> <th> <h1> <h2> <h3> <h4> <span>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Lines and paragraphs break automatically.

More information about formatting options

Comuunicazioni

E' stato eseguito il restyling del portale e sono stati aggiunti i contenuti del sito mavimo.org, potrebbero esserci degli errori, se ne riscontrate siete pregati di comunicarlo tramite l'apposito modulo di contatto. Vuoi aiutarci e contribuire con la tua conoscenza e il tuo materiale? registrati e scrivi!

Gli ultimi iscritti

  • Leonardo Camilo
  • sven82
  • valo83
  • kyubii
  • admin

On-line ora

There are currently 0 users and 0 guests online.

Navigation