title: Software development for the generation of two-dimensional hybrid unstructured grids
title: Ανάπτυξη λογισμικού για την παραγωγή διδιάστατων μη δομημένων υβριδικών υπολογιστικών πλεγμάτων
Creators: name: Εσκανταρ Αλεξανδρος
Publisher: name: Technical University of Crete
Year: 2019

description: Η εν λόγω διπλωματική εργασία επικεντρώνεται στην ανάπτυξη της μεθοδολογίας καθώς και του αντίστοιχου λογισμικού για την δημιουργία διδιάστατων (2Δ) μη-δομημένων υπολογιστικών πλεγμάτων, με σκοπό την χρήση τους σε εφαρμογές Υπολογιστικής Ρευστομηχανικής (Computational Fluid Dynamics – CFD). Η γεωμετρία όπου επιθυμεί ο χρήστης να εξετάσει, εισάγεται μέσω (.txt) αρχείων σε μορφή 2Δ (x, y) σημείων είτε από (.obj) αρχεία σε παραμετρική μορφή. Οι κόμβοι όπου ανήκουν στον κλωβό πρέπει να ακολουθούν αντί-ωρολογιακή φορά, ενώ οι κόμβοι όπου ανήκουν στο στερεό πρέπει να ακολουθούν ωρολογιακή φορά. Συγκεκριμένα το λογισμικό που αναπτύχθηκε παρέχει την δυνατότητα δημιουργίας τόσο αμιγώς τριγωνικών πλεγμάτων για την προσομοίωση μη-συνεκτικών ροών (inviscid flows), καθώς και επίσης υβριδικών υπολογιστικών πλεγμάτων, τα οποία αποτελούνται από τριγωνικά (triangular) και τετραπλευρικά (quadrilateral) στοιχεία (elements), με σκοπό την ακριβή επίλυση του οριακού στρώματος ταχύτητας (boundary layer) που αναπτύσσεται στην περιοχή κοντά στα στερεά τοιχώματα του υπολογιστικού χωρίου, κατά την προσομοίωση συνεκτικών ροών (viscous flows). Για την δημιουργία του τριγωνικού πλέγματος χρησιμοποιείται το γνωστό λογισμικό Delaundo, ενώ για την δημιουργία των viscous layers (τετραπλευρικά στοιχεία) γύρω από τα στερεά τοιχώματα χρησιμοποιείται μια αλγεβρική μεθοδολογία η οποία αναπτύχθηκε εξ’ ολοκλήρου στα πλαίσια της παρούσας εργασίας. Τέλος, ένας ειδικά σχεδιασμένος αλγόριθμος έχει επίσης υλοποιηθεί για την κατάλληλη ένωση του τριγωνικού και του τετραπλευρικού τμήματος, σε ένα ενιαίο πλέγμα. Όλα τα δεδομένα αποθηκεύονται σε κατάλληλα σχεδιασμένες δομές. 
Το λογισμικό έχει υλοποιηθεί εξ’ ολοκλήρου σε γλώσσα προγραμματισμού C++, ενώ είναι επίσης εμπλουτισμένο με ένα ευέλικτο γραφικό περιβάλλον (GUI) για την εύκολη αλληλεπίδραση με το χρήστη, το οποίο δημιουργήθηκε με τη βοήθεια της πλατφόρμας γραφικών Qt (Qt5), καθώς και με έναν viewer για την οπτικοποίηση των υπολογιστικών πλεγμάτων, βασισμένο στο OpenGL. Επί του παρόντος το λογισμικό παρέχει τη δυνατότητα δημιουργίας υβριδικών πλεγμάτων τόσο για απλά, αλλά και πιο περίπλοκα (γεωμετρικά) υπολογιστικά χωρία, όπως παρουσιάζεται αναλυτικά εντός της διπλωματικής εργασίας, στο κεφάλαιο software validation.

description: The purpose of this thesis is the development of a methodology and the corresponding software for the creation of 2D unstructured grids for CFD (Computational Fluid Dynamics) analysis. The geometry to be examined and the boundaries of the domain are imported in 2D coordinates (x , y) form through a (.txt) file or from an (.obj) file in parametric form, which is the only input given by the user. The direction of the nodes must follow counter clockwise sense for boundary nodes and clockwise sense for viscous boundaries. Specifically, the software developed enables the creation of purely triangular grids for the simulation of inviscid flows, as well as hybrid computing meshes, consisting of triangular and quadrilateral elements, in order to accurately solve the boundary layer that develops in the area near the solid walls of the computational compartment when simulating viscous flows. For the creation of the triangular grid, the known Delaundo software developed by Jens D.Muller is used, while for the creation of the viscous layers around the solid walls, an algebraic methodology is used that has been developed entirely in the context of this thesis. Finally, a specially designed algorithm has also been implemented to suitably combine the triangular and quadrilateral sections into a single mesh. All data is stored in properly designed structures. 
The software has been implemented entirely in C ++ programming language, and is also enriched with a flexible graphical interface (GUI) for easy user interaction created with the Qt5 (Qt5) graphics platform, as well as with a viewer for visualizing computing grids, based on OpenGL. At present, the software provides the ability to create hybrid mesh for both simple and more complex (geometric) computational passages, as presented on the software validation chapter.