Κεφάλαιο 4 Μόρφωση του συστήματος εξισώσεων. Επίλυση και επεξεργασία των αποτελεσμάτων

Στο παρόν κεφάλαιο περιγράφεται η διαδικασία με την οποία γίνεται η μεταφορά από το τοπικό στο συνολικό μητρώο δυσκαμψίας, η μόρφωση και η επίλυση του συστήματος εξισώσεων και η επεξεργασία των αποτελεσμάτων.

Πιο συγκεκριμένα, στην Ενότητα 4.1 εξετάζεται η αντιστοίχιση των βαθμών ελευθερίας από το τοπικό στο συνολικό μητρώο δυσκαμψίας.

Στη συνέχεια εξετάζονται αλγόριθμοι επαναρίθμησης των βαθμών ελευθερίας και αναδιάταξης του συνολικού μητρώου δυσκαμψίας με σκοπό τη μείωση των απαιτήσεων σε αποθηκευτικό χώρο στη μνήμη του υπολογιστή (Ενότητα 4.2) και εξετάζεται σε συντομία η αντίστροφη μέθοδος Cuthill-Mckee (Ενότητα 4.2.1).

Ακολουθεί η παρουσίαση των μεθόδων αποθήκευσης των συντελεστών του συνολικού μητρώου δυσκαμψίας (Ενότητα 4.3): Η αποθήκευση του μητρώου σε πλήρη μορφή (Ενότητα 4.3.1), σε συμμετρική μορφή (Ενότητα 4.3.2), σε ταινιωτή μορφή ή μορφή λωρίδας (Ενότητα 4.3.3), σε μορφή προφίλ ή κορυφογραμμής (Ενότητα 4.3.4) και σε αραιή μορφή (Ενότητα 4.3.5).

Στη συνέχεια δίνονται τρόποι επίλυσης του συστήματος εξισώσεων, τόσο άμεσοι όσο και επαναληπτικοί (Ενότητα 4.4). Παρουσιάζονται η μέθοδος απαλοιφής Gauss (Ενότητα 4.4.1), η μέθοδος Cholesky (Ενότητα 4.4.2) και η μέθοδος της συζυγούς διανυσματικής κλίσης (Ενότητα 4.4.3).

Ακολουθεί η επεξεργασία και τρόποι απεικόνισης των αποτελεσμάτων (Ενότητα 4.5), όπως αυτή πραγματοποιείται είτε στους κόμβους των στοιχείων (Ενότητα 4.5.1) είτε στα σημεία ολοκλήρωσης (Ενότητα 4.5.2).

Στο τέλος του κεφαλαίου παρατίθεται η σχετική βιβλιογραφία (Ενότητα 4.6).

4.1 Το συνολικό μητρώο δυσκαμψίας

Για τη μόρφωση του συνολικού συστήματος συνήθως ακολουθείται η εξής διαδικασία:

  1. 1.

    Οι τοπικοί βαθμοί ελευθερίας ορίζονται σε κάθε κόμβο και αριθμούνται επί του συνόλου σύμφωνα με κάποιο σχήμα αρίθμησης. Το σχήμα αυτό μπορεί είτε να ακολουθεί μια συνεχόμενη αρίθμηση στους βαθμούς ελευθερίας, ανάλογα με τον κόμβο στον οποίο βρίσκονται, είτε κάποια εντελώς τυχαία διαδικασία. Η αρίθμηση των βαθμών ελευθερίας αποθηκεύεται για κάθε κόμβο, σε ένα διάνυσμα, έστω FTFT (Freedom Fable).

  2. 2.

    Για κάθε στοιχείο δημιουργείται το αντίστοιχο διάνυσμα FTFT, παραθέτοντας τα επιμέρους αντίστοιχα διανύσματα FTFT των κόμβων του στοιχείου, όπως αυτοί έχουν προκύψει από την αρίθμηση του βήματος 1.

  3. 3.

    Οι θέσεις των 𝐊e(i,j)\mathbf{K}^{e}(i,j) στο γενικό μητρώο 𝐊\mathbf{K} βρίσκονται πλέον με τη βοήθεια της σχέσης:

    𝐊(FT(i),FT(j))=𝐊(FT(i),FT(j))+𝐊e(i,j),\mathbf{K}(FT(i),FT(j))=\mathbf{K}(FT(i),FT(j))+\mathbf{K}^{e}(i,j), (4.1)

    όπως σχηματικά δίνεται και στο Σχήμα 4.1.

Σχήμα 4.1: Μόρφωση του συνολικού μητρώου δυσκαμψίας.

4.2 Αλγόριθμοι επαναρίθμησης

Η μόρφωση του μητρώου δυσκαμψίας οδηγεί συχνά σε δομές μητρώων οι οποίες δεν είναι οι βέλτιστες ούτε όσον αφορά την αποθήκευση του μητρώου αλλά ούτε και στην επίλυση του συστήματος.

Χαρακτηριστικές δομές μητρώων δυσκαμψίας για διάφορες περιπτώσεις μόρφωσης του μητρώου για το ίδιο πρόβλημα δίνονται στα επόμενα σχήματα. Πιο συγκεκριμένα, στο Σχήμα 4.2 δίνεται το πρόβλημα (ορθογωνικό δίκτυο πεπερασμένων στοιχείων), η αρίθμηση των κόμβων (κατά γραμμές) και η αντίστοιχη δομή του μητρώου, όπου με μπλε τετράγωνα σχεδιάζονται οι μη μηδενικοί όροι. Για το ίδιο πρόβλημα και αρίθμηση των κόμβων κατά στήλες, το αντίστοιχο διάγραμμα δίνεται στο Σχήμα 4.2, ενώ τέλος για τυχαία αρίθμηση των κόμβων το αντίστοιχο διάγραμμα δίνεται στο Σχήμα 4.4.

Διαπιστώνεται ότι:

  • Τα μητρώα δυσκαμψίας αποτελούνται πρωτίστως από μηδενικούς όρους.

  • Η αρίθμηση των κόμβων και κατ’ επέκταση των βαθμών ελευθερίας επηρεάζει σε σημαντικό βαθμό τη δομή του μητρώου δυσκαμψίας και κατ’ επέκταση τη μορφή των εξισώσεων του προβλήματος.

Υπάρχουν στη βιβλιογραφία αρκετοί αλγόριθμοι επαναρίθμησης, οι οποίοι επιδιώκουν να μειώσουν το πλάτος λωρίδας του παραγόμενου μητρώου του συστήματος (όπως π.χ. οι αλγόριθμοι Cuthill-McKee, King) είτε το προφίλ του μητρώου (Sloan), είτε ακόμα τον επιπλέον χώρο που μπορεί να χρειαστεί κατά την επίλυσή του (αρίθμηση ελάχιστου βαθμού). Στη συνέχεια δίνεται συνοπτικά η αντίστροφη μέθοδος Cuthill-Mckee.

Σχήμα 4.2: Αρίθμηση των κόμβων κατά γραμμές και αντίστοιχη δομή του μητρώου δυσκαμψίας.
Σχήμα 4.3: Αρίθμηση των κόμβων κατά στήλες και αντίστοιχη δομή του μητρώου δυσκαμψίας.
Σχήμα 4.4: Τυχαία αρίθμηση των κόμβων και αντίστοιχη δομή του μητρώου δυσκαμψίας.

