Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό

Σχετικά έγγραφα
Αναστασιάδου Μηνοδώρα Τατιανή Ιατρόπουλος Βησσαρίων. Δρ. Αναστασίου Χρήστος. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Τ. Ε. Ι. Κεντρικής Μακεδονίας

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Αντικειµενοστραφής Προγραµµατισµός

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Αντικειμενοστραφής Προγραμματισμός

Οντοκεντρικός Προγραμματισμός

Σύνθεση και Κληρονομικότητα

ηµιουργία νέου τύπου δεδοµένων από το χρήστη

02 Αντικειμενοστρεφής Προγραμματισμός

Εισαγωγή στον Προγραμματισμό με C++

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Σύνθεση και Κληρονομικότητα

2.3 ΜΕΤΡΟ ΜΙΓΑΔΙΚΟΥ ΑΡΙΘΜΟΥ

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Αντικειμενοστρεφής Προγραμματισμός

Κεφάλαιο V : Εργαστηριακές ασκήσεις που αφορούν δηµιουργία κλάσεων στη Java.

Λογισµικό (Software SW) Γλώσσες

Εξεταστέα ύλη Άλγεβρας Α Λυκείου Σχολικό έτος Εξεταστέα ύλη Γεωμετρίας Α Λυκείου Σχολικό έτος

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

11 ΧΡΟΝΙΚΑ ΜΕΤΑΒΑΛΛΟΜΕΝΑ ΠΕΔΙΑ

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

ΠΕΡΙΕΧΟΜΕΝΑ ΤΟΜΟΣ Ι ΕΙΣΑΓΩΓΗ 1

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Διαγράμματα Κλάσεων στη Σχεδίαση

Εισαγωγή. 1 Γενικά. 2 Προγράμματα σε C++ 5 Νοεμβρίου 2012

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Αντικειμενοστρεφής Προγραμματισμός

ΑΛΕΞΑΝΔΡΕΙΟ ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Θεόδωρος Γ. Λάντζος Διάλεξη Νο1

(Διαφάνειες Νίκου Βιδάκη)

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

2.5. Απλές λύσεις κυματικών εξισώσεων σε δύο και τρεις διαστάσεις

ΕΠΛ233 Βιβλιοθήκες και Προσδιοριστές Πρόσβασης στην JAVA

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

Προγραµµατιστικές τεχνικές

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Μαθηματικά Α Τάξης Γυμνασίου

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Το μαθηματικό μοντέλο της FDTD (1)

Βασικές Αρχές Προγραμματισμού

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εισαγωγή στην επιστήμη των υπολογιστών

Τεχνολογία Λογισμικού

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

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

ΓΡΑΜΜΕΣ ΜΕΤΑΦΟΡΑΣ. a) Ομοαξονική γραμμή b) Γραμμή εδάφους c) Τρίκλωνη γραμμή d) Δισύρματη γραμμή (συνεστραμμένο καλώδιο)

Ενδεικτική περιγραφή μαθήματος

Outline. 4 Object-Oriented Programming

ΔΙΔΑΚΤΕΑ ΕΞΕΤΑΣΤΕΑ ΥΛΗ: 1. ΑΛΓΕΒΡΑΣ ΚΑΙ ΓΕΩΜΕΤΡΙΑΣ Β ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ Γ ΤΑΞΗΣ ΕΣΠΕΡΙΝΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ 2

Λογισμικό για Μαθηματικά

Κλάσεις και Αντικείµενα

Περιγραφή Συστηµάτων Αυτοµάτου Ελέγχου

Στο σχήµα φαίνεται η σύνδεση τριών γραµµών µικροταινίας κοινής χαρακτηριστικής αντίστασης. Προσδιορίστε τον πίνακα σκέδασης.

Βασικές Γνώσεις Μαθηματικών Α - Β Λυκείου

Επίλυση Εξισώσεων. Συστήµατα γραµµικών εξισώσεων. λύση ... = ... ηµοκρίτειο Πανεπιστήµιο Θράκης Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Κ ε φ α λ ά ( ) ( ) ηµθ + = ( )

Α Τάξη Γυμνασίου Μ Α Θ Η Μ Α Τ Ι Κ Α. Ι. Διδακτέα ύλη

ΠΕΡΙΕΧΟΜΕΝΑ 1. ΙΑΝΥΣΜΑΤΙΚΗ ΑΝΑΛΥΣΗ Μετατροπή από καρτεσιανό σε κυλινδρικό σύστηµα Απειροστές ποσότητες... 7

Δισδιάστατη Αγωγή Θερμότητας: Γραφικές Μέθοδοι Ανάλυσης

ΣΧΟΛΗ ΕΜΦΕ ΤΟΜΕΑΣ ΦΥΣΙΚΗΣ ΦΥΣΙΚΗ ΙΙ (ΗΛΕΚΤΡΟΜΑΓΝΗΤΙΣΜΟΣ Ι) η ΣΕΙΡΑ ΑΣΚΗΣΕΩΝ. Ν. Τράκας, Ι. Ράπτης 2/4/2018

Διδάσκων: Παναγιώτης Ανδρέου

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Β Λυκείου - Ασκήσεις Συστήματα. x = 38 3y x = 38 3y x = x = = 11

ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ & ΕΠΑ.Λ. Β 28 ΜΑΪΟΥ 2012 ΑΠΑΝΤΗΣΕΙΣ. y R, η σχέση (1) γράφεται

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 9ο Γλώσσες Προγραμματισμού

Γενικά (για τις γραπτές εξετάσεις)

ΛΥΣΕΙΣ ΕΞΙΣΩΣΗΣ ΚΥΜΑΤΟΣ ΣΤΟΥΣ ΚΥΜΑΤΟΔΗΓΟΥΣ ΔΙΑΦΟΡΩΝ ΔΙΑΤΟΜΩΝ

Στο σχήμα φαίνεται η σύνδεση τριών γραμμών μικροταινίας κοινής χαρακτηριστικής αντίστασης. Προσδιορίστε τον πίνακα σκέδασης.

Δυναμική Μηχανών I. H Μέθοδος των Πεπερασμένων Στοιχείων

Διάλεξη 1: Κβαντομηχανική σε τρεις διαστάσεις

ΓΥΜΝΑΣΙΟ ΠΟΛΕΜΙΔΙΩΝ ΣΧ. ΧΡΟΝΙΑ

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ 6

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

= 7. Στο σημείο αυτό θα υπενθυμίσουμε κάποιες βασικές ιδιότητες του μετασχηματισμού Laplace, δηλαδή τις

Σχόλιο. Κατασκευή των τροχιών της δισδιάστατης γραμμικής δυναμικής.

Οντοκεντρικός Προγραμματισμός

1 ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΕΞΕΤΑΣΕΙΣ ΠΡΟΣΟΜΟΙΩΣΗΣ 2014

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

Transcript:

Χρήση Αντικειμενοστραφούς Προγραμματισμού στον Υπολογιστικό Ηλεκτρομαγνητισμό Εφαρμογή Εργαλεία Υλοποίηση βιβλιοθήκης για προσομοίωση Η/Μ διατάξεων με MAS Γλώσσα Προγραμματισμού C++ Τεχνικές OOP Κληρονομικότητα (Inheritance) Πολυμορφισμός (Polymorphism) Απόκρυψη Πληροφορίας (Information hiding) Ενθυλάκωση (Encapsulation)

Αντικείμενα και κλάσεις Κλάσεις γεωμετρίας point2d, point3d, coord_cart geom, geom_linear, geom_planar, geom_cyl_2d, geom_cyl_3d Κλάσεις διανυσμάτων vector_cart3d, vector_sph, vector_cyl Κλάσεις Η/Μ πηγών (AS) wire, source3d, dipole, aux_source Κλάσεις βασικών Η/Μ διατάξεων mas_object_2d, pec_mas_object_2d, mas_object_3d, pec_mas_object_3d, pec_cylinder, infinite_strip,

Κληρονομικότητα και πολυμορφισμός Κληρονομικότητα source3d dipole aux_source geom_l inear geom_p lanar geom geom_c yl_2d geom_c yl_3d pec_mas_o bject_2d cyl_cap acitor pec_cyl inder Πολυμορφισμός Κατασκευαστές κλάσεων (class constructors) [MAS_OBJECT_2D::GetEMField_in] (positive k, POINT2D p2d) (positive k, positive rho, double phi)

Απόκρυψη πληροφορίας Ενθυλάκωση private ιδιότητες (protected, public) αφαιρετικότητα (π. χ. x, y, z συντεταγμένες του point3d) διεπαφή μέσω συγκεκριμένων μεθόδων (π.χ. wire::geti0()) τμήματα κώδικα σε μαύρο κουτί (βιβλιοθήκες)

2D πρόβλημα σκέδασης από αγώγιμο κύλινδρο απείρου μήκους 1. Γεωμετρία του προβλήματος προσπίπτον πεδίο: επίπεδο κύμα (ΤΜ πόλωση) εσωτερικό πεδίο: μηδενικό (τέλειος αγωγός) E S? E INC ẑ jk0x E0e αέρας {ε 0, μ 0 } E IN y 0 x R αγώγιμος κύλινδρος

2D πρόβλημα σκέδασης από αγώγιμο κύλινδρο απείρου μήκους 2. Ισοδύναμο πρόβλημα MAS Επιλογή βοηθητικών πηγών: Ν ευθύγραμμες ρευματικές κατανομές απείρου μήκους κατά z, με άγνωστο πλάτος διέγερσης Τοποθέτηση βοηθητικών πηγών: σύμμορφη επιφάνεια Εκμετάλλευση της γεωμετρικής συμμετρίας του προβλήματος E INC ẑ jk0x E0e E S ẑc i N 1 I i H 2 0 k i d ενιαία περιοχή με χαρακτηριστικά {ε 0, μ 0 } y βοηθητικές πηγές x R

2D πρόβλημα σκέδασης από αγώγιμο κύλινδρο απείρου μήκους 3. Επίλυση ισοδύναμου προβλήματος Collocation Points (CPs) και εφαρμογή των οριακών συνθηκών του προβλήματος Σε κάθε CP ισχύει: E INC E Άγνωστα μεγέθη: τα ρευματικά πλάτη I i S E IN 0 βοηθητικές πηγές Κατάστρωση του Ν Επίλυση του γραμμικού συστήματος Ν πίνακα του γραμμικού συστήματος d y x R Collocation Points

2D πρόβλημα σκέδασης από αγώγιμο κύλινδρο απείρου μήκους 4. Παρουσίαση της λύσης του προβλήματος (RCS) R = 1.6 λ, Ν = 60, d = 0.3 R

2D πρόβλημα σκέδασης από αγώγιμο κύλινδρο απείρου μήκους 5. Σφάλματα και Αιτιολόγηση

Κατάστρωση γεωμετρίας (1) Κλάσεις: point2d, pec_object_2d Διακριτοποίηση: grid = (stopphi - startphi)/nos Παραμετρικές εξισώσεις: phi = startphi + grid*(-0.5 + i*phidir) x = x0 + r*cos(phi) // Κανονικοποιημένα σε λ y = y0 + r*sin(phi)

Κατάστρωση γεωμετρίας (2) Ορισμός συντεταγμένων: cp[i].init(x[i], y[i]) // cp, as point2d as[i].init(x[i], y[i]) Ορισμός AS και CP: wires[i].set(as): Μέθοδος της wire (aux. source) setcp(cp), setas(wires): Μέθοδοι της pec_object_2d E wire zˆ C I H i 2 0 k wire

Κατάστρωση επίλυσης (1) Βασικές μεταβλητές: double_complex** KernelArray double_complex* ConstantVector, currents; Δημιουργία γραμμικού συστήματος: PEC_object_2D::BuildLinearSystem(&KernelArray, &ConstantVector, Amplitude, k, direction) E S ẑc i N 1 I i H 2 0 k i

Κατάστρωση επίλυσης (2) Επίλυση συστήματος: LinearSystemSolver_LU_Decomposition(KernelArray, ConstantVector, currents, size) Χρησιμοποίηση λύσεων για παράγωγα μεγέθη (ΔE BC, RCS) PEC_object_2D::LoadCurrents(currents) E E INC INC ẑ E jk0x E0 S e E IN 0

Βοηθητικά Εργαλεία Προγραμματισμό με C/C++ GNU Scientific Library (Bessel/Hankel) LU Decomposition nrutil.c και nrutil.h (για την LU decomposition) Προγραμματισμό με Fortran LU Decomposition Numerical Recipes in Fortran (link) Προγραμματισμό με Java Μιγαδικοί αριθμοί και συναρτήσεις στη Java Παράδειγμα Κλήσης Συναρτήσεων Βιβλιοθήκης σε C με Java Υλοποίηση Συναρτήσεων Bessel Βοηθητικοί κώδικες σε Java (Hankel, LU, complex, κτλ.)