Μέθοδος Υλοποίησης :
|
|
ΑΚΟΛΟΥΘΙΑΚΗ ΜΕΘΟΔΟΣ ΥΛΟΠΟΙΗΣΗΣ |
- Στην ακολουθιακή μέθοδο υλοποίησης η διαδικασία επεξεργασίας είνει όσο απλή επιβάλει ο αλγόριθμος Jacobi. Αρχικά διαβάζεται το αρχείο εισόδου "input.txt" μέσω του file descriptor &in (από την συνάρτηση fopen) και μέσω της συνάρτησης check_input διαβάζονται και αποθηκεύονται σε μεταβλητές οι τιμές για την διάσταση , το epsilon (συνθήκη τερματισμού) και τις τιμές των σημείων της μεταλικής πλάκας. Οι τελευταίες αποθηκεύονται στον πίνακα u.
|
- Όλη η επεξεργασία γίνεται μέσω της συνάρτησης jacobi_work που παίρνει ως ορίσματα τις προηγούμενες μεταβλητές και επιστρέφει τον αριθμό των επαναλήψεων που χρειάσθηκαν για την σύγκλιση. Στην συνέχεια μετράται ο χρόνος εκτέλεσης μέσω της συναρτησης wtime (δικιά μας συναρτηση που κάνει χρήση της gettimeofday). και εκτυπώνονται αποτελέσματα , καθώς και η εικόνα εξόδου.
- Παρόλο που η ακολουθιακή μέθοδος φαίνεται απλή , ωστόσο μας πήρε ίσως τον περισσότερο χρόνο υλοποίησης , διότι ήταν η πρώτη μέθοδος που αναπτύχθηκε και επομένως σε αυτήν συνυπολογίζουμε και τον χρόνο δημιουργίας του πλάνου του project (όλες οι συναρτήσεις εκτός main κτλ..) , των απαραίτητων συναρτήσεων για διάβασμα αρχε'ιου εισόδου , πέρασμα τιμών σε μεταβλητών , γράψιμο τελικών τιμών σε αρχείο και σωστή απεικόνισή του κ.α.... Στην ουσία πάνω σε αυτήν την υλοποίηση βασίστηκαν οι επόμενες δύο , κάτι που φαίνεται και από τον κώδικα.
- Παραθέτω μια εικόνα από την ακολουθιακή εκτέλεση στον server eteocles .

Και ένα στιγμιότυπο από την εκτέλεση...

|
|