ΚΑΤΑΣΚΕΥΗ ΠΙΝΑΚΑ ΣΥΝΕΚΤΙΚΟΤΗΤΑΣ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ Ι. Γραμμικά τετραγωνικά στοιχεία Q Έστω πλέγμα ΝxΜ Έστω πλέγμα με ΝxM στοιχεία: Τοπικό σύστημα σε κάθε στοιχείο J Ο πίνακας συνεκτικότητας θα πρέπει για κάθε στοιχείο να δίνει την global αρίθμηση των κορυφών του στοιχείου. Διάσταση πίνακα συνεκτικότητας: conn( NxM,) Πρέπει να επιλέξουμε την κατεύθυνση προς την οποία θα γίνει η αρίθμηση των κόμβων. Επιλέγουμε πάντα την κατεύθυνση στην οποία χρειάζονται τα λιγότερα στοιχεία (αν υπάρχει) ώστε να μειωθεί το εύρος ζώνης του πίνακα που προκύπτει.
Έστω ότι επιλέγουμε να πάμε πρώτα στην κατεύθυνση y, δηλαδή η αρίθμηση να γίνει από κάτω προς τα πάνω και μετά από αριστερά προς τα δεξιά. Για τυχαίο στοιχείο iel πρέπει να ξέρουμε σε ποια θέση βρίσκεται στην x-κατεύθυνση και σε ποια θέση στην y. Έστω ότι στην χ-κατεύθυνση Έστω ότι στην y-κατεύθυνση, J, J M conn( iel,)( I )( M) J conn( iel,)( I M) J conn( iel,)( conn,) iel ( )( I ) M J conn( iel,)( conn,) iel ( ) I M J
IΙ. Τετραγωνικά στοιχεία Q9 Έστω πλέγμα ΝxΜ Τοπικό σύστημα σε κάθε στοιχείο J Συνολικά στοιχεία: ΝxM, Συνολικοί κόμβοι: (Ν+)x(M+) Ο πίνακας συνεκτικότητας θα πρέπει για κάθε στοιχείο να δίνει την global αρίθμηση των 9 κόμβων του στοιχείου. Διάσταση πίνακα συνεκτικότητας: conn( NxM,9) Έστω ότι επιλέγουμε να πάμε πρώτα στην κατεύθυνση y, δηλαδή η αρίθμηση να γίνει από κάτω προς τα πάνω και μετά από αριστερά προς τα δεξιά.
Έστω ότι στην χ-κατεύθυνση Έστω ότι στην y-κατεύθυνση, J, J M conn( iel,) ( I )(M ) J conn( iel,) ( I M ) J conn( iel,)( conn,) iel ( )(I ) M J conn( iel,)( conn,) iel ( ) I M J conn( iel,)( conn,) iel ( )( I ) M J conn( iel,)( conn,) iel ( )(I ) M J conn( iel,7)( conn,) iel ( )( I ) M J conn( iel,8)( conn,) iel ( ) I M J conn( iel,9)( conn,7) iel ( )( I ) M J
ΚΑΤΑΣΚΕΥΗ (ΣΥΝΘΕΣΗ) ΣΥΝΟΛΙΚΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Έστω ότι επιλέγουμε για την κατασκευή του πλέγματος στοιχεία Q στην x-κατεύθυνση και στοιχεία Q στην y-κατεύθυνση. Πλέγμα: x Αρίθμηση κόμβων: Συνολικά στοιχεία: x= Συνολικοί κόμβοι: x= Το τελικό σύστημα AX=B προς επίλυση είναι ένα σύστημα x. H αρχική Μ.Δ.Ε. είναι ης τάξης: u u u u a a a a au f 0 x x y y x y Χρησιμοποιώντας τη μέθοδο των Πεπερασμένων Στοιχείων η παραπάνω εξίσωση γράφεται σε κάθε στοιχείο με την αλγεβρική μορφή: a a a a a dxdy u fdxdy q ds i j j i j j i j j i i n e e j x x y y x y
Η τελευταία εξίσωση είναι της μορφής: j u F Q e e e e ij j i i Άρα σε κάθε στοιχείο γράφεται ένα σύστημα της μορφής: u F e e e όπου ο πίνακας Κ είναι x: e e e e e e e e e e e e e e e e e Ο πίνακας συνεκτικότητας δίνει τη θέση του global πίνακα στην οποία θα τοποθετηθεί κάθε στοιχείο του τοπικού πίνακα. Ο πίνακας συνεκτικότητας για το συγκεκριμένο πλέγμα είναι: conn 7 8 8 9 7 0 8 8 9 ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο Για να βρω που τοποθετείται το στοιχείο κοιτάω στην e γραμμή. H i στήλη δείχνει την γραμμή του global πίνακα και η j στήλη δείχνει την στήλη του global πίνακα. Π.χ. το e ij 7 η γραμμή, 8 η στήλη
0 0 0 0 0 0 0 0 GLOBAL ΠΙΝΑΚΑΣ x 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Για το συγκεκριμένο πλέγμα x ο πίνακας που προκύπτει έχει εύρος ζώνης iband=9. Γενικά, για πλέγμα ΝxM με Q στοιχεία το εύρος ζώνης είναι: iband iband ( M ) ( N ) για αρίθμηση πρώτα στην y-κατεύθυνση για αρίθμηση πρώτα στην x-κατεύθυνση Αν σε κάθε κόμβο έχουμε περισσότερους από έναν αγνώστους τότε το εύρος ζώνης προσαρμόζεται αναλόγως.
Έστω ότι επιλέγουμε για την κατασκευή του πλέγματος στοιχεία Q9 στην x-κατεύθυνση και στοιχεία Q9 στην y-κατεύθυνση. Πλέγμα: x Αρίθμηση κόμβων: Συνολικά στοιχεία: x= Συνολικοί κόμβοι: x7= Το τελικό σύστημα AX=B προς επίλυση είναι ένα σύστημα x. Πίνακας συνεκτικότητας: conn 7 8 8 9 0 7 8 8 9 0 7 8 8 9 0 ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο ο στοιχείο Π.χ. το η γραμμή, η στήλη
Για το συγκεκριμένο πλέγμα x ο πίνακας που προκύπτει έχει εύρος ζώνης iband=. Γενικά, για πλέγμα ΝxM με Q9 στοιχεία το εύρος ζώνης είναι: iband iband (M ) (N ) για αρίθμηση πρώτα στην y-κατεύθυνση για αρίθμηση πρώτα στην x-κατεύθυνση Αν σε κάθε κόμβο έχουμε περισσότερους από έναν αγνώστους τότε το εύρος ζώνης προσαρμόζεται αναλόγως.
ΕΠΙΒΟΛΗ ΟΡΙΑΚΩΝ ΣΥΝΘΗΚΩΝ Στα όρια y=0 και x=0 έχουμε essential οριακές συνθήκες. Επομένως, στους κόμβους,,,,7,0 δεν θα γραφεί η εξίσωση των Πεπερασμένων Στοιχείων αλλά θα επιβληθεί η τιμή της μεταβλητής. Μηδενίζω όλη την γραμμή του πίνακα Α και την αντίστοιχη του πίνακα στήλη Β. Στον πίνακα Α βάζω μονάδα στην στήλη που αντιστοιχεί στον συγκεκριμένο άγνωστο και στον πίνακα στήλη Β βάζω την γνωστή τιμή της μεταβλητής. A(,) B() u A(, ) B() u A(,) και B() u A(, ) B() u A(7, 7) B(7) u A(0,0) B(0) u
Στα όρια y=ymax και x=xmax έχουμε natural οριακές συνθήκες. Επομένως, στις αντίστοιχες εξισώσεις θα πρέπει να ενσωματώσουμε και το επικαμπύλιο ολοκλήρωμα: q ds i n u u Για q au a ex a e y x y n nxex ny e y Στο πάνω όριο y=ymax: n e y u q an an x u qn a ac y n x y Άρα στις εξισώσεις,9, στις ήδη υπάρχουσες εξισώσεις προσθέτουμε στον πίνακα στήλη Β τον όρο: xmax 0 i acdx Από τις τέσσερις συναρτήσεις βάσης Q στο πάνω άκρο (n=) επιβιώνουν μόνο η και η, οι οποίες ταυτίζονται με τις D γραμμικές συναρτήσεις. ()() 0,()() 0 ()()(),()()() u y
Στο δεξί όριο x=xmax: u n ex qn a 0 x Άρα στην εξίσωση στις ήδη υπάρχουσα εξίσωση δεν προσθέτουμε στον πίνακα στήλη Β τον επικαμπύλιο όρο. Με τον τρόπο αυτό επιβάλλουμε την μηδενική παράγωγο.
ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ: ΔΙΠΛΟ ΟΛΟΚΛΗΡΩΜΑ Έστω ότι χρησιμοποιούμε Q στοιχεία, τότε ο τοπικός πίνακας των Πεπερασμένων Στοιχείων θα είναι x: e e e e e e e e e e e e e e e e e όπου: y x j i j i j j ij a y x a a a ai j dxdy x x y y x y j i j i j j a a a a ai j J dd x x y y x y G(,) dd ij G(,) Αν χρησιμοποιήσουμε m σημεία gauss στην κάθε κατεύθυνση έχουμε: m m m w()( k G,)()()( d,) w k w k G ij k k k k k k m w()()( k w k,) G ij k k k k m
ΑΛΓΟΡΙΘΜΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΤΟΠΙΚΟΥ ΠΙΝΑΚΑ Ορίζουμε τοπικό πίνακα FEM x: local(,) και διανύσματα διάστασης m που περιέχουν τα m gauss σημεία και τα αντίστοιχα βάρη: gauss(m), weight(m) Μηδενίζουμε τον τοπικό πίνακα local=0 Για k=,m (loop για gauss points στην ξ) Για k=,m (loop για gauss points στην η) άλεσε υπορουτίνα συναρτήσεων βάσης (gauss(k), gauss(k) φ(), dφdx(), dφdy(), ) Για i=, Για j=, G(,)... k k local( i,)( j,)()()( local,) i j w k w k G Τέλος για j Τέλος για i Τέλος για k Τέλος για k k k