ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ Έστω ότι θέλουμε να υπολογίσουμε το ολοκλήρωμα: I F() x dx Η βασική ιδέα της αριθμητικής ολοκλήρωσης είναι ότι ψάχνουμε να βρούμε ένα πολυώνυμο Ρ(x) το οποίο: α) είναι μια καλή προσέγγιση της F(x) και β) είναι εύκολο να ολοκληρωθεί I F ()() x dx P x dx Σφάλμα: ()() E F x P x Το σφάλμα Ε δεν έχει πάντα το ίδιο πρόσημο και επομένως το τελικό σφάλμα μπορεί να είναι μικρό ακόμα και στην περίπτωση που το Ρ(x) δεν αποτελεί καλή προσέγγιση της F(x). Οι μέθοδοι που χρησιμοποιούνται συνήθως για την ολοκλήρωση χωρίζονται σε δυο κατηγορίες: 1) Ολοκλήρωση κατά Nwton-Cots όπου χρησιμοποιούνται τιμές της συνάρτησης σε συγκεκριμένα σημεία που ισαπέχουν μεταξύ τους. 2) Ολοκλήρωση κατά Guss όπου χρησιμοποιούνται τιμές της συνάρτησης σε συγκεκριμένα σημεία που δεν ισαπέχουν μεταξύ τους.
NEWTON-COTES ΟΛΟΚΛΗΡΩΣΗ Έστω n+1 σημεία που ισαπέχουν μεταξύ τους, τότε η σχέση που χρησιμοποιείται για τον υπολογισμό του ολοκληρώματος είναι: n1 I F()()() x dx w F x 1 n1 1 w 1 όπου w x συντελεστές βάρους τα σημεία που ισαπέχουν μεταξύ τους Για n=1 w1 w2 1/ 2 : n+1=2 σημεία: ΤΡΑΠΕΖΟΕΙΔΗΣ ΚΑΝΟΝΑΣ I F()()() x dx F x F x 2 1 2, E () 3 Για n=2 n+1=3 σημεία: ΚΑΝΟΝΑΣ SIMPSON 1 4 1 w1, w2, w3 : 6 6 6 () ()() 4()() 3 I F x dx F x F x F x 1 2 3 E () 5
Συντελεστές βάρους για ολοκλήρωση κατά Nwton-Cots Αριθμός σημείων w1 w2 w3 w4 w5 w6 w7 2 1/2 1/2 3 1/6 4/6 1/6 4 1/8 3/8 3/8 1/8 5 7/90 32/90 12/90 32/90 7/90 6 19/288 75/288 50/288 50/288 75/288 19/288 7 41/840 216/840 27/840 272/840 27/840 216/840 41/840
GAUSS-LEGENDRE ΟΛΟΚΛΗΡΩΣΗ Στην ολοκλήρωση κατά Nwton-Cots τα σημεία x είναι γνωστά και ισαπέχουν μεταξύ τους. Αν τα x δεν είναι ήδη γνωστά τότε χρειάζεται να καθοριστούν 2n+2 παράμετροι (τα σημεία x και τα βάρη w ). Οι 2n+2 παράμετροι ορίζουν ένα πολυώνυμο 2n+1 βαθμού. Στην ολοκλήρωση κατά Guss τα σημεία x και τα βάρη w επιλέγονται ώστε το άθροισμα των n+1 σταθμισμένων τιμών της συνάρτησης να προσεγγίζουν ακριβώς το ολοκλήρωμα όταν η F(x) είναι ένα πολυώνυμο 2n+1 βαθμού (ή μικρότερου). 1 n ()()() 1 1 I F x dx F d w F όπου w F() : : : συντελεστές βάρους Guss σημεία (ρίζες του πολυωνύμου Lgndr P n+1 (ξ) ) μετασχηματισμένη συνάρτηση στο τοπικό σύστημα συντεταγμένων (-1,1) F()(())(), F x J J ιακωβιανή μετασχηματισμού
Αριθμός σημείων guss 1 0 2 2 0.5773502692 1 3 0 0.7745966692 4 0.3399810435 0.8611363116 w 0.8888888889 0.5555555555 0.6521451548 0.3478548451 Η ολοκλήρωση κατά Guss χρησιμοποιείται πιο συχνά από την ολοκλήρωση κατά Nwton- Cots γιατί απαιτεί λιγότερα σημεία για να πετύχει την ίδια ακρίβεια με την Nwton-Cots. Πολυώνυμο n-βαθμού: Ακριβής λύση n+1 σημεία Νwton-Cots (n+1)/2 σημεία Guss Αν (n+1)/2 δεν είναι ακέραιος στρογγυλοποιώ προς τα πάνω
ΑΛΓΟΡΙΘΜΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΟΛΟΚΛΗΡΩΜΑΤΟΣ ΣΕ ΚΑΘΕ ΣΤΟΙΧΕΙΟ Έστω η Δ.Ε. : d du dx dx f Η ασθενής μορφή που προκύπτει από την εφαρμογή της μεθόδου των πεπερασμένων στοιχείων είναι: n j1 d d j x dxu fdx ()() x Q x Q dx dx x du Q QB dx x x j B A, A xx du dx xx Χρησιμοποιώντας γραμμικά στοιχεία ο τοπικός πίνακας των πεπερασμένων στοιχείων είναι ένας 2x2 πίνακας : K11 K 12 x d d K j Kj dx, 1,2, j 1,2 K21 K x 22 dx dx Χρησιμοποιώντας το τοπικό σύστημα συντεταγμένων σε κάθε στοιχείο: 1 d d j 2 Kj d, 1,2, j 1,2 1 d d Δηλαδή σε κάθε στοιχείο πρέπει να υπολογιστούν 4 διαφορετικά ολοκληρώματα.
Έστω ότι για τον υπολογισμό των ολοκληρωμάτων χρησιμοποιούμε k guss σημεία: 2 1 m k d d j 2 d d j Kj d w, 1,2, 1,2 1 m j d d m1 d d m m ΑΛΓΟΡΙΘΜΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΤΟΠΙΚΟΥ ΠΙΝΑΚΑ Ορίζουμε τοπικό πίνακα FEM 2x2: Klocl(2,2) και διανύσματα διάστασης k που περιέχουν τα k guss σημεία και τα αντίστοιχα βάρη: guss(k), wgt(k) Μηδενίζουμε τον τοπικό πίνακα Klocl=0 Για m=1,k Kάλεσε υπορουτίνα συναρτήσεων βάσης (guss(k), φ(2), dφdξ(2) ) Για =1,2 Για j=1,2 Klocl(,)( j,)()()() Klocl j 2 w m dd dd j Τέλος για j Τέλος για Τέλος για m
ΑΛΓΟΡΙΘΜΟΣ ΔΗΜΙΟΥΡΓΙΑΣ ΣΥΝΟΛΙΚΟΥ ΠΙΝΑΚΑ FEM Μηδενισμός glol πίνακα Α(N x nd) Για όλα τα στοιχεία Klocl=0 Για m=1,k (για όλα τα guss σημεία) Kάλεσε υπορουτίνα συναρτήσεων βάσης (guss(k), φ, dφdξ ) Για =1,n Για j=1,n Klocl(,)( j,)() Klocl j w m F m Τέλος για j Τέλος για Τέλος για m Για =1,n Βρες glol γραμμή row Για j=1,n Βρες glol στήλη col Μετασχημάτισε στήλη: jcol col row nd / 2 1 Τοποθέτησε τον τοπικό πίνακα στον συνολικό Τέλος για j Τέλος για Τέλος για στοιχεία A( row,)( jcol,)( A,) row jcol Klocl j
ΑΛΓΟΡΙΘΜΟΣ ΕΠΙΛΥΣΗΣ 1D ΠΡΟΒΛΗΜΑΤΩΝ ΣΕ ΜΟΝΙΜΕΣ ΣΥΝΘΗΚΕΣ ΜΕ FEM ΟΝΟΜΑ ΠΡΟΓΡΑΜΜΑΤΟΣ mplct non Δήλωση μεταβλητών και παραμέτρων Δήλωση δυναμικών πινάκων Άνοιγμα αρχείου δεδομένων Δημιουργία αρχείων για αποτελέσματα Υπολογισμός κόμβων και αριθμού εξισώσεων Ορισμός δυναμικών πινάκων Κατασκευή πίνακα συνεκτικότητας Κατασκευή πλέγματος Κάλεσμα υπορουτίνας 1 για δημιουργία συνολικού πίνακα A με FEM Κάλεσμα υπορουτίνας 2 για δημιουργία δεξιού πίνακα στήλης B με FEM Κάλεσμα υπορουτίνας 3 για επιβολή οριακών συνθηκών Κάλεσμα υπορουτίνας 4 για επίλυση συνολικού συστήματος ΑΧ=Β Εξαγωγή αποτελεσμάτων σε πίνακες και αρχεία Post-procssng της λύσης (αν χρειάζεται) Εξαγωγή αποτελεσμάτων σε αρχεία Formts Contns Εσωτερικές Υπορουτίνες ΤΕΛΟΣ ΠΡΟΓΡΑΜΜΑΤΟΣ