4.2.1 Η αντίστροφη μέθοδος Cuthill-Mckee

Η αντίστροφη μέθοδος Cuthill-Mckee [2] στηρίζεται στη θεωρία των γραφημάτων για να μειώσει το εύρος ενός μητρώου. Θεωρώντας ένα συμμετρικό n×nn\times n μητρώο αρχικά δημιουργείται το γράφημα που αντιστοιχεί στο υπόψη μητρώο και στη συνέχεια γίνεται η επαναρίθμηση του γραφήματος ώστε το μητρώο να έχει το ελάχιστο εύρος.

Έστω για παράδειγμα το μητρώο και το γράφημα του Σχήματος 4.5.

Σχήμα 4.5: Αρχική δομή του μητρώου.

Αν επαναπαριθμηθούν οι κορυφές του γραφήματος χωρίς να τροποποιηθεί ο τρόπος με τον οποίο αυτές συνδέονται, όπως φαίνεται στο Σχήμα 4.6, προκύπτει ένα μητρώο με μειωμένο εύρος.

Σχήμα 4.6: Τελική δομή του μητρώου.

Εφαρμόζοντας την αντίστροφη μέθοδος Cuthill-Mckee στα παραδείγματα που εξετάστηκαν στην προηγούμενη ενότητα, προκύπτουν τώρα τα τροποποιημένα μητρώα για την περίπτωση της αρίθμησης των κόμβων κατά γραμμές (βλ. Σχήμα 4.7), της αρίθμησης των κόμβων κατά στήλες (βλ. Σχήμα 4.8) και της τυχαίας αρίθμησης των κόμβων (βλ. Σχήμα 4.9).

Διαπιστώνεται ότι η εφαρμογή του αλγορίθμου δεν είναι πάντα επιτυχής, καθώς δεν οδηγεί απαραίτητα στο βέλτιστο αποτέλεσμα, όπως φαίνεται και στο Σχήμα 4.8.

Σχήμα 4.7: Εφαρμογή του αλγορίθμου reverse Cuthill-Mckee στο μητρώο που δίνεται στο Σχήμα 4.2.
Σχήμα 4.8: Εφαρμογή του αλγορίθμου reverse Cuthill-Mckee στο μητρώο που δίνεται στο Σχήμα 4.3.
Σχήμα 4.9: Εφαρμογή του αλγορίθμου reverse Cuthill-Mckee στο μητρώο που δίνεται στο Σχήμα 4.4.

4.3 Αποθήκευση του μητρώου

Το μέγεθος του συστήματος καθιστά πολλές φορές απαγορευτική την αποθήκευσή του ή ακόμα και τη χρήση του. Επιπλέον, η μέθοδος των πεπερασμένων στοιχείων χαρακτηρίζεται από συστήματα γραμμικών εξισώσεων στα οποία ο μεγαλύτερος αριθμός των συντελεστών είναι μηδενικοί.

Για αυτό τις περισσότερες φορές δεν αποθηκεύεται εξ ολοκλήρου το συνολικό μητρώο του προβλήματος, αλλά ένα τμήμα του μητρώου το οποίο αποτελείται από τους μη μηδενικούς όρους. Εκτός από την αποθήκευση σε πλήρη μορφή επομένως, επιλέγονται συχνά οι ακόλουθες μέθοδοι αποθήκευσης του μητρώου:

  • Σε συμμετρική μορφή.

  • Σε ταινιωτή μορφή.

  • Σε μορφή προφίλ.

  • Σε αραιή μορφή.

Οι μέθοδοι αυτές, μαζί με την αποθήκευση σε πλήρη μορφή, εξετάζονται στη συνέχεια.

4.3.1 Αποθήκευση του μητρώου σε πλήρη μορφή

Στην περίπτωση αυτή που φαίνεται στο Σχήμα 4.10, αποθηκεύεται το σύνολο των στοιχείων του μητρώου δυσκαμψίας, ακόμα και στην περίπτωση που αυτά είναι μηδενικά. Ο απαιτούμενος χώρος αποθήκευσης ισούται με n2n^{2}, όπου nn το μέγεθος του τετραγωνικού πίνακα n×nn\times n.

Σχήμα 4.10: Αποθήκευση του μητρώου σε πλήρη μορφή.

Για παράδειγμα, για τον n=4n=4 και έχουμε:

A=[a11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44]αποθήκευσηa11a12a13a14a21a22a23a24a31a32a33a34a41a42a43a44A=\left[\begin{array}[]{cccc}{a}_{11}&{a}_{12}&{a}_{13}&{a}_{14}\\ {a}_{21}&{a}_{22}&{a}_{23}&{a}_{24}\\ {a}_{31}&{a}_{32}&{a}_{33}&{a}_{34}\\ {a}_{41}&{a}_{42}&{a}_{43}&{a}_{44}\\ \end{array}\right]\xrightarrow{\text{αποθήκευση}}\begin{array}[]{cccc}{a}_{11}% &{a}_{12}&{a}_{13}&{a}_{14}\\ {a}_{21}&{a}_{22}&{a}_{23}&{a}_{24}\\ {a}_{31}&{a}_{32}&{a}_{33}&{a}_{34}\\ {a}_{41}&{a}_{42}&{a}_{43}&{a}_{44}\\ \end{array} (4.2)

Όταν αποθηκεύονται οι παραπάνω όροι κατά γραμμή, σε συμπαγή μορφή ως μονοδιάστατος πίνακας, τότε προκύπτει:

[a11,a12,a13,a14,a44](size=16)\left[{a}_{11},{a}_{12},{a}_{13},{a}_{14},\ldots{a}_{44}\right]_{(size=16)} (4.3)

Αντίστοιχα κατά στήλη προκύπτει:

[a11,a12,a22,a13,a44](size=16).\left[{a}_{11},{a}_{12},{a}_{22},{a}_{13},\ldots{a}_{44}\right]_{(size=16)}. (4.4)

4.3.2 Αποθήκευση του μητρώου σε συμμετρική μορφή

Στην περίπτωση που το μητρώο των εξισώσεων είναι συμμετρικό (βλ. Σχήμα  4.11), μπορούμε να εκμεταλλευτούμε τη συμμετρία αποθηκεύοντας μόνο το άνω τριγωνικό (U) ή κάτω τριγωνικό (L) τμήμα του πίνακα [1]. Ο απαιτούμενος χώρος αποθήκευσης σε αυτή την περίπτωση ισούται με n2(n+1)\dfrac{n}{2}(n+1), όπου nn το μέγεθος του τετραγωνικού πίνακα n×nn\times n.

Σχήμα 4.11: Αποθήκευση του μητρώου σε συμμετρική μορφή.

Για παράδειγμα, για τον n=4n=4 και για το άνω τριγωνικό τμήμα (U) του πίνακα έχουμε:

A=[a11a12a13a14a¯21a22a23a24a¯31a¯32a¯33a34a¯41a¯42a¯43a¯44]αποθήκευσηa11a12a13a14a22a23a24a33a34a44A=\left[\begin{array}[]{cccc}{a}_{11}&{a}_{12}&{a}_{13}&{a}_{14}\\ \bar{a}_{21}&{a}_{22}&{a}_{23}&{a}_{24}\\ \bar{a}_{31}&\bar{a}_{32}&\bar{a}_{33}&{a}_{34}\\ \bar{a}_{41}&\bar{a}_{42}&\bar{a}_{43}&\bar{a}_{44}\\ \end{array}\right]\xrightarrow{\text{αποθήκευση}}\begin{array}[]{cccc}{a}_{11}% &{a}_{12}&{a}_{13}&{a}_{14}\\ \circ&{a}_{22}&{a}_{23}&{a}_{24}\\ \circ&\circ&{a}_{33}&{a}_{34}\\ \circ&\circ&\circ&{a}_{44}\\ \end{array} (4.5)

Όταν αποθηκεύονται οι παραπάνω όροι κατά γραμμή, σε συμπαγή μορφή ως μονοδιάστατος πίνακας, τότε προκύπτει:

[a11,a12,a13,a14,a44](size=10)\left[{a}_{11},{a}_{12},{a}_{13},{a}_{14},\ldots{a}_{44}\right]_{(size=10)} (4.6)

Αντίστοιχα κατά στήλη προκύπτει:

[a11,a12,a22,a13,a44](size=10).\left[{a}_{11},{a}_{12},{a}_{22},{a}_{13},\ldots{a}_{44}\right]_{(size=10)}. (4.7)

Για το κάτω τριγωνικό τμήμα (L) αντίστοιχα,

A=[a11a¯12a¯13a¯14a21a22a¯23a¯24a31a32a33a¯34a41a42a43a44]αποθήκευσηa11a21a22a31a32a33a41a42a43a44A=\left[\begin{array}[]{cccc}{a}_{11}&\bar{a}_{12}&\bar{a}_{13}&\bar{a}_{14}\\ {a}_{21}&{a}_{22}&\bar{a}_{23}&\bar{a}_{24}\\ {a}_{31}&{a}_{32}&{a}_{33}&\bar{a}_{34}\\ {a}_{41}&{a}_{42}&{a}_{43}&{a}_{44}\\ \end{array}\right]\xrightarrow{\text{αποθήκευση}}\begin{array}[]{cccc}{a}_{11}% &\circ&\circ&\circ\\ {a}_{21}&{a}_{22}&\circ&\circ\\ {a}_{31}&{a}_{32}&{a}_{33}&\circ\\ {a}_{41}&{a}_{42}&{a}_{43}&{a}_{44}\\ \end{array} (4.8)

Ομοίως, όταν αποθηκεύονται οι παραπάνω όροι κατά γραμμή, σε συμπαγή μορφή ως μονοδιάστατος πίνακας, τότε προκύπτει:

[a11,a21,a22,a31,a44](size=10)\left[{a}_{11},{a}_{21},{a}_{22},{a}_{31},\ldots{a}_{44}\right]_{(size=10)} (4.9)

Αντίστοιχα κατά στήλη προκύπτει:

[a11,a21,a31,a41,a22,a44](size=10).\left[{a}_{11},{a}_{21},{a}_{31},{a}_{41},{a}_{22},\ldots{a}_{44}\right]_{(% size=10)}. (4.10)

4.3.3 Αποθήκευση του μητρώου σε ταινιωτή μορφή ή μορφή λωρίδας

Μητρώο ταινιωτής μορφής ή μορφής λωρίδας ονομάζεται το μητρώο εκείνο που έχει τους μη μηδενικούς του όρους συγκεντρωμένους σε μία διαγώνια λωρίδα που περιλαμβάνει

  • την κύρια διαγώνιο του μητρώου και

  • άλλες διαγώνιες από τη μία ή και από τις δύο πλευρές της κύριας διαγωνίου.

Ένα παράδειγμα μητρώου ταινιωτής μορφής δίνεται στο Σχήμα 4.12.

Σχήμα 4.12: Αποθήκευση του μητρώου σε ταινιωτή μορφή.

Ο αριθμός των διαγωνίων που βρίσκονται κάτω από την κύρια διαγώνιο (klkl) και ο αριθμός των διαγωνίων που βρίσκονται πάνω από την κύρια διαγώνιο (kuku) ορίζουν το εύρος του πίνακα (bwbw) σύμφωνα με τη σχέση:

bw=kl+ku+1bw=kl+ku+1 (4.11)

Η αποθήκευση ενός μη συμμετρικού, τετραγωνικού μητρώου (έστω n=5n=5) ταινιωτής μορφής ακολουθεί το παρακάτω πρότυπο [1]:

A=[a11a12000a21a22a2300a31a32a33a3400a42a43a44a4500a53a54a55]αποθήκευσηa12a23a34a45a11a22a33a44a55a21a32a43a54a31a42a53A=\left[\begin{array}[]{ccccc}a_{11}&a_{12}&0&0&0\\ a_{21}&a_{22}&a_{23}&0&0\\ a_{31}&a_{32}&a_{33}&a_{34}&0\\ 0&a_{42}&a_{43}&a_{44}&a_{45}\\ 0&0&a_{53}&a_{54}&a_{55}\\ \end{array}\right]\xrightarrow{\text{αποθήκευση}}\begin{array}[]{ccccc}\circ&a% _{12}&a_{23}&a_{34}&a_{45}\\ a_{11}&a_{22}&a_{33}&a_{44}&a_{55}\\ a_{21}&a_{32}&a_{43}&a_{54}&\circ\\ a_{31}&a_{42}&a_{53}&\circ&\circ\\ \end{array} (4.12)

Όταν αποθηκεύονται οι παραπάνω όροι κατά γραμμή, σε συμπαγή μορφή ως μονοδιάστατος πίνακας, τότε προκύπτει:

[0,a12,a23,a34,,a42,a53,0,0](size=16)\left[0,{a}_{12},{a}_{23},{a}_{34},\ldots,{a}_{42},{a}_{53},0,0\right]_{(size=% 16)} (4.13)

Αντίστοιχα κατά στήλη προκύπτει:

[0,a11,a21,a31,a12,,a45,a55,0,0](size=16).\left[0,{a}_{11},{a}_{21},{a}_{31},{a}_{12},\ldots,{a}_{45},{a}_{55},0,0\right% ]_{(size=16)}. (4.14)

4.3.4 Αποθήκευση του μητρώου σε μορφή προφίλ ή κορυφογραμμής

Μια ακόμη μέθοδος που συναντάται συχνά κατά την αποθήκευση των εξισώσεων της μεθόδου των πεπερασμένων στοιχείων είναι η αποθήκευση σε μορφή προφίλ ή κορυφογραμμής, όπως δίνεται στο Σχήμα 4.13.

Σε αντίθεση με τη μέθοδο της λωρίδας, κατά την οποία αποθηκεύονται όλοι οι όροι του μητρώου από την κύρια διαγώνιο έως μία σταθερή απόσταση (το άνω ή το κάτω ημιεύρος), στη μέθοδο αποθήκευσης της κορυφογραμμής αποθηκεύονται ανά στήλη του μητρώου μόνο οι όροι που βρίσκονται μεταξύ του πρώτου και του τελευταίου μη μηδενικού όρου [3]. Αυτή η προσέγγιση οδηγεί σε ακόμα μικρότερες απαιτήσεις διαθέσιμου χώρου μνήμης, σε σύγκριση με τη μέθοδο της λωρίδας.

Σχήμα 4.13: Σχήματα αποθήκευσης του μητρώου του συστήματος: Σχήμα προφίλ.

Έστω για παράδειγμα το τετραγωνικό, συμμετρικό μητρώο με n=6n=6, το οποίο δίνεται ως:

A=[a110a1300a16a220a2400a33a3400a55a56a66]A=\left[\begin{array}[]{cccccc}a_{11}&0&a_{13}&0&0&a_{16}\\ &a_{22}&0&a_{24}&0&0\\ &&a_{33}&a_{34}&0&0\\ &&&&a_{55}&a_{56}\\ &&&&&a_{66}\\ \end{array}\right] (4.15)

Ορίζουμε τώρα την περιβάλλουσα του μητρώου ως εξής. Από κάθε διαγώνιο στοιχείο του μητρώου μετακινούμαστε προς τα πάνω έως ότου συναντήσουμε το τελευταίο μη μηδενικό στοιχείο. Το σύνολο των μη μηδενικών στοιχείων αποτελεί την κορυφογραμμή του μητρώου, η οποία μπορεί και συνήθως περιέχει και μηδενικά στοιχεία. Οι μηδενικοί αυτοί όροι ονομάζονται όροι πλήρωσης (fill-in) επειδή κατά την παραγοντοποίηση του πίνακα παίρνουν μη μηδενικές τιμές.

Τα μηδενικά στοιχεία που βρίσκονται άνω της κορυφογραμμής μπορούμε τώρα να τα απορρίψουμε, οπότε έχουμε:

A=[a11a13a16a220a240a33a340a55a56a66]A=\left[\begin{array}[]{cccccc}a_{11}&&a_{13}&&&a_{16}\\ &a_{22}&0&a_{24}&&0\\ &&a_{33}&a_{34}&&0\\ &&&&a_{55}&a_{56}\\ &&&&&a_{66}\\ \end{array}\right] (4.16)

Μόνο οι παραπάνω όροι αποθηκεύονται σε αυτή την περίπτωση.

4.3.5 Αποθήκευση του μητρώου σε αραιή μορφή

Σποραδικό ή αραιό ονομάζεται ένα μητρώο το οποίο έχει ένα σχετικά μικρό ποσοστό μη μηδενικών στοιχείων (βλ. π.χ. το Σχήμα 4.14). Ο απαιτούμενος αριθμός των μηδενικών στοιχείων ενός μητρώου ώστε αυτό να αποκαλείται αραιό εξαρτάται από το μέγεθος, τη δομή και χρήση του μητρώου [5].

Σχήμα 4.14: Σχήματα αποθήκευσης του μητρώου του συστήματος: Αραιό σχήμα.

Υπάρχουν πολλοί τρόποι αποθήκευσης των αραιών μητρώων, με τους πιο συνηθισμένους να είναι:

  • Λίστα από λίστες (list of lists).
    Με αυτήν τη μέθοδο αποθηκεύεται μία λίστα ανά γραμμή. Κάθε στοιχείο αυτής της λίστας περιέχει τη στήλη και την τιμή του μη μηδενικού στοιχείου. Συνήθως τα στοιχεία της κάθε λίστας είναι ταξινομημένα ως προς τη στήλη για γρηγορότερες αναζητήσεις.

  • Συντεταγμένη λίστα (coordinate list – COO).
    Με αυτήν τη μέθοδο κάθε μη μηδενικό στοιχείο αποθηκεύεται ως τριάδα (γραμμή, στήλη, τιμή). Και σε αυτή την περίπτωση οι τριάδες είναι συνήθως ταξινομημένες ως προς γραμμή και στήλη για γρηγορότερες αναζητήσεις.

  • Πεπιεσμένη αποθήκευση κατά γραμμές (compressed row storage). Με αυτήν τη μέθοδο τα μη μηδενικά στοιχεία του μητρώου τοποθετούνται καταρχήν σε διαδοχικές θέσεις μνήμης (διάνυσμα aa, από αριστερά προς τα δεξιά και από πάνω προς τα κάτω). Επιπλέον δημιουργούνται δύο διανύσματα στα οποία αποθηκεύονται:

    • ένα διάνυσμα col_indexcol\_index που αποθηκεύει τους δείκτες των στηλών των στοιχείων του διανύσματος aa και

    • ένα διάνυσμα row_indexrow\_index που αποθηκεύει για κάθε στήλη τη θέση στο διάνυσμα aa που αντιστοιχεί στο πρώτο μη μηδενικό στοιχείο του.

  • Πεπιεσμένη αποθήκευση κατά στήλες (compressed column storage). Η μέθοδος αυτή είναι παρόμοια με τη μέθοδο της πεπιεσμένης αποθήκευσης κατά γραμμές.

Η επιλογή μίας από τις διαθέσιμες μεθόδους εξαρτάται από πολλούς παράγοντες, όπως:

  • Τα χαρακτηριστικά και την αραιότητα του μητρώου.

  • Τις διαθέσιμες μεθόδους επίλυσης και την απόδοσή τους.

  • Την απαίτηση να υποστηρίζεται η αποτελεσματική τροποποίηση των στοιχείων του πίνακα ή

  • την απαίτηση να υποστηρίζεται η αποτελεσματική εισαγωγή νέων στοιχείων ή τέλος

  • την απαίτηση να υποστηρίζονται αποτελεσματικά τελεστές και πράξεις επί των μητρώων.

Σχήμα 4.15: Σύγκριση των μεθόδων πλήρους, συμμετρικής και ταινιωτής αποθήκευσης ως προς τις απαιτήσεις μνήμης, για το πρόβλημα που ορίζεται στο Σχήμα 4.16.
Σχήμα 4.16: Δίκτυο των πεπερασμένων στοιχείων με λόγο αριθμού στοιχείων nxny=32\dfrac{n_{x}}{n_{y}}=\dfrac{3}{2}.

4.4 Επίλυση του συστήματος εξισώσεων

Οι μέθοδοι που χρησιμοποιούνται για την επίλυση του συστήματος εξισώσεων ανήκουν σε μία από τις ακόλουθες κατηγορίες:

Άμεσες μέθοδοι

Οι πιο συνηθισμένες είναι οι μέθοδοι απαλοιφής του Gauss και του Cholesky. Θεωρητικά αυτές οι μέθοδοι δίνουν την ακριβή λύση του συστήματος των εξισώσεων.

Επαναληπτικές μέθοδοι

Όταν η τάξη του συστήματος είναι πολύ μεγάλη, τότε οι παραπάνω μέθοδοι εμφανίζονται πρακτικά ασύμφορες και συνήθως χρησιμοποιούνται μέθοδοι όπως οι Gauss-Seidel ή πιο συχνά η μέθοδος της συζυγούς κλίσης (conjugate gradient), οι οποίες μέσω επαναλήψεων δίνουν μια προσεγγιστική λύση στα όρια της επιθυμητής ακρίβειας.

Σε σπάνιες περιπτώσεις εξαιρετικά μεγάλων συστημάτων επιχειρείται ακόμα και η διάσπαση του συνολικού μητρώου (domain decomposition) και η επίλυση μικρότερων συστημάτων, που επανασυντιθέμενα τελικά μας δίνουν τη συνολική λύση.

Στη συνέχεια παρουσιάζονται οι πιο σημαντικές άμεσες και επαναληπτικές μέθοδοι.

4.4.1 Η μέθοδος απαλοιφής Gauss

Έστω το σύστημα γραμμικών εξισώσεων n×nn\times n

𝐀𝒙=𝒃\mathbf{A}\boldsymbol{x}=\boldsymbol{b} (4.17)

ή σε πλήρη μορφή:

[a11a12a1na21a22a2nan1an2akn][x1x2xn]=[b1b2bn]\left[\begin{array}[]{cccc}a_{11}&a_{12}&\ldots&a_{1n}\\ a_{21}&a_{22}&\ldots&a_{2n}\\ \vdots&\vdots&\ddots&\vdots\\ a_{n1}&a_{n2}&\ldots&a_{kn}\\ \end{array}\right]\left[\begin{array}[]{c}x_{1}\\ x_{2}\\ \vdots\\ x_{n}\\ \end{array}\right]=\left[\begin{array}[]{c}b_{1}\\ b_{2}\\ \vdots\\ b_{n}\\ \end{array}\right] (4.18)

Κατασκευάζουμε τώρα τον επαυξημένο πίνακα του συστήματος, προσαρτώντας στο μητρώο 𝐀\mathbf{A} το διάνυσμα 𝒃\boldsymbol{b}, ως:

[a11a12a1nb1a21a22a2nb2an1an2annbn]\left[\begin{array}[]{cccc|c}a_{11}&a_{12}&\ldots&a_{1n}&b_{1}\\ a_{21}&a_{22}&\ldots&a_{2n}&b_{2}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ a_{n1}&a_{n2}&\ldots&a_{nn}&b_{n}\\ \end{array}\right] (4.19)

Στη συνέχεια με στοιχειώδεις διαδικασίες γραμμών προσπαθούμε να φέρουμε το σύστημα στην ακόλουθη μορφή, άνω τριγωνικού μητρώου [7]:

[a11a12a1nb10a22a2nb200annbn]\left[\begin{array}[]{cccc|c}a^{\prime}_{11}&a^{\prime}_{12}&\ldots&a^{\prime}% _{1n}&b^{\prime}_{1}\\ 0&a^{\prime}_{22}&\ldots&a^{\prime}_{2n}&b^{\prime}_{2}\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ 0&0&\ldots&a^{\prime}_{nn}&b^{\prime}_{n}\\ \end{array}\right] (4.20)

Οι στοιχειώδεις διαδικασίες γραμμών αφορούν τις ακόλουθες διαδικασίες:

  1. 1.

    Εναλλαγή δύο γραμμών.

  2. 2.

    Πολλαπλασιασμό μίας γραμμής ή μίας στήλης με έναν μη μηδενικό αριθμό.

  3. 3.

    Πρόσθεση σε μία γραμμή το πολλαπλάσιο μίας άλλης γραμμής.

Από το άνω τριγωνικό μητρώο (4.20) εύκολα μπορεί πλέον να βρεθεί η λύση του συστήματος. Πιο συγκεκριμένα, επιλύεται η nn-ιοστή γραμμή ως προς προς xnx_{n}, το αποτέλεσμά της αντικαθίσταται στην n-1n-1, η οποία επιλύεται ως προς xn-1x_{n-1} κ.ο.κ. Η παραπάνω διαδικασία περιγράφεται από τον τύπο:

xi=1a11(bi-j=i+1naijxj)x_{i}=\dfrac{1}{a^{\prime}_{11}}\left(b^{\prime}_{i}-\sum_{j=i+1}^{n}a^{\prime% }_{ij}x_{j}\right) (4.21)

4.4.2 Η μέθοδος Cholesky

Η μέθοδος παραγοντοποίησης Cholesky αποτελεί μια παραλλαγή της μεθόδου απαλοιφής Gauss. Είναι μια μέθοδος με την οποία παραγοντοποιείται ένα συμμετρικό, θετικά ορισμένο μητρώο σε ένα κάτω τριγωνικό μητρώο και το ανάστροφό του σύμφωνα με τη σχέση [4]:

𝐀=𝐋𝐋T.\mathbf{A}=\mathbf{L}\mathbf{L}^{T}. (4.22)

Η μέθοδος αυτή αναπτύσσεται στη συνέχεια. Έστω λοιπόν το μητρώο 3×33\times 3,

𝐀=[a11a21a31a21a22a32a31a32a33]\mathbf{A}=\left[\begin{array}[]{ccc}a_{11}&a_{21}&a_{31}\\ a_{21}&a_{22}&a_{32}\\ a_{31}&a_{32}&a_{33}\\ \end{array}\right] (4.23)

Μπορούμε να υπολογίσουμε το μητρώο 𝐋\mathbf{L}, όπως αυτό ορίζεται από τη σχέση (4.22), ως:

𝐀LLT\displaystyle\mathbf{A}\equiv LL^{T} :=[a11a21a31a21a22a32a31a32a33]\displaystyle:=\left[\begin{array}[]{ccc}a_{11}&a_{21}&a_{31}\\ a_{21}&a_{22}&a_{32}\\ a_{31}&a_{32}&a_{33}\\ \end{array}\right] (4.24)
=[l1100l21l220l31l32l33][l11l21l310l22l3200l33]\displaystyle=\left[\begin{array}[]{ccc}l_{11}&0&0\\ l_{21}&l_{22}&0\\ l_{31}&l_{32}&l_{33}\\ \end{array}\right]\left[\begin{array}[]{ccc}l_{11}&l_{21}&l_{31}\\ 0&l_{22}&l_{32}\\ 0&0&l_{33}\end{array}\right] (4.25)
=[l112l21l11l31l11l21l11l212+l222l31l21+l32l22l31l11l31l21+l32l22l312+l322+l332]\displaystyle=\left[\begin{array}[]{ccc}l_{11}^{2}&l_{21}l_{11}&l_{31}l_{11}\\ l_{21}l_{11}&l_{21}^{2}+l_{22}^{2}&l_{31}l_{21}+l_{32}l_{22}\\ l_{31}l_{11}&l_{31}l_{21}+l_{32}l_{22}&l_{31}^{2}+l_{32}^{2}+l_{33}^{2}\end{% array}\right] (4.26)

Παρατηρούμε ότι τα διαγώνια στοιχεία lkkl_{kk} του μητρώου 𝐋\mathbf{L} μπορούν να υπολογιστούν από τις σχέσεις:

l11\displaystyle l_{11} =a11\displaystyle=\sqrt{a_{11}} (4.27)
l22\displaystyle l_{22} =a22-l212\displaystyle=\sqrt{a_{22}-l_{21}^{2}} (4.28)
l33\displaystyle l_{33} =a33-(l312+l322)\displaystyle=\sqrt{a_{33}-(l_{31}^{2}+l_{32}^{2})} (4.29)

Στη γενική περίπτωση για τα διαγώνια στοιχεία του μητρώου 𝐋\mathbf{L} της παραγοντοποίησης 𝐀=𝐋𝐋T\mathbf{A}=\mathbf{L}\mathbf{L}^{T} ισχύει:

lkk=akk-j=1k-1lkj2l_{kk}=\sqrt{a_{kk}-\sum_{j=1}^{k-1}l_{kj}^{2}} (4.30)

Για τα στοιχεία που βρίσκονται κάτω από την κύρια διαγώνιο, δηλαδή τα στοιχεία

lιkόπουi>kl_{ιk}\,\text{όπου}\,i>k (4.31)

παρατηρούμε ότι

l21\displaystyle l_{21} =1l11a21\displaystyle=\dfrac{1}{l_{11}}a_{21} (4.32)
l31\displaystyle l_{31} =1l11a31\displaystyle=\dfrac{1}{l_{11}}a_{31} (4.33)
l32\displaystyle l_{32} =1l22(a32-l31l21)\displaystyle=\dfrac{1}{l_{22}}(a_{32}-l_{31}l_{21}) (4.34)

το οποίο οδηγεί στη γενική σχέση:

lik=1lkk(aik-j=1k-1lijlkj)l_{ik}=\dfrac{1}{l_{kk}}\left(a_{ik}-\sum_{j=1}^{k-1}l_{ij}l_{kj}\right) (4.35)

Αν το μητρώο είναι μη συμμετρικό, τότε εφαρμόζεται μια παραλλαγή της μεθόδου, που έχει τη μορφή

𝐀=𝐋𝐔\mathbf{A}=\mathbf{L}\mathbf{U} (4.36)

όπου 𝐋\mathbf{L} ένα κάτω τριγωνικό και 𝐔\mathbf{U} ένα άνω τριγωνικό μητρώο αντίστοιχα. Από τα μητρώα 𝐋\mathbf{L} και 𝐔\mathbf{U} η μέθοδος αυτή ονομάζεται LU παραγοντοποίηση.

Μια πιο ευρέως χρησιμοποιούμενη παραλλαγή της μεθόδου Chοlesky είναι η παραγοντοποίηση κατά Crout, στην οποία το μητρώο 𝐀\mathbf{A} παραγοντοποιείται ως:

𝐀=(𝐋𝐃)𝐔\mathbf{A}=(\mathbf{L}\mathbf{D})\mathbf{U} (4.37)

όπου 𝐃\mathbf{D} ένα διαγώνιο μητρώο.

4.4.3 Η μέθοδος της συζυγούς διανυσματικής κλίσης

Η μέθοδος της συζυγούς διανυσματικής κλίσης περιγράφεται από τον αλγόριθμο που παρουσιάζεται στη συνέχεια:

𝒓0:=𝒃-𝐀𝒙0\displaystyle\boldsymbol{r}_{0}:=\boldsymbol{b}-\mathbf{A}\boldsymbol{x}_{0} (4.38)
𝒑0:=𝒓0\displaystyle\boldsymbol{p}_{0}:=\boldsymbol{r}_{0} (4.39)
k:=0\displaystyle k:=0 (4.40)
επανάληψη (4.41)
  αk:=𝒓k𝖳𝒓k𝒑k𝖳𝐀𝐩k\displaystyle\qquad\alpha_{k}:=\frac{\boldsymbol{r}_{k}^{\mathsf{T}}% \boldsymbol{r}_{k}}{\boldsymbol{p}_{k}^{\mathsf{T}}\mathbf{Ap}_{k}} (4.42)
  𝒙k+1:=𝒙k+αk𝒑k\displaystyle\qquad\boldsymbol{x}_{k+1}:=\boldsymbol{x}_{k}+\alpha_{k}% \boldsymbol{p}_{k} (4.43)
  𝒓k+1:=𝒓k-αk𝐀𝐩k\displaystyle\qquad\boldsymbol{r}_{k+1}:=\boldsymbol{r}_{k}-\alpha_{k}\mathbf{% Ap}_{k} (4.44)
  ανrk+1 είναι σχετικά μικρό τότε 𝚬𝚵𝚶𝚫𝚶𝚺\displaystyle\qquad\hbox{αν}\;r_{k+1}\hbox{ είναι σχετικά μικρό τότε {ΕΞΟΔΟΣ}} (4.45)
  βk:=𝐫k+1𝖳𝒓k+1𝒓k𝖳𝐫k\displaystyle\qquad\beta_{k}:=\frac{\mathbf{r}_{k+1}^{\mathsf{T}}\boldsymbol{r% }_{k+1}}{\boldsymbol{r}_{k}^{\mathsf{T}}\mathbf{r}_{k}} (4.46)
  𝒑k+1:=𝒓k+1+βk𝒑k\displaystyle\qquad\boldsymbol{p}_{k+1}:=\boldsymbol{r}_{k+1}+\beta_{k}% \boldsymbol{p}_{k} (4.47)
  k:=k+1\displaystyle\qquad k:=k+1 (4.48)

Ο παραπάνω αλγόριθμος αναφέρεται σε ένα σύστημα της μορφής:

𝐀𝒙=𝒃\mathbf{A}\boldsymbol{x}=\boldsymbol{b} (4.49)

και ξεκινάει με μια αρχική θεώρηση 𝒙0\boldsymbol{x}_{0} της λύσης 𝒙\boldsymbol{x}.

Σε περιβάλλον ιδεατής αριθμητικής ακρίβειας, για την ακριβή λύση απαιτούνται το πολύ nn επαναλήψεις, όπου nn ο αριθμός των αγνώστων [6]. Στην πραγματικότητα, όμως, τα αριθμητικά σφάλματα στρογγύλευσης επηρεάζουν την ταχύτητα σύγκλισης.

4.5 Επεξεργασία των αποτελεσμάτων

Η επεξεργασία των αποτελεσμάτων ακολουθεί την κύρια επεξεργασία που είναι η μόρφωση και επίλυση του συστήματος και για αυτό αναφέρεται συχνά και ως μετα-επεξεργασία. Αφορά:

  • Τον υπολογισμό των επιμέρους αγνώστων, όπως είναι τα εντατικά μεγέθη.

  • Τη γραφική απεικόνιση του συνόλου των μεγεθών που έχουν υπολογιστεί.

Στη συνέχεια θα ασχοληθούμε με την επεξεργασία των αποτελεσμάτων που αναφέρονται είτε στους κόμβους των στοιχείων είτε στα σημεία ολοκλήρωσης, όπως αυτά ορίστηκαν στην Ενότητα 3.5.1.

Τα αποτελέσματα χωρίζονται σε δύο κατηγορίες:

  • Στα πρωτεύοντα, όπως είναι οι μετακινήσεις για τα προβλήματα που κυρίως εξετάζονται στο παρόν βιβλίο.

  • Στα δευτερεύοντα, όπως οι τάσεις και οι παραμορφώσεις.

Σε γενικές γραμμές αναμένεται τα δευτερεύοντα αποτελέσματα να μην χαρακτηρίζονται από την ακρίβεια των πρωτευόντων.

4.5.1 Αποτελέσματα στους κόμβους των στοιχείων

Για τα προβλήματα που εξετάζονται στο παρόν βιβλίο, οι άγνωστοι στους κόμβους είναι οι μετακινήσεις. Κατ’ επέκταση, τα αντίστοιχα αποτελέσματα της επίλυσης αφορούν πρωτίστως τις μετακινήσεις των κόμβων. Μια τυπική απεικόνιση αποτελεσμάτων, όπου οι μετακινήσεις στους κόμβους σχεδιάζονται ως διανύσματα, δίνεται στο Σχήμα 4.17, που αφορά τα αποτελέσματα προσομοίωσης μίας σήραγγας και της επένδυσής της.

Σχήμα 4.17: Τυπική απεικόνιση αποτελεσμάτων. Διακρίνεται η απεικόνιση των μετακινήσεων στους κόμβους ως διανύσματα.

Σε γενικές γραμμές η οπτικοποίηση των αποτελεσμάτων που είναι γνωστά στους κόμβους των στοιχείων δεν παρουσιάζει ιδιαίτερες δυσκολίες. Δυσκολίες μπορεί να υπάρχουν κατά την οπτικοποίηση των αποτελεσμάτων που είναι γνωστά εντός του στοιχείου (π.χ. στα σημεία ολοκλήρωσης), όπως θα δούμε στην επόμενη ενότητα.

4.5.2 Αποτελέσματα στα σημεία ολοκλήρωσης

Αν το υλικό που χαρακτηρίζει το πρόβλημα θεωρηθεί ελαστικό, οι τάσεις 𝝈\boldsymbol{\sigma} σχετίζονται άμεσα με τις παραμορφώσεις 𝜺\boldsymbol{\varepsilon} σε κάθε σημείο μέσω των γνωστών σχέσεων τάσεων-παραμορφώσεων:

𝝈=𝐂𝜺.\boldsymbol{\sigma}=\mathbf{C}\boldsymbol{\varepsilon}. (4.50)

Επομένως, κατά τη διαδικασία υπολογισμού των τάσεων υπολογίζονται καταρχήν οι παραμορφώσεις και η ακρίβεια των πρώτων εξαρτάται από την ακρίβεια των τελευταίων. Οι παραμορφώσεις υπολογίζονται κατά τα γνωστά από τις μετακινήσεις μέσω των κινηματικών εξισώσεων.

Στη συνέχεια θα περιγραφεί ο τρόπος υπολογισμού των τάσεων για ένα τυπικό δισδιάστατο ισοπαραμετρικό στοιχείο και πιο συγκεκριμένα το τετράπλευρο/τετράκομβο ισοπαραμετρικό στοιχείο που παρουσιάστηκε αναλυτικά στην Ενότητα 3.6.

Έστω ότι έχει επιλυθεί το σύστημα των εξισώσεων των πεπερασμένων στοιχείων

𝐊𝒖=𝐅\mathbf{K}\boldsymbol{u}=\mathbf{F} (4.51)

για τις επικόμβιες μετακινήσεις 𝒖\boldsymbol{u}.

Για τον υπολογισμό των τάσεων και των παραμορφώσεων υπολογίζεται καταρχήν σε κάθε στοιχείο του προσομοιώματος, έστω ee, το διάνυσμα των επικόμβιων μετακινήσεων του στοιχείου 𝒖(e)\boldsymbol{u}^{(e)}. Για τη συγκεκριμένη περίπτωση του τετράκομβου τετράπλευρου στοιχείου, αυτό θα είναι ένα διάνυσμα της μορφής:

𝒖(e))=[u1xu1yu2xu2yu3xu3yu4xu4y]\boldsymbol{u}^{(e)})=\left[\begin{array}[]{c}u_{1x}\\ u_{1y}\\ u_{2x}\\ u_{2y}\\ u_{3x}\\ u_{3y}\\ u_{4x}\\ u_{4y}\\ \end{array}\right] (4.52)

Με γνωστό το διάνυσμα 𝒖(e)\boldsymbol{u}^{(e)}, μπορούν πλέον να υπολογιστούν οι παραμορφώσεις μέσω των κινηματικών εξισώσεων του στοιχείου, δηλαδή,

𝜺=𝐁𝒖(e)\boldsymbol{\varepsilon}=\mathbf{B}\boldsymbol{u}^{(e)} (4.53)

όπου 𝐁\mathbf{B} το γνωστό μητρώο μετακινήσεων-παραμορφώσεων.

Επομένως, οι τάσεις υπολογίζονται εντός του στοιχείου ee ως:

𝝈(e)=𝐂𝜺(e)=𝐂𝐁𝒖(e)\boldsymbol{\sigma}^{(e)}=\mathbf{C}\boldsymbol{\varepsilon}^{(e)}=\mathbf{C}% \mathbf{B}\boldsymbol{u}^{(e)} (4.54)
Σχήμα 4.18: Θεώρηση στοιχείου (γραμμοσκιασμένη περιοχή) με κόμβους τα σημεία Gauss για την παρεκβολή των αποτελεσμάτων.

Μια σημαντική παρατήρηση στο σημείο αυτό είναι ότι οι τάσεις που υπολογίζονται στους ίδιους κόμβους από γειτονικά στοιχεία δεν θα είναι ίδιες γενικά δεδομένου ότι οι τάσεις, σε αντίθεση με τις παραμορφώσεις, δεν απαιτείται να είναι συνεχείς από στοιχείο σε στοιχείο. Για αυτό τον λόγο απαιτούνται τεχνικές εξομάλυνσης των τάσεων που προκύπτουν από γειτονικά στοιχεία.

Για τον υπολογισμό τώρα των τάσεων στους κόμβους του στοιχείου υπάρχουν γενικά δύο προσεγγίσεις:

  1. 1.

    Υπολογισμός των τάσεων απευθείας από την (4.54) χρησιμοποιώντας τις συναρτήσεις μορφής και τις αντίστοιχες συντεταγμένες των κόμβων.

  2. 2.

    Υπολογισμός των τάσεων στα σημεία ολοκλήρωσης Gauss και στη συνέχεια η παρεκβολή τους στους κόμβους του στοιχείου.

H μέθοδος που ακολουθείται συχνότερα είναι η δεύτερη, καθώς θεωρείται ότι δίνει καλύτερα αποτελέσματα από τον απευθείας υπολογισμό των τάσεων στους κόμβους, και αναλύεται στη συνέχεια [3].

Έστω το τετράκομβο/τετράπλευρο στοιχείο του Σχήματος 4.18 στο οποίο έχει γίνει ολοκλήρωση των εξισώσεων του στοιχείου με τη μέθοδο Gauss και κανόνα 2×22\times 2. Οι τάσεις υπολογίζονται στα σημεία Gauss, τα οποία δίνονται ως 11^{\prime}, 22^{\prime}, 33^{\prime} και 44^{\prime} στο Σχήμα 4.18. Τα σημεία Gauss ακολουθούν την αρίθμηση των κόμβων του στοιχείου, με το σημείο 11^{\prime} π.χ. να είναι το πλησιέστερο στον κόμβο 1 του στοιχείου. Οι συντεταγμένες των σημείων Gauss στο σύστημα του στοιχείου δίνονται στον Πίνακα 4.1.

Σημείο Gauss ξ\xi η\eta
1 -13-\dfrac{1}{\sqrt{3}} -13-\dfrac{1}{\sqrt{3}}
2 +13+\dfrac{1}{\sqrt{3}} -13-\dfrac{1}{\sqrt{3}}
3 +13+\dfrac{1}{\sqrt{3}} +13+\dfrac{1}{\sqrt{3}}
4 -13-\dfrac{1}{\sqrt{3}} +13+\dfrac{1}{\sqrt{3}}
Πίνακας 4.1: Συντεταγμένες των σημείων Gauss στο σύστημα του στοιχείου.

Έστω τώρα ένα στοιχείο που έχει ως συντεταγμένες κόμβων τις συντεταγμένες των σημείων Gauss 11^{\prime}, 22^{\prime}, 33^{\prime} και 44^{\prime}, όπως δίνεται από τη γραμμοσκιασμένη περιοχή του Σχήματος 4.18. Εφόσον γνωρίσουμε ένα μέγεθος στα σημεία αυτά, μπορούμε να το παρεκβάλουμε στα σημεία 11, 22, 33 και 44 που μας ενδιαφέρουν.

Η παρεκβολή αυτή γίνεται υπολογίζοντας τις συντεταγμένες στα σημεία 11, 22, 33 και 44 στο σύστημα ξ\xi^{\prime} και η\eta^{\prime} που ορίζεται από το καινούργιο στοιχείο. Τα δύο συστήματα συνδέονται με τις παρακάτω σχέσεις:

ξ\displaystyle\xi =ξ3\displaystyle=\dfrac{\xi^{\prime}}{\sqrt{3}} (4.55)
η\displaystyle\eta =η3\displaystyle=\dfrac{\eta^{\prime}}{\sqrt{3}} (4.56)
ξ\displaystyle\xi^{\prime} =ξ3\displaystyle=\xi^{\prime}\sqrt{3} (4.57)
η\displaystyle\eta^{\prime} =η3\displaystyle=\eta^{\prime}\sqrt{3} (4.58)

και οι συντεταγμένες των κόμβων του στοιχείου δίνονται στο σύστημα του στοιχείου που ορίζεται από τα σημεία Gauss, σύμφωνα με τα όσα αναφέρονται στον Πίνακα 4.2.

Κόμβος στοιχείου ξ\xi η\eta
11^{\prime} -3-\sqrt{3} -3-\sqrt{3}
22^{\prime} +3+\sqrt{3} -3-\sqrt{3}
33^{\prime} +3+\sqrt{3} +3+\sqrt{3}
44^{\prime} -3-\sqrt{3} +3+\sqrt{3}
Πίνακας 4.2: Συντεταγμένες των κόμβων του στοιχείου στο σύστημα των σημείων Gauss.

Έστω τώρα ένα βαθμωτό πεδίο ww του οποίου οι τιμές ww^{\prime} είναι γνωστές στα σημεία Gauss. Αυτές μπορούν να παρεμβληθούν με τις τυπικές διγραμμικές εξισώσεις παρεμβολής, οι οποίες όμως τώρα δίνονται σε όρους ξ\xi^{\prime} και η\eta^{\prime} ως:

w(ξ,η)=[w1w2w3w4][N1(e)N2(e)N3(e)N4(e)]w(\xi^{\prime},\eta^{\prime})=\left[\begin{array}[]{cccc}w^{\prime}_{1}&w^{% \prime}_{2}&w^{\prime}_{3}&w^{\prime}_{4}\end{array}\right]\left[\begin{array}% []{c}{N^{\prime}}_{1}^{(e^{\prime})}\\ {N^{\prime}}_{2}^{(e^{\prime})}\\ {N^{\prime}}_{3}^{(e^{\prime})}\\ {N^{\prime}}_{4}^{(e^{\prime})}\\ \end{array}\right] (4.59)

όπου

N1(e)\displaystyle{N^{\prime}}_{1}^{(e^{\prime})} =14(1-ξ)(1-η)\displaystyle=\dfrac{1}{4}(1-\xi^{\prime})(1-\eta^{\prime}) (4.60)
N2(e)\displaystyle{N^{\prime}}_{2}^{(e^{\prime})} =14(1+ξ)(1-η)\displaystyle=\dfrac{1}{4}(1+\xi^{\prime})(1-\eta^{\prime}) (4.61)
N3(e)\displaystyle{N^{\prime}}_{3}^{(e^{\prime})} =14(1+ξ)(1+η)\displaystyle=\dfrac{1}{4}(1+\xi^{\prime})(1+\eta^{\prime}) (4.62)
N4(e)\displaystyle{N^{\prime}}_{4}^{(e^{\prime})} =14(1-ξ)(1+η)\displaystyle=\dfrac{1}{4}(1-\xi^{\prime})(1+\eta^{\prime}) (4.63)

Για την παρεκβολή του μεγέθους ww αντικαθιστούμε στις παραπάνω εξισώσεις τις αντίστοιχες συντεταγμένες. Π.χ. για τον κόμβο 1 προκύπτει:

N1(e)\displaystyle{N^{\prime}}_{1}^{(e^{\prime})} =14(1-ξ)(1-η)\displaystyle=\dfrac{1}{4}(1-\xi^{\prime})(1-\eta^{\prime})
=14(1+3)(1+3)\displaystyle=\dfrac{1}{4}(1+\sqrt{3})(1+\sqrt{3})
=1+123\displaystyle=1+\dfrac{1}{2}\sqrt{3}

Εφαρμόζοντας την παραπάνω διαδικασία για όλους τους κόμβους, προκύπτει:

[w1w2w3w4]=[1+123-121-123-12-121+123-121-1231-123-121+123-12-121-123-121+123][w1w2w3w4]\left[\begin{array}[]{c}w_{1}\\ w_{2}\\ w_{3}\\ w_{4}\\ \end{array}\right]=\left[\begin{array}[]{cccc}1+\dfrac{1}{2}\sqrt{3}&-\dfrac{1% }{2}&1-\dfrac{1}{2}\sqrt{3}&-\dfrac{1}{2}\\ -\dfrac{1}{2}&1+\dfrac{1}{2}\sqrt{3}&-\dfrac{1}{2}&1-\dfrac{1}{2}\sqrt{3}\\ 1-\dfrac{1}{2}\sqrt{3}&-\dfrac{1}{2}&1+\dfrac{1}{2}\sqrt{3}&-\dfrac{1}{2}\\ -\dfrac{1}{2}&1-\dfrac{1}{2}\sqrt{3}&-\dfrac{1}{2}&1+\dfrac{1}{2}\sqrt{3}\\ \end{array}\right]\left[\begin{array}[]{c}w^{\prime}_{1}\\ w^{\prime}_{2}\\ w^{\prime}_{3}\\ w^{\prime}_{4}\\ \end{array}\right] (4.64)

Όπως αναφέρθηκε προηγουμένως, οι τάσεις ή άλλα μεγέθη που υπολογίζονται ανά στοιχείο δεν είναι απαραίτητα ίσα μεταξύ τους στους κοινούς κόμβους των στοιχείων.

Για τον λόγο αυτό στη συνέχεια εξισώνονται και εξομαλύνονται, είτε βρίσκοντας τον μέσο όρο (μη σταθμισμένο) όλων των τιμών που αναφέρονται σε έναν κόμβο είτε χρησιμοποιούνται για τη στάθμιση των επιμέρους τιμών συντελεστές βαρύτητας των συνεισφορών κάθε στοιχείου.

Στην πράξη ακολουθείται τις περισσότερες φορές ο πρώτος και πιο απλός τρόπος.

4.6 Βιβλιογραφία

  • 1 E. Anderson, Z. Bai and C. Bischof. LAPACK Users’ guide. Society for Industrial Mathematics, 1999.
  • 2 E. Cuthill and J. McKee. Reducing the Bandwidth of Sparse Symmetric Matrices. In Proceedings of the 1969 24th National Conference, pp. 157-172. ACM, 1969.
  • 3 Carlos A. Felippa. Lecture notes in introduction to finite element methods, 2013.
  • 4 Gene H. Golub and Charles F. Van Loan. Matrix computations, volume 3. JHU Press, 2012.
  • 5 Sergio Pissanetzky. Sparse matrix technology – electronic edition. Academic Press, 1984.
  • 6 Jonathan Richard Shewchuk. An introduction to the conjugate gradient method without the agonizing pain, School of Computer Science, Carnegie Mellon University, 1994.
  • 7 Endre Süli and David F. Mayers. An introduction to numerical analysis. Cambridge University Press, 2003.