dc.contributor.author |
Σουραής, Αλέξανδρος-Γεώργιος
|
el |
dc.contributor.author |
Sourais, Alexandros-Georgios
|
en |
dc.date.accessioned |
2020-03-30T14:45:26Z |
|
dc.date.available |
2020-03-30T14:45:26Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/49971 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.17669 |
|
dc.rights |
Default License |
|
dc.subject |
FEniCS |
el |
dc.subject |
Μη γραμμικά προβλήματα |
el |
dc.subject |
Παραμετρικός βηματισμός |
el |
dc.subject |
Αποπληθωρισμός |
el |
dc.subject |
Παραμετροποίηση μήκους τόξου |
el |
dc.subject |
FEniCS |
en |
dc.subject |
Nonlinear problems |
en |
dc.subject |
Parametric continuation |
en |
dc.subject |
Deflation |
en |
dc.subject |
Arc-length continuation |
en |
dc.title |
Επίλυση μη γραμμικών προβλημάτων και εφαρμογή μεθόδων παραμετρικού βηματισμού με τη μέθοδο Πεπερασμένων Στοιχείων στην υπολογιστική πλατφόρμα FEniCS |
el |
dc.title |
Solution of nonlinear problems and application of parametric continuation methods with the Finite Element Method on the computational platform FEniCS |
en |
heal.type |
bachelorThesis |
|
heal.classification |
Χημική μηχανική |
el |
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2019-07-02 |
|
heal.abstract |
Στη παρούσα διπλωματική εργασία εξετάστηκαν οι υπολογιστικές δυνατότητες του λογισμικού FEniCS με έμφαση στην επίλυση και ανάλυση του χώρου των λύσεων μη γραμμικών προβλημάτων. Το FEniCS είναι μια δημοφιλής υπολογιστική πλατφόρμα ανοιχτού λογισμικού που χρησιμοποιεί τη μέθοδο Πεπερασμένων Στοιχείων για τη διακριτοποίηση και αριθμητική επίλυση μερικών διαφορικών εξισώσεων. Το FEniCS διαφέρει έναντι άλλων λογισμικών καθώς είναι δομημένο υπό τη μορφή βιβλιοθηκών σε γλώσσα C++/Python δίνοντας τη δυνατότητα εξατομίκευσης των υπολογιστικών μοντέλων του χρήστη. Με βάση αυτή τη δυνατότητα του λογισμικού επιλύθηκε αρχικά ένα δι-διάστατο γραμμικό πρόβλημα κατανομής θερμοκρασίας σε πτερύγιο και εξετάστηκε η δυνατότητα εισαγωγής πλέγματος από το λογισμικό Gmsh. Στη συνέχεια επιλύθηκε ένα τρι-διάστατο μη γραμμικό πρόβλημα Bratu με ομογενείς συνοριακές συνθήκες Dirichlet. Εξετάστηκε η εφαρμογή της μεθόδου Newton και η αυτόματη εξαγωγή της Ιακωβιανής σε μεταβολική μορφή. Επίσης εξετάστηκε η σύγκλιση της Newton στην αυτοματοποιημένη μορφή που παρέχει το FEniCS. Τα παραπάνω προβλήματα επιλύθηκαν παράλληλα σε υπολογιστικό σύστημα κοινής μνήμης προκειμένου να αξιολογηθεί η παράλληλη επιτάχυνση και η δέσμευση μνήμης. Ο υπολογιστικός χρόνος επίλυσης του 3D προβλήματος Bratu με 4∙106 βαθμούς ελευθερίας μειώθηκε έως και 75% σε 8 πυρήνες ενώ η μέγιστη δέσμευση μνήμης δε ξεπέρασε τα 22 GB. Στο τελευταίο κεφάλαιο της εργασίας αναπτύχθηκε αναλυτικά η διαδικασία εφαρμογής μεθόδων ανάλυσης του χώρου των λύσεων μη γραμμικών προβλημάτων με τρόπο φιλικό προς το FEniCS προκειμένου να είναι δυνατή η παράλληλη επεξεργασία. Εφαρμόστηκε η μέθοδος παραμετρικού βηματισμού πρώτης τάξης για ομαλές λύσεις του προβλήματος Bratu ενώ για την ιχνηλάτηση του κλάδου λύσεων πέρα ιδιάζοντων σημείων όπως σημείων στροφής χρησιμοποιήθηκαν η παραμετροποίηση μήκους τόξου με τη μορφή αλγορίθμου Block-elimination και η μέθοδος αποπληθωρισμού (deflation). Για την καλύτερη αξιολόγηση της μεθόδου αποπληθωρισμού στο FEniCS επιλύθηκε επίσης ένα δι-διάστατο πρόβλημα ροής ρευστού σε κανάλι με απότομη διαστολή. Κατέστη δυνατός ο εντοπισμός 5 εκ των 6 μη συμμετρικών κλάδων που προκύπτουν από διακλάδωση (bifurcation) του ασταθούς συμμετρικού κλάδου μετά από ένα κρίσιμο αριθμό Reynolds χρησιμοποιώντας μόνο τη μέθοδο αποπληθωρισμού. |
el |
heal.abstract |
In this diploma thesis the computational capabilities of FEniCS software were examined, with emphasis on nonlinear problems and solution space analysis. FEniCS is a popular open-source computational platform for discretization and solution of partial differential equations using the Finite Element method. FEniCS differs from other software available because it is built as a collection of C++/Python libraries allowing user customization of computational models. Based on this capability a two dimensional problem of calculating the temperature distribution in a fin was solved first using the Gmsh software for mesh generation. Then a 3D Bratu problem with homogeneous Dirichlet boundary conditions was solved. The application of Newton’s method, the automatic derivation of the Jacobian as a variational form as well as the convergence of Newton’s method in an automated form were examined. The two problems were solved with parallel computing in a shared memory multiprocessor system so that the parallel speedup and memory usage could be evaluated. The computational time required for the solution of 3D Bratu problem with 4∙106 degrees of freedom was reduced up to 75 % using 8 cores and the maximum memory usage did not exceed 22 GB. In the last chapter of this work is described in detail the implementation of parameter continuation methods for analyzing the solution space of nonlinear problems with a FEniCS-friendly format suitable for parallel computations. A first-order continuation scheme was implemented for regular solutions of 3D Bratu problem while arc-length continuation as a block-elimination type of algorithm and deflation continuation were used for computing branches of solutions past singular points, namely turning points. For a better evaluation of the deflation method in FEniCS, a problem of fluid flow in a two-dimensional channel with sudden expansion was also solved. This type of flow undergoes an one-sided bifurcation and the symmetric solution is unstable past a critical Reynolds number. The discovery of 5 out of 6 nonsymmetrical solution branches was achieved using only the deflation method. |
en |
heal.advisorName |
Μπουντουβής, Ανδρέας |
el |
heal.committeeMemberName |
Κυρανούδης, Χρήστος |
el |
heal.committeeMemberName |
Παπαδόπουλος, Γεώργιος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Χημικών Μηχανικών. Τομέας Ανάλυσης, Σχεδιασμού και Ανάπτυξης Διεργασιών και Συστημάτων (ΙΙ) |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
84 σ. |
|
heal.fullTextAvailability |
true |
|