Isogeometric stiffness matrix computation in GPU programming environment - Γκρίτζαλης, Χρήστος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Πολιτικών Μηχανικών. Τομέας Δομοστατικής. Εργαστήριο Στατικής και Αντισεισμικών Ερευνών, 2016)
Η υπολογιστική μηχανική ασχολείται με τη χρήση των υπολογιστικών μεθόδων και των υπολογιστών για τη μελέτη των φυσικών και μηχανικών συστημάτων που διέπονται από τις αρχές της μηχανικής. Στην πράξη συχνά προκύπτουν προβλήματα, τα οποία απαιτούν αριθμητική προσομοίωση με έναν τρόπο που είναι ακριβής και, παράλληλα, υπολογιστικά αποδοτικός. Η ακρίβεια μπορεί να επιτευχθεί χρησιμοποιώντας μία από τις σύγχρονες μεθόδους προσομοίωσης, αλλά τι συμβαίνει με την υπολογιστική αποδοτικότητα; Παρά το γεγονός ότι τις τελευταίες δεκαετίες παρατηρήθηκε μεγάλη βελτίωση στις δυνατότητες των υπολογιστών, ακόμα η επίλυση προβλημάτων μηχανικού μεγάλης κλίμακας παραμένει πρόκληση. Είναι κατανοητό ότι η ακρίβεια και το υπολογιστικό κόστος είναι έννοιες αλληλεξαρτώμενες. Ο σκοπός της συγκεκριμένης διπλωματικής εργασίας είναι η επιτάχυνση της Γραμμικής Στατικής Ισογεωμετρικής Μεθόδου (μία καινοτόμο μεθοδολογία πλήρους ενοποίησης των CAD – CAE, η οποία εισήχθη από τους J. Austin Cottrell, Thomas J.R. Hughes και Yuri Bazilevs) για την επίλυση προβλημάτων μεγάλης κλίμακας. Για το σκοπό αυτό, κώδικας Ισογεωμετρικής Μεθόδου, βασισμένης στα NURBS, για εκτέλεση σε CPU (κεντρική μονάδα επεξεργασίας) και GPU (κάρτα γραφικών) υλοποιήθηκε. Προς αυτήν την κατεύθυνση, παράλληλοι αλγόριθμοι εκτελέστηκαν στη GPU για τον υπολογισμό του μητρώου στιβαρότητας προβλημάτων Ισογεωμετρικής Ανάλυσης. Η αποδοτικότητα διαφόρων μορφών αποθήκευσης του μητρώου στιβαρότητας διερευνάται. Πολυάριθμες κλασικές εφαρμογές σχεδιάστηκαν και αναλύθηκαν με το Geomiso, το πρώτο παγκοσμίως λογισμικό CAD/ CAE (υπολογιστικής γεωμετρίας/ υπολογιστικής μηχανικής). Ως κύριες γλώσσες προγραμματισμού χρησιμοποιήθηκαν οι C++ και C#. Για την εφαρμογή του παράλληλου προγραμματισμού σε περιβάλλοντα γραφικής επεξεργασίας χρησιμοποιήθηκε η Quant Alea. Η εργασία αυτή οργανώνεται ως εξής: Το Κεφάλαιο 1 αποτελεί μία εισαγωγή στο πεδίο της Ισογεωμετρικής Μεθόδου. Στο Κεφάλαιο 2 εξετάζονται οι B-SPLines και οι NURBS γεωμετρίες. Το Κεφάλαιο 3 είναι αφιερωμένο στις CPUs και στις GPUs κάνοντας μία σύντομη εισαγωγή στον παράλληλο προγραμματισμό. Το Κεφάλαιο 4 ασχολείται με το χειρισμό των πινάκων. Το Κεφάλαιο 5 πραγματεύεται τις τεχνικές πύκνωσης δικτύου στην ισογεωμετρική ανάλυση και στο Κεφάλαιο 6 πραγματοποιείται η σειριακή και παράλληλη μόρφωση του μητρώου στιβαρότητας. Η εφαρμογή των εξωτερικών φορτίων και των συνοριακών συνθήκων εξετάζεται στο Κεφάλαιο 7. Τέλος, στο Κεφάλαιο 8, κλασικές 2D και 3D εφαρμογές παρουσιάζονται. Το Κεφάλαιο 9 περιέχει τα συμπεράσματα της ερευνητικής εργασίας, ακολουθεί το παράρτημα στο οποίο συνοψίζονται όλες οι εφαρμογές που εξετάζονται